utimensat: Move AC_LIBOBJ invocations to module description.
[gnulib.git] / ChangeLog
1 2011-05-22  Bruno Haible  <bruno@clisp.org>
2
3         utimensat: Move AC_LIBOBJ invocations to module description.
4         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
5         here...
6         * modules/utimensat (configure.ac): ... to here.
7
8 2011-05-22  Bruno Haible  <bruno@clisp.org>
9
10         usleep: Move AC_LIBOBJ invocations to module description.
11         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
12         here...
13         * modules/usleep (configure.ac): ... to here.
14
15 2011-05-22  Bruno Haible  <bruno@clisp.org>
16
17         unlockpt: Move AC_LIBOBJ invocations to module description.
18         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
19         gl_PREREQ_UNLOCKPT invocations from here...
20         * modules/unlockpt (configure.ac): ... to here.
21
22 2011-05-22  Bruno Haible  <bruno@clisp.org>
23
24         unlink: Respect rules for use of AC_LIBOBJ.
25         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
26         * modules/unlink (configure.ac): ... to here.
27
28 2011-05-22  Bruno Haible  <bruno@clisp.org>
29
30         uname: Move AC_LIBOBJ invocations to module description.
31         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
32         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
33         here...
34         * modules/uname (configure.ac): ... to here.
35
36 2011-05-22  Bruno Haible  <bruno@clisp.org>
37
38         ttyname_r: Move AC_LIBOBJ invocations to module description.
39         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
40         gl_PREREQ_TTYNAME_R invocations from here...
41         * modules/ttyname_r (configure.ac): ... to here.
42
43 2011-05-22  Bruno Haible  <bruno@clisp.org>
44
45         tsearch: Move AC_LIBOBJ invocations to module description.
46         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
47         invocations from here...
48         * modules/tsearch (configure.ac): ... to here.
49
50 2011-05-22  Bruno Haible  <bruno@clisp.org>
51
52         towctrans: Move AC_LIBOBJ invocations to module description.
53         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
54         AC_LIBOBJ invocation from here...
55         * modules/towctrans (configure.ac): ... to here.
56
57 2011-05-22  Bruno Haible  <bruno@clisp.org>
58
59         tmpfile: Move AC_LIBOBJ invocations to module description.
60         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
61         invocations from here...
62         * modules/tmpfile (configure.ac): ... to here.
63
64 2011-05-22  Bruno Haible  <bruno@clisp.org>
65
66         times: Move AC_LIBOBJ invocations to module description.
67         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
68         * modules/times (configure.ac): ... to here.
69
70 2011-05-22  Bruno Haible  <bruno@clisp.org>
71
72         time_r: Move AC_LIBOBJ invocations to module description.
73         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
74         invocations from here...
75         * modules/time_r (configure.ac): ... to here.
76
77 2011-05-22  Bruno Haible  <bruno@clisp.org>
78
79         timegm: Move AC_LIBOBJ invocations to module description.
80         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
81         invocations from here...
82         * modules/timegm (configure.ac): ... to here.
83
84 2011-05-22  Bruno Haible  <bruno@clisp.org>
85
86         tcgetsid: Move AC_LIBOBJ invocations to module description.
87         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
88         and gl_PREREQ_TCGETSID invocations from here...
89         * modules/tcgetsid (configure.ac): ... to here.
90         (Depends-on): Update conditions.
91
92 2011-05-22  Bruno Haible  <bruno@clisp.org>
93
94         symlinkat: Move AC_LIBOBJ invocations to module description.
95         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
96         here...
97         * modules/symlinkat (configure.ac): ... to here.
98
99 2011-05-22  Bruno Haible  <bruno@clisp.org>
100
101         symlink: Move AC_LIBOBJ invocations to module description.
102         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
103         here...
104         * modules/symlink (configure.ac): ... to here.
105
106 2011-05-22  Bruno Haible  <bruno@clisp.org>
107
108         strverscmp: Move AC_LIBOBJ invocations to module description.
109         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
110         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
111         from here...
112         * modules/strverscmp (configure.ac): ... to here.
113
114 2011-05-22  Bruno Haible  <bruno@clisp.org>
115
116         strtok_r: Move AC_LIBOBJ invocations to module description.
117         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
118         and gl_PREREQ_STRTOK_R invocations from here...
119         * modules/strtok_r (configure.ac): ... to here.
120         (Depends-on): Update conditions.
121
122 2011-05-22  Bruno Haible  <bruno@clisp.org>
123
124         strtoumax: Move AC_LIBOBJ invocations to module description.
125         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
126         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
127         from here...
128         * modules/strtoumax (configure.ac): ... to here.
129
130 2011-05-22  Bruno Haible  <bruno@clisp.org>
131
132         strtoimax: Move AC_LIBOBJ invocations to module description.
133         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
134         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
135         from here...
136         * modules/strtoimax (configure.ac): ... to here.
137
138 2011-05-22  Bruno Haible  <bruno@clisp.org>
139
140         strtoull: Move AC_LIBOBJ invocations to module description.
141         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
142         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
143         from here...
144         * modules/strtoull (configure.ac): ... to here.
145
146 2011-05-22  Bruno Haible  <bruno@clisp.org>
147
148         strtoll: Move AC_LIBOBJ invocations to module description.
149         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
150         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
151         here...
152         * modules/strtoll (configure.ac): ... to here.
153
154 2011-05-22  Bruno Haible  <bruno@clisp.org>
155
156         strtoul: Move AC_LIBOBJ invocations to module description.
157         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
158         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
159         * modules/strtoul (configure.ac): ... to here.
160
161 2011-05-22  Bruno Haible  <bruno@clisp.org>
162
163         strtol: Move AC_LIBOBJ invocations to module description.
164         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
165         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
166         * modules/strtol (configure.ac): ... to here.
167
168 2011-05-22  Bruno Haible  <bruno@clisp.org>
169
170         strtod: Move AC_LIBOBJ invocations to module description.
171         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
172         invocations from here...
173         * modules/strtod (configure.ac): ... to here.
174
175 2011-05-22  Bruno Haible  <bruno@clisp.org>
176
177         strstr*: Move AC_LIBOBJ invocations to module description.
178         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
179         invocations from here...
180         * modules/strstr-simple (configure.ac): ... to here.
181         * modules/strstr (configure.ac): ... and here.
182
183 2011-05-22  Bruno Haible  <bruno@clisp.org>
184
185         strsignal: Move AC_LIBOBJ invocations to module description.
186         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
187         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
188         * modules/strsignal (configure.ac): ... to here.
189         (Depends-on): Update conditions.
190
191 2011-05-22  Bruno Haible  <bruno@clisp.org>
192
193         strsep: Move AC_LIBOBJ invocations to module description.
194         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
195         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
196         here...
197         * modules/strsep (configure.ac): ... to here.
198
199 2011-05-22  Bruno Haible  <bruno@clisp.org>
200
201         strptime: Move AC_LIBOBJ invocations to module description.
202         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
203         gl_PREREQ_STRPTIME invocations from here...
204         * modules/strptime (configure.ac): ... to here.
205
206 2011-05-22  Bruno Haible  <bruno@clisp.org>
207
208         strpbrk: Move AC_LIBOBJ invocations to module description.
209         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
210         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
211         here...
212         * modules/strpbrk (configure.ac): ... to here.
213
214 2011-05-22  Bruno Haible  <bruno@clisp.org>
215
216         strnlen: Move AC_LIBOBJ invocations to module description.
217         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
218         invocations from here...
219         * modules/strnlen (configure.ac): ... to here.
220
221 2011-05-22  Bruno Haible  <bruno@clisp.org>
222
223         strndup: Move AC_LIBOBJ invocations to module description.
224         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
225         invocations from here...
226         * modules/strndup (configure.ac): ... to here.
227         (Depends-on): Update conditions.
228
229 2011-05-22  Bruno Haible  <bruno@clisp.org>
230
231         strncat: Move AC_LIBOBJ invocations to module description.
232         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
233         invocations from here...
234         * modules/strncat (configure.ac): ... to here.
235
236 2011-05-22  Bruno Haible  <bruno@clisp.org>
237
238         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
239         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
240         invocations from here...
241         * modules/strdup (configure.ac): ... to here.
242         * modules/strdup-posix (configure.ac): ... and here.
243
244 2011-05-22  Bruno Haible  <bruno@clisp.org>
245
246         strcspn: Move AC_LIBOBJ invocations to module description.
247         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
248         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
249         here...
250         * modules/strcspn (configure.ac): ... to here.
251
252 2011-05-22  Bruno Haible  <bruno@clisp.org>
253
254         strchrnul: Move AC_LIBOBJ invocations to module description.
255         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
256         gl_PREREQ_STRCHRNUL invocations from here...
257         * modules/strchrnul (configure.ac): ... to here.
258
259 2011-05-22  Bruno Haible  <bruno@clisp.org>
260
261         strcasestr*: Move AC_LIBOBJ invocations to module description.
262         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
263         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
264         * modules/strcasestr-simple (configure.ac): ... to here.
265         * modules/strcasestr (configure.ac): ... and here.
266
267 2011-05-22  Bruno Haible  <bruno@clisp.org>
268
269         strcase: Move AC_LIBOBJ invocations to module description.
270         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
271         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
272         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
273         gl_PREREQ_STRNCASECMP invocations from here...
274         * modules/strcase (configure.ac): ... to here.
275
276 2011-05-22  Bruno Haible  <bruno@clisp.org>
277
278         stpncpy: Move AC_LIBOBJ invocations to module description.
279         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
280         here...
281         * modules/stpncpy (configure.ac): ... to here.
282
283 2011-05-22  Bruno Haible  <bruno@clisp.org>
284
285         stpcpy: Move AC_LIBOBJ invocations to module description.
286         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
287         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
288         here...
289         * modules/stpcpy (configure.ac): ... to here.
290
291 2011-05-21  Bruno Haible  <bruno@clisp.org>
292
293         stat: Move AC_LIBOBJ invocations to module description.
294         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
295         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
296         here...
297         * modules/stat (configure.ac): ... to here.
298
299 2011-05-21  Bruno Haible  <bruno@clisp.org>
300
301         sleep: Move AC_LIBOBJ invocations to module description.
302         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
303         * modules/sleep (configure.ac): ... to here.
304
305 2011-05-21  Bruno Haible  <bruno@clisp.org>
306
307         signbit: Move AC_LIBOBJ invocations to module description.
308         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
309         * modules/signbit (configure.ac): ... to here.
310
311 2011-05-21  Bruno Haible  <bruno@clisp.org>
312
313         sigprocmask: Move AC_LIBOBJ invocations to module description.
314         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
315         gl_PREREQ_SIGPROMASK invocations from here...
316         * modules/sigprocmask (configure.ac): ... to here.
317
318 2011-05-21  Bruno Haible  <bruno@clisp.org>
319
320         sigaction: Move AC_LIBOBJ invocations to module description.
321         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
322         gl_PREREQ_SIGACTION invocations from here...
323         * modules/sigaction (configure.ac): ... to here.
324
325 2011-05-21  Bruno Haible  <bruno@clisp.org>
326
327         sig2str: Move AC_LIBOBJ invocations to module description.
328         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
329         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
330         here...
331         * modules/sig2str (configure.ac): ... to here.
332
333 2011-05-21  Bruno Haible  <bruno@clisp.org>
334
335         setlocale: Move AC_LIBOBJ invocations to module description.
336         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
337         gl_PREREQ_SETLOCALE invocations from here...
338         * modules/setlocale (configure.ac): ... to here.
339
340 2011-05-21  Bruno Haible  <bruno@clisp.org>
341
342         unsetenv: Move AC_LIBOBJ invocations to module description.
343         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
344         and gl_PREREQ_UNSETENV invocations from here...
345         * modules/unsetenv (configure.ac): ... to here.
346         (Depends-on): Update.
347
348 2011-05-21  Bruno Haible  <bruno@clisp.org>
349
350         setenv: Move AC_LIBOBJ invocations to module description.
351         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
352         here...
353         * modules/setenv (configure.ac): ... to here.
354
355 2011-05-21  Bruno Haible  <bruno@clisp.org>
356
357         selinux-h: Move AC_LIBOBJ invocations to module description.
358         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
359         AC_LIBOBJ invocation from here...
360         * modules/selinux-h (configure.ac): ... to here.
361
362 2011-05-21  Bruno Haible  <bruno@clisp.org>
363
364         select: Respect rules for use of AC_LIBOBJ.
365         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
366         here...
367         * modules/select (configure.ac): ... to here.
368
369 2011-05-21  Bruno Haible  <bruno@clisp.org>
370
371         scandir: Move AC_LIBOBJ invocations to module description.
372         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
373         invocations from here...
374         * modules/scandir (configure.ac): ... to here.
375
376 2011-05-21  Bruno Haible  <bruno@clisp.org>
377
378         rpmatch: Move AC_LIBOBJ invocations to module description.
379         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
380         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
381         here...
382         * modules/rpmatch (configure.ac): ... to here.
383
384 2011-05-21  Bruno Haible  <bruno@clisp.org>
385
386         rmdir: Respect rules for use of AC_LIBOBJ.
387         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
388         * modules/rmdir (configure.ac): ... to here.
389
390 2011-05-21  Bruno Haible  <bruno@clisp.org>
391
392         renameat: Move AC_LIBOBJ invocations to module description.
393         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
394         here...
395         * modules/renameat (configure.ac): ... to here.
396
397 2011-05-21  Bruno Haible  <bruno@clisp.org>
398
399         rename: Respect rules for use of AC_LIBOBJ.
400         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
401         here...
402         * modules/rename (configure.ac): ... to here.
403
404 2011-05-21  Bruno Haible  <bruno@clisp.org>
405
406         remove: Move AC_LIBOBJ invocations to module description.
407         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
408         here...
409         * modules/remove (configure.ac): ... to here.
410
411 2011-05-21  Bruno Haible  <bruno@clisp.org>
412
413         relocatable-lib: Move AC_LIBOBJ invocations to module description.
414         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
415         macro.
416         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
417         * modules/relocatable-lib (configure.ac): ... to here.
418         * modules/relocatable-prog-wrapper (configure.ac): Invoke
419         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
420
421 2011-05-21  Bruno Haible  <bruno@clisp.org>
422
423         relocatable-prog: Move AC_LIBOBJ invocations to module description.
424         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
425         here...
426         * modules/relocatable-prog (configure.ac): ... to here.
427
428 2011-05-21  Bruno Haible  <bruno@clisp.org>
429
430         regex: Move AC_LIBOBJ invocations to module description.
431         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
432         invocations from here...
433         * modules/regex (configure.ac): ... to here.
434
435 2011-05-21  Bruno Haible  <bruno@clisp.org>
436
437         realloc-*: Move AC_LIBOBJ invocations to module description.
438         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
439         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
440         AC_LIBOBJ invocations from here...
441         * modules/realloc-gnu (configure.ac): ... to here.
442         * modules/realloc-posix (configure.ac): ... and here.
443
444 2011-05-21  Bruno Haible  <bruno@clisp.org>
445
446         readutmp: Move AC_LIBOBJ invocations to module description.
447         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
448         * modules/readutmp (configure.ac): ... to here.
449
450 2011-05-21  Bruno Haible  <bruno@clisp.org>
451
452         readlinkat: Move AC_LIBOBJ invocations to module description.
453         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
454         here...
455         * modules/readlinkat (configure.ac): ... to here.
456
457 2011-05-21  Bruno Haible  <bruno@clisp.org>
458
459         readlink: Move AC_LIBOBJ invocations to module description.
460         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
461         gl_PREREQ_READLINK invocations from here...
462         * modules/readlink (configure.ac): ... to here.
463
464 2011-05-21  Bruno Haible  <bruno@clisp.org>
465
466         readline: Move AC_LIBOBJ invocations to module description.
467         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
468         gl_PREREQ_READLINE invocations from here...
469         * modules/readline (configure.ac): ... to here.
470
471 2011-05-21  Bruno Haible  <bruno@clisp.org>
472
473         read: Move AC_LIBOBJ invocations to module description.
474         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
475         * modules/read (configure.ac): ... to here.
476
477 2011-05-21  Bruno Haible  <bruno@clisp.org>
478
479         rawmemchr: Move AC_LIBOBJ invocations to module description.
480         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
481         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
482         from here...
483         * modules/rawmemchr (configure.ac): ... to here.
484
485 2011-05-21  Bruno Haible  <bruno@clisp.org>
486
487         random_r: Move AC_LIBOBJ invocations to module description.
488         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
489         gl_PREREQ_RANDOM_R invocations from here...
490         * modules/random_r (configure.ac): ... to here.
491
492 2011-05-21  Bruno Haible  <bruno@clisp.org>
493
494         pwrite: Move AC_LIBOBJ invocations to module description.
495         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
496         * modules/pwrite (configure.ac): ... to here.
497
498 2011-05-21  Bruno Haible  <bruno@clisp.org>
499
500         putenv: Move AC_LIBOBJ invocations to module description.
501         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
502         * modules/putenv (configure.ac): ... to here.
503
504 2011-05-21  Bruno Haible  <bruno@clisp.org>
505
506         login_tty: Move AC_LIBOBJ invocations to module description.
507         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
508         * modules/login_tty (configure.ac): ... to here.
509
510 2011-05-21  Bruno Haible  <bruno@clisp.org>
511
512         openpty: Move AC_LIBOBJ invocations to module description.
513         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
514         * modules/openpty (configure.ac): ... to here.
515
516 2011-05-21  Bruno Haible  <bruno@clisp.org>
517
518         forkpty: Move AC_LIBOBJ invocations to module description.
519         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
520         * modules/forkpty (configure.ac): ... to here.
521
522 2011-05-21  Bruno Haible  <bruno@clisp.org>
523
524         ptsname: Move AC_LIBOBJ invocations to module description.
525         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
526         invocations from here...
527         * modules/ptsname (configure.ac): ... to here.
528
529 2011-05-21  Bruno Haible  <bruno@clisp.org>
530
531         pread: Move AC_LIBOBJ invocations to module description.
532         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
533         * modules/pread (configure.ac): ... to here.
534
535 2011-05-21  Bruno Haible  <bruno@clisp.org>
536
537         posix_spawn*: Move AC_LIBOBJ invocations to module description.
538         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
539         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
540         * modules/posix_spawn (configure.ac): ... to here.
541         * modules/posix_spawnp (configure.ac): ... and here.
542
543 2011-05-21  Bruno Haible  <bruno@clisp.org>
544
545         popen: Move AC_LIBOBJ invocations to module description.
546         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
547         invocations from here...
548         * modules/popen (configure.ac): ... to here.
549
550 2011-05-21  Bruno Haible  <bruno@clisp.org>
551
552         poll: Move AC_LIBOBJ invocations to module description.
553         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
554         invocations from here...
555         * modules/poll (configure.ac): ... to here.
556
557 2011-05-21  Bruno Haible  <bruno@clisp.org>
558
559         pipe-posix: Move AC_LIBOBJ invocations to module description.
560         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
561         * modules/pipe-posix (configure.ac): ... to here.
562
563 2011-05-21  Bruno Haible  <bruno@clisp.org>
564
565         openat: Respect rules for use of AC_LIBOBJ.
566         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
567         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
568         * modules/openat (configure.ac): ... to here.
569
570 2011-05-21  Bruno Haible  <bruno@clisp.org>
571
572         obstack-printf*: Move AC_LIBOBJ invocations to module description.
573         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
574         invocation from here...
575         * modules/obstack-printf (configure.ac): ... to here.
576         * modules/obstack-printf-posix (configure.ac): ... and here.
577
578 2011-05-21  Bruno Haible  <bruno@clisp.org>
579
580         nl_langinfo: Move AC_LIBOBJ invocations to module description.
581         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
582         from here...
583         * modules/nl_langinfo (configure.ac): ... to here.
584
585 2011-05-21  Bruno Haible  <bruno@clisp.org>
586
587         nanosleep: Move AC_LIBOBJ invocations to module description.
588         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
589         gl_PREREQ_NANOSLEEP invocations from here...
590         * modules/nanosleep (configure.ac): ... to here.
591
592 2011-05-21  Bruno Haible  <bruno@clisp.org>
593
594         mountlist: Move AC_LIBOBJ invocations to module description.
595         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
596         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
597         * modules/mountlist (configure.ac): ... to here.
598
599 2011-05-21  Bruno Haible  <bruno@clisp.org>
600
601         mktime: Respect rules for use of AC_LIBOBJ.
602         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
603         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
604         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
605         (gl_FUNC_MKTIME_INTERNAL): ... and here...
606         * modules/mktime (configure.ac): ... to here.
607         * modules/mktime-internal (configure.ac): ... and here.
608         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
609
610 2011-05-21  Bruno Haible  <bruno@clisp.org>
611
612         mkstemps: Move AC_LIBOBJ invocations to module description.
613         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
614         here...
615         * modules/mkstemps (configure.ac): ... to here.
616
617 2011-05-21  Bruno Haible  <bruno@clisp.org>
618
619         mkstemp: Move AC_LIBOBJ invocations to module description.
620         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
621         gl_PREREQ_MKSTEMP invocations from here...
622         * modules/mkstemp (configure.ac): ... to here.
623
624 2011-05-21  Bruno Haible  <bruno@clisp.org>
625
626         mkostemps: Move AC_LIBOBJ invocations to module description.
627         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
628         here...
629         * modules/mkostemps (configure.ac): ... to here.
630
631 2011-05-21  Bruno Haible  <bruno@clisp.org>
632
633         mkostemp: Move AC_LIBOBJ invocations to module description.
634         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
635         gl_PREREQ_MKOSTEMP invocations from here...
636         * modules/mkostemp (configure.ac): ... to here.
637
638 2011-05-21  Bruno Haible  <bruno@clisp.org>
639
640         mknod: Move AC_LIBOBJ invocations to module description.
641         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
642         * modules/mknod (configure.ac): ... to here.
643
644 2011-05-21  Bruno Haible  <bruno@clisp.org>
645
646         mkfifoat: Move AC_LIBOBJ invocations to module description.
647         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
648         here...
649         * modules/mkfifoat (configure.ac): ... to here.
650
651 2011-05-21  Bruno Haible  <bruno@clisp.org>
652
653         mkfifo: Respect rules for use of AC_LIBOBJ.
654         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
655         here...
656         * modules/mkfifo (configure.ac): ... to here.
657
658 2011-05-21  Bruno Haible  <bruno@clisp.org>
659
660         mkdtemp: Move AC_LIBOBJ invocations to module description.
661         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
662         invocations from here...
663         * modules/mkdtemp (configure.ac): ... to here.
664
665 2011-05-21  Bruno Haible  <bruno@clisp.org>
666
667         mkdir: Move AC_LIBOBJ invocations to module description.
668         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
669         * modules/mkdir (configure.ac): ... to here.
670
671 2011-05-21  Bruno Haible  <bruno@clisp.org>
672
673         memset: Move AC_LIBOBJ invocations to module description.
674         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
675         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
676         here...
677         * modules/memset (configure.ac): ... to here.
678
679 2011-05-21  Bruno Haible  <bruno@clisp.org>
680
681         memrchr: Move AC_LIBOBJ invocations to module description.
682         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
683         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
684         here...
685         * modules/memrchr (configure.ac): ... to here.
686
687 2011-05-21  Bruno Haible  <bruno@clisp.org>
688
689         mempcpy: Move AC_LIBOBJ invocations to module description.
690         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
691         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
692         here...
693         * modules/mempcpy (configure.ac): ... to here.
694
695 2011-05-21  Bruno Haible  <bruno@clisp.org>
696
697         memmove: Move AC_LIBOBJ invocations to module description.
698         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
699         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
700         here...
701         * modules/memmove (configure.ac): ... to here.
702
703 2011-05-21  Bruno Haible  <bruno@clisp.org>
704
705         memmem*: Move AC_LIBOBJ invocations to module description.
706         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
707         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
708         here...
709         (gl_FUNC_MEMMEM): ... and here...
710         * modules/memmem-simple (configure.ac): ... to here.
711         * modules/memmem (configure.ac): ... and here.
712
713 2011-05-21  Bruno Haible  <bruno@clisp.org>
714
715         memcpy: Move AC_LIBOBJ invocations to module description.
716         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
717         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
718         here...
719         * modules/memcpy (configure.ac): ... to here.
720
721 2011-05-21  Bruno Haible  <bruno@clisp.org>
722
723         memcmp: Simplify autoconf macro.
724         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
725         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
726         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
727
728 2011-05-21  Bruno Haible  <bruno@clisp.org>
729
730         memcmp: Move AC_LIBOBJ invocations to module description.
731         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
732         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
733         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
734         * modules/memcmp (configure.ac): ... to here.
735         (Depends-on): Update conditions.
736
737 2011-05-21  Bruno Haible  <bruno@clisp.org>
738
739         memchr: Respect rules for use of AC_LIBOBJ.
740         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
741         invocations from here...
742         * modules/memchr (configure.ac): ... to here.
743
744 2011-05-21  Bruno Haible  <bruno@clisp.org>
745
746         mbtowc: Move AC_LIBOBJ invocations to module description.
747         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
748         invocations from here...
749         * modules/mbtowc (configure.ac): ... to here.
750
751 2011-05-21  Bruno Haible  <bruno@clisp.org>
752
753         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
754         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
755         gl_PREREQ_MBSRTOWCS invocations from here...
756         * modules/mbsrtowcs (configure.ac): ... to here.
757
758 2011-05-21  Bruno Haible  <bruno@clisp.org>
759
760         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
761         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
762         gl_PREREQ_MBSNRTOWCS invocations from here...
763         * modules/mbsnrtowcs (configure.ac): ... to here.
764
765 2011-05-21  Bruno Haible  <bruno@clisp.org>
766
767         mbsinit: Move AC_LIBOBJ invocations to module description.
768         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
769         invocations from here...
770         * modules/mbsinit (configure.ac): ... to here.
771
772 2011-05-21  Bruno Haible  <bruno@clisp.org>
773
774         mbrlen: Move AC_LIBOBJ invocations to module description.
775         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
776         invocations from here...
777         * modules/mbrlen (configure.ac): ... to here.
778
779 2011-05-21  Bruno Haible  <bruno@clisp.org>
780
781         mbrtowc: Respect rules for use of AC_LIBOBJ.
782         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
783         invocations from here...
784         * modules/mbrtowc (configure.ac): ... to here.
785
786 2011-05-21  Bruno Haible  <bruno@clisp.org>
787
788         malloc-*: Move AC_LIBOBJ invocations to module description.
789         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
790         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
791         AC_LIBOBJ invocations from here...
792         * modules/malloc-gnu (configure.ac): ... to here.
793         * modules/malloc-posix (configure.ac): ... and here.
794
795 2011-05-21  Bruno Haible  <bruno@clisp.org>
796
797         lstat, openat: Respect rules for use of AC_LIBOBJ.
798         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
799         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
800         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
801         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
802         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
803         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
804         here.
805         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
806
807 2011-05-21  Bruno Haible  <bruno@clisp.org>
808
809         lseek: Move AC_LIBOBJ invocations to module description.
810         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
811         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
812         * modules/lseek (configure.ac): ... to here.
813
814 2011-05-21  Bruno Haible  <bruno@clisp.org>
815
816         linkat: Move AC_LIBOBJ invocations to module description.
817         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
818         here...
819         * modules/linkat (configure.ac): ... to here.
820
821 2011-05-21  Bruno Haible  <bruno@clisp.org>
822
823         link: Respect rules for use of AC_LIBOBJ.
824         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
825         * modules/link (configure.ac): ... to here.
826
827 2011-05-21  Bruno Haible  <bruno@clisp.org>
828
829         lchown: Move AC_LIBOBJ invocations to module description.
830         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
831         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
832         * modules/lchown (configure.ac): ... to here.
833
834 2011-05-21  Bruno Haible  <bruno@clisp.org>
835
836         iswctype: Move AC_LIBOBJ invocations to module description.
837         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
838         here...
839         * modules/iswctype (configure.ac): ... to here.
840
841 2011-05-21  Bruno Haible  <bruno@clisp.org>
842
843         iswblank: Move AC_LIBOBJ invocations to module description.
844         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
845         here...
846         * modules/iswblank (configure.ac): ... to here.
847
848 2011-05-21  Bruno Haible  <bruno@clisp.org>
849
850         atanl: Move AC_LIBOBJ invocations to module description.
851         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
852         * modules/atanl (configure.ac): ... to here.
853
854 2011-05-21  Bruno Haible  <bruno@clisp.org>
855
856         acosl: Move AC_LIBOBJ invocations to module description.
857         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
858         * modules/acosl (configure.ac): ... to here.
859
860 2011-05-21  Bruno Haible  <bruno@clisp.org>
861
862         asinl: Respect rules for use of AC_LIBOBJ.
863         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
864         * modules/asinl (configure.ac): ... to here.
865
866 2011-05-21  Bruno Haible  <bruno@clisp.org>
867
868         tanl: Move AC_LIBOBJ invocations to module description.
869         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
870         * modules/tanl (configure.ac): ... to here.
871
872 2011-05-21  Bruno Haible  <bruno@clisp.org>
873
874         cosl: Move AC_LIBOBJ invocations to module description.
875         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
876         * modules/cosl (configure.ac): ... to here.
877
878 2011-05-21  Bruno Haible  <bruno@clisp.org>
879
880         sinl: Move AC_LIBOBJ invocations to module description.
881         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
882         * modules/sinl (configure.ac): ... to here.
883
884 2011-05-21  Bruno Haible  <bruno@clisp.org>
885
886         logl: Move AC_LIBOBJ invocations to module description.
887         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
888         * modules/logl (configure.ac): ... to here.
889
890 2011-05-21  Bruno Haible  <bruno@clisp.org>
891
892         expl: Move AC_LIBOBJ invocations to module description.
893         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
894         * modules/expl (configure.ac): ... to here.
895
896 2011-05-21  Bruno Haible  <bruno@clisp.org>
897
898         roundl: Move AC_LIBOBJ invocations to module description.
899         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
900         * modules/roundl (configure.ac): ... to here.
901
902 2011-05-21  Bruno Haible  <bruno@clisp.org>
903
904         round: Move AC_LIBOBJ invocations to module description.
905         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
906         * modules/round (configure.ac): ... to here.
907
908 2011-05-21  Bruno Haible  <bruno@clisp.org>
909
910         roundf: Move AC_LIBOBJ invocations to module description.
911         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
912         * modules/roundf (configure.ac): ... to here.
913
914 2011-05-21  Bruno Haible  <bruno@clisp.org>
915
916         truncl: Move AC_LIBOBJ invocations to module description.
917         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
918         * modules/truncl (configure.ac): ... to here.
919
920 2011-05-21  Bruno Haible  <bruno@clisp.org>
921
922         trunc: Move AC_LIBOBJ invocations to module description.
923         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
924         * modules/trunc (configure.ac): ... to here.
925
926 2011-05-21  Bruno Haible  <bruno@clisp.org>
927
928         truncf: Move AC_LIBOBJ invocations to module description.
929         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
930         * modules/truncf (configure.ac): ... to here.
931
932 2011-05-21  Bruno Haible  <bruno@clisp.org>
933
934         ceill: Move AC_LIBOBJ invocations to module description.
935         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
936         * modules/ceill (configure.ac): ... to here.
937
938 2011-05-21  Bruno Haible  <bruno@clisp.org>
939
940         ceil: Move AC_LIBOBJ invocations to module description.
941         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
942         * modules/ceil (configure.ac): ... to here.
943
944 2011-05-21  Bruno Haible  <bruno@clisp.org>
945
946         ceilf: Move AC_LIBOBJ invocations to module description.
947         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
948         * modules/ceilf (configure.ac): ... to here.
949
950 2011-05-21  Bruno Haible  <bruno@clisp.org>
951
952         floorl: Respect rules for use of AC_LIBOBJ.
953         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
954         * modules/floorl (configure.ac): ... to here.
955
956 2011-05-21  Bruno Haible  <bruno@clisp.org>
957
958         floor: Respect rules for use of AC_LIBOBJ.
959         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
960         * modules/floor (configure.ac): ... to here.
961
962 2011-05-21  Bruno Haible  <bruno@clisp.org>
963
964         floorf: Move AC_LIBOBJ invocations to module description.
965         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
966         * modules/floorf (configure.ac): ... to here.
967
968 2011-05-20  Bruno Haible  <bruno@clisp.org>
969
970         sqrtl: Respect rules for use of AC_LIBOBJ.
971         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
972         * modules/sqrtl (configure.ac): ... to here.
973
974 2011-05-20  Bruno Haible  <bruno@clisp.org>
975
976         ldexpl: Respect rules for use of AC_LIBOBJ.
977         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
978         * modules/ldexpl (configure.ac): ... to here.
979
980 2011-05-20  Bruno Haible  <bruno@clisp.org>
981
982         frexpl*: Respect rules for use of AC_LIBOBJ.
983         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
984         invocation from here...
985         * modules/frexpl (configure.ac): ... to here.
986         * modules/frexpl-nolibm (configure.ac): ... and here.
987
988 2011-05-20  Bruno Haible  <bruno@clisp.org>
989
990         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
991         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
992         invocation from here...
993         * modules/frexp (configure.ac): ... to here.
994         * modules/frexp-nolibm (configure.ac): ... and here.
995
996 2011-05-20  Bruno Haible  <bruno@clisp.org>
997
998         isnan: Respect rules for use of AC_LIBOBJ.
999         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
1000         invocations here.
1001         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
1002         REPLACE_ISNAN.
1003         * modules/isnand (configure.ac): Likewise.
1004         * modules/isnanl (configure.ac): Likewise.
1005
1006 2011-05-20  Bruno Haible  <bruno@clisp.org>
1007
1008         isnanl*: Respect rules for use of AC_LIBOBJ.
1009         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
1010         invocation from here...
1011         * modules/isnanl (configure.ac): ... to here.
1012         * modules/isnanl-nolibm (configure.ac): ... and here.
1013
1014 2011-05-20  Bruno Haible  <bruno@clisp.org>
1015
1016         isnand*: Move AC_LIBOBJ invocations to module description.
1017         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
1018         invocation from here...
1019         * modules/isnand (configure.ac): ... to here.
1020         * modules/isnand-nolibm (configure.ac): ... and here.
1021
1022 2011-05-20  Bruno Haible  <bruno@clisp.org>
1023
1024         isnanf*: Move AC_LIBOBJ invocations to module description.
1025         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
1026         invocation from here...
1027         * modules/isnanf (configure.ac): ... to here.
1028         * modules/isnanf-nolibm (configure.ac): ... and here.
1029
1030 2011-05-20  Bruno Haible  <bruno@clisp.org>
1031
1032         isnan*: Separate the AC_LIBOBJ invocations.
1033         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
1034         AC_LIBOBJ invocation.
1035         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
1036         here.
1037         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
1038         AC_LIBOBJ invocation.
1039         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
1040         here.
1041         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
1042         AC_LIBOBJ invocation.
1043         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
1044         here.
1045         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
1046
1047 2011-05-08  Bruno Haible  <bruno@clisp.org>
1048
1049         isinf: Move AC_LIBOBJ invocations to module description.
1050         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
1051         * modules/isinf (configure.ac): ... to here.
1052
1053 2011-05-08  Bruno Haible  <bruno@clisp.org>
1054
1055         isfinite: Move AC_LIBOBJ invocations to module description.
1056         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
1057         * modules/isfinite (configure.ac): ... to here.
1058
1059 2011-05-08  Bruno Haible  <bruno@clisp.org>
1060
1061         isblank: Move AC_LIBOBJ invocations to module description.
1062         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
1063         here...
1064         * modules/isblank (configure.ac): ... to here.
1065
1066 2011-05-08  Bruno Haible  <bruno@clisp.org>
1067
1068         isapipe: Move AC_LIBOBJ invocations to module description.
1069         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
1070         gl_PREREQ_ISAPIPE invocations from here...
1071         * modules/isapipe (configure.ac): ... to here.
1072         (Depends-on): Update condition.
1073
1074 2011-05-08  Bruno Haible  <bruno@clisp.org>
1075
1076         ioctl: Move AC_LIBOBJ invocations to module description.
1077         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
1078         invocations from here...
1079         * modules/ioctl (configure.ac): ... to here.
1080         (Depends-on): Update condition.
1081
1082 2011-05-08  Bruno Haible  <bruno@clisp.org>
1083
1084         imaxdiv: Move AC_LIBOBJ invocations to module description.
1085         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
1086         invocations from here...
1087         * modules/imaxdiv (configure.ac): ... to here.
1088
1089 2011-05-08  Bruno Haible  <bruno@clisp.org>
1090
1091         imaxabs: Move AC_LIBOBJ invocations to module description.
1092         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
1093         invocations from here...
1094         * modules/imaxabs (configure.ac): ... to here.
1095
1096 2011-05-08  Bruno Haible  <bruno@clisp.org>
1097
1098         getaddrinfo: Move AC_LIBOBJ invocations to module description.
1099         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
1100         AC_LIBOBJ invocations from here...
1101         * modules/getaddrinfo (configure.ac): ... to here.
1102         (Depends-on): Add conditions.
1103
1104 2011-05-08  Bruno Haible  <bruno@clisp.org>
1105
1106         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
1107         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
1108         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
1109         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
1110         (gl_PREREQ_INET_PTON): ... from here.
1111         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
1112         gl_PREREQ_INET_PTON here.
1113         (Depends-on): Update condition.
1114
1115 2011-05-08  Bruno Haible  <bruno@clisp.org>
1116
1117         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
1118         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
1119         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
1120         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
1121         (gl_PREREQ_INET_NTOP): ... from here.
1122         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
1123         gl_PREREQ_INET_NTOP here.
1124         (Depends-on): Update condition.
1125
1126 2011-05-08  Bruno Haible  <bruno@clisp.org>
1127
1128         iconv_open: Move AC_LIBOBJ invocations to module description.
1129         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
1130         AC_LIBOBJ invocations from here...
1131         * modules/iconv_open (configure.ac): ... to here.
1132
1133 2011-05-08  Bruno Haible  <bruno@clisp.org>
1134
1135         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
1136         If module 'iconv_open' is among the main modules and module
1137         'iconv_open-utf' is among the tests dependencies, then
1138         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
1139         return the special iconv_t values. Therefore iconv() and iconv_close()
1140         must support these special iconv_t values, already in lib, not only in
1141         tests.
1142         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
1143         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
1144         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
1145         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
1146         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
1147         (Depends-on): Add the dependencies of iconv_open-utf.
1148         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
1149         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
1150         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
1151
1152 2011-05-08  Bruno Haible  <bruno@clisp.org>
1153
1154         group-member: Move AC_LIBOBJ invocations to module description.
1155         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
1156         gl_PREREQ_GROUP_MEMBER invocations from here...
1157         * modules/group-member (configure.ac): ... to here.
1158
1159 2011-05-08  Bruno Haible  <bruno@clisp.org>
1160
1161         grantpt: Move AC_LIBOBJ invocations to module description.
1162         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
1163         invocations from here...
1164         * modules/grantpt (configure.ac): ... to here.
1165
1166 2011-05-08  Bruno Haible  <bruno@clisp.org>
1167
1168         glob: Move AC_LIBOBJ invocations to module description.
1169         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
1170         from here...
1171         * modules/glob (configure.ac): ... to here.
1172
1173 2011-05-08  Bruno Haible  <bruno@clisp.org>
1174
1175         getusershell: Move AC_LIBOBJ invocations to module description.
1176         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
1177         Move AC_LIBOBJ invocation from here...
1178         * modules/getusershell (configure.ac): ... to here.
1179         (Depends-on): Update condition.
1180
1181 2011-05-08  Bruno Haible  <bruno@clisp.org>
1182
1183         gettimeofday: Move AC_LIBOBJ invocations to module description.
1184         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
1185         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
1186         gl_PREREQ_GETTIMEOFDAY invocations from here...
1187         * modules/gettimeofday (configure.ac): ... to here.
1188
1189 2011-05-08  Bruno Haible  <bruno@clisp.org>
1190
1191         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
1192         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
1193         just gl_FUNC_TZSET.
1194         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
1195         (gl_FUNC_TZSET_CLOBBER): Remove actions.
1196         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
1197         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
1198
1199 2011-05-08  Bruno Haible  <bruno@clisp.org>
1200
1201         getsubopt: Move AC_LIBOBJ invocations to module description.
1202         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
1203         gl_PREREQ_GETSUBOPT invocations from here...
1204         * modules/getsubopt (configure.ac): ... to here.
1205
1206 2011-05-08  Bruno Haible  <bruno@clisp.org>
1207
1208         getpass-gnu: Move AC_LIBOBJ invocations to module description.
1209         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
1210         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
1211         * modules/getpass-gnu (configure.ac): ... to here.
1212
1213 2011-05-08  Bruno Haible  <bruno@clisp.org>
1214
1215         getpass: Move AC_LIBOBJ invocations to module description.
1216         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
1217         gl_PREREQ_GETPASS invocations from here...
1218         * modules/getpass (configure.ac): ... to here.
1219
1220 2011-05-08  Bruno Haible  <bruno@clisp.org>
1221
1222         getpagesize: Move AC_LIBOBJ invocations to module description.
1223         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
1224         from here...
1225         * modules/getpagesize (configure.ac): ... to here.
1226
1227 2011-05-08  Bruno Haible  <bruno@clisp.org>
1228
1229         getopt: Move AC_LIBOBJ invocations to module description.
1230         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
1231         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
1232         invocations from here...
1233         * modules/getopt-gnu (configure.ac): ... to here.
1234         * modules/getopt-posix (configure.ac): ... and here.
1235         (Depends-on): Update condition.
1236
1237 2011-05-08  Bruno Haible  <bruno@clisp.org>
1238
1239         getopt, argp: Respect rules for use of AC_LIBOBJ.
1240         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
1241         (gl_REPLACE_GETOPT_ALWAYS): New macro.
1242         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
1243         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
1244
1245 2011-05-08  Bruno Haible  <bruno@clisp.org>
1246
1247         getlogin_r: Move AC_LIBOBJ invocations to module description.
1248         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
1249         gl_PREREQ_GETLOGIN_R invocations from here...
1250         * modules/getlogin_r (configure.ac): ... to here.
1251
1252 2011-05-08  Bruno Haible  <bruno@clisp.org>
1253
1254         getlogin: Move AC_LIBOBJ invocations to module description.
1255         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
1256         here...
1257         * modules/getlogin (configure.ac): ... to here.
1258
1259 2011-05-08  Bruno Haible  <bruno@clisp.org>
1260
1261         getloadavg: Move AC_LIBOBJ invocations to module description.
1262         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
1263         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
1264         * modules/getloadavg (configure.ac): ... to here.
1265
1266 2011-05-08  Bruno Haible  <bruno@clisp.org>
1267
1268         gethrxtime: Move AC_LIBOBJ invocations to module description.
1269         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
1270         LIB_GETHRXTIME from here...
1271         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
1272         invocations from here...
1273         * modules/gethrxtime (configure.ac): ... to here.
1274
1275 2011-05-08  Bruno Haible  <bruno@clisp.org>
1276
1277         gethostname: Move AC_LIBOBJ invocations to module description.
1278         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
1279         gl_PREREQ_GETHOSTNAME invocations from here...
1280         * modules/gethostname (configure.ac): ... to here.
1281
1282 2011-05-08  Bruno Haible  <bruno@clisp.org>
1283
1284         getgroups: Move AC_LIBOBJ invocations to module description.
1285         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
1286         here...
1287         * modules/getgroups (configure.ac): ... to here.
1288
1289 2011-05-08  Bruno Haible  <bruno@clisp.org>
1290
1291         getdtablesize: Move AC_LIBOBJ invocations to module description.
1292         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
1293         invocation from here...
1294         * modules/getdtablesize (configure.ac): ... to here.
1295
1296 2011-05-08  Bruno Haible  <bruno@clisp.org>
1297
1298         getdomainname: Move AC_LIBOBJ invocations to module description.
1299         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
1300         gl_PREREQ_GETDOMAINNAME invocations from here...
1301         * modules/getdomainname (configure.ac): ... to here.
1302
1303 2011-05-08  Bruno Haible  <bruno@clisp.org>
1304
1305         getline: Move AC_LIBOBJ invocations to module description.
1306         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
1307         invocations from here...
1308         * modules/getline (configure.ac): ... to here.
1309
1310 2011-05-08  Bruno Haible  <bruno@clisp.org>
1311
1312         getline: Simplify.
1313         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
1314         It's already handled through the module dependency.
1315
1316 2011-05-08  Bruno Haible  <bruno@clisp.org>
1317
1318         getdelim: Move AC_LIBOBJ invocations to module description.
1319         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
1320         and gl_PREREQ_GETDELIM invocations from here...
1321         * modules/getdelim (configure.ac): ... to here.
1322         (Depends-on): Fix condition.
1323
1324 2011-05-08  Bruno Haible  <bruno@clisp.org>
1325
1326         getcwd: Move AC_LIBOBJ invocations to module description.
1327         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
1328         invocations from here...
1329         * modules/getcwd (configure.ac): ... to here.
1330
1331 2011-05-08  Bruno Haible  <bruno@clisp.org>
1332
1333         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
1334         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
1335         here...
1336         * modules/getcwd-lgpl (configure.ac): ... to here.
1337
1338 2011-05-07  Bruno Haible  <bruno@clisp.org>
1339
1340         crypto/gc: Move AC_LIBOBJ invocations to module description.
1341         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
1342         * modules/crypto/gc (configure.ac): ... to here.
1343
1344 2011-05-07  Bruno Haible  <bruno@clisp.org>
1345
1346         fwriting: Move AC_LIBOBJ invocations to module description.
1347         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
1348         here...
1349         * modules/fwriting (configure.ac): ... to here.
1350
1351 2011-05-07  Bruno Haible  <bruno@clisp.org>
1352
1353         fwritable: Move AC_LIBOBJ invocations to module description.
1354         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
1355         here...
1356         * modules/fwritable (configure.ac): ... to here.
1357
1358 2011-05-07  Bruno Haible  <bruno@clisp.org>
1359
1360         futimens: Move AC_LIBOBJ invocations to module description.
1361         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
1362         here...
1363         * modules/futimens (configure.ac): ... to here.
1364
1365 2011-05-07  Bruno Haible  <bruno@clisp.org>
1366
1367         ftruncate: Move AC_LIBOBJ invocations to module description.
1368         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
1369         gl_PREREQ_FTRUNCATE invocations from here...
1370         * modules/ftruncate (configure.ac): ... to here.
1371
1372 2011-05-07  Bruno Haible  <bruno@clisp.org>
1373
1374         fsync: Move AC_LIBOBJ invocations to module description.
1375         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
1376         invocations from here...
1377         * modules/fsync (configure.ac): ... to here.
1378
1379 2011-05-07  Bruno Haible  <bruno@clisp.org>
1380
1381         fsusage: Move AC_LIBOBJ invocations to module description.
1382         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
1383         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
1384         * modules/fsusage (configure.ac): ... to here.
1385
1386 2011-05-07  Bruno Haible  <bruno@clisp.org>
1387
1388         freopen: Move AC_LIBOBJ invocations to module description.
1389         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
1390         invocations from here...
1391         * modules/freopen (configure.ac): ... to here.
1392
1393 2011-05-07  Bruno Haible  <bruno@clisp.org>
1394
1395         free: Move AC_LIBOBJ invocations to module description.
1396         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
1397         invocations from here...
1398         * modules/free (configure.ac): ... to here.
1399
1400 2011-05-07  Bruno Haible  <bruno@clisp.org>
1401
1402         freadable: Move AC_LIBOBJ invocations to module description.
1403         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
1404         here...
1405         * modules/freadable (configure.ac): ... to here.
1406
1407 2011-05-07  Bruno Haible  <bruno@clisp.org>
1408
1409         fpurge: Move AC_LIBOBJ invocations to module description.
1410         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
1411         invocations from here...
1412         * modules/fpurge (configure.ac): ... to here.
1413
1414 2011-05-07  Bruno Haible  <bruno@clisp.org>
1415
1416         fpending: Move AC_LIBOBJ invocations to module description.
1417         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
1418         gl_FUNC_FPENDING.
1419         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
1420         invocations from here...
1421         * modules/fpending (configure.ac): ... to here.
1422
1423 2011-05-07  Bruno Haible  <bruno@clisp.org>
1424
1425         fopen: Move AC_LIBOBJ invocations to module description.
1426         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
1427         invocations from here...
1428         * modules/fopen (configure.ac): ... to here.
1429
1430 2011-05-07  Bruno Haible  <bruno@clisp.org>
1431
1432         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
1433         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
1434         gl_FUNC_FNMATCH_POSIX.
1435         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
1436         invocations from here...
1437         * modules/fnmatch (configure.ac): ... to here.
1438         * modules/fnmatch-gnu (configure.ac): ... and here.
1439
1440 2011-05-07  Bruno Haible  <bruno@clisp.org>
1441
1442         flock: Move AC_LIBOBJ invocations to module description.
1443         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
1444         invocations from here...
1445         * modules/flock (configure.ac): ... to here.
1446
1447 2011-05-07  Bruno Haible  <bruno@clisp.org>
1448
1449         fileblocks: Move AC_LIBOBJ invocations to module description.
1450         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
1451         gl_PREREQ_FILEBLOCKS invocations from here...
1452         * modules/fileblocks (configure.ac): ... to here.
1453
1454 2011-05-06  Bruno Haible  <bruno@clisp.org>
1455
1456         fflush: Move AC_LIBOBJ invocations to module description.
1457         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
1458         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
1459         invocations from here...
1460         * modules/fflush (configure.ac): ... to here.
1461
1462 2011-05-06  Bruno Haible  <bruno@clisp.org>
1463
1464         fdopendir: Move AC_LIBOBJ invocations to module description.
1465         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
1466         here...
1467         * modules/fdopendir (configure.ac): ... to here.
1468         (Depends-on): Improve conditions.
1469
1470 2011-05-06  Bruno Haible  <bruno@clisp.org>
1471
1472         _Exit: Move AC_LIBOBJ invocations to module description.
1473         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
1474         invocations from here...
1475         * modules/_Exit (configure.ac): ... to here.
1476
1477 2011-05-21  Bruno Haible  <bruno@clisp.org>
1478
1479         euidaccess: Respect rules for use of AC_LIBOBJ.
1480         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
1481         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
1482         from here...
1483         * modules/euidaccess (configure.ac): ... to here.
1484
1485 2011-05-06  Bruno Haible  <bruno@clisp.org>
1486
1487         error: Move AC_LIBOBJ invocations to module description.
1488         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
1489         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
1490         invocations from here...
1491         * modules/error (configure.ac): ... to here.
1492
1493 2011-05-06  Bruno Haible  <bruno@clisp.org>
1494
1495         duplocale: Move AC_LIBOBJ invocations to module description.
1496         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
1497         gl_PREREQ_DUPLOCALE invocations from here...
1498         * modules/duplocale (configure.ac): ... to here.
1499
1500 2011-05-05  Bruno Haible  <bruno@clisp.org>
1501
1502         dirfd: Move AC_LIBOBJ invocations to module description.
1503         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
1504         gl_FUNC_DIRFD.
1505         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
1506         here...
1507         * modules/dirfd (configure.ac): ... to here.
1508         (Depends-on): Fix condition.
1509
1510 2011-05-05  Bruno Haible  <bruno@clisp.org>
1511
1512         chown: Respect rules for use of AC_LIBOBJ.
1513         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
1514         * modules/chown (configure.ac): ... to here.
1515
1516 2011-05-05  Bruno Haible  <bruno@clisp.org>
1517
1518         chdir-long: Move AC_LIBOBJ invocations to module description.
1519         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
1520         gl_PREREQ_CHDIR_LONG invocations from here...
1521         * modules/chdir-long (configure.ac): ... to here.
1522
1523 2011-05-05  Bruno Haible  <bruno@clisp.org>
1524
1525         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
1526         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
1527         from here...
1528         * modules/canonicalize-lgpl (configure.ac): ... to here.
1529
1530 2011-05-05  Bruno Haible  <bruno@clisp.org>
1531
1532         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
1533         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
1534         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
1535         REPLACE_CALLOC.
1536         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
1537         * modules/calloc-gnu (configure.ac): Likewise.
1538
1539 2011-05-05  Bruno Haible  <bruno@clisp.org>
1540
1541         btowc: Move AC_LIBOBJ invocations to module description.
1542         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
1543         invocations from here...
1544         * modules/btowc (configure.ac): ... to here.
1545
1546 2011-05-21  Bruno Haible  <bruno@clisp.org>
1547
1548         atexit: Move AC_LIBOBJ invocations to module description.
1549         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
1550         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
1551         here...
1552         * modules/atexit (configure.ac): ... to here.
1553
1554 2011-05-05  Bruno Haible  <bruno@clisp.org>
1555
1556         atoll: Move AC_LIBOBJ invocations to module description.
1557         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
1558         invocations from here...
1559         * modules/atoll (configure.ac): ... to here.
1560
1561 2011-05-05  Bruno Haible  <bruno@clisp.org>
1562
1563         argz: Move AC_LIBOBJ invocations to module description.
1564         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
1565         * modules/argz (configure.ac): ... to here.
1566
1567 2011-05-05  Bruno Haible  <bruno@clisp.org>
1568
1569         alphasort: Move AC_LIBOBJ invocations to module description.
1570         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
1571         gl_PREREQ_ALPHASORT invocations from here...
1572         * modules/alphasort (configure.ac): ... to here.
1573
1574 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1575
1576         verify: new macro verify_expr; verify_true deprecated
1577         * NEWS: Mention this.
1578         * doc/verify.texi (Compile-time Assertions): Document this.
1579         * lib/verify.h (verify_true): Deprecate.
1580         (verify_expr): New macro.
1581         * tests/test-verify.c (function): Test verify_expr.
1582
1583 2011-06-14  Jim Meyering  <meyering@redhat.com>
1584
1585         init.sh: give more portable redirection-related advice in a comment
1586         * tests/init.sh (stderr_fileno_): Update the advice in comments.
1587         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
1588         for lots of discussion.  Stefano Lattarini suggested the solution
1589         of putting "9>&2" after the command.  Reported by Bruno Haible.
1590
1591 2011-06-13  Bruno Haible  <bruno@clisp.org>
1592
1593         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
1594         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
1595         'none'.
1596
1597 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
1598
1599         ftoastr: use strtof only if HAVE_STRTOF
1600         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
1601         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
1602         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
1603         * modules/ftoastr (configure.ac): Check for strtof.
1604
1605 2011-06-13  Bruno Haible  <bruno@clisp.org>
1606
1607         gnulib-tool: Addendum to 2011-06-08 commit.
1608         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
1609         and --witness-c-macro have been given, augment AM_CPPFLAGS.
1610
1611 2011-06-13  Bruno Haible  <bruno@clisp.org>
1612
1613         fseeko: Provide a non-inline replacement of fseek().
1614         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
1615         * modules/fseeko (Depends-on): Add fseek.
1616         * modules/fseek (License): Change to LGPLv2+.
1617
1618 2011-06-13  Bruno Haible  <bruno@clisp.org>
1619
1620         ftello: Provide a non-inline replacement of ftell().
1621         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
1622         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
1623         not have ftello() (such as on mingw).
1624         * modules/ftello (Depends-on): Add ftell.
1625         * modules/ftell (License): Change to LGPLv2+.
1626
1627 2011-05-07  Bruno Haible  <bruno@clisp.org>
1628
1629         ftell: Move AC_LIBOBJ invocations to module description.
1630         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
1631         * modules/ftell (configure.ac): ... to here.
1632
1633 2011-05-07  Bruno Haible  <bruno@clisp.org>
1634
1635         ftello: Respect rules for use of AC_LIBOBJ.
1636         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
1637         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
1638         here...
1639         * modules/ftello (configure.ac): ... to here.
1640
1641 2011-05-07  Bruno Haible  <bruno@clisp.org>
1642
1643         fseeko: Simplify.
1644         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
1645         (gl_FUNC_FSEEKO): Inline it here.
1646
1647 2011-05-07  Bruno Haible  <bruno@clisp.org>
1648
1649         fseek: Move AC_LIBOBJ invocations to module description.
1650         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
1651         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
1652         * modules/fseek (configure.ac): ... to here.
1653
1654 2011-05-07  Bruno Haible  <bruno@clisp.org>
1655
1656         fseek: Respect rules for use of AC_LIBOBJ.
1657         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
1658         here...
1659         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
1660
1661 2011-05-07  Bruno Haible  <bruno@clisp.org>
1662
1663         fseeko: Respect rules for use of AC_LIBOBJ.
1664         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
1665         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
1666         here...
1667         * modules/fseeko (configure.ac): ... to here.
1668
1669 2011-06-13  Bruno Haible  <bruno@clisp.org>
1670
1671         gnulib-tool: Allow comments in the 'Depends-on' section.
1672         * doc/gnulib.texi (Module description): Mention comment syntax in the
1673         Depends-on section.
1674         * gnulib-tool (func_get_dependencies): Filter out comment lines.
1675
1676 2011-06-13  Bruno Haible  <bruno@clisp.org>
1677
1678         file-set.h: guard __attibute__ use, now that it's not always defined
1679         * lib/file-set.h (record_file): Use __attribute__ only with compiler
1680         versions that support it.  This fixes a coreutils build failure with
1681         the vendor cc on HP-UX 11.31.
1682
1683 2011-06-12  Bruno Haible  <bruno@clisp.org>
1684
1685         acl: Add support for HP-UX >= 11.11 JFS ACLs.
1686         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
1687         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
1688         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
1689         (acl, aclsort): New declarations.
1690         (aclv_nontrivial): New declaration.
1691         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
1692         (file_has_acl): Read also the second kind of HP-UX ACLs.
1693         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
1694         kind of HP-UX ACLs if the first kind fails.
1695         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
1696         second kind of HP-UX ACLs.
1697         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
1698         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
1699         agree.
1700         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
1701         hpuxjfs.
1702         Handle hpuxjfs.
1703         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
1704         hpuxjfs.
1705         Handle hpuxjfs.
1706         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
1707         (func_test_same_acls): Use both lsacl and getacl.
1708         Handle hpuxjfs.
1709         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
1710         (func_test_same_acls): Use both lsacl and getacl.
1711         Handle hpuxjfs.
1712
1713 2011-06-12  Bruno Haible  <bruno@clisp.org>
1714
1715         acl: Complete the 2010-08-10 fix.
1716         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
1717         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
1718         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
1719         explicitly.
1720         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
1721         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
1722
1723 2011-06-12  Bruno Haible  <bruno@clisp.org>
1724
1725         spawn-pipe tests: Comments.
1726         * tests/test-spawn-pipe-child.c (main): Update comment.
1727         Reported by James Youngman <jay@gnu.org>.
1728
1729 2011-06-11  James Youngman  <jay@gnu.org>
1730
1731         New module 'stat-size'.
1732         * modules/stat-size: New module.  Provides macros for accessing
1733         file size information in instances of struct stat.  Depends on the
1734         fileblocks module because it calls st_blocks.
1735         * lib/stat-size.h: New file, adapted from coreutils' system.h.
1736         * doc/gnulib.texi: Include stat-size.texi.
1737         * doc/stat-size.texi: Documentation for this module.
1738         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
1739         * m4/fileblocks.m4: Mention that stat-size depends on the call to
1740         AC_STRUCT_ST_BLOCKS.
1741
1742 2011-06-09  Bruno Haible  <bruno@clisp.org>
1743
1744         thread: Support pthreads-win32.
1745         * lib/glthread/thread.h (gl_thread_self): Define differently on
1746         pthreads-win32.
1747         (gl_null_thread): New declaration.
1748         (gl_thread_self_pointer): New macro.
1749         * lib/glthread/thread.c (gl_null_thread): New constant.
1750         * tests/test-lock.c: Use gl_thread_self_pointer instead of
1751         gl_thread_self.
1752         * tests/test-tls.c: Likewise.
1753         Suggested by Paul Eggert. Reported by Eric Blake.
1754
1755 2011-06-09  Bruno Haible  <bruno@clisp.org>
1756
1757         thread: Fix confusion between NULL and 0.
1758         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
1759         Reported by Paul Eggert.
1760
1761 2011-06-09  Bruno Haible  <bruno@clisp.org>
1762
1763         spawn-pipe tests: Avoid test failure on HP-UX 11.
1764         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
1765         is closed.
1766
1767 2011-06-09  Bruno Haible  <bruno@clisp.org>
1768
1769         acl tests: Fix compilation error on HP-UX 11.
1770         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
1771
1772 2011-06-09  Bruno Haible  <bruno@clisp.org>
1773
1774         rmdir: Avoid test failure on HP-UX 10.20.
1775         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
1776         EEXIST.
1777
1778 2011-06-08  Eric Blake  <eblake@redhat.com>
1779
1780         perror: fix test on mingw
1781         * modules/perror-tests (Depends-on): Add dup2.
1782
1783         strerror_r-posix: fix on MacOS
1784         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
1785         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
1786         logic bug.
1787         * lib/strerror_r.c (strerror_r): Fix the bug.
1788         * lib/strerror.c (strerror): Likewise.
1789         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
1790         problem.
1791         * doc/posix-functions/strerror.texi (strerror): Likewise.
1792         * doc/posix-functions/perror.texi (perror): Likewise.
1793         * tests/test-strerror.c (main): Enhance test.
1794         * tests/test-strerror_r.c (main): Likewise.
1795
1796 2011-06-08  Bruno Haible  <bruno@clisp.org>
1797
1798         gnulib-tool: Better isolation between different gnulib-tool invocations.
1799         * gnulib-tool: New option --witness-c-macro.
1800         (witness_c_macro): New variable.
1801         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
1802         AM_CPPFLAGS define it as a C macro.
1803         (func_emit_tests_Makefile_am): Likewise.
1804         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
1805         read it from there.
1806         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
1807         m4_define, not AC_DEFUN.
1808         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
1809         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
1810         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
1811         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
1812         s|...|...|, to substitute the values of the GNULIB_* module indicator
1813         variables.
1814         * modules/dirent (Makefile.am): Likewise.
1815         * modules/fcntl-h (Makefile.am): Likewise.
1816         * modules/iconv-h (Makefile.am): Likewise.
1817         * modules/langinfo (Makefile.am): Likewise.
1818         * modules/locale (Makefile.am): Likewise.
1819         * modules/math (Makefile.am): Likewise.
1820         * modules/netdb (Makefile.am): Likewise.
1821         * modules/poll-h (Makefile.am): Likewise.
1822         * modules/pty (Makefile.am): Likewise.
1823         * modules/search (Makefile.am): Likewise.
1824         * modules/signal (Makefile.am): Likewise.
1825         * modules/spawn (Makefile.am): Likewise.
1826         * modules/stdio (Makefile.am): Likewise.
1827         * modules/stdlib (Makefile.am): Likewise.
1828         * modules/string (Makefile.am): Likewise.
1829         * modules/sys_ioctl (Makefile.am): Likewise.
1830         * modules/sys_select (Makefile.am): Likewise.
1831         * modules/sys_socket (Makefile.am): Likewise.
1832         * modules/sys_stat (Makefile.am): Likewise.
1833         * modules/sys_times (Makefile.am): Likewise.
1834         * modules/sys_utsname (Makefile.am): Likewise.
1835         * modules/sys_wait (Makefile.am): Likewise.
1836         * modules/termios (Makefile.am): Likewise.
1837         * modules/time (Makefile.am): Likewise.
1838         * modules/unistd (Makefile.am): Likewise.
1839         * modules/wchar (Makefile.am): Likewise.
1840
1841 2011-06-08  Eric Blake  <eblake@redhat.com>
1842
1843         strerror: simplify replacement
1844         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
1845         * modules/strerror (configure.ac): No prereqs needed here...
1846         * modules/strerror-override (configure.ac): ...but this needs it.
1847         (Files): Add file for needed prereq macro.
1848
1849 2011-06-08  Bruno Haible  <bruno@clisp.org>
1850
1851         strerror_r-posix: Tweaks.
1852         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
1853         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
1854         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
1855         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
1856         (gl_FUNC_STRERROR_R): ... to here.
1857         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
1858
1859 2011-06-07  Eric Blake  <eblake@redhat.com>
1860
1861         perror: document fixed bugs
1862         * doc/posix-functions/perror.texi (perror): Document recent
1863         patches.
1864
1865 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
1866
1867         stat-time: get_stat_birthtime failure is better-defined
1868         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
1869         return a timestamp whose tv_sec and tv_nsec values are both -1.
1870         Previously, the spec said only that the tv_nsec value was negative.
1871         This upward-compatible change simplifies GNU tar a bit.
1872
1873 2011-06-07  Eric Blake  <eblake@redhat.com>
1874
1875         strerror_r-posix: work around cygwin 1.7.9
1876         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
1877         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
1878         bug without replacing strerror_r.
1879         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
1880         strerror_r is buggy, but without requiring strerror_r compilation.
1881         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
1882
1883         test-perror: relax test to ignore cygwin bug
1884         * tests/test-perror2.c (main): Relax test on requiring detection
1885         of stream errors, and use unbuffered stream.
1886         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
1887         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
1888         * doc/posix-functions/fputc.texi (fputc): Likewise.
1889         * doc/posix-functions/fputs.texi (fputs): Likewise.
1890         * doc/posix-functions/fputws.texi (fputws): Likewise.
1891         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
1892         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
1893         * doc/posix-functions/getopt.texi (getopt): Likewise.
1894         * doc/posix-functions/perror.texi (perror): Likewise.
1895         * doc/posix-functions/printf.texi (printf): Likewise.
1896         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
1897         * doc/posix-functions/psignal.texi (psignal): Likewise.
1898         * doc/posix-functions/putc.texi (putc): Likewise.
1899         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
1900         Likewise.
1901         * doc/posix-functions/putchar.texi (putchar): Likewise.
1902         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
1903         Likewise.
1904         * doc/posix-functions/puts.texi (puts): Likewise.
1905         * doc/posix-functions/putwc.texi (putwc): Likewise.
1906         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
1907         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
1908         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
1909         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
1910         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
1911         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
1912         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
1913         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
1914
1915 2011-05-22  Bruno Haible  <bruno@clisp.org>
1916
1917         strerror: Move AC_LIBOBJ invocations to module description.
1918         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
1919         gl_PREREQ_STRERROR invocations from here...
1920         * modules/strerror (configure.ac): ... to here.
1921
1922 2011-05-21  Bruno Haible  <bruno@clisp.org>
1923
1924         perror: Use common idiom.
1925         * modules/perror (configure.ac): Reorder statements.
1926
1927 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1928
1929         tests: fix usage message in 'mktempd_'
1930         * tests/init.sh (mktempd_): In the usage message, use literal
1931         'mktempd_', not '$ME' (which is even undefined), as the name of
1932         the subroutine.
1933
1934 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1935
1936         tests init: new function 'fatal_', for hard errors
1937         Before this patch, the only way offered by tests/init.sh to
1938         properly signal a hard error was the `framework_failure_'
1939         function.  But the error message issued by that function,
1940         as its name would suggest, refers to a set-up failure in the
1941         testsuite, while hard errors can obviously also be due to
1942         other reasons.  The best way to fix this inconsistency is to
1943         introduce a new function with a more general error message.
1944         * tests/init.sh (fatal_): New function.
1945
1946 2011-06-06  Eric Blake  <eblake@redhat.com>
1947
1948         canonicalize-lgpl: use common idiom
1949         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
1950         over newer POSIX -Rf.
1951         Reported by Bruno Haible.
1952
1953         canonicalize-lgpl: work around AIX realpath bug
1954         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
1955         * doc/posix-functions/realpath.texi (realpath): Document it.
1956         Reported by Bruno Haible.
1957
1958         strerror: work around FreeBSD bug
1959         * lib/strerror.c (strerror): Special case 0.
1960         Reported by Bruno Haible.
1961
1962         strerror-override: avoid bloating errno module
1963         * modules/errno (Files, configure.ac): Move replacement strings...
1964         * modules/strerror-override: ...to new module.
1965         * modules/strerror (Depends-on): Add strerror-override.
1966         * modules/strerror_r-posix (Depends-on): Likewise.
1967         * MODULES.html.sh: Document new module.
1968         Reported by Bruno Haible.
1969
1970 2011-06-06  Bruno Haible  <bruno@clisp.org>
1971
1972         spawn-pipe tests: Rename program.
1973         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
1974         * tests/test-spawn-pipe-child.c: Update comment.
1975         * tests/test-spawn-pipe.sh: Update.
1976         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
1977
1978         spawn-pipe tests: Link the child program only against libc.
1979         * tests/test-spawn-pipe-child.c: New file, extracted from
1980         tests/test-spawn-pipe.c.
1981         (main): Expect only one argument.
1982         (is_open): New function, copied from tests/test-pipe.c.
1983         * tests/test-spawn-pipe.c: Don't include <errno.h>.
1984         (child_main): Remove function.
1985         (test_pipe): Pass only one argument to the child program.
1986         (main): Remove child process code. Expect the child program's name as
1987         first argument.
1988         * tests/test-spawn-pipe.sh: Pass the child program's name as first
1989         argument.
1990         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
1991         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
1992         test-spawn-pipe-child against no libraries.
1993
1994 2011-06-06  Bruno Haible  <bruno@clisp.org>
1995
1996         careadlinkat: Avoid mismatch between ssize_t and int.
1997         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
1998         * lib/careadlinkat.c (careadlinkatcwd): Define always.
1999
2000 2011-06-06  Jim Meyering  <meyering@redhat.com>
2001
2002         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
2003         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
2004         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
2005
2006 2011-06-05  Bruno Haible  <bruno@clisp.org>
2007
2008         ansi-c++-opt: Interoperability with libtool.
2009         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
2010         set the variable to "no", not to ":".
2011         * NEWS: Mention the change.
2012
2013 2011-06-05  Bruno Haible  <bruno@clisp.org>
2014
2015         acl: Fix test failure on AIX 7.
2016         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
2017         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
2018
2019 2011-06-05  Bruno Haible  <bruno@clisp.org>
2020
2021         pipe-filter-ii: Fix test failure on AIX and IRIX.
2022         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
2023         with EAGAIN, retry with a smaller buffer size.
2024
2025 2011-06-05  Bruno Haible  <bruno@clisp.org>
2026
2027         localename: Fix link dependencies.
2028         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
2029         * modules/localename-tests (Makefile.am): Link test-localename with
2030         $(LIBTHREAD).
2031
2032 2011-06-05  Bruno Haible  <bruno@clisp.org>
2033
2034         error: Avoid gcc warning.
2035         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
2036
2037 2011-06-05  Bruno Haible  <bruno@clisp.org>
2038
2039         unsetenv: Avoid gcc warning.
2040         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
2041
2042 2011-06-05  Bruno Haible  <bruno@clisp.org>
2043
2044         setenv: Avoid gcc warning.
2045         * lib/setenv.c (setenv): Provide declaration if system lacks it.
2046
2047 2011-06-05  Bruno Haible  <bruno@clisp.org>
2048
2049         sys_select: Ensure memset is declared also on AIX 7.
2050         * lib/sys_select.in.h: Include <string.h> also on AIX.
2051         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
2052         self-contained also on AIX 7.1.
2053
2054 2011-06-04  Jim Meyering  <meyering@redhat.com>
2055
2056         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
2057         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
2058         function name, "error".
2059         (_gl_translatable_diag_func_re): New configurable variable.
2060
2061 2011-06-04  Bruno Haible  <bruno@clisp.org>
2062
2063         getopt: Avoid gcc warning.
2064         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
2065
2066 2011-06-04  Bruno Haible  <bruno@clisp.org>
2067
2068         strerror_r: Fix comments.
2069         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
2070         commit.
2071
2072 2011-06-04  Bruno Haible  <bruno@clisp.org>
2073
2074         perror: Fix compilation error.
2075         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
2076         Undefine fprintf, not sprintf.
2077         * modules/perror (Depends-on): Remove intprops, verify.
2078
2079 2011-06-04  Bruno Haible  <bruno@clisp.org>
2080
2081         setlocale: Enable replacement on Cygwin 1.5.
2082         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
2083         Cygwin 1.5.x.
2084         * doc/posix-functions/setlocale.texi: Mention that the problem with the
2085         LC_CTYPE category also exists on Cygwin 1.5.x.
2086
2087 2011-06-04  Bruno Haible  <bruno@clisp.org>
2088
2089         strerror-override: Don't disable symbol renamings.
2090         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
2091         * lib/strerror-override.c: Include config.h.
2092         (strerror_override): Don't undefine.
2093
2094 2011-06-03  Bruno Haible  <bruno@clisp.org>
2095
2096         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
2097         * lib/localename.h: Update copyright header.
2098         * lib/localename.c: Likewise.
2099         * lib/relocatable.h: Likewise.
2100         * lib/relocatable.c: Likewise.
2101
2102 2011-06-02  Bruno Haible  <bruno@clisp.org>
2103
2104         doc: Fix a module name.
2105         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
2106
2107 2011-06-02  Bruno Haible  <bruno@clisp.org>
2108
2109         pipe2: Remove dependency on 'nonblocking' module.
2110         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
2111         O_NONBLOCK is defined by gnulib.
2112         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
2113         is zero.
2114         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
2115         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
2116         defined by gnulib.
2117         (get_nonblocking_flag): New function.
2118         (main): Test O_NONBLOCK flag only if it is nonzero.
2119         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
2120
2121 2011-06-03  Jim Meyering  <meyering@redhat.com>
2122
2123         maint: three new prohibit-header-without-use rules
2124         Prohibit use of cloexec.h, posixver.h, same.h without use.
2125         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
2126         (sc_prohibit_posixver_without_use): Likewise.
2127         (sc_prohibit_same_without_use): Likewise.
2128
2129 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2130
2131         allocator: 'die' routine is now given requested size
2132         * lib/allocator.h (struct allocator.die): New size arg.
2133         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
2134         If the actual problem is an ssize_t limitation, not a size_t or
2135         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
2136
2137 2011-06-01  Eric Blake  <eblake@redhat.com>
2138
2139         strerror: drop strerror_r dependency
2140         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
2141         * lib/strerror-override.c (strerror_override): ...to new file.
2142         * lib/strerror-override.h: Add prototype.
2143         * lib/strerror-impl.h: Delete.
2144         * lib/strerror.c (strerror): New implementation.
2145         * modules/errno (Files): Add new files.
2146         (configure.ac): Compile new file as appropriate.
2147         * modules/strerror (Files): Drop unused file.
2148         (Depends-on): Drop strerror_r-posix.
2149         * MODULES.html.sh: Document strerror_r-posix.
2150         Requested by Sam Steingold.
2151
2152         perror: call strerror_r directly
2153         * modules/perror (Files): Drop strerror-impl.h.
2154         * lib/perror.c (perror): Use our own stack buffer, rather than
2155         calling a wrapper that uses static storage.
2156         * doc/posix-functions/perror.texi (perror): Document a limitation
2157         of our replacement.
2158
2159         strerror_r: fix includes for FreeBSD
2160         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
2161         since we use abort on some platforms.
2162         Reported by Matthias Bolte.
2163
2164 2011-05-31  Bruno Haible  <bruno@clisp.org>
2165
2166         Fix link errors in tests: openat-die uses gettext-h.
2167         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
2168         against $(LIBINTL).
2169         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
2170         against $(LIBINTL).
2171         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
2172         $(LIBINTL).
2173         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
2174         against $(LIBINTL).
2175         * modules/linkat-tests (Makefile.am): Link test-linkat against
2176         $(LIBINTL).
2177         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
2178         $(LIBINTL).
2179         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
2180         against $(LIBINTL).
2181         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
2182         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
2183         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
2184         $(LIBINTL).
2185         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
2186         $(LIBINTL).
2187         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
2188         $(LIBINTL).
2189         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2190
2191 2011-05-31  Bruno Haible  <bruno@clisp.org>
2192
2193         Fix link errors in tests: wait-process uses gettext-h.
2194         * modules/nonblocking-pipe-tests (Makefile.am): Set
2195         test_nonblocking_pipe_main_LDADD.
2196         * modules/nonblocking-socket-tests (Makefile.am): Link
2197         test-nonblocking-socket-main against $(LIBINTL).
2198         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2199
2200 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2201
2202         assert-h: work around 'verify' incompatibility
2203         * lib/verify.h: Use @...@ directives, not ifdef.
2204         * modules/assert-h (assert.h): Implement the directives.
2205         (assert.h): Substitute the symbol-prefix more consistently.
2206
2207 2011-05-29  Jim Meyering  <meyering@redhat.com>
2208
2209         trim: remove three superfluous assignments
2210         * lib/trim.c (trim2): Remove three superfluous assignments
2211         and correct brace positioning.
2212
2213 2011-05-29  Bruno Haible  <bruno@clisp.org>
2214
2215         wctype-h: Avoid namespace pollution on Solaris 2.6.
2216         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
2217         identifiers.
2218         * doc/posix-headers/wctype.texi: Mention the problem.
2219         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2220
2221 2011-05-28  Jim Meyering  <meyering@redhat.com>
2222
2223         parse-datetime.y: accommodate -Wstrict-overflow
2224         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
2225         placate -Wstrict-overflow.
2226
2227         trim: avoid a warning from -O2 -Wstrict-overflow
2228         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
2229
2230 2011-05-29  Bruno Haible  <bruno@clisp.org>
2231
2232         gnulib-tool: Fix bug in yesterday's commit.
2233         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
2234         twice.
2235
2236 2011-05-29  Bruno Haible  <bruno@clisp.org>
2237
2238         Allow multiple gnulib generated include files to be combined.
2239         * gnulib-tool (func_compute_include_guard_prefix): New function.
2240         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
2241         ${gl_include_guard_prefix} references.
2242         (func_import, func_create_testdir): Invoke
2243         func_compute_include_guard_prefix.
2244         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
2245         * lib/ctype.in.h: Likewise.
2246         * lib/dirent.in.h: Likewise.
2247         * lib/errno.in.h: Likewise.
2248         * lib/fcntl.in.h: Likewise.
2249         * lib/float.in.h: Likewise.
2250         * lib/getopt.in.h: Likewise.
2251         * lib/iconv.in.h: Likewise.
2252         * lib/langinfo.in.h: Likewise.
2253         * lib/locale.in.h: Likewise.
2254         * lib/math.in.h: Likewise.
2255         * lib/netdb.in.h: Likewise.
2256         * lib/netinet_in.in.h: Likewise.
2257         * lib/poll.in.h: Likewise.
2258         * lib/pthread.in.h: Likewise.
2259         * lib/pty.in.h: Likewise.
2260         * lib/sched.in.h: Likewise.
2261         * lib/se-selinux.in.h: Likewise.
2262         * lib/search.in.h: Likewise.
2263         * lib/signal.in.h: Likewise.
2264         * lib/spawn.in.h: Likewise.
2265         * lib/stdarg.in.h: Likewise.
2266         * lib/stddef.in.h: Likewise.
2267         * lib/stdint.in.h: Likewise.
2268         * lib/stdio.in.h: Likewise.
2269         * lib/stdlib.in.h: Likewise.
2270         * lib/string.in.h: Likewise.
2271         * lib/strings.in.h: Likewise.
2272         * lib/sys_file.in.h: Likewise.
2273         * lib/sys_ioctl.in.h: Likewise.
2274         * lib/sys_select.in.h: Likewise.
2275         * lib/sys_socket.in.h: Likewise.
2276         * lib/sys_stat.in.h: Likewise.
2277         * lib/sys_time.in.h: Likewise.
2278         * lib/sys_times.in.h: Likewise.
2279         * lib/sys_uio.in.h: Likewise.
2280         * lib/sys_utsname.in.h: Likewise.
2281         * lib/sys_wait.in.h: Likewise.
2282         * lib/sysexits.in.h: Likewise.
2283         * lib/termios.in.h: Likewise.
2284         * lib/time.in.h: Likewise.
2285         * lib/unistd.in.h: Likewise.
2286         * lib/wchar.in.h: Likewise.
2287         * lib/wctype.in.h: Likewise.
2288         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
2289         * modules/ctype (Makefile.am): Likewise.
2290         * modules/dirent (Makefile.am): Likewise.
2291         * modules/errno (Makefile.am): Likewise.
2292         * modules/fcntl-h (Makefile.am): Likewise.
2293         * modules/float (Makefile.am): Likewise.
2294         * modules/getopt-posix (Makefile.am): Likewise.
2295         * modules/iconv-h (Makefile.am): Likewise.
2296         * modules/langinfo (Makefile.am): Likewise.
2297         * modules/locale (Makefile.am): Likewise.
2298         * modules/math (Makefile.am): Likewise.
2299         * modules/netdb (Makefile.am): Likewise.
2300         * modules/netinet_in (Makefile.am): Likewise.
2301         * modules/poll-h (Makefile.am): Likewise.
2302         * modules/pthread (Makefile.am): Likewise.
2303         * modules/pty (Makefile.am): Likewise.
2304         * modules/sched (Makefile.am): Likewise.
2305         * modules/search (Makefile.am): Likewise.
2306         * modules/selinux-h (Makefile.am): Likewise.
2307         * modules/signal (Makefile.am): Likewise.
2308         * modules/spawn (Makefile.am): Likewise.
2309         * modules/stdarg (Makefile.am): Likewise.
2310         * modules/stddef (Makefile.am): Likewise.
2311         * modules/stdint (Makefile.am): Likewise.
2312         * modules/stdio (Makefile.am): Likewise.
2313         * modules/stdlib (Makefile.am): Likewise.
2314         * modules/string (Makefile.am): Likewise.
2315         * modules/strings (Makefile.am): Likewise.
2316         * modules/sys_file (Makefile.am): Likewise.
2317         * modules/sys_ioctl (Makefile.am): Likewise.
2318         * modules/sys_select (Makefile.am): Likewise.
2319         * modules/sys_socket (Makefile.am): Likewise.
2320         * modules/sys_stat (Makefile.am): Likewise.
2321         * modules/sys_time (Makefile.am): Likewise.
2322         * modules/sys_times (Makefile.am): Likewise.
2323         * modules/sys_uio (Makefile.am): Likewise.
2324         * modules/sys_utsname (Makefile.am): Likewise.
2325         * modules/sys_wait (Makefile.am): Likewise.
2326         * modules/sysexits (Makefile.am): Likewise.
2327         * modules/termios (Makefile.am): Likewise.
2328         * modules/time (Makefile.am): Likewise.
2329         * modules/unistd (Makefile.am): Likewise.
2330         * modules/wchar (Makefile.am): Likewise.
2331         * modules/wctype-h (Makefile.am): Likewise.
2332         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
2333
2334 2011-05-29  Bruno Haible  <bruno@clisp.org>
2335
2336         assert-h: Allow multiple gnulib generated replacements to coexist.
2337         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
2338
2339 2011-05-29  Bruno Haible  <bruno@clisp.org>
2340
2341         argp: Allow coexistence with strerror_r-posix module.
2342         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
2343         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
2344         by gnulib's <string.h> replacement), assume it has the POSIX signature,
2345         not the glibc signature.
2346
2347 2011-05-28  Bruno Haible  <bruno@clisp.org>
2348
2349         gnulib-tool: Alternative structure of testdirs, similar to --import.
2350         * gnulib-tool: New option --single-configure.
2351         (func_usage): Document it.
2352         (single_configure): New variable.
2353         (func_modules_transitive_closure_separately,
2354         func_modules_transitive_closure_separately,
2355         func_determine_use_libtests, func_modules_add_dummy_separately,
2356         func_modules_to_filelist_separately): New functions, extracted from
2357         func_import.
2358         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
2359         (func_import): Use the new functions.
2360         (func_create_testdir): Set final_modules. Handle $single_configure =
2361         true case.
2362
2363 2011-05-28  Bruno Haible  <bruno@clisp.org>
2364
2365         getloadavg: Remove an unreliable safety check.
2366         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
2367         getloadavg.c is in place.
2368         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
2369         Reported by Sam Steingold <sds@gnu.org>.
2370
2371 2011-05-28  Bruno Haible  <bruno@clisp.org>
2372
2373         doc: Cleanup yet another file produced by texinfo.tex.
2374         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
2375
2376 2011-05-28  Bruno Haible  <bruno@clisp.org>
2377
2378         Finish the conditional dependencies mechanism.
2379         * gnulib-tool: New option --no-conditional-dependencies.
2380         (func_usage): Document it. Don't mark --conditional-dependencies as
2381         experimental.
2382         (cond_dependencies): The possible values can now be true, false, empty.
2383         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
2384         (func_import): Store setting in gnulib-cache.m4 and read it from there.
2385         * doc/gnulib-tool.texi (Conditional dependencies): New section.
2386
2387 2011-05-28  Bruno Haible  <bruno@clisp.org>
2388
2389         doc: Use a recent texinfo.tex.
2390         * doc/Makefile (tex_opts): New variable.
2391         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
2392
2393 2011-05-28  Jim Meyering  <meyering@redhat.com>
2394
2395         intprops.h: adjust comment to match code change
2396         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
2397         only once, it *may* have side effects.  Also fix an unrelated typo.
2398         (_GL_INT_SIGNED): Likewise.
2399
2400 2011-05-26  Simon Josefsson  <simon@josefsson.org>
2401
2402         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
2403
2404 2011-05-26  Bruno Haible  <bruno@clisp.org>
2405
2406         mbsrchr: Avoid collision with system function on Interix.
2407         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
2408         Reported by Markus Duft <mduft@gentoo.org>.
2409
2410 2011-05-15  James Youngman  <jay@gnu.org>
2411
2412         getopt: for ambiguous options, enumerate the possibilities.
2413         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
2414         the ambiguous options when an ambiguous prefix is given. This was
2415         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
2416         glibc change was
2417         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
2418
2419 2011-05-25  Eric Blake  <eblake@redhat.com>
2420
2421         getcwd: work around mingw bug
2422         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
2423         * doc/posix-functions/getcwd.texi (getcwd): Document it.
2424         Reported by Matthias Bolte.
2425
2426 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
2427
2428         test-intprops: disable -Wtype-limits diagnostics
2429         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
2430         diagnostics.  Otherwise, the integer overflow macros generate many
2431         diagnostics.  Reported by Jim Meyering in
2432         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
2433
2434         intprops: shorten, to pacify gcc -Woverlength-strings
2435         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
2436         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
2437         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
2438         likely to run afoul of C compiler limits for string constant lengths.
2439         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
2440
2441 2011-05-24  Eric Blake  <eblake@redhat.com>
2442
2443         docs: document recently fixed glibc printf bug
2444         * doc/posix-functions/fprintf.texi (fprintf): Document it.
2445         * doc/posix-functions/printf.texi (printf): Likewise.
2446         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
2447         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
2448
2449         closein-tests: convert to init.sh
2450         * modules/closein-tests (Files): Add init.sh
2451         * tests/test-closein.sh Use it.
2452
2453         yesno-tests: convert to init.sh
2454         * modules/yesno-tests (Files): Add init.sh.
2455         * tests/test-yesno.sh: Use it.
2456
2457         atexit-tests: ensure reliable exit status
2458         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
2459         Reported by Bruno Haible.
2460
2461 2011-05-24  Bruno Haible  <bruno@clisp.org>
2462
2463         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
2464         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
2465         gl_PREREQ_STRERROR_R invocations from here...
2466         * modules/strerror_r-posix (configure.ac): ... to here.
2467
2468 2011-05-24  Eric Blake  <eblake@redhat.com>
2469
2470         strerror_r: fix missing header
2471         * lib/strerror_r.c: Avoid compiler warning about snprintf.
2472
2473         strerror_r: fix AIX test failures
2474         * lib/strerror_r.c (strerror_r): Convert silent truncation to
2475         ERANGE failure.
2476
2477         strerror_r: fix Solaris test failures
2478         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
2479         failures.
2480         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
2481
2482         strerror_r: enforce POSIX recommendations
2483         * lib/strerror_r.c (safe_copy): New helper method.
2484         (strerror_r): Guarantee a non-empty string.
2485         * tests/test-strerror_r.c (main): Enhance tests to incorporate
2486         recent POSIX rulings and to match our strerror guarantees.
2487         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
2488
2489 2011-05-24  Jim Meyering  <meyering@redhat.com>
2490
2491         test-perror2.c: avoid warning about unused variable
2492         * tests/test-perror2.c (main): Remove declaration of unused "fp".
2493
2494 2011-05-24  Eric Blake  <eblake@redhat.com>
2495
2496         perror: avoid spurious test failure on HP-UX
2497         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
2498
2499         tests: fix logic bug in init.sh
2500         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
2501         shell.
2502
2503 2011-05-24  Jim Meyering  <meyering@redhat.com>
2504
2505         utimensat: do not reference an out-of-scope buffer
2506         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
2507         declared in an inner scope, yet "times" would be dereferenced outside
2508         the scope in which "ts" was valid.
2509         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
2510         of ts[2] "out/up", so that the use of aliased "times" (via
2511         "times = ts;") does not end up referencing an out-of-scope "ts"
2512
2513         opendir-safer.c: don't clobber errno; don't close negative FD
2514         * lib/opendir-safer.c (opendir_safer):
2515         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
2516         file descriptor, and more importantly, don't clobber the
2517         offending errno value with EINVAL.  Before, upon failure
2518         of dup_safer, we would pass the negative file descriptor to
2519         fdopendir, which would clobber errno.
2520
2521 2011-05-23  Bruno Haible  <bruno@clisp.org>
2522
2523         idcache: Fix module description.
2524         * modules/idcache (Include): Set to "idcache.h".
2525
2526 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2527
2528         gnulib-tool: fix portability problem with MacOS sed
2529         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
2530         before the "}".  Problem reported by Leo in
2531         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
2532         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
2533         sed_extract_condition1, sed_extract_condition2.
2534
2535 2011-05-23  Bruno Haible  <bruno@clisp.org>
2536
2537         hash: Simplify autoconf macro.
2538         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
2539
2540 2011-05-23  Bruno Haible  <bruno@clisp.org>
2541
2542         getugroups: Fix module description.
2543         * modules/getugroups (Include): Set to "getugroups.h".
2544
2545 2011-05-23  Bruno Haible  <bruno@clisp.org>
2546
2547         linkat: Simplify autoconf macro.
2548         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
2549
2550 2011-05-23  Bruno Haible  <bruno@clisp.org>
2551             Eric Blake  <eblake@redhat.com>
2552
2553         linkat, renameat: Update dependencies.
2554         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
2555         * modules/linkat (Depends-on): Likewise. Remove also readlink,
2556         symlinkat.
2557
2558 2011-05-23  Jim Meyering  <meyering@redhat.com>
2559
2560         maint.mk: more tight_scope improvements
2561         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
2562         (_gl_TS_headers): Define only in if-0'd block.
2563         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
2564         sometimes we must *not* use it.  Adjust uses accordingly.
2565         (sc_tight_scope): Use much simpler grep-based test to determine
2566         whether we skip this rule.
2567
2568         maint.mk: generalize/improve the tight-scope rule
2569         * top/maint.mk: Emit a warning when the test is skipped.
2570         (_gl_TS_dir): Add $(srcdir)/ prefix.
2571         (_gl_TS_function_match): Simplify, rather than trying
2572         to enumerate common types.  Otherwise, it would fail to match an
2573         "extern unsigned char const *" declaration in idutils.
2574         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
2575         a way to support use of that type of macro.
2576         (_gl_TS_var_match): Simplify regexp.
2577         (_gl_TS_obj_files): New configurable variable.
2578         (_gl_TS_headers): Likewise.
2579
2580 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
2581
2582         verify: fix bug when gnulib <assert.h> is also included
2583         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
2584         is defined, not if _GL_STATIC_ASSERT_H is not defined.
2585         Perhaps there's a better way, but this fixes the immediate problem.
2586         Problem reported by Bruno Haible in
2587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
2588
2589 2011-05-22  Bruno Haible  <bruno@clisp.org>
2590
2591         xgetcwd: Simplify autoconf macro.
2592         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
2593
2594 2011-05-22  Bruno Haible  <bruno@clisp.org>
2595
2596         New module 'mktime-internal'.
2597         * modules/mktime-internal: New file.
2598         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
2599         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
2600         mktime_internal as a C macro if libc has __mktime_internal.
2601         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
2602         conditions.
2603         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
2604
2605 2011-05-22  Bruno Haible  <bruno@clisp.org>
2606
2607         timegm: Correct mktime replacement statements.
2608         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
2609         defining mktime as a C macro. This completes a 2009-07-28 commit.
2610
2611 2011-05-22  Bruno Haible  <bruno@clisp.org>
2612
2613         timegm: Simplify autoconf macro.
2614         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
2615
2616 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2617
2618         clock-time: change to LGPLv2+.
2619         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
2620         BSD-like but we have no mark for that; this is good enough for now.
2621
2622 2011-05-21  Bruno Haible  <bruno@clisp.org>
2623
2624         strerror_r: Fix comments.
2625         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
2626
2627 2011-05-21  Bruno Haible  <bruno@clisp.org>
2628
2629         relocatable-prog-wrapper: Fix possible link error.
2630         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
2631         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
2632         (gl_FUNC_SETENV): ... to here.
2633         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
2634         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
2635
2636 2011-05-21  Bruno Haible  <bruno@clisp.org>
2637
2638         relocatable-prog-wrapper: Assume strerror() exists.
2639         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
2640         m4/strerror.m4.
2641         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
2642         * lib/relocwrapper.c: Remove mention of strerror module.
2643         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
2644         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
2645         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
2646         C macro.
2647
2648 2011-05-21  Bruno Haible  <bruno@clisp.org>
2649
2650         select: Simplify replacement idiom.
2651         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
2652         Win32 platforms.
2653         * lib/sys_select.in.h (select): Simplify accordingly.
2654         * modules/select (Depends-on): Likewise.
2655
2656 2011-05-21  Bruno Haible  <bruno@clisp.org>
2657
2658         mkdir-p: Simplify autoconf macro.
2659         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
2660         gl_FUNC_LCHOWN.
2661
2662 2011-05-21  Eric Blake  <eblake@redhat.com>
2663
2664         strerror_r: avoid clobbering strerror on cygwin
2665         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
2666         fall back instead to sys_errlist.
2667         * modules/strerror (configure.ac): Add witness.
2668         * tests/test-strerror_r.c (main): Enhance test.
2669         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
2670         * tests/test-perror2.c (main): Free memory before exit.
2671
2672 2011-05-21  Bruno Haible  <bruno@clisp.org>
2673
2674         mkdtemp: Use gnulib naming conventions.
2675         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
2676         * modules/mkdtemp (configure.ac): Update.
2677
2678 2011-05-20  Eric Blake  <eblake@redhat.com>
2679
2680         strerror_r: avoid corrupting errno on Solaris
2681         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
2682         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
2683
2684         strerror_r: avoid compiler warning
2685         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
2686
2687         strerror_r: simplify AIX code
2688         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
2689
2690         test-perror: avoid spurious failure on FreeBSD
2691         * modules/perror-tests (Depends-on): Add strerror, now that
2692         strerror_r no longer pulls it in.
2693
2694 2011-05-20  Bruno Haible  <bruno@clisp.org>
2695
2696         strerror_r-posix: Remove unused dependencies.
2697         * modules/strerror_r-posix (Depends-on): Remove strerror.
2698         Reported by Eric Blake.
2699
2700 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
2701
2702         intprops: remove assumption about A|B representation
2703         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
2704         is a valid integer if both A and B are.  Although this is true for
2705         all known practical hosts, the C standard doesn't guarantee it,
2706         and the code need not assume it.  Also, this change may work around
2707         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
2708         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
2709
2710 2011-05-20  Eric Blake  <eblake@redhat.com>
2711
2712         perror: work around FreeBSD bug
2713         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
2714         is broken.  Move AC_LIBOBJ...
2715         * modules/perror (configure.ac): Here.
2716         * doc/posix-functions/perror.texi (perror): Document this.
2717         * tests/test-perror2.c (main): Enhance test.
2718
2719         test-perror: check for strerror interactions
2720         * tests/macros.h (STREQ): Add macro.
2721         * modules/perror-tests (Files): Add second test.
2722         * tests/test-perror2.c (main): New file.
2723         * doc/posix-functions/perror.texi (perror): Document glibc bug.
2724
2725         test-perror: rewrite to use init script
2726         * modules/perror-tests (Files): Add init.sh.
2727         * tests/test-perror.sh: Use temporary directory.
2728
2729 2011-05-20  Jim Meyering  <meyering@redhat.com>
2730
2731         maint: replace misused "a" with "an"
2732         * doc/intprops.texi: "a integer"
2733         * doc/regex.texi: "a explanation"
2734         * lib/alignof.h: "a object"
2735         * lib/argmatch.h: "a explanation"
2736         * lib/argp-help.c: "a option" and "a OPTION_DOC"
2737         * lib/stdint.in.h: "a integer"
2738         * lib/userspec.c: "a owner"
2739         * doc/gnulib.texi: Fix "a idea", and reword.
2740
2741 2011-05-19  Jim Meyering  <meyering@redhat.com>
2742
2743         maint: correct misuse of "a" and "an"
2744         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
2745         * lib/argp-help.c: "an docum...": s/an/a/
2746         * lib/argp-parse.c: "An vector": s/An/A/
2747         * lib/execute.c: "an native": s/an/a/
2748         * lib/spawn-pipe.c: Likewise.
2749         * lib/gc.h: "an Gc_rc": s/an/a/
2750         * lib/unigbrk.in.h: "an grapheme": s/an/a/
2751         * lib/fts.c: "an stat.st_dev": s/an/a/
2752
2753 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2754
2755         intprops-tests: work around HP-UX 11.23 cc bug with constants
2756         * tests/test-intprops.c (VERIFY): New macro.
2757         (main): Use it, instead of verify, to work around the compiler bug; see
2758         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
2759
2760         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
2761         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
2762         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
2763         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
2764         (_GL_REMAINDER_OVERFLOW): Use it.
2765
2766         intprops-tests: revert unsigned part of previous change
2767         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
2768         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
2769         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
2770         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
2771
2772 2011-05-19  Bruno Haible  <bruno@clisp.org>
2773
2774         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
2775         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
2776         strerror_r() returned without filling the buffer.
2777         Reported by Eric Blake.
2778
2779 2011-05-19  Eric Blake  <eblake@redhat.com>
2780
2781         strerror_r: guarantee unchanged errno
2782         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
2783         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
2784         failure.
2785         * tests/test-strerror_r.c (main): Enhance test.
2786
2787 2011-05-19  Bruno Haible  <bruno@clisp.org>
2788
2789         strerror_r: Reorder #if blocks.
2790         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
2791         for consistency with the previous commit.
2792
2793 2011-05-19  Bruno Haible  <bruno@clisp.org>
2794
2795         perror: Avoid clobbering the strerror buffer when possible.
2796         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
2797         * lib/strerror.c: Include it.
2798         * modules/strerror (Files): Add lib/strerror-impl.h.
2799         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
2800         (my_strerror): New function, defined through lib/strerror-impl.h.
2801         (perror): Use it instead of strerror.
2802         * modules/perror (Files): Add lib/strerror-impl.h.
2803         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
2804
2805 2011-05-19  Eric Blake  <eblake@redhat.com>
2806
2807         strerror_r: fix on newer cygwin
2808         * lib/strerror_r.c (strerror_r): Cygwin now has
2809         __xpg_strerror_r, use it.
2810
2811 2011-05-19  Bruno Haible  <bruno@clisp.org>
2812
2813         strerror_r: Avoid clobbering the strerror buffer when possible.
2814         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
2815         (sys_nerr, sys_errlist): New declarations.
2816         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
2817         HP-UX, native Win32, IRIX, and 32-bit Solaris.
2818         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
2819
2820 2011-05-19  Bruno Haible  <bruno@clisp.org>
2821
2822         strerror_r: Fix test failure on mingw.
2823         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
2824         EXTEND_STRERROR_R.
2825         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
2826         macros from errno.in.h instead.
2827
2828 2011-05-19  Eric Blake  <eblake@redhat.com>
2829
2830         strerror: relax test for Solaris
2831         * tests/test-strerror.c (main): Permit Solaris behavior.
2832         * tests/test-strerror_r.c (main): Likewise.
2833
2834         strerror: enforce POSIX ruling on strerror(0)
2835         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
2836         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
2837         * lib/strerror_r.c (rpl_strerror_r): Work around it.
2838         * doc/posix-functions/strerror.texi (strerror): Document it.
2839         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
2840         * tests/test-strerror.c (main): Strengthen test.
2841         * tests/test-strerror_r.c (main): Likewise.
2842
2843 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2844
2845         intprop-tests: port to older and more-pedantic compilers
2846         * modules/intprops-tests (Files): Add tests/macros.h.
2847         * tests/test-intprops.c: Include macros.h.
2848         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
2849         it's no longer documented to expand to an integer constant expression.
2850         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
2851         argument is floating point, as it's no longer documented to expand
2852         to an integer constant expression in that case.
2853         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
2854         compiler bugs reported by Bruno Haible.  See
2855         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
2856         (U0, U1): New constants, to work around the same bugs.  Also,
2857         in tests, use e.g., "(unsigned int) 39" rather than "39u".
2858
2859         intprops: work around C compiler bugs
2860         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
2861         bug in Sun C 5.11 2010/08/13 and other compilers; see
2862         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
2863
2864         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
2865         * doc/intprops.texi (Integer Type Determination): Fix
2866         documentation for TYPE_IS_INTEGER: it returns an constant
2867         expression, not an integer constant expression.  Fix doc for
2868         TYPE_SIGNED: it returns an integer constant expression only if its
2869         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
2870         hardly worth documented that way....)
2871
2872 2011-05-18  Bruno Haible  <bruno@clisp.org>
2873
2874         strerror_r: Avoid clobbering the strerror buffer when possible.
2875         * lib/strerror_r.c (strerror_r): Merge the three implementations.
2876         Handle gnulib defined errno values here. When strerror() returns NULL
2877         or an empty string, return EINVAL.
2878         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
2879         gnulib defined errno values here.
2880         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
2881
2882 2011-05-18  Eric Blake  <eblake@redhat.com>
2883
2884         fnmatch: avoid compiler warning
2885         * lib/fnmatch_loop.c (FCT): Use correct type.
2886         Reported by Matthias Bolte.
2887
2888 2011-05-13  Jim Meyering  <meyering@redhat.com>
2889
2890         maint.mk: three new prohibit_<HDR>_without_use rules
2891         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
2892         (sc_prohibit_stdio-safer_without_use): Likewise.
2893         (sc_prohibit_xfreopen_without_use): Likewise.
2894
2895 2011-05-17  Jim Meyering  <meyering@redhat.com>
2896
2897         announce-gen: fail if the NEWS delta is empty
2898         If there's nothing noteworthy in NEWS, then either you forgot
2899         or you shouldn't be releasing.
2900         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
2901
2902 2011-05-17  Pádraig Brady <P@draigBrady.com>
2903
2904         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
2905         reserved symbols starting with double underscore from the check.
2906
2907 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2908
2909         intprops: add doc
2910         * doc/intprops.texi: New file, documenting intprops.
2911         * doc/gnulib.texi (Particular Modules): Include it.
2912
2913         verify: add doc to gnulib manual and fix example
2914         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
2915         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
2916         (Compile-time Assertions): Fix example so it can't overflow.
2917
2918 2011-05-17  Jim Meyering  <meyering@redhat.com>
2919
2920         warnings.m4: don't usurp save_CPPFLAGS variable name
2921         * m4/warnings.m4: Prefix local temporary variable name with gl_.
2922
2923         doc: fix typo
2924         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
2925
2926 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2927             Bruno Haible  <bruno@clisp.org>
2928
2929         doc: Tweak recent change.
2930         * README (Portability guidelines): Tweak new text.
2931         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
2932         Interix 6.1.
2933
2934 2011-05-16  Eric Blake  <eblake@redhat.com>
2935
2936         inttypes: avoid autoconf warning
2937         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
2938         * m4/stdint.m4 (gl_STDINT_H): Likewise.
2939
2940 2011-05-16  Sam Steingold <sds@gnu.org>
2941         and Eric Blake  <eblake@redhat.com>
2942
2943         vc-list-files: accept multiple directory operands
2944         * build-aux/vc-list-files: Iterate over all remaining operands.
2945
2946 2011-05-16  Bruno Haible  <bruno@clisp.org>
2947
2948         Fix confusion regarding deprecated modules.
2949         * modules/calloc (Status, Notice): Mark module as deprecated, not
2950         obsolete.
2951         * modules/fnmatch-posix (Status, Notice): Likewise.
2952         * modules/getdate (Status, Notice): Likewise.
2953         * modules/getopt (Status, Notice): Likewise.
2954         * modules/malloc (Status, Notice): Likewise.
2955         * modules/pipe (Status, Notice): Likewise.
2956         * modules/realloc (Status, Notice): Likewise.
2957         * modules/rename-dest-slash (Status, Notice): Likewise.
2958         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
2959         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
2960         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
2961         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
2962         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
2963
2964 2011-05-16  Bruno Haible  <bruno@clisp.org>
2965
2966         doc: List the target platforms.
2967         * doc/gnulib-intro.texi (Target Platforms): New section.
2968         * doc/gnulib.texi (Introduction): Update menu.
2969         * README (Portability guidelines): Refer to the new section. Update
2970         statement about oldest supported environment. Remove rationale why
2971         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
2972         unportable C89 function.
2973         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
2974         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
2975
2976 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2977
2978         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
2979
2980 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
2981
2982         intprops-tests: new module
2983         * modules/intprops-tests, tests/test-intprops.c: New files.
2984
2985         intprops: add safe, portable integer overflow checking
2986         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
2987         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
2988         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
2989         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
2990         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
2991         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
2992         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
2993         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
2994         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
2995         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
2996         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
2997
2998 2011-05-12  James Youngman  <jay@gnu.org>
2999
3000         Add a test for glibc's Bugzilla bug #12378.
3001         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
3002         doesn't allow the literal matching of a lone "[" (which is
3003         required by POSIX).
3004         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
3005
3006 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
3007
3008         Sync glibc change fixing Bugzilla bug #12378.
3009         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
3010         beginning and fall back to matching as normal character if the
3011         string ends before the matching ']' is found.  This is what POSIX
3012         requires.
3013
3014 2011-05-13  Eric Blake  <eblake@redhat.com>
3015
3016         getcwd-lgpl: relax test for FreeBSD
3017         * doc/posix-functions/getcwd.texi (getcwd): Document portability
3018         issue.
3019         * tests/test-getcwd-lgpl.c (main): Relax test.
3020         Reported by Matthias Bolte.
3021
3022 2011-05-11  Eric Blake  <eblake@redhat.com>
3023
3024         test-fflush: silence compiler warning
3025         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
3026
3027 2011-05-11  Bruno Haible  <bruno@clisp.org>
3028
3029         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
3030         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
3031         * modules/canonicalize (Depends-on): Add 'nocrash'.
3032         * modules/canonicalize-lgpl (Depends-on): Likewise.
3033         * doc/posix-functions/realpath.texi: Update platforms list.
3034         Reported by Ryan Schmidt <ryandesign@macports.org>.
3035
3036 2011-05-11  Bruno Haible  <bruno@clisp.org>
3037
3038         group-member: Declare function in <unistd.h>.
3039         * lib/unistd.in.h (group_member): New declaration.
3040         * lib/group-member.h: Remove file.
3041         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
3042         * tests/test-unistd-c++.cc: Check signature of group_member.
3043         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
3044         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
3045         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
3046         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
3047         HAVE_GROUP_MEMBER.
3048         * modules/group-member (Files): Remove lib/group-member.h.
3049         (Depends-on): Add unistd. Specify conditions.
3050         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
3051         (Include): Change to <unistd.h>.
3052         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
3053         HAVE_GROUP_MEMBER.
3054         * NEWS: Mention the change.
3055         * lib/euidaccess.c: Don't include group-member.h.
3056
3057 2011-05-11  Bruno Haible  <bruno@clisp.org>
3058
3059         group-member: Document module.
3060         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
3061         module.
3062
3063 2011-05-11  Bruno Haible  <bruno@clisp.org>
3064
3065         fclose: Fix mistake earlier today.
3066         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
3067
3068 2011-05-11  Eric Blake  <eblake@redhat.com>
3069
3070         fclose: preserve fflush errors
3071         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
3072         Reported by Jim Meyering.
3073
3074         bootstrap: support a prereq of 'rpcgen -' on RHEL5
3075         * build-aux/bootstrap (check_versions): When no specific version
3076         is required, merely check that the app produces an exit status
3077         that indicates its existence.
3078
3079         maint.mk: drop redundant check
3080         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
3081         the same but better.
3082
3083 2011-05-11  Bruno Haible  <bruno@clisp.org>
3084
3085         fclose: Fix possible link error.
3086         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
3087         unregister_shadow_fd. Improve comments.
3088         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
3089         Eric Blake.
3090
3091 2011-05-11  Jim Meyering  <meyering@redhat.com>
3092
3093         maint.mk: improve "can not" detection and generalize rule name
3094         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
3095         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
3096         Use the same technique as in sc_prohibit_doubled_word, so that
3097         we recognize "can not" also when the words are separated by a newline.
3098         Suggested by Eric Blake.
3099         (perl_filename_lineno_text_): Define.  Factored out of...
3100         (prohibit_doubled_word_): ...here.  Use the new definition.
3101         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
3102         (prohibit_undesirable_word_seq_RE_): New overridable variable.
3103         (ignore_undesirable_word_sequence_RE_): New overridable variable.
3104
3105 2011-05-10  Eric Blake  <eblake@redhat.com>
3106
3107         fclose: avoid double close race when possible
3108         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
3109         all but WINDOWS_SOCKETS.
3110
3111 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
3112
3113         openat: correct new comment
3114         * lib/openat-proc.c (openat_proc_name): Correct the comment.
3115
3116 2011-05-10  Jim Meyering  <meyering@redhat.com>
3117
3118         openat: add comments
3119         * lib/openat-proc.c (openat_proc_name): Add comments,
3120         mostly from Eric Blake.
3121
3122 2011-05-09  Eric Blake  <eblake@redhat.com>
3123
3124         openat: reduce syscalls in first probe of /proc
3125         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
3126         be a directory.  Simplify the probe for .. bugs.
3127         * modules/openat (Depends-on): Drop same-inode.
3128         Reported by Bastien ROUCARIES.
3129
3130 2011-05-09  Jim Meyering  <meyering@redhat.com>
3131
3132         maint.mk: change semantics/name of tight_scope variables
3133         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
3134         Rename variables to align with semantics that make them more useful.
3135
3136         maint.mk: tweak new rule's name not to impinge
3137         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
3138         (sc_tight_scope): Use new rule name rather than $@-0.
3139
3140         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
3141         * top/maint.mk (sc_tight_scope): New rule.
3142         (sc_tight_scope-0): New rule, ifdef'd out.
3143         (_gl_TS_dir): Default.
3144         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
3145         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
3146
3147 2011-05-09  Simon Josefsson  <simon@josefsson.org>
3148
3149         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
3150         Haible <bruno@clisp.org>.
3151
3152 2011-05-08  Bruno Haible  <bruno@clisp.org>
3153
3154         Comments.
3155         * m4/isnanf.m4: Add comment.
3156         * m4/isnanl.m4: Likewise.
3157
3158 2011-05-08  Bruno Haible  <bruno@clisp.org>
3159
3160         glob: Remove obsolete macro.
3161         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
3162
3163 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
3164
3165         intprops: Sun C 5.11 supports __typeof__
3166         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
3167         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
3168         which is new.
3169         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
3170
3171         intprops: switch to usual gnulib indenting and naming
3172         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
3173         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
3174
3175         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
3176
3177 2011-05-08  Jim Meyering  <meyering@redhat.com>
3178
3179         maint.mk: suppress "Entering/Leaving directory" diag in announcement
3180         * top/maint.mk (release-prep): Use make's --no-print-directory
3181         option when generating the announcement.  This eliminates the
3182         pesky "make[2]: Entering/Leaving directory" diagnostics in the
3183         generated announcement template.
3184
3185 2011-05-08  Bruno Haible  <bruno@clisp.org>
3186
3187         tzset: Fix gettimeofday wrapper on Solaris 2.6.
3188         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
3189         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
3190
3191 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3192
3193         ignore-value, verify: Omit include files from lib_SOURCES.
3194         * modules/ignore-value, modules/verify (Makefile.am):
3195         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
3196         that leads Automake to duplicate use of am__objects_... variables
3197         in Makefile.in.  See
3198         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
3199
3200 2011-05-07  Bruno Haible  <bruno@clisp.org>
3201
3202         fclose: Simplify autoconf macro.
3203         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
3204         defined.
3205
3206 2011-05-07  Bruno Haible  <bruno@clisp.org>
3207
3208         canonicalize-lgpl: Fix autoconf macro ordering bug.
3209         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
3210         gl_STDLIB_H_DEFAULTS.
3211
3212 2011-05-06  Eric Blake  <eblake@redhat.com>
3213
3214         maintainer-makefile: make sc_po_check easier to tune
3215         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
3216         to probe for strings, such as an alternate location for gnulib.
3217
3218         fclose: guarantee behavior on seekable stdin
3219         * modules/fclose (Depends-on): Add fflush.
3220         * doc/posix-functions/fclose.texi (fclose): Document this.
3221         * tests/test-fclose.c (main): Make test for this unconditional.
3222
3223 2011-05-06  Bruno Haible  <bruno@clisp.org>
3224
3225         fflush, fpurge: Relicense under LGPLv2+.
3226         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
3227         * modules/fpurge (License): Likewise.
3228         With permission from Eric Blake and Jim Meyering.
3229         Suggested by Eric Blake.
3230
3231 2011-05-06  Karl Berry  <karl@gnu.org>
3232
3233         * MODULES.html.sh (func_all_modules): remove exit.
3234
3235 2011-05-06  Jim Meyering  <meyering@redhat.com>
3236
3237         maint.mk: use info-gnu@ as the default only for a stable release
3238         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
3239         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
3240         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
3241         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
3242
3243 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3244
3245         assert-h: new module, which supports C1X-style static_assert
3246         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
3247         * lib/verify.h: Revamp so that this can be copied into assert.h,
3248         while retaining the ability to use it standalone as before.
3249         Rename private identifiers so as not to encroach on the
3250         standard C namespace, since this is now used by assert.h.
3251         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
3252         the old verify_true.
3253         (_GL_VERIFY_TRUE): New macro, with much of the contents of
3254         the old verify_true.  Use _GL_VERIFY_TYPE.
3255         (_GL_VERIFY): New macro, with much of the contents of the old verify.
3256         (static_assert): New macro, if _GL_STATIC_ASSERT_H
3257         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
3258         defined when this file is copied into the replacement assert.h.
3259         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
3260         and _Static_assert is not built in.
3261         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
3262         defined, and use the new macros mentioned above.
3263         * doc/posix-headers/assert.texi: Document this.
3264
3265 2011-05-05  Bruno Haible  <bruno@clisp.org>
3266
3267         fclose, fflush: Respect rules for use of AC_LIBOBJ.
3268         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
3269         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
3270         gl_REPLACE_FCLOSE here.
3271         * modules/fflush (Depends-on): Remove fclose.
3272         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
3273         combination with module 'fclose'.
3274
3275 2011-05-05  Bruno Haible  <bruno@clisp.org>
3276
3277         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
3278         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
3279         gl_FUNC_FFLUSH.
3280         (gl_FUNC_FFLUSH): Use it.
3281         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
3282         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
3283         gl_REPLACE_FSEEKO here.
3284
3285 2011-05-05  Bruno Haible  <bruno@clisp.org>
3286
3287         tzset: Relicense under LGPL.
3288         * modules/tzset (License): Change to LGPL.
3289         No agreement needed; it's a no-op.
3290
3291         strtoimax, strtoumax: Relicense under LGPL.
3292         * modules/strtoimax (License): Change to LGPL.
3293         * modules/strtoumax (License): Likewise.
3294         With permission from Jim Meyering, Paul Eggert:
3295         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
3296         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
3297
3298         getgroups: Relicense under LGPL.
3299         * modules/getgroups (License): Change to LGPL.
3300         With permission from Jim Meyering, Paul Eggert, Eric Blake:
3301         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
3302         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
3303         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3304
3305         nanosleep: Relicense under LGPL.
3306         * modules/nanosleep (License): Change to LGPL.
3307         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
3308         Haible:
3309         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
3310         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
3311         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3312         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
3313
3314         futimens: Relicense under LGPL.
3315         * modules/futimens (License): Change to LGPL.
3316         With permission from Eric Blake:
3317         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3318
3319         fflush: Relicense under LGPL.
3320         * modules/fflush (License): Change to LGPL.
3321         With permission from Eric Blake, Bruno Haible, Jim Meyering:
3322         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3323         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
3324         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
3325
3326         tmpfile: Relicense under LGPL.
3327         * modules/tmpfile (License): Change to LGPL.
3328         With permission from Ben Pfaff:
3329         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
3330
3331         isfinite: Relicense under LGPL.
3332         * modules/isfinite (License): Change to LGPL.
3333         With permission from Ben Pfaff, Bruno Haible:
3334         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
3335         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
3336
3337         acosl..tanl: Relicense under LGPL.
3338         * modules/acosl (License): Change to LGPL.
3339         * modules/asinl (License): Likewise.
3340         * modules/atanl (License): Likewise.
3341         * modules/cosl (License): Likewise.
3342         * modules/expl (License): Likewise.
3343         * modules/logl (License): Likewise.
3344         * modules/sinl (License): Likewise.
3345         * modules/sqrtl (License): Likewise.
3346         * modules/tanl (License): Likewise.
3347         Source code originally from glibc and Paolo Bonzini. Agreements:
3348         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
3349         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
3350
3351 2011-05-05  Bruno Haible  <bruno@clisp.org>
3352
3353         signal: Define sighandler_t.
3354         * lib/signal.in.h (sighandler_t): New type.
3355         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
3356         whether sighandler_t is defined.
3357         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
3358         * modules/signal (Depends-on): Add extensions.
3359         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
3360         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
3361         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
3362
3363 2011-05-05  Eric Blake  <eblake@redhat.com>
3364
3365         maint: remove useless REPLACE_*_H macros
3366         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
3367         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
3368         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
3369         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
3370         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
3371         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
3372         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
3373         * m4/btowc.m4: Update callers.
3374         * m4/dirfd.m4: Likewise.
3375         * m4/duplocale.m4: Likewise.
3376         * m4/fchdir.m4: Likewise.
3377         * m4/fdopendir.m4: Likewise.
3378         * m4/inet_ntop.m4: Likewise.
3379         * m4/inet_pton.m4: Likewise.
3380         * m4/ioctl.m4: Likewise.
3381         * m4/mbrlen.m4: Likewise.
3382         * m4/mbrtowc.m4: Likewise.
3383         * m4/mbsinit.m4: Likewise.
3384         * m4/mbsnrtowcs.m4: Likewise.
3385         * m4/mbsrtowcs.m4: Likewise.
3386         * m4/poll.m4: Likewise.
3387         * m4/setlocale.m4: Likewise.
3388         * m4/wcrtomb.m4: Likewise.
3389         * m4/wcsnrtombs.m4: Likewise.
3390         * m4/wcsrtombs.m4: Likewise.
3391         * m4/wctob.m4: Likewise.
3392         * m4/wcwidth.m4: Likewise.
3393         * modules/posix_spawn: Likewise.
3394         * modules/posix_spawn_file_actions_addclose: Likewise.
3395         * modules/posix_spawn_file_actions_adddup2: Likewise.
3396         * modules/posix_spawn_file_actions_addopen: Likewise.
3397         * modules/posix_spawn_file_actions_destroy: Likewise.
3398         * modules/posix_spawn_file_actions_init: Likewise.
3399         * modules/posix_spawnattr_destroy: Likewise.
3400         * modules/posix_spawnattr_getflags: Likewise.
3401         * modules/posix_spawnattr_getpgroup: Likewise.
3402         * modules/posix_spawnattr_getschedparam: Likewise.
3403         * modules/posix_spawnattr_getschedpolicy: Likewise.
3404         * modules/posix_spawnattr_getsigdefault: Likewise.
3405         * modules/posix_spawnattr_getsigmask: Likewise.
3406         * modules/posix_spawnattr_init: Likewise.
3407         * modules/posix_spawnattr_setflags: Likewise.
3408         * modules/posix_spawnattr_setpgroup: Likewise.
3409         * modules/posix_spawnattr_setschedparam: Likewise.
3410         * modules/posix_spawnattr_setschedpolicy: Likewise.
3411         * modules/posix_spawnattr_setsigdefault: Likewise.
3412         * modules/posix_spawnattr_setsigmask: Likewise.
3413         * modules/posix_spawnp: Likewise.
3414
3415 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
3416
3417         Add option to do-release-commit-and-tag to specify branch.
3418         * build-aux/do-release-commit-and-tag: Add --branch.
3419
3420 2011-05-03  Bruno Haible  <bruno@clisp.org>
3421
3422         Avoid unnecessary compilation units, through conditional dependencies.
3423         * modules/accept (Depends-on): Add conditions to the dependencies.
3424         * modules/acosl (Depends-on): Likewise.
3425         * modules/argz (Depends-on): Likewise.
3426         * modules/asinl (Depends-on): Likewise.
3427         * modules/atanl (Depends-on): Likewise.
3428         * modules/atoll (Depends-on): Likewise.
3429         * modules/bind (Depends-on): Likewise.
3430         * modules/btowc (Depends-on): Likewise.
3431         * modules/canonicalize-lgpl (Depends-on): Likewise.
3432         * modules/ceil (Depends-on): Likewise.
3433         * modules/ceilf (Depends-on): Likewise.
3434         * modules/ceill (Depends-on): Likewise.
3435         * modules/chdir-long (Depends-on): Likewise.
3436         * modules/chown (Depends-on): Likewise.
3437         * modules/close (Depends-on): Likewise.
3438         * modules/connect (Depends-on): Likewise.
3439         * modules/cosl (Depends-on): Likewise.
3440         * modules/dirfd (Depends-on): Likewise.
3441         * modules/dprintf (Depends-on): Likewise.
3442         * modules/dprintf-posix (Depends-on): Likewise.
3443         * modules/error (Depends-on): Likewise.
3444         * modules/euidaccess (Depends-on): Likewise.
3445         * modules/expl (Depends-on): Likewise.
3446         * modules/faccessat (Depends-on): Likewise.
3447         * modules/fchdir (Depends-on): Likewise.
3448         * modules/fclose (Depends-on): Likewise.
3449         * modules/fcntl (Depends-on): Likewise.
3450         * modules/fdopendir (Depends-on): Likewise.
3451         * modules/fflush (Depends-on): Likewise.
3452         * modules/floor (Depends-on): Likewise.
3453         * modules/floorf (Depends-on): Likewise.
3454         * modules/floorl (Depends-on): Likewise.
3455         * modules/fnmatch (Depends-on): Likewise.
3456         * modules/fopen (Depends-on): Likewise.
3457         * modules/fprintf-posix (Depends-on): Likewise.
3458         * modules/frexp (Depends-on): Likewise.
3459         * modules/frexp-nolibm (Depends-on): Likewise.
3460         * modules/frexpl (Depends-on): Likewise.
3461         * modules/frexpl-nolibm (Depends-on): Likewise.
3462         * modules/fseek (Depends-on): Likewise.
3463         * modules/fsusage (Depends-on): Likewise.
3464         * modules/ftell (Depends-on): Likewise.
3465         * modules/ftello (Depends-on): Likewise.
3466         * modules/futimens (Depends-on): Likewise.
3467         * modules/getcwd (Depends-on): Likewise.
3468         * modules/getcwd-lgpl (Depends-on): Likewise.
3469         * modules/getdelim (Depends-on): Likewise.
3470         * modules/getdomainname (Depends-on): Likewise.
3471         * modules/getgroups (Depends-on): Likewise.
3472         * modules/gethostname (Depends-on): Likewise.
3473         * modules/getline (Depends-on): Likewise.
3474         * modules/getlogin_r (Depends-on): Likewise.
3475         * modules/getopt-posix (Depends-on): Likewise.
3476         * modules/getpeername (Depends-on): Likewise.
3477         * modules/getsockname (Depends-on): Likewise.
3478         * modules/getsockopt (Depends-on): Likewise.
3479         * modules/getsubopt (Depends-on): Likewise.
3480         * modules/getusershell (Depends-on): Likewise.
3481         * modules/glob (Depends-on): Likewise.
3482         * modules/grantpt (Depends-on): Likewise.
3483         * modules/iconv_open (Depends-on): Likewise.
3484         * modules/iconv_open-utf (Depends-on): Likewise.
3485         * modules/inet_ntop (Depends-on): Likewise.
3486         * modules/inet_pton (Depends-on): Likewise.
3487         * modules/ioctl (Depends-on): Likewise.
3488         * modules/isapipe (Depends-on): Likewise.
3489         * modules/isfinite (Depends-on): Likewise.
3490         * modules/isinf (Depends-on): Likewise.
3491         * modules/lchown (Depends-on): Likewise.
3492         * modules/ldexpl (Depends-on): Likewise.
3493         * modules/link (Depends-on): Likewise.
3494         * modules/linkat (Depends-on): Likewise.
3495         * modules/listen (Depends-on): Likewise.
3496         * modules/logl (Depends-on): Likewise.
3497         * modules/lstat (Depends-on): Likewise.
3498         * modules/mbrlen (Depends-on): Likewise.
3499         * modules/mbrtowc (Depends-on): Likewise.
3500         * modules/mbsinit (Depends-on): Likewise.
3501         * modules/mbsnrtowcs (Depends-on): Likewise.
3502         * modules/mbsrtowcs (Depends-on): Likewise.
3503         * modules/mbtowc (Depends-on): Likewise.
3504         * modules/memcmp (Depends-on): Likewise.
3505         * modules/mkdir (Depends-on): Likewise.
3506         * modules/mkdtemp (Depends-on): Likewise.
3507         * modules/mkfifo (Depends-on): Likewise.
3508         * modules/mkfifoat (Depends-on): Likewise.
3509         * modules/mknod (Depends-on): Likewise.
3510         * modules/mkostemp (Depends-on): Likewise.
3511         * modules/mkostemps (Depends-on): Likewise.
3512         * modules/mkstemp (Depends-on): Likewise.
3513         * modules/mkstemps (Depends-on): Likewise.
3514         * modules/mktime (Depends-on): Likewise.
3515         * modules/nanosleep (Depends-on): Likewise.
3516         * modules/open (Depends-on): Likewise.
3517         * modules/openat (Depends-on): Likewise.
3518         * modules/perror (Depends-on): Likewise.
3519         * modules/poll (Depends-on): Likewise.
3520         * modules/popen (Depends-on): Likewise.
3521         * modules/posix_spawn (Depends-on): Likewise.
3522         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
3523         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
3524         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
3525         * modules/posix_spawnp (Depends-on): Likewise.
3526         * modules/pread (Depends-on): Likewise.
3527         * modules/printf-posix (Depends-on): Likewise.
3528         * modules/ptsname (Depends-on): Likewise.
3529         * modules/putenv (Depends-on): Likewise.
3530         * modules/pwrite (Depends-on): Likewise.
3531         * modules/readline (Depends-on): Likewise.
3532         * modules/readlink (Depends-on): Likewise.
3533         * modules/readlinkat (Depends-on): Likewise.
3534         * modules/recv (Depends-on): Likewise.
3535         * modules/recvfrom (Depends-on): Likewise.
3536         * modules/regex (Depends-on): Likewise.
3537         * modules/remove (Depends-on): Likewise.
3538         * modules/rename (Depends-on): Likewise.
3539         * modules/renameat (Depends-on): Likewise.
3540         * modules/rmdir (Depends-on): Likewise.
3541         * modules/round (Depends-on): Likewise.
3542         * modules/roundf (Depends-on): Likewise.
3543         * modules/roundl (Depends-on): Likewise.
3544         * modules/rpmatch (Depends-on): Likewise.
3545         * modules/select (Depends-on): Likewise.
3546         * modules/send (Depends-on): Likewise.
3547         * modules/sendto (Depends-on): Likewise.
3548         * modules/setenv (Depends-on): Likewise.
3549         * modules/setlocale (Depends-on): Likewise.
3550         * modules/setsockopt (Depends-on): Likewise.
3551         * modules/shutdown (Depends-on): Likewise.
3552         * modules/sigaction (Depends-on): Likewise.
3553         * modules/signbit (Depends-on): Likewise.
3554         * modules/sigprocmask (Depends-on): Likewise.
3555         * modules/sinl (Depends-on): Likewise.
3556         * modules/sleep (Depends-on): Likewise.
3557         * modules/snprintf (Depends-on): Likewise.
3558         * modules/snprintf-posix (Depends-on): Likewise.
3559         * modules/socket (Depends-on): Likewise.
3560         * modules/sprintf-posix (Depends-on): Likewise.
3561         * modules/sqrtl (Depends-on): Likewise.
3562         * modules/stat (Depends-on): Likewise.
3563         * modules/strchrnul (Depends-on): Likewise.
3564         * modules/strdup-posix (Depends-on): Likewise.
3565         * modules/strerror (Depends-on): Likewise.
3566         * modules/strerror_r-posix (Depends-on): Likewise.
3567         * modules/strndup (Depends-on): Likewise.
3568         * modules/strnlen (Depends-on): Likewise.
3569         * modules/strptime (Depends-on): Likewise.
3570         * modules/strsep (Depends-on): Likewise.
3571         * modules/strsignal (Depends-on): Likewise.
3572         * modules/strstr-simple (Depends-on): Likewise.
3573         * modules/strtod (Depends-on): Likewise.
3574         * modules/strtoimax (Depends-on): Likewise.
3575         * modules/strtok_r (Depends-on): Likewise.
3576         * modules/strtoumax (Depends-on): Likewise.
3577         * modules/symlink (Depends-on): Likewise.
3578         * modules/symlinkat (Depends-on): Likewise.
3579         * modules/tanl (Depends-on): Likewise.
3580         * modules/tcgetsid (Depends-on): Likewise.
3581         * modules/tmpfile (Depends-on): Likewise.
3582         * modules/trunc (Depends-on): Likewise.
3583         * modules/truncf (Depends-on): Likewise.
3584         * modules/truncl (Depends-on): Likewise.
3585         * modules/uname (Depends-on): Likewise.
3586         * modules/unlink (Depends-on): Likewise.
3587         * modules/unlockpt (Depends-on): Likewise.
3588         * modules/unsetenv (Depends-on): Likewise.
3589         * modules/usleep (Depends-on): Likewise.
3590         * modules/utimensat (Depends-on): Likewise.
3591         * modules/vasprintf (Depends-on): Likewise.
3592         * modules/vdprintf (Depends-on): Likewise.
3593         * modules/vdprintf-posix (Depends-on): Likewise.
3594         * modules/vfprintf-posix (Depends-on): Likewise.
3595         * modules/vprintf-posix (Depends-on): Likewise.
3596         * modules/vsnprintf (Depends-on): Likewise.
3597         * modules/vsnprintf-posix (Depends-on): Likewise.
3598         * modules/vsprintf-posix (Depends-on): Likewise.
3599         * modules/wcrtomb (Depends-on): Likewise.
3600         * modules/wcscasecmp (Depends-on): Likewise.
3601         * modules/wcscspn (Depends-on): Likewise.
3602         * modules/wcsdup (Depends-on): Likewise.
3603         * modules/wcsncasecmp (Depends-on): Likewise.
3604         * modules/wcsnrtombs (Depends-on): Likewise.
3605         * modules/wcspbrk (Depends-on): Likewise.
3606         * modules/wcsrtombs (Depends-on): Likewise.
3607         * modules/wcsspn (Depends-on): Likewise.
3608         * modules/wcsstr (Depends-on): Likewise.
3609         * modules/wcstok (Depends-on): Likewise.
3610         * modules/wcswidth (Depends-on): Likewise.
3611         * modules/wctob (Depends-on): Likewise.
3612         * modules/wctomb (Depends-on): Likewise.
3613         * modules/wctype (Depends-on): Likewise.
3614         * modules/wcwidth (Depends-on): Likewise.
3615         * modules/write (Depends-on): Likewise.
3616
3617 2011-05-03  Bruno Haible  <bruno@clisp.org>
3618
3619         Support for conditional dependencies.
3620         * doc/gnulib.texi (Module description): Document the syntax of
3621         conditional dependencies.
3622         * gnulib-tool: New option --conditional-dependencies.
3623         (func_usage): Document it.
3624         (cond_dependencies): New variable.
3625         (func_get_automake_snippet_conditional,
3626         func_get_automake_snippet_unconditional): New functions, extracted from
3627         func_get_automake_snippet.
3628         (func_get_automake_snippet): Use them.
3629         (sed_first_32_chars): New variable.
3630         (func_module_shellfunc_name): New function.
3631         (func_module_shellvar_name): New function.
3632         (func_module_conditional_name): New function.
3633         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
3634         func_cond_module_condition): New functions.
3635         (func_modules_transitive_closure): Add support for conditional
3636         dependencies.
3637         (func_emit_lib_Makefile_am): For a conditional module, enclose the
3638         conditional automake snippet in an automake conditional.
3639         (func_emit_autoconf_snippets): Emit shell functions that contain the
3640         code for conditional modules.
3641         (func_import, func_create_testdir): Update specification.
3642
3643 2011-05-03  Eric Blake  <eblake@redhat.com>
3644
3645         test-getaddrinfo: report error information
3646         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
3647
3648 2011-05-03  Jim Meyering  <meyering@redhat.com>
3649
3650         bootstrap: avoid build failure when $GZIP is set
3651         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
3652         program name.  If defined at all, it is supposed to list gzip options.
3653         Reported by Alan Curry in http://debbugs.gnu.org/8609
3654
3655 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
3656
3657         readme-release: new module with release instructions
3658         * modules/readme-release: New module.
3659         * top/README-release: New file, from coreutils, grep, diffutils.
3660         * MODULES.html.sh (Support for maintaining and releasing): Add it.
3661
3662 2011-05-02  Eric Blake  <eblake@redhat.com>
3663
3664         fflush: also replace fclose when fixing fflush
3665         * modules/fflush (Depends-on): Add fclose.
3666         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
3667         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
3668         memstreams with no backing fd.
3669         * doc/posix-functions/fclose.texi (fclose): Document the use of
3670         fflush module to fix the bug.
3671         * tests/test-fclose.c (main): Relax test when fclose is used in
3672         isolation.
3673
3674         fclose: add some tests
3675         * modules/fclose-tests: New test module.
3676         * tests/test-fclose.c: New file.
3677         * doc/posix-functions/fclose.texi (fclose): Document the bug.
3678
3679         fclose: reduced dependencies
3680         * modules/fclose (Depends-on): Switch from fflush/fseeko to
3681         simpler lseek.
3682         * lib/fclose.c (rpl_fclose): Likewise.
3683         Reported by Simon Josefsson.
3684
3685         exit: drop remaining clients
3686         * modules/argmatch (Depends-on): Replace exit with stdlib.
3687         * modules/copy-file (Depends-on): Likewise.
3688         * modules/execute (Depends-on): Likewise.
3689         * modules/exitfail (Depends-on): Likewise.
3690         * modules/obstack (Depends-on): Likewise.
3691         * modules/pagealign_alloc (Depends-on): Likewise.
3692         * modules/pipe-filter-gi (Depends-on): Likewise.
3693         * modules/pipe-filter-ii (Depends-on): Likewise.
3694         * modules/savewd (Depends-on): Likewise.
3695         * modules/spawn-pipe (Depends-on): Likewise.
3696         * modules/wait-process (Depends-on): Likewise.
3697         * modules/xsetenv (Depends-on): Likewise.
3698         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
3699         * modules/git-merge-changelog (Depends-on): Likewise.
3700         * modules/long-options (Depends-on): Likewise.
3701         * modules/pt_chown (Depends-on): Likewise.
3702         * modules/sysexits (Depends-on): Likewise.
3703
3704         freading: relax license from LGPLv3+ to LGPLv2+
3705         * modules/freading (License): Relax LGPL version.
3706
3707 2011-05-02  Bruno Haible  <bruno@clisp.org>
3708
3709         fchdir: Remove unused dependencies.
3710         * modules/fchdir (Depends-on): Remove include_next.
3711
3712 2011-05-02  Bruno Haible  <bruno@clisp.org>
3713
3714         gnulib-tool: Refactor.
3715         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
3716         from func_emit_autoconf_snippets.
3717         (func_emit_autoconf_snippets): Use it.
3718
3719 2011-05-02  Simon Josefsson  <simon@josefsson.org>
3720
3721         * NEWS: Document removal of 'exit'.
3722         * modules/exit: Remove file.
3723
3724 2011-05-01  Bruno Haible  <bruno@clisp.org>
3725
3726         Update DEPENDENCIES.
3727         * DEPENDENCIES (gettext): Recommend the newest release.
3728         Reported by Simon Josefsson.
3729
3730 2011-05-01  Bruno Haible  <bruno@clisp.org>
3731
3732         gnulib-tool: Reduce code duplication.
3733         * gnulib-tool (func_emit_autoconf_snippets): New function.
3734         (func_import, func_create_testdir): Use it.
3735
3736 2011-04-30  Eric Blake  <eblake@redhat.com>
3737
3738         fclose: don't fail on non-seekable input stream
3739         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
3740         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
3741         since fflush is allowed to fail in that case.
3742
3743 2011-04-30  Bruno Haible  <bruno@clisp.org>
3744
3745         dup3: cleanup
3746         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
3747
3748 2011-04-30  Bruno Haible  <bruno@clisp.org>
3749
3750         netdb: Make it work in C++ mode.
3751         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
3752         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
3753         module.
3754         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
3755         gl_MODULE_INDICATOR_FOR_TESTS.
3756         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
3757         * modules/netdb-c++-tests: New file.
3758         * tests/test-netdb-c++.cc: New file.
3759
3760 2011-04-30  Bruno Haible  <bruno@clisp.org>
3761
3762         New modules 'vfscanf', 'vscanf'.
3763         * modules/vfscanf: New file.
3764         * modules/vscanf: New file.
3765         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
3766         here.
3767         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
3768         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
3769
3770 2011-04-30  Bruno Haible  <bruno@clisp.org>
3771
3772         passfd: Add comments.
3773         * lib/passfd.c: Add comments about platforms.
3774
3775 2011-04-30  Bruno Haible  <bruno@clisp.org>
3776
3777         sys_uio: Make <sys/uio.h> self-contained.
3778         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
3779         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
3780
3781 2011-04-30  Bruno Haible  <bruno@clisp.org>
3782
3783         sys_socket: Ensure 'struct iovec' definition.
3784         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
3785         <sys/socket.h>.
3786         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
3787
3788 2011-04-30  Bruno Haible  <bruno@clisp.org>
3789
3790         sys_uio: Protect definition of 'struct iovec'.
3791         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
3792         it as a C struct.
3793
3794 2011-04-30  Bruno Haible  <bruno@clisp.org>
3795
3796         manywarnings: fix indentation
3797         * m4/manywarnings.m4: Indent by 2 spaces consistently.
3798
3799 2011-04-30  Pádraig Brady <P@draigBrady.com>
3800
3801         manywarnings: add -Wno-missing-field-initializers if needed.
3802         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
3803         option if it's needed to allow initialization with { 0, }
3804
3805 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
3806
3807         announce-gen: cosmetic improvement
3808         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
3809
3810 2011-04-29  Jim Meyering  <meyering@redhat.com>
3811
3812         vc-list-files: indent with spaces, not TABs
3813         * build-aux/vc-list-files: Convert leading TABs to spaces,
3814         to match the style of most other files in gnulib.
3815
3816         announce-gen: indent with spaces, not TABs
3817         * build-aux/announce-gen: Convert all TABs to spaces, to match
3818         the style of most other files in gnulib.
3819
3820 2011-04-29  Eric Blake  <eblake@redhat.com>
3821
3822         quotearg: avoid uninitialized variable use
3823         * lib/quotearg.c (quoting_options_from_style): Initialize
3824         remaining fields, and ensure that custom styles are only used via
3825         quoting_options rather than quoting_style.
3826
3827 2011-04-29  Jim Meyering  <meyering@redhat.com>
3828
3829         maint.mk: remove unused VC-tag variable
3830         * top/maint.mk (VC-tag): Remove unused variable.
3831
3832 2011-04-29  Bruno Haible  <bruno@clisp.org>
3833
3834         netdb: fix gai_strerror replacements
3835         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
3836         * modules/netdb: Substitute it.
3837
3838 2011-04-29  Jim Meyering  <meyering@redhat.com>
3839
3840         test-getcwd.c: avoid new set-but-not-used warning
3841         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
3842         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
3843         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
3844         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
3845
3846         test-hash.c: avoid a new shadowing warning
3847         * tests/test-hash.c (main): Don't shadow "dup".
3848
3849 2011-04-28  Eric Blake  <eblake@redhat.com>
3850
3851         getaddrinfo: fix gai_strerror signature
3852         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
3853         and work around mingw with UNICODE defined.
3854         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
3855         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
3856         * modules/netdb (Makefile.am): Substitute it.
3857         * lib/netdb.in.h (gai_strerror): Declare replacement.
3858         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
3859         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
3860         the fix.
3861
3862         getsockopt: avoid compiler warning
3863         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
3864         Reported by Matthias Bolte.
3865
3866         tests: drop unused link dependency
3867         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
3868         * modules/dirent-safer-tests (Makefile.am): Likewise.
3869         * modules/fdopendir-tests (Makefile.am): Likewise.
3870         * modules/mkfifoat-tests (Makefile.am): Likewise.
3871         * modules/openat-safer-tests (Makefile.am): Likewise.
3872         * modules/openat-tests (Makefile.am): Likewise.
3873         * modules/readlinkat-tests (Makefile.am): Likewise.
3874         * modules/symlinkat-tests (Makefile.am): Likewise.
3875         * modules/linkat-tests (Makefile.am): Likewise.
3876         (Depends-on): Switch to filenamecat-lgpl.
3877         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
3878         LIBINTL.
3879         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
3880         * tests/test-linkat.c (main): Don't require xalloc.
3881
3882         hash, mgetgroups: drop xalloc dependency
3883         * lib/hash.c (includes): Adjust includes.
3884         * lib/mgetgroups.c (includes): Likewise.
3885         (xgetgroups): Move...
3886         * lib/xgetgroups.c: ...to new file.
3887         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
3888         * modules/xgetgroups: New file, split from...
3889         * modules/mgetgroups: ...here.
3890         (Depends-on): Add xalloc-oversized.
3891         * modules/hash (Depends-on): Likewise.
3892         * modules/hash-tests (Depends-on): Drop xalloc.
3893         (test_hash_LDADD): Drop unused library.
3894         * tests/test-hash.c (main): Break xalloc dependency.
3895         (includes): Drop unused include.
3896
3897         xalloc-oversized: new module
3898         * modules/xalloc-oversized: New module.
3899         * modules/xalloc (Depends-on): Add it.
3900         * lib/xalloc.h (xalloc_oversized): Move...
3901         * lib/xalloc-oversized.h: ...into new file.
3902
3903         utimecmp: drop dependency on xmalloc
3904         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
3905         due to memory pressure.
3906         * modules/utimecmp (Depends-on): Drop xalloc.
3907
3908 2011-04-27  Eric Blake  <eblake@redhat.com>
3909
3910         getcwd: fix mingw bugs
3911         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
3912         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
3913         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
3914
3915 2011-04-27  Bruno Haible  <bruno@clisp.org>
3916
3917         mkstemps: Ensure declaration on MacOS X 10.5.
3918         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
3919         * doc/glibc-functions/mkstemps.texi: Document header file problem on
3920         MacOS X.
3921
3922 2011-04-27  Bruno Haible  <bruno@clisp.org>
3923
3924         mkstemp: More documentation.
3925         * doc/posix-functions/mkstemp.texi: Document header file problem on
3926         MacOS X.
3927
3928 2011-04-27  Bruno Haible  <bruno@clisp.org>
3929
3930         mkstemp: Tweak configure message when cross-compiling.
3931         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
3932         result as a guess.
3933
3934 2011-04-27  Bruno Haible  <bruno@clisp.org>
3935
3936         clean-temp: Clarify what it does.
3937         * lib/clean-temp.h: Add more comments.
3938         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
3939         module.
3940         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
3941         * doc/glibc-functions/mkstemps.texi: Likewise.
3942         * doc/glibc-functions/mkostemps.texi: Likewise.
3943
3944 2011-04-27  Eric Blake  <eblake@redhat.com>
3945
3946         fchdir: avoid extra chdir and fix test
3947         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
3948         getcwd-lgpl.
3949         * lib/fchdir.c (get_name): Any absolute name will do; it does not
3950         have to be canonical.
3951         (canonicalize_file_name): Drop unused macro.
3952         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
3953
3954         filenamecat-lgpl: fix licence
3955         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
3956         when it was first created.
3957
3958         linkat, renameat: add missing dependency
3959         * modules/linkat (Depends-on): Require getcwd-lgpl.
3960         * modules/renameat (Depends-on): Likewise.
3961
3962         tests: reduce dependencies
3963         * tests/test-linkat.c (main): Use lighter-weight getcwd.
3964         * tests/test-renameat.c (main): Likewise.
3965         * modules/linkat-tests (Depends-on): Relax dependency.
3966         * modules/renameat-tests (Depends-on): Likewise.
3967         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
3968         dependency explicit.
3969
3970         save-cwd: reduce default dependency
3971         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
3972         * lib/save-cwd.c: Update comments.
3973         * NEWS: Document the semantic change.
3974
3975         getcwd: enhance tests
3976         * tests/test-getcwd-lgpl.c: New file, taken from...
3977         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
3978         repeat long path stress tests from m4 probe.
3979         * modules/getcwd-lgpl-tests: New module.
3980         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
3981         * m4/getcwd-abort-bug.m4: Update comment.
3982         * m4/getcwd-path-max.m4: Likewise.
3983
3984         getcwd-lgpl: new module
3985         * modules/getcwd-lgpl: New module.
3986         * lib/getcwd-lgpl.c: New file.
3987         * doc/posix-functions/getcwd.texi (getcwd): Document it.
3988         * MODULES.html.sh (lacking POSIX:2008): Likewise.
3989         * modules/getcwd (configure.ac): Set C witness.
3990         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
3991
3992         getcwd: tweak comments
3993         * m4/getcwd-abort-bug.m4: Fix comments.
3994         * m4/getcwd-path-max.m4: Likewise.
3995         * m4/getcwd.m4: Likewise.
3996
3997 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
3998         and Eric Blake  <eblake@redhat.com>
3999
4000         mkstemp: replace if system version uses wrong permissions
4001         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
4002         read/write mode bits set in file created by mkstemp.
4003         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
4004
4005 2011-04-27  Eric Blake  <eblake@redhat.com>
4006
4007         passfd: avoid compiler warning
4008         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
4009         Reported by Laine Stump.
4010
4011 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
4012
4013         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
4014         required by the NetBSD (and perhaps other 4.4BSD derived) join.
4015
4016 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
4017         and Eric Blake  <eblake@redhat.com>
4018
4019         mkstemp: mention clean-temp module
4020         * lib/mkstemp.c: Add comment.
4021         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
4022
4023 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
4024
4025         inttypes: also provide default values for 32-bit tests
4026         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
4027         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
4028
4029 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4030
4031         strtoumax: remove dependency on strtoimax
4032         This is like the strtoull change of yesterday.
4033         * modules/strtoumax (Files): Add lib/strtoimax.c.
4034         (Depends-on): Remove strtoimax and add verify.
4035
4036         inttypes-incomplete: new module
4037         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
4038         all but the PRI* and SCN* parts of gl_INTTYPES_H.
4039         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
4040         of gl_INTTYPES_H.
4041         (gl_INTTYPES_H): Rewrite in terms of these new macros.
4042         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
4043         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
4044         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
4045         * modules/strtoumax, modules/xstrtol (Depends-on):
4046         Depend on inttypes-incomplete, not inttypes.
4047         * modules/inttypes-incomplete: New module, containing the contents
4048         of the old modules/inttypes module, except that the Files: section
4049         omits m4/inttypes-pri.m4, and the configure.ac section invokes
4050         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
4051         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
4052         (Depends-on): Depend only on inttypes-incomplete.
4053         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
4054
4055         inttypes: omit now-redundant strtoimax and strtoumax work
4056         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
4057         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
4058
4059         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
4060         This supports apps that need pointers to strtoimax and strtoumax,
4061         and ports to HP-UX 11.00 64.bit, which has macros that expand to
4062         nonexistent functions.  See
4063         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
4064         et seq.
4065         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
4066         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
4067         a macro.
4068         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
4069
4070 2011-04-25  Simon Josefsson  <simon@josefsson.org>
4071
4072         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
4073
4074 2011-04-25  Bruno Haible  <bruno@clisp.org>
4075
4076         strtol, strtoul: Mark modules as obsolete.
4077         * modules/strtol (Status, Notice): New sections.
4078         * modules/strtoul (Status, Notice): New sections.
4079
4080 2011-04-25  Bruno Haible  <bruno@clisp.org>
4081
4082         strtod: Remove check for strtod, unless supporting old platforms.
4083         * modules/strtod-obsolete: New file.
4084         * m4/strtod-obsolete.m4: New file.
4085         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
4086         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
4087         * modules/strtod (Depends-on): Add strtod-obsolete.
4088         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
4089
4090 2011-04-25  Bruno Haible  <bruno@clisp.org>
4091
4092         strcase: Make module obsolete.
4093         * modules/strcase (Status, Notice): New sections.
4094
4095 2011-04-25  Bruno Haible  <bruno@clisp.org>
4096
4097         dup2: Remove check for dup2, unless supporting old obsolete platforms.
4098         * modules/dup2-obsolete: New file.
4099         * m4/dup2-obsolete.m4: New file.
4100         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
4101         gl_FUNC_DUP2_OBSOLETE is not also defined.
4102         * modules/dup2 (Depends-on): Add dup2-obsolete.
4103         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
4104
4105 2011-04-25  Bruno Haible  <bruno@clisp.org>
4106
4107         strnlen: Avoid memchr related link error on old obsolete platforms.
4108         * modules/memchr-obsolete: New file.
4109         * m4/memchr-obsolete.m4: New file.
4110         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
4111         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
4112         * modules/memchr (Depends-on): Add memchr-obsolete.
4113         * modules/strnlen (Depends-on): Likewise.
4114         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
4115
4116 2011-04-25  Jim Meyering  <meyering@redhat.com>
4117
4118         maint.mk: makefile_at_at_check extend and clean up
4119         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
4120         in addition to */Makefile.am.
4121         Exempt legitimate uses of @VAR@ notation, e.g.,
4122         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
4123         Remove obsolete coreutils-specific comment.
4124         Prompted by discussion here:
4125         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
4126
4127 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4128
4129         strtoul: remove dependency on strtol
4130         This is so that 'configure' need not check for strtol merely because
4131         the application needs strtoul.
4132         * modules/strtoul (Files): Add lib/strtol.c.
4133         (Depends-on): Remove strtol.
4134
4135         strtoull: remove dependency on strtoul
4136         This is like the strtoll change.
4137         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
4138         (Depends-on): Remove strtoul.
4139
4140         strtoll: remove dependency on strtol
4141         This is so that 'configure' need not check for strtol merely because
4142         the application needs strtoll.
4143         * modules/strtoll (Files): Add lib/strtol.c.
4144         (Depends-on): Remove strtol.
4145
4146 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4147
4148         inttypes: Move some configure check to module 'imaxdiv'.
4149         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
4150         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
4151         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
4152
4153 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4154
4155         inttypes: Move some configure check to module 'imaxabs'.
4156         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
4157         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
4158         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
4159
4160 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4161
4162         inttypes: Remove configure tests that are not needed since 2009-12-31.
4163         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
4164         gl_cv_header_working_inttypes_h.
4165
4166 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4167
4168         * modules/strnlen (Depends-on): Remove memchr.
4169         The strnlen implementation doesn't need the memchr module's fixes; see
4170         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
4171
4172         strtol: remove dependency on wchar
4173         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
4174         * modules/strtol (Depends-on): Remove wchar.
4175
4176 2011-04-21  Eric Blake  <eblake@redhat.com>
4177
4178         passfd: fix test regression on Linux
4179         * modules/passfd-tests (configure.ac): Correct socketpair check.
4180
4181         passfd: speed up configure and drop unused code
4182         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
4183         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
4184         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
4185         Instead of probing at configure for unix_scm_rights_bsd44_way,
4186         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
4187         check to a struct member probe.
4188         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
4189         (sendfd, recvfd): Update preprocessor checks.
4190         * modules/passfd (Files): Reflect rename, and drop unused file.
4191         (Depends-on): Drop unused dependency.
4192
4193         passfd: allow compilation on mingw
4194         * modules/sys_socket (Depends-on): Add sys_uio.
4195         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
4196         iovec and a minimal struct msghdr.
4197         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
4198         * tests/test-sys_socket.c (main): Enhance test.
4199         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
4200         guaranteed to provide what we need.
4201         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
4202         * modules/passfd-tests (Depends-on): Add sys_wait.
4203         * tests/test-passfd.c (main): Skip test on mingw, for now.
4204         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
4205         partial 'struct msghdr' implementation.
4206
4207         sys_uio: new module
4208         * modules/sys_uio: New module.
4209         * modules/sys_uio-tests: Likewise.
4210         * lib/sys_uio.in.h: New file.
4211         * m4/sys_uio_h.m4: Likewise.
4212         * tests/test-sys_uio.c: Likewise.
4213         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
4214         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
4215
4216 2011-04-20  Jim Meyering  <meyering@redhat.com>
4217
4218         useless-if-before-free: avoid false-positive
4219         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
4220         disjunct so that it too requires a terminating ";".  Without that,
4221         this script would identify as useless one statement from gcc that
4222         was not:
4223           if (aligned_ptr)
4224             free (((void **) aligned_ptr) [-1]);
4225
4226 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
4227
4228         doc: update users.txt.
4229         * users.txt: Add barcode.
4230
4231 2011-04-19  Bruno Haible  <bruno@clisp.org>
4232
4233         ioctl: Remove link dependency on native Windows.
4234         * lib/fd-hook.h: Renamed from lib/close-hook.h.
4235         (gl_close_fn, gl_ioctl_fn): New types.
4236         (struct fd_hook): Renamed from struct close_hook. Change type of
4237         private_close_fn field. Add private_ioctl_fn field.
4238         (close_hook_fn): Add parameter for primary close method.
4239         (execute_close_hooks, execute_all_close_hooks): Likewise.
4240         (ioctl_hook_fn): New type.
4241         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
4242         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
4243         argument.
4244         (unregister_fd_hook): Renamed from unregister_close_hook.
4245         * lib/fd-hook.c: Renamed from lib/close-hook.c.
4246         Don't include <unistd.h>.
4247         (close): Remove undef.
4248         (anchor): Update.
4249         (execute_close_hooks): Add argument for primary close method.
4250         (execute_all_close_hooks): Likewise.
4251         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
4252         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
4253         argument. Allow each argument to be NULL.
4254         (unregister_fd_hook): Renamed from unregister_close_hook.
4255         * lib/close.c (rpl_close): Pass 'close' function pointer to
4256         execute_all_close_hooks.
4257         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
4258         (primary_ioctl): New function.
4259         (ioctl): Don't call ioctlsocket here. Instead, call
4260         execute_all_ioctl_hooks.
4261         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
4262         close method.
4263         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
4264         (fd_sockets_hook): Renamed from close_sockets_hook.
4265         (gl_sockets_startup, gl_sockets_cleanup): Update.
4266         * modules/fd-hook: Renamed from modules/close-hook. Update.
4267         * modules/close (Depends-on): Add fd-hook, remove close-hook.
4268         * modules/sockets (Depends-on): Likewise.
4269         * modules/ioctl (Depends-on): Add fd-hook.
4270         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
4271         GNULIB_SOCKET.
4272
4273 2011-04-19  Bruno Haible  <bruno@clisp.org>
4274
4275         Move the support of O_NONBLOCK in open() to the 'open' module.
4276         * modules/nonblocking (Depends-on): Remove 'open'.
4277         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
4278         gl_cv_have_open_O_NONBLOCK.
4279         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
4280         O_NONBLOCK support.
4281         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
4282
4283 2011-04-17  Bruno Haible  <bruno@clisp.org>
4284
4285         pipe2: Simplify code.
4286         * lib/pipe2.c (pipe2): Reduce code duplication.
4287
4288 2011-04-17  Bruno Haible  <bruno@clisp.org>
4289
4290         nonblocking: Add comment.
4291         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
4292
4293 2011-04-17  Bruno Haible  <bruno@clisp.org>
4294
4295         nonblocking: Add tests for sockets.
4296         * tests/test-nonblocking-socket.sh: New file.
4297         * tests/test-nonblocking-socket-main.c: New file.
4298         * tests/test-nonblocking-socket-child.c: New file.
4299         * tests/test-nonblocking-socket.h: New file.
4300         * tests/socket-server.h: New file.
4301         * tests/socket-client.h: New file.
4302         * modules/nonblocking-socket-tests: New file.
4303         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
4304
4305 2011-04-17  Bruno Haible  <bruno@clisp.org>
4306
4307         nonblocking: Add tests for pipes.
4308         * tests/test-nonblocking-pipe.sh: New file.
4309         * tests/test-nonblocking-pipe-main.c: New file.
4310         * tests/test-nonblocking-pipe-child.c: New file.
4311         * tests/test-nonblocking-pipe.h: New file.
4312         * tests/test-nonblocking-writer.h: New file.
4313         * tests/test-nonblocking-reader.h: New file.
4314         * tests/test-nonblocking-misc.h: New file.
4315         * modules/nonblocking-pipe-tests: New file.
4316         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
4317
4318 2011-04-16  Bruno Haible  <bruno@clisp.org>
4319
4320         gettext: Clarify the needed programmer actions.
4321         * modules/gettext (Notice): New field.
4322         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
4323
4324 2011-04-16  Bruno Haible  <bruno@clisp.org>
4325
4326         strchrnul: Tweak last commit.
4327         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
4328         bug.
4329         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
4330         as in _GL_FUNCDECL_SYS.
4331         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
4332         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
4333
4334 2011-04-15  Eric Blake  <eblake@redhat.com>
4335
4336         strchrnul: work around cygwin bug
4337         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
4338         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
4339         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
4340         * modules/string (Makefile.am): Substitute it.
4341         * lib/string.in.h (strchrnul): Use it.
4342
4343 2011-04-15  Bruno Haible  <bruno@clisp.org>
4344
4345         Don't require lib/stdio-write.c when only module 'stdio' is used.
4346         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
4347         invocation.
4348         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
4349
4350 2011-04-14  Bruno Haible  <bruno@clisp.org>
4351
4352         Support non-blocking pipe I/O in read() on native Windows.
4353         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
4354         (read): New declaration.
4355         * lib/read.c: New file.
4356         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
4357         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
4358         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
4359         vscanf): New declarations.
4360         * lib/stdio-read.c: New file.
4361         * m4/read.m4: New file.
4362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
4363         REPLACE_READ.
4364         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
4365         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
4366         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
4367         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
4368         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
4369         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
4370         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
4371         * modules/read: New file.
4372         * modules/nonblocking (Files): Add lib/stdio-read.c.
4373         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
4374         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
4375         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
4376         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
4377         * modules/pread (Depends-on): Add read.
4378         * modules/safe-read (Depends-on): Likewise.
4379         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
4380         gets, scanf, vfscanf, vscanf): Verify signatures.
4381         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
4382         problem with non-blocking pipes.
4383         * doc/posix-functions/fgetc.texi: Likewise.
4384         * doc/posix-functions/fgets.texi: Likewise.
4385         * doc/posix-functions/fread.texi: Likewise.
4386         * doc/posix-functions/fscanf.texi: Likewise.
4387         * doc/posix-functions/getc.texi: Likewise.
4388         * doc/posix-functions/getchar.texi: Likewise.
4389         * doc/posix-functions/gets.texi: Likewise.
4390         * doc/posix-functions/scanf.texi: Likewise.
4391         * doc/posix-functions/vfscanf.texi: Likewise.
4392         * doc/posix-functions/vscanf.texi: Likewise.
4393
4394 2011-04-14  Bruno Haible  <bruno@clisp.org>
4395
4396         Support non-blocking pipe I/O in write() on native Windows.
4397         * lib/write.c (rpl_write): Split a write request that failed merely
4398         because the byte count was larger than the pipe buffer's size.
4399         * doc/posix-functions/write.texi: Mention the problem with large byte
4400         counts.
4401
4402 2011-04-14  Bruno Haible  <bruno@clisp.org>
4403
4404         wchar: Ensure that wchar_t gets defined on uClibc.
4405         * lib/wchar.in.h: On uClibc, include <stddef.h>.
4406         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
4407
4408 2011-04-13  Bruno Haible  <bruno@clisp.org>
4409
4410         safe-write, full-read: Avoid unnecessary compilation units.
4411         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
4412         (Depends-on): Remove safe-read. Add ssize_t.
4413         * modules/full-read (Files): Add lib/full-write.c.
4414         (Depends-on): Add full-write.
4415
4416 2011-04-13  Bruno Haible  <bruno@clisp.org>
4417
4418         Support non-blocking pipe I/O and SIGPIPE in pwrite().
4419         * modules/pwrite (Depends-on): Add 'write'.
4420
4421 2011-04-13  Bruno Haible  <bruno@clisp.org>
4422
4423         Support non-blocking pipe I/O in write() on native Windows.
4424         * lib/unistd.in.h (write): Enable replacement also if
4425         GNULIB_UNISTD_H_NONBLOCKING is 1.
4426         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
4427         (rpl_write): When failing to write on a non-blocking pipe, change
4428         errno from ENOSPC to EAGAIN.
4429         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
4430         putchar, puts, vfprintf, vprintf): Enable replacement also if
4431         GNULIB_STDIO_H_NONBLOCKING is 1.
4432         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
4433         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
4434         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
4435         CALL_WITH_SIGPIPE_EMULATION.
4436         (CALL_WITH_SIGPIPE_EMULATION): Use them.
4437         * m4/nonblocking.m4: New file.
4438         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
4439         for non-blocking I/O support.
4440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4441         GNULIB_UNISTD_H_NONBLOCKING.
4442         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
4443         required for non-blocking I/O support.
4444         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
4445         * modules/nonblocking (Files): Add m4/nonblocking.m4,
4446         lib/stdio-write.c, m4/asm-underscore.m4.
4447         (Depends-on): Add stdio, unistd.
4448         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
4449         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
4450         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
4451         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
4452         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
4453         problem with non-blocking pipes.
4454         * doc/posix-functions/fputc.texi: Likewise.
4455         * doc/posix-functions/fputs.texi: Likewise.
4456         * doc/posix-functions/fwrite.texi: Likewise.
4457         * doc/posix-functions/printf.texi: Likewise.
4458         * doc/posix-functions/putc.texi: Likewise.
4459         * doc/posix-functions/putchar.texi: Likewise.
4460         * doc/posix-functions/puts.texi: Likewise.
4461         * doc/posix-functions/vfprintf.texi: Likewise.
4462         * doc/posix-functions/vprintf.texi: Likewise.
4463         * doc/posix-functions/write.texi: Likewise.
4464
4465 2011-04-10  Jim Meyering  <meyering@redhat.com>
4466
4467         maint.mk: prohibit doubled words
4468         Detect them also when they're separated by a newline.
4469         There are 3 ways to customize it:
4470           - disable the test on a per file basis, as usual with rules using
4471             $(VC_LIST_EXCEPT)
4472           - replace the default doubled-word-selecting regexp (affects all files)
4473           - ignore a particular file-vs-doubled-word match
4474         I nearly used that last one to ignore the "is is" match in
4475         coreutils' NEWS file, since the text was "ls -is is ..."
4476         To do that, I would have added this line to cfg.mk:
4477           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
4478         but it would have ignored any "is is" match in NEWS.
4479         Low probability, but still...
4480         Instead, I changed the text, slightly:
4481           -  ls -is is now consistent with ls -lis in ignoring values returned
4482           +  "ls -is" is now consistent with ls -lis in ignoring values returned
4483         * top/maint.mk (prohibit_double_word_RE_): Provide default.
4484         (prohibit_doubled_word_): Define.
4485         (sc_prohibit_doubled_word): New rule.
4486         (sc_prohibit_the_the): Remove.  Subsumed by the above.
4487
4488 2011-04-10  Jim Meyering  <meyering@redhat.com>
4489
4490         maint: fix doubled-word typo in comment
4491         * m4/gethostname.m4: s/is is/it is/
4492         * m4/getdomainname.m4: Likewise.
4493
4494 2011-04-10  Jim Meyering  <meyering@redhat.com>
4495
4496         maint: remove doubled word: s/it it/it/
4497         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
4498
4499 2011-04-10  Jim Meyering  <meyering@redhat.com>
4500
4501         maint.mk: remove useless semicolon and backslash
4502         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
4503         semicolon and backslash.
4504
4505 2011-04-10  Bruno Haible  <bruno@clisp.org>
4506
4507         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
4508         * modules/stdint-tests (Depends-on): Add wchar.
4509
4510 2011-04-10  Jim Meyering  <meyering@redhat.com>
4511
4512         maint: remove doubled words in comments, e.g., s/a a/a/
4513         * lib/strptime.c (day_of_the_week): s/the the/the/
4514         * tests/test-chown.h (test_chown): s/a a/a/
4515
4516         test-chown.h: correct a cast
4517         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
4518         when the destination is a stat.st_gid.
4519
4520 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
4521
4522         getaddrinfo: Fix test for sa_len member.
4523         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
4524         include <sys/types.h> before <sys/socket.h>.
4525
4526 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4527
4528         maint: change "can not" to "cannot"
4529         * doc/posix-functions/iconv.texi (iconv): This one crossed line
4530         boundaries.
4531
4532 2011-04-09  Jim Meyering  <meyering@redhat.com>
4533
4534         maint: change "a a" to "a"
4535         * tests/test-lchown.h (test_lchown): s/a a/a/
4536
4537         maint.mk: prohibit \<the the\>
4538         * top/maint.mk (sc_prohibit_the_the): New rule.
4539
4540         maint: fix "the the" in comment
4541         * lib/count-one-bits.h: s/the the/the/
4542
4543         maint: change "can not" to "cannot"
4544         But do not change the occurrences in maintain.texi or in
4545         build-aux/po/Makefile.in.in, which I presume comes from gettext.
4546         * doc/gnulib-tool.texi: s/can not/cannot/
4547         * doc/posix-functions/accept.texi (accept): Likewise.
4548         * doc/posix-functions/socket.texi (socket): Likewise.
4549         * lib/mbrtowc.c: Likewise.
4550
4551         maint.mk: prohibit use of "can not"
4552         * top/maint.mk (sc_prohibit_can_not): New rule.
4553         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
4554
4555 2011-04-09  Bruno Haible  <bruno@clisp.org>
4556
4557         careadlinkat: Guard against misuse of careadlinkatcwd.
4558         * lib/careadlinkat.c: Include <stdlib.h>.
4559         (careadlinkatcwd): Check that the fd argument is as expected.
4560
4561 2011-04-09  Bruno Haible  <bruno@clisp.org>
4562
4563         careadlinkat: Use common coding style.
4564         * lib/careadlinkat.c: Move gnulib includes after system includes.
4565
4566 2011-04-09  Bruno Haible  <bruno@clisp.org>
4567
4568         careadlinkat: Clarify specification.
4569         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
4570         (careadlinkatcwd): Add comment.
4571         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
4572
4573 2011-04-09  Bruno Haible  <bruno@clisp.org>
4574
4575         areadlinkat: Avoid link error on many platforms.
4576         * modules/areadlinkat (Depends-on): Add areadlink.
4577
4578 2011-04-09  Bruno Haible  <bruno@clisp.org>
4579
4580         allocator, careadlinkat: Fix double-inclusion guard.
4581         * lib/allocator.h: Fix double-inclusion guard.
4582         * lib/careadlinkat.h: Likewise.
4583
4584 2011-04-09  Bruno Haible  <bruno@clisp.org>
4585
4586         relocatable-prog-wrapper: Update after module 'areadlink' changed.
4587         * lib/relocwrapper.c: Update dependencies hierarchy.
4588         * build-aux/install-reloc: Update list of files to be compiled.
4589         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
4590         lib/allocator.[hc].
4591
4592 2011-04-08  Eric Blake  <eblake@redhat.com>
4593
4594         strftime: silence gnulib-tool warning
4595         * modules/strftime-tests (Depends-on): Drop automatic dependency.
4596
4597 2011-04-08  Bruno Haible  <bruno@clisp.org>
4598
4599         verify: Fix syntax error with GCC 4.6 in C++ mode.
4600         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
4601         (HAVE_STATIC_ASSERT): New macro.
4602         (verify_true, verify): Use 'static_assert' if it is supported and
4603         '_Static_assert' is not supported.
4604
4605 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
4606
4607         allocator: New module.
4608         * modules/allocator, lib/allocator.c: New files.
4609         * lib/allocator.h (stdlib_allocator): New decl.
4610         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
4611         Remove.  Do not include <stdlib.h>.
4612         (careadlinkat): Use stdlib_allocator instead of rolling our own.
4613         * modules/careadlinkat (Files): Remove lib/allocator.h.
4614         (Depends-on): Add allocator.
4615
4616         stdlib: let modules use system malloc, realloc
4617         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
4618         if !_GL_USE_STDLIB_ALLOC.
4619         (malloc, realloc): Limit this change to a smaller scope.
4620
4621         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
4622         (malloc, realloc): Don't #undef; no longer needed.
4623         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4624         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4625         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
4626         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4627         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4628         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4629         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4630         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
4631
4632         careadlinkat: rename members to avoid problem
4633         * lib/allocator.h (struct allocator): Rename members from
4634         malloc/realloc to allocate/reallocate, to avoid problems if malloc
4635         and realloc are #define'd.  Reported by Eric Blake in
4636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
4637         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
4638
4639 2011-04-08  Eric Blake  <eblake@redhat.com>
4640
4641         nonblocking: reduce dependency
4642         * tests/test-nonblocking.c: Only test sockets when in use.
4643         * modules/nonblocking-tests (Depends-on): Drop socket.
4644         (Makefile.am): Link even if sockets are not present.
4645         * modules/pipe2-tests (Makefile.am): Likewise.
4646         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
4647
4648         pipe2: fix O_NONBLOCK support on mingw
4649         * modules/pipe2 (Depends-on): Add nonblocking.
4650         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
4651         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
4652         * tests/test-nonblocking.c (main): Likewise.
4653         * modules/pipe2-tests (Makefile.am): Avoid link failure.
4654
4655         fcntl-h: fix O_ACCMODE on cygwin
4656         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
4657         * lib/fcntl.in.h (O_ACCMODE): Fix it.
4658
4659         pipe-filter: drop O_NONBLOCK workarounds
4660         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
4661         * modules/pipe-filter-ii (Depends-on): Likewise.
4662         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
4663
4664         nonblocking: provide O_NONBLOCK for mingw
4665         * modules/nonblocking (Depends-on): Add open.
4666         (configure.ac): Set new witness macro.
4667         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
4668         * modules/fcntl-h (Makefile.am): Substitute it.
4669         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
4670         nonblocking module is in use.
4671         * lib/nonblocking.c: Adjust portability test.
4672         * lib/open.c (open): Don't let native open see gnulib flag.
4673         * tests/test-fcntl-h.c (main): Enhance test.
4674         * tests/test-open.h (test_open): Likewise.
4675         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
4676
4677         careadlinkat: fix compilation error on mingw
4678         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
4679         within struct allocator.
4680
4681 2011-04-06  Eric Blake  <eblake@redhat.com>
4682
4683         binary-io: relicense under LGPLv2+
4684         * modules/binary-io (License): Relax to LGPLv2+.
4685         Requested for libvirt, and required by pipe2.
4686
4687 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
4688
4689         verify: use _Static_assert if available
4690         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
4691         (verify_true, verify): Use it if available.  This generates better
4692         diagnostics with GCC 4.6.0 and later.
4693
4694 2011-04-05  Bruno Haible  <bruno@clisp.org>
4695
4696         Remove leftover generated .h files after config.status changed.
4697
4698         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
4699         GL_GENERATE_ALLOCA_H.
4700         * modules/alloca-opt (Makefile.am): Remove alloca.h if
4701         GL_GENERATE_ALLOCA_H evaluates to false.
4702
4703         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
4704         GL_GENERATE_ARGZ_H.
4705         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
4706         evaluates to false.
4707
4708         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
4709         GL_GENERATE_BYTESWAP_H.
4710         * modules/byteswap (Makefile.am): Remove byteswap.h if
4711         GL_GENERATE_BYTESWAP_H evaluates to false.
4712
4713         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
4714         GL_GENERATE_ERRNO_H.
4715         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
4716         evaluates to false.
4717
4718         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
4719         GL_GENERATE_FLOAT_H.
4720         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
4721         evaluates to false.
4722
4723         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
4724         GL_GENERATE_FNMATCH_H.
4725         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
4726         GL_GENERATE_FNMATCH_H evaluates to false.
4727
4728         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
4729         GL_GENERATE_GLOB_H.
4730         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
4731         evaluates to false.
4732
4733         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
4734         automake conditional GL_GENERATE_ICONV_H.
4735         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
4736         evaluates to false.
4737
4738         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
4739         GL_GENERATE_NETINET_IN_H.
4740         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
4741         GL_GENERATE_NETINET_IN_H evaluates to false.
4742
4743         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
4744         conditional GL_GENERATE_PTHREAD_H.
4745         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
4746         * modules/pthread (Makefile.am): Remove pthread.h if
4747         GL_GENERATE_PTHREAD_H evaluates to false.
4748
4749         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
4750         GL_GENERATE_SCHED_H.
4751         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
4752         evaluates to false.
4753
4754         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
4755         conditional GL_GENERATE_SELINUX_CONTEXT_H.
4756         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
4757         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
4758
4759         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
4760         GL_GENERATE_STDARG_H.
4761         * modules/stdarg (Makefile.am): Remove stdarg.h if
4762         GL_GENERATE_STDARG_H evaluates to false.
4763
4764         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
4765         GL_GENERATE_STDBOOL_H.
4766         * modules/stdbool (Makefile.am): Remove stdbool.h if
4767         GL_GENERATE_STDBOOL_H evaluates to false.
4768
4769         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
4770         conditional GL_GENERATE_STDDEF_H.
4771         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
4772         * modules/stddef (Makefile.am): Remove stddef.h if
4773         GL_GENERATE_STDDEF_H evaluates to false.
4774
4775         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
4776         GL_GENERATE_STDINT_H.
4777         * modules/stdint (Makefile.am): Remove stdint.h if
4778         GL_GENERATE_STDINT_H evaluates to false.
4779
4780         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
4781         GL_GENERATE_SYSEXITS_H.
4782         * modules/sysexits (Makefile.am): Remove sysexits.h if
4783         GL_GENERATE_SYSEXITS_H evaluates to false.
4784
4785         Reported by Karl Berry and Ralf Wildenhues.
4786
4787 2011-04-05  Bruno Haible  <bruno@clisp.org>
4788
4789         Ensure to rebuild generated .h files when config.status has changed.
4790         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
4791         config.status.
4792         * modules/ctype (Makefile.am): Likewise.
4793         * modules/dirent (Makefile.am): Likewise.
4794         * modules/errno (Makefile.am): Likewise.
4795         * modules/fcntl-h (Makefile.am): Likewise.
4796         * modules/float (Makefile.am): Likewise.
4797         * modules/getopt-posix (Makefile.am): Likewise.
4798         * modules/glob (Makefile.am): Likewise.
4799         * modules/iconv-h (Makefile.am): Likewise.
4800         * modules/inttypes (Makefile.am): Likewise.
4801         * modules/langinfo (Makefile.am): Likewise.
4802         * modules/locale (Makefile.am): Likewise.
4803         * modules/math (Makefile.am): Likewise.
4804         * modules/netdb (Makefile.am): Likewise.
4805         * modules/netinet_in (Makefile.am): Likewise.
4806         * modules/poll-h (Makefile.am): Likewise.
4807         * modules/pthread (Makefile.am): Likewise.
4808         * modules/pty (Makefile.am): Likewise.
4809         * modules/sched (Makefile.am): Likewise.
4810         * modules/search (Makefile.am): Likewise.
4811         * modules/selinux-h (Makefile.am): Likewise.
4812         * modules/signal (Makefile.am): Likewise.
4813         * modules/spawn (Makefile.am): Likewise.
4814         * modules/stdarg (Makefile.am): Likewise.
4815         * modules/stdbool (Makefile.am): Likewise.
4816         * modules/stddef (Makefile.am): Likewise.
4817         * modules/stdint (Makefile.am): Likewise.
4818         * modules/stdio (Makefile.am): Likewise.
4819         * modules/stdlib (Makefile.am): Likewise.
4820         * modules/string (Makefile.am): Likewise.
4821         * modules/strings (Makefile.am): Likewise.
4822         * modules/sys_file (Makefile.am): Likewise.
4823         * modules/sys_ioctl (Makefile.am): Likewise.
4824         * modules/sys_select (Makefile.am): Likewise.
4825         * modules/sys_socket (Makefile.am): Likewise.
4826         * modules/sys_stat (Makefile.am): Likewise.
4827         * modules/sys_time (Makefile.am): Likewise.
4828         * modules/sys_times (Makefile.am): Likewise.
4829         * modules/sys_utsname (Makefile.am): Likewise.
4830         * modules/sys_wait (Makefile.am): Likewise.
4831         * modules/sysexits (Makefile.am): Likewise.
4832         * modules/termios (Makefile.am): Likewise.
4833         * modules/time (Makefile.am): Likewise.
4834         * modules/unistd (Makefile.am): Likewise.
4835         * modules/wchar (Makefile.am): Likewise.
4836         * modules/wctype-h (Makefile.am): Likewise.
4837         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
4838
4839 2011-04-05  Bruno Haible  <bruno@clisp.org>
4840
4841         pipe2: Relicense under LGPLv2+.
4842         * modules/pipe2 (License): Change to LGPLv2+.
4843         Requested by Eric Blake, for libvirt.
4844
4845 2011-04-05  Bruce Korb  <bkorb@gnu.org>
4846
4847         bootstrap: compute gnulib_extra_files after updating build_aux
4848         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
4849         change build_aux or also supply gnulib_extra_files.  Handle correctly.
4850
4851 2011-04-05  Eric Blake  <eblake@redhat.com>
4852
4853         bootstrap: preserve git whitelist item sorting
4854         * build-aux/bootstrap (sort_patterns): New function.
4855         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
4856
4857 2011-04-05  Simon Josefsson  <simon@josefsson.org>
4858
4859         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
4860         sc_space_tab check.
4861
4862 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
4863
4864         areadlink, areadlinkat: rewrite in terms of careadlinkat
4865         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
4866         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
4867         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
4868         (malloc, realloc): Remove #undefs.
4869         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
4870         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
4871         readlink, ssize_t, stdint, unistd.
4872         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
4873         areadlink, stdint.
4874
4875         careadlinkat: new module
4876         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
4877         * modules/careadlinkat: New files, written by me with
4878         a review and feedback from Ben Pfaff in
4879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
4880
4881 2011-04-01  Bruno Haible  <bruno@clisp.org>
4882
4883         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
4884         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
4885         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
4886         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
4887         Reported by Bruce Korb <bruce.korb@gmail.com>.
4888
4889 2011-04-01  Bruno Haible  <bruno@clisp.org>
4890
4891         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
4892         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
4893         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
4894         * modules/wcpcpy (Depends-on): Add extensions.
4895         * modules/wcpncpy (Depends-on): Likewise.
4896         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
4897         systems.
4898         * doc/posix-functions/wcpncpy.texi: Likewise.
4899         * doc/posix-functions/wcwidth.texi: Likewise.
4900
4901 2011-03-31  Eric Blake  <eblake@redhat.com>
4902
4903         nonblocking: fix mingw test failures
4904         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
4905         non-blocking flag on regular file.
4906         (get_nonblocking_flag): Set errno on invalid fd.
4907         * tests/test-nonblocking.c (main): Avoid test failure on
4908         directories if fchdir is not active.
4909         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
4910
4911 2011-03-31  Bruno Haible  <bruno@clisp.org>
4912
4913         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
4914         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
4915         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
4916         Reported by Simon Josefsson <simon@josefsson.org>.
4917
4918 2011-03-31  Bruno Haible  <bruno@clisp.org>
4919         and Eric Blake  <eblake@redhat.com>
4920
4921         nonblocking: new module
4922         * modules/nonblocking: New module.
4923         * modules/nonblocking-tests: Likewise.
4924         * lib/nonblocking.h: New file.
4925         * lib/nonblocking.c: Likewise.
4926         * tests/test-nonblocking.c: New test.
4927         * lib/ioctl.c (ioctl) [mingw]: Update comment.
4928
4929 2011-03-30  Bruno Haible  <bruno@clisp.org>
4930
4931         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
4932         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
4933         instead of 'printf' format for GCC >= 4.4.
4934         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
4935         (fprintf, printf, vfprintf, vprintf): Declare with
4936         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
4937         the system's vfprintf() function.
4938         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
4939
4940 2011-03-30  Eric Blake  <eblake@redhat.com>
4941
4942         passfd: fix scoping bug
4943         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
4944         before sendmsg/recvmsg.
4945
4946         passfd: standardize coding conventions
4947         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
4948         can be learned at compile time.
4949         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
4950         ifdefs.
4951         (sendfd, recvfd): Follow gnulib code conventions.
4952
4953         passfd: fix incorrect sendmsg arguments
4954         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
4955         incorrect msg_controllen value.
4956         * modules/passfd-tests (Depends-on): Check for alarm.
4957         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
4958         Reported by Bastien ROUCARIES.
4959
4960 2011-03-30  Bruno Haible  <bruno@clisp.org>
4961
4962         c-strcasestr: Relicense under LGPLv2+.
4963         * modules/c-strcasestr (License): Change to LGPLv2+.
4964         Requested by Eric Blake, for libvirt.
4965
4966 2011-03-30  Simon Josefsson  <simon@josefsson.org>
4967
4968         * users.txt: Add libidn2.  Fix libtasn1 link.
4969
4970 2011-03-30  Jim Meyering  <meyering@redhat.com>
4971
4972         tests: readlink* ("",... fails with EINVAL on newer kernels
4973         readlink and readlinkat have typically failed with ENOENT for
4974         the invalid, empty file name,  "".  However, with the advent
4975         of linux-2.6.39, they fail with EINVAL.
4976         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
4977         when operating on the empty file name.
4978         * tests/test-readlink.h (test_readlink): Likewise.
4979
4980 2011-03-29  Bruno Haible  <bruno@clisp.org>
4981
4982         Relicense some modules under LGPLv2+, for libidn2.
4983         * modules/array-mergesort (License): Change to LGPLv2+.
4984         * modules/c-strcaseeq (License): Likewise.
4985         * modules/striconveh (License): Likewise.
4986         * modules/striconveha (License): Likewise.
4987         * modules/uniconv/base (License): Likewise.
4988         * modules/uniconv/u8-conv-from-enc (License): Likewise.
4989         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
4990         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
4991         * modules/unictype/base (License): Likewise.
4992         * modules/unictype/bidiclass-of (License): Likewise.
4993         * modules/unictype/category-M (License): Likewise.
4994         * modules/unictype/category-none (License): Likewise.
4995         * modules/unictype/category-of (License): Likewise.
4996         * modules/unictype/category-test (License): Likewise.
4997         * modules/unictype/category-test-withtable (License): Likewise.
4998         * modules/unictype/combining-class (License): Likewise.
4999         * modules/unictype/joiningtype-of (License): Likewise.
5000         * modules/unictype/scripts (License): Likewise.
5001         * modules/uninorm/base (License): Likewise.
5002         * modules/uninorm/canonical-decomposition (License): Likewise.
5003         * modules/uninorm/composition (License): Likewise.
5004         * modules/uninorm/decompose-internal (License): Likewise.
5005         * modules/uninorm/decomposition-table (License): Likewise.
5006         * modules/uninorm/nfc (License): Likewise.
5007         * modules/uninorm/nfd (License): Likewise.
5008         * modules/uninorm/u32-normalize (License): Likewise.
5009         * modules/unistr/base (License): Likewise.
5010         * modules/unistr/u32-cpy (License): Likewise.
5011         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
5012         * modules/unistr/u32-to-u8 (License): Likewise.
5013         * modules/unistr/u32-uctomb (License): Likewise.
5014         * modules/unistr/u8-check (License): Likewise.
5015         * modules/unistr/u8-mblen (License): Likewise.
5016         * modules/unistr/u8-mbtouc (License): Likewise.
5017         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
5018         * modules/unistr/u8-mbtoucr (License): Likewise.
5019         * modules/unistr/u8-prev (License): Likewise.
5020         * modules/unistr/u8-strlen (License): Likewise.
5021         * modules/unistr/u8-to-u32 (License): Likewise.
5022         * modules/unistr/u8-uctomb (License): Likewise.
5023         * modules/unitypes (License): Likewise.
5024         Requested by Simon Josefsson.
5025
5026 2011-03-29  Simon Josefsson  <simon@josefsson.org>
5027
5028         lib-symbol-visibility: Add a notice.
5029         * modules/lib-symbol-visibility (Notice): New field.
5030
5031 2011-03-29  Bruno Haible  <bruno@clisp.org>
5032
5033         getaddrinfo: Doc fix.
5034         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
5035         section "fixed in Gnulib".
5036
5037 2011-03-28  Simon Josefsson  <simon@josefsson.org>
5038
5039         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
5040         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
5041
5042 2011-03-26  Bruno Haible  <bruno@clisp.org>
5043
5044         unictype/property-byname: Reduce the number of load-time relocations.
5045         * lib/unictype/pr_byname.c: Include <stdlib.h>.
5046         (UC_PROPERTY_INDEX_*): New enumeration values.
5047         (uc_property_byname): Convert an index from the lookup table to an
5048         uc_property_t.
5049         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
5050         values.
5051
5052 2011-03-26  Bruno Haible  <bruno@clisp.org>
5053
5054         unictype/property-byname: Allow omitted word separators and aliases.
5055         * lib/unictype/pr_byname.gperf: Add property names without word
5056         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
5057         for 'space'.
5058
5059 2011-03-26  Bruno Haible  <bruno@clisp.org>
5060
5061         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
5062         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
5063         also hyphens to space.
5064         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
5065         without spaces.
5066         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
5067
5068 2011-03-26  Bruno Haible  <bruno@clisp.org>
5069
5070         unictype/joiningtype-byname: Recognize long names as well.
5071         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
5072         a long name.
5073         * lib/unictype/joiningtype_byname.c: Include <string.h>,
5074         unictype/joiningtype_byname.h.
5075         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
5076         * lib/unictype/joiningtype_byname.gperf: New file.
5077         * modules/unictype/joiningtype-byname (Files): Add
5078         lib/unictype/joiningtype_byname.gperf.
5079         (Depends-on): Add gperf.
5080         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
5081         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
5082         long names.
5083
5084         Tests for module 'unictype/joiningtype-longname'.
5085         * modules/unictype/joiningtype-longname-tests: New file.
5086         * tests/unictype/test-joiningtype_longname.c: New file.
5087
5088         New module 'unictype/joiningtype-longname'.
5089         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
5090         * lib/unictype/joiningtype_longname.c: New file.
5091         * modules/unictype/joiningtype-longname: New file.
5092         * modules/unictype/joiningtype-all (Depends-on): Add
5093         unictype/joiningtype-longname.
5094
5095 2011-03-26  Bruno Haible  <bruno@clisp.org>
5096
5097         unictype/bidiclass-byname: Recognize long names as well.
5098         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
5099         name.
5100         * lib/unictype/bidi_byname.c: Include <string.h>,
5101         unictype/bidi_byname.h.
5102         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
5103         * lib/unictype/bidi_byname.gperf: New file.
5104         * modules/unictype/bidiclass-byname (Files): Add
5105         lib/unictype/bidi_byname.gperf.
5106         (Depends-on): Add gperf.
5107         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
5108         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
5109         long names.
5110
5111         Tests for module 'unictype/bidiclass-longname'.
5112         * modules/unictype/bidiclass-longname-tests: New file.
5113         * tests/unictype/test-bidi_longname.c: New file.
5114
5115         New module 'unictype/bidiclass-longname'.
5116         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
5117         * lib/unictype/bidi_longname.c: New file.
5118         * modules/unictype/bidiclass-longname: New file.
5119         * modules/unictype/bidiclass-all (Depends-on): Add
5120         unictype/bidiclass-longname.
5121
5122 2011-03-26  Bruno Haible  <bruno@clisp.org>
5123
5124         unictype/bidi*: Rename modules.
5125         * modules/unictype/bidiclass-all: Renamed from
5126         modules/unictype/bidicategory-all.
5127         * modules/unictype/bidiclass-name: Renamed from
5128         modules/unictype/bidiclass-name.
5129         (Description): Update.
5130         * modules/unictype/bidiclass-name-tests: Renamed from
5131         modules/unictype/bidicategory-name-tests.
5132         * modules/unictype/bidiclass-byname: Renamed from
5133         modules/unictype/bidicategory-byname.
5134         (Description): Update.
5135         * modules/unictype/bidiclass-byname-tests: Renamed from
5136         modules/unictype/bidicategory-byname-tests.
5137         * modules/unictype/bidiclass-of: Renamed from
5138         modules/unictype/bidicategory-of.
5139         (Description): Update.
5140         * modules/unictype/bidiclass-of-tests: Renamed from
5141         modules/unictype/bidicategory-of-tests.
5142         * modules/unictype/bidiclass-test: Renamed from
5143         modules/unictype/bidicategory-test.
5144         (Description): Update.
5145         * modules/unictype/bidiclass-test-tests: Renamed from
5146         modules/unictype/bidicategory-test-tests.
5147         * modules/unictype/bidicategory-all: New file, a simple redirection.
5148         * modules/unictype/bidicategory-name: Likewise.
5149         * modules/unictype/bidicategory-byname: Likewise.
5150         * modules/unictype/bidicategory-of: Likewise.
5151         * modules/unictype/bidicategory-test: Likewise.
5152         * modules/unictype/property-bidi-* (Dependencies): Update.
5153         * lib/unictype/bidi_*.c: Update comment.
5154
5155 2011-03-26  Bruno Haible  <bruno@clisp.org>
5156
5157         unictype/bidi*: Rename functions, part 2.
5158         * modules/unictype/bidicategory-name (configure.ac): Update required
5159         libunistring version.
5160         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
5161
5162 2011-03-25  Bruno Haible  <bruno@clisp.org>
5163
5164         New module 'unictype/combining-class-all'.
5165         * modules/unictype/combining-class-all: New file.
5166
5167         Tests for module 'unictype/combining-class-byname'.
5168         * modules/unictype/combining-class-byname-tests: New file.
5169         * tests/unictype/test-combiningclass_byname.c: New file.
5170
5171         New module 'unictype/combining-class-byname'.
5172         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
5173         * lib/unictype/combiningclass_byname.c: New file.
5174         * lib/unictype/combiningclass_byname.gperf: New file.
5175         * modules/unictype/combining-class-byname: New file.
5176
5177         Tests for module 'unictype/combining-class-longname'.
5178         * modules/unictype/combining-class-longname-tests: New file.
5179         * tests/unictype/test-combiningclass_longname.c: New file.
5180
5181         New module 'unictype/combining-class-longname'.
5182         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
5183         * lib/unictype/combiningclass_longname.c: New file.
5184         * modules/unictype/combining-class-longname: New file.
5185
5186         Tests for module 'unictype/combining-class-name'.
5187         * modules/unictype/combining-class-name-tests: New file.
5188         * tests/unictype/test-combiningclass_name.c: New file.
5189
5190         New module 'unictype/combining-class-name'.
5191         * lib/unictype.in.h (uc_combining_class_name): New declaration.
5192         * lib/unictype/combiningclass_name.c: New file.
5193         * modules/unictype/combining-class-name: New file.
5194
5195 2011-03-25  Bruno Haible  <bruno@clisp.org>
5196
5197         unictype/combining-class: Rename source files.
5198         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
5199         of unictype/combining.h.
5200         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
5201         Update.
5202         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
5203         * modules/unictype/combining-class (Description): Fix.
5204         (Files, Makefile.am): Update.
5205         * tests/unictype/test-combiningclass.c: Renamed from
5206         tests/unictype/test-combining.c.
5207         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
5208
5209 2011-03-25  Bruno Haible  <bruno@clisp.org>
5210
5211         unictype: Update list of canonical combining classes.
5212         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
5213
5214 2011-03-25  Bruno Haible  <bruno@clisp.org>
5215
5216         unictype/category-byname: Recognize long names as well.
5217         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
5218         a long name.
5219         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
5220         unictype/categ_byname.h.
5221         (UC_CATEGORY_INDEX_*): New enumeration values.
5222         (uc_general_category_byname): Use uc_general_category_lookup and
5223         convert from index to value.
5224         * lib/unictype/categ_byname.gperf: New file.
5225         * modules/unictype/category-byname (Files): Add
5226         lib/unictype/categ_byname.gperf.
5227         (Depends-on): Add gperf.
5228         (Makefile.am): Add rule for generating unictype/categ_byname.h.
5229         * tests/unictype/test-categ_byname.c (main): Test the recognition of
5230         long names.
5231
5232         Tests for module 'unictype/category-longname'.
5233         * modules/unictype/category-longname-tests: New file.
5234         * tests/unictype/test-categ_longname.c: New file.
5235
5236         New module 'unictype/category-longname'.
5237         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
5238         * lib/unictype/categ_longname.c: New file.
5239         * modules/unictype/category-longname: New file.
5240         * modules/unictype/category-all (Depends-on): Add it.
5241
5242 2011-03-25  Bruno Haible  <bruno@clisp.org>
5243
5244         Tests for module 'unictype/category-LC'.
5245         * modules/unictype/category-LC-tests: New file.
5246         * tests/unictype/test-categ_LC.c: New file, automatically generated.
5247
5248         New module 'unictype/category-LC'.
5249         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
5250         (UC_CATEGORY_LC): New declaration.
5251         (UC_CASED_LETTER): New macro.
5252         * lib/gen-uni-tables.c (is_category_LC): New function.
5253         (output_categories): Also handle category LC.
5254         (UC_CATEGORY_MASK_LC): New enumeration value.
5255         (general_category_byname): Also handle category LC.
5256         * lib/unictype/categ_LC.c: New file.
5257         * lib/unictype/categ_LC.h: New file, automatically generated.
5258         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
5259         category LC.
5260         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
5261         * modules/unictype/category-LC: New file.
5262         * modules/unictype/category-byname (Depends-on): Add
5263         unictype/category-LC.
5264         * modules/unictype/category-all (Depends-on): Likewise.
5265
5266 2011-03-25  Eric Blake  <eblake@redhat.com>
5267
5268         xmalloc: revert yesterday's regression
5269         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
5270         realloc's underlying behavior (allowing allocation of zero-size
5271         objects, especially if malloc-gnu is also in use).
5272
5273 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
5274
5275         maint.mk: add missing version to VC-tag
5276         * top/maint.mk: git tag was missing actual tag name; add it.
5277
5278         valgrind: do leak checking, and exit with code 1 on error (not 0)
5279         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
5280         to VALGRIND.
5281
5282 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
5283
5284         posix-modules: say what it does.
5285         * posix-modules: Add a line to the --help output saying what it does.
5286
5287 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
5288
5289         xmalloc: Do not leak if underlying realloc is C99 compatible.
5290         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
5291         This avoids a leak on C99-based systems.  See
5292         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
5293
5294 2011-03-24  Eric Blake  <eblake@redhat.com>
5295
5296         realloc: document portability problem
5297         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
5298         passing 0 size to realloc.
5299
5300 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
5301
5302         doc: update users.txt
5303         * users.txt: Add cvsps, tmpwatch
5304
5305 2011-03-23  Matt Rice  <ratmice@gmail.com>
5306
5307         doc: update users.txt
5308         * users.txt: Add gdb.
5309
5310 2011-03-23  Jim Meyering  <meyering@redhat.com>
5311
5312         doc: update users.txt
5313         Looking through matches up to the following URL (there are still
5314         several more pages), I found several projects that use gnulib:
5315         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
5316         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
5317         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
5318
5319 2011-03-22  Bruno Haible  <bruno@clisp.org>
5320
5321         unictype/bidi*: Rename functions.
5322         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
5323         uc_bidi_class, uc_is_bidi_class): New declarations.
5324         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
5325         uc_bidi_category_byname.
5326         (uc_bidi_category_byname): New function.
5327         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
5328         u_bidi_category_name.
5329         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
5330         (uc_bidi_category_name): New function.
5331         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
5332         uc_bidi_category.
5333         (uc_bidi_category): New function.
5334         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
5335         uc_is_bidi_category. Invoke uc_bidi_class.
5336         (uc_is_bidi_category): New function.
5337         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
5338         instead of uc_bidi_category_byname.
5339         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
5340         instead of uc_bidi_category_name.
5341         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
5342         uc_bidi_category.
5343         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
5344         instead of uc_is_bidi_category.
5345
5346 2011-03-21  Bruno Haible  <bruno@clisp.org>
5347
5348         New module 'unictype/joininggroup-all'.
5349         * modules/unictype/joininggroup-all: New file.
5350
5351         Tests for module 'unictype/joininggroup-of'.
5352         * modules/unictype/joininggroup-of-tests: New file.
5353         * tests/unictype/test-joininggroup_of.c: New file.
5354         * tests/unictype/test-joininggroup_of.h: New file, automatically
5355         generated by gen-uni-tables.
5356
5357         New module 'unictype/joininggroup-of'.
5358         * modules/unictype/joininggroup-of: New file.
5359         * lib/unictype/joininggroup_of.c: New file.
5360         * lib/unictype/joininggroup_of.h: New file, automatically generated by
5361         gen-uni-tables.
5362
5363         Tests for module 'unictype/joininggroup-byname'.
5364         * modules/unictype/joininggroup-byname-tests: New file.
5365         * tests/unictype/test-joininggroup_byname.c: New file.
5366
5367         New module 'unictype/joininggroup-byname'.
5368         * modules/unictype/joininggroup-byname: New file.
5369         * lib/unictype/joininggroup_byname.c: New file.
5370         * lib/unictype/joininggroup_byname.gperf: New file.
5371
5372         Tests for module 'unictype/joininggroup-name'.
5373         * modules/unictype/joininggroup-name-tests: New file.
5374         * tests/unictype/test-joininggroup_name.c: New file.
5375
5376         New module 'unictype/joininggroup-name'.
5377         * modules/unictype/joininggroup-name: New file.
5378         * lib/unictype/joininggroup_name.c: New file.
5379         * lib/unictype/joininggroup_name.h: New file.
5380
5381         New module 'unictype/joiningtype-all'.
5382         * modules/unictype/joiningtype-all: New file.
5383
5384         Tests for module 'unictype/joiningtype-of'.
5385         * modules/unictype/joiningtype-of-tests: New file.
5386         * tests/unictype/test-joiningtype_of.c: New file.
5387         * tests/unictype/test-joiningtype_of.h: New file, automatically
5388         generated by gen-uni-tables.
5389
5390         New module 'unictype/joiningtype-of'.
5391         * modules/unictype/joiningtype-of: New file.
5392         * lib/unictype/joiningtype_of.c: New file.
5393         * lib/unictype/joiningtype_of.h: New file, automatically generated by
5394         gen-uni-tables.
5395
5396         Tests for module 'unictype/joiningtype-byname'.
5397         * modules/unictype/joiningtype-byname-tests: New file.
5398         * tests/unictype/test-joiningtype_byname.c: New file.
5399
5400         New module 'unictype/joiningtype-byname'.
5401         * modules/unictype/joiningtype-byname: New file.
5402         * lib/unictype/joiningtype_byname.c: New file.
5403
5404         Tests for module 'unictype/joiningtype-name'.
5405         * modules/unictype/joiningtype-name-tests: New file.
5406         * tests/unictype/test-joiningtype_name.c: New file.
5407
5408         New module 'unictype/joiningtype-name'.
5409         * modules/unictype/joiningtype-name: New file.
5410         * lib/unictype/joiningtype_name.c: New file.
5411
5412         unictype: Add support for Arabic shaping properties.
5413         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
5414         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
5415         declarations.
5416         (UC_JOINING_GROUP_*): New enumeration values.
5417         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
5418         declarations.
5419         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
5420         (unicode_joining_type): New variable.
5421         (UC_JOINING_GROUP_*): New enumeration values.
5422         (unicode_joining_group): New variable.
5423         (fill_arabicshaping, joining_type_as_c_identifier,
5424         output_joining_type_test, output_joining_type,
5425         joining_group_as_c_identifier, output_joining_group_test,
5426         output_joining_group): New functions.
5427         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
5428         fill_arabicshaping and output_joining_type_test, output_joining_type,
5429         output_joining_group_test, output_joining_group.
5430         Reported by Simon Josefsson.
5431
5432 2011-03-21  Jim Meyering  <meyering@redhat.com>
5433
5434         strftime: fix a bug in yesterday's change
5435         * lib/strftime.c (add): Accommodate width's initial value of -1.
5436         Otherwise, nstrftime would copy uninitialized data into
5437         the result buffer.
5438
5439 2011-03-21  Jim Meyering  <meyering@redhat.com>
5440
5441         tests: add strftime-tests module
5442         * tests/test-strftime.c: New file.
5443         * modules/strftime-tests: New module.
5444
5445 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5446
5447         strftime: don't assume a byte count fits in 'int'
5448         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
5449         found this problem by static analysis, using gcc -Wstrict-overflow
5450         (GCC 4.5.2, x86-64).  This reported an optimization that depended
5451         on an integer overflow having undefined behavior, but it turns out
5452         that the argument is a size, which might not fit in 'int' anyway,
5453
5454 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5455
5456         stdio: don't require ignore_value around fwrite
5457
5458         This patch works around libc bug 11959
5459         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
5460         Without this patch, applications must often write
5461         ignore_value (fwrite (...)) even though the ignore_value is
5462         not helpful here.  It's common to write many objects, using
5463         fwrite/printf/etc., and then use ferror to detect output error.
5464
5465         I considered making this patch optional, but decided against it,
5466         because libc is obviously being inconsistent here: there is no
5467         reason libc should insist that user code must inspect fwrite
5468         return's value without also insisting that it inspect printf's,
5469         putchar's, etc.  If user code wants to have a strict style where
5470         all these functions' values are checked (so that ferror need not
5471         be checked), we could add support for that style in a new gnulib
5472         module, but in the meantime it's better to be consistent and to
5473         support common usage.
5474
5475         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
5476         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
5477         that we are compiling in checking mode, and if not C++, and
5478         if not already wrapping fwrite for some other reason.
5479         (fwrite): #define to rpl_fwrite if the latter is defined.
5480
5481 2011-03-20  Bruno Haible  <bruno@clisp.org>
5482
5483         verror: Fix compilation error introduced on 2011-02-13.
5484         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
5485         instead of __attribute__.
5486         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5487
5488 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5489             Bruno Haible  <bruno@clisp.org>
5490
5491         socklen: do not depend on sys_socket
5492         While trying to modify Emacs to use gnulib's socklen module,
5493         I discovered a circular dependency: socklen depends on sys_socket
5494         and vice versa.  Emacs can use socklen, but it does not need
5495         sys_socket because it has its own substitute for sys/socket.h.
5496         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
5497         gl_TYPE_SOCKLEN_T.
5498         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
5499         gl_PREREQ_SYS_H_SOCKET.
5500         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
5501         gl_PREREQ_SYS_H_SOCKET.
5502         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
5503         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
5504         * modules/socklen (Depends-on): Do not depend on sys_socket.
5505         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
5506
5507 2011-03-20  Jim Meyering  <meyering@redhat.com>
5508
5509         maint.mk: sort file names *after* new transformation
5510         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
5511         prefix would have led to an unwarranted failure in GNU parted.
5512         Sort after that transformation.
5513
5514 2011-03-19  Jim Meyering  <meyering@redhat.com>
5515
5516         maint.mk: fix po-file syntax-check rule
5517         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
5518         Patch by Bruno Haible.
5519
5520 2011-03-19  Bruno Haible  <bruno@clisp.org>
5521
5522         socklen: Update comment.
5523         * m4/socklen.m4: Update comment about platforms.
5524
5525 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
5526             Bruno Haible  <bruno@clisp.org>
5527
5528         inet_ntop, inet_pton: Simplify.
5529         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
5530         documented to provide socklen_t and we already depend on sys_socket.
5531         * modules/inet_pton (Depends-on): Likewise.
5532         * lib/arpa_inet.in.h: Adjust comment.
5533
5534 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
5535             Bruno Haible  <bruno@clisp.org>
5536
5537         netdb: Simplify.
5538         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
5539         documented to provide socklen_t and we already depend on sys_socket.
5540         * lib/netdb.in.h: Adjust comment.
5541
5542 2011-03-19  Bruno Haible  <bruno@clisp.org>
5543
5544         sys_socket, netdb: Document problem with socklen_t.
5545         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
5546         platforms.
5547         * doc/posix-headers/netdb.texi: Likewise.
5548
5549 2011-03-18  Eric Blake  <eblake@redhat.com>
5550
5551         maint.mk: let po check work in VPATH build
5552         * top/maint.mk (po_file): Allow cfg.mk override.
5553         (sc_po_check): Allow VPATH use.
5554         Reported by Jiri Denemark.
5555
5556 2011-03-16  Jim Meyering  <meyering@redhat.com>
5557
5558         maint.mk: allow fine-grained syntax-check exclusion via Make variables
5559         Before, you would have had to create one .x-sc_ file per rule in order
5560         to exempt offending files.  Now, you may instead use a Make variable --
5561         usually defined in cfg.mk -- whose name identifies the affected rule.
5562         * top/maint.mk (_sc_excl): Define.
5563         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
5564         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
5565
5566 2011-03-13  Bruno Haible  <bruno@clisp.org>
5567
5568         ignore-value tests: Avoid warnings.
5569         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
5570         empty for gcc < 3.4.
5571
5572 2011-03-13  Bruno Haible  <bruno@clisp.org>
5573
5574         passfd: Fix link error on Solaris.
5575         * modules/passfd (Description): Correct.
5576         (Depends-on): Add socketlib.
5577         (Link): New section.
5578         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
5579
5580 2011-03-13  Bruno Haible  <bruno@clisp.org>
5581
5582         passfd: Fix link error on AIX 5.2.
5583         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
5584
5585 2011-03-13  Bruno Haible  <bruno@clisp.org>
5586
5587         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
5588         * lib/sys_socket.in.h: Include <stddef.h>.
5589         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
5590         CMSG_FIRSTHDR. Remove unused variable.
5591
5592 2011-03-13  Bruno Haible  <bruno@clisp.org>
5593
5594         passfd: Fix compilation error on OpenBSD.
5595         * lib/passfd.c: Include <sys/uio.h>.
5596
5597 2011-03-13  Bruno Haible  <bruno@clisp.org>
5598
5599         passfd test: Fix warnings.
5600         * tests/test-passfd.c: Include <sys/wait.h>.
5601         (main): Fix typo.
5602
5603 2011-03-13  Bruno Haible  <bruno@clisp.org>
5604
5605         passfd module, part 4, tweaks.
5606         * tests/test-passfd.c: Reorder includes.
5607         (main): Fix perror and printf calls.
5608
5609 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5610
5611         passfd module, part 4.
5612         * modules/passfd-tests: New file.
5613         * tests/test-passfd.c: New file.
5614
5615 2011-03-13  Jim Meyering  <meyering@redhat.com>
5616
5617         Makefile: rely on GNU make; derive syntax-check rule names
5618         Rather than requiring that each sc_ rule be listed as a dependent
5619         of "check", use features of GNU make to derive the list.
5620         * Makefile (syntax-check-rules): Define.
5621         (check): Depend on the new variable, not the hard-coded list.
5622
5623 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
5624             Bruno Haible  <bruno@clisp.org>
5625
5626         passfd module, part 3.
5627         * lib/passfd.h (recvfd): Add a flags argument.
5628         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
5629         (recvfd): Add a flags argument.
5630         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
5631         exists.
5632         * modules/passfd (Depends-on): Add cloexec.
5633         Suggested by Eric Blake.
5634
5635 2011-03-13  Bruno Haible  <bruno@clisp.org>
5636
5637         passfd module, part 2, tweaks.
5638         * modules/passfd (Files): Reorder.
5639         (Depends-on): Remove errno.
5640         (Include): Remove <sys/socket.h>, <sys/un.h>.
5641         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
5642         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
5643         specification header. Include <sys/socket.h> always. Don't include
5644         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
5645         (sendfd): Clarify that it sets errno when it fails.
5646         (recvfd): Fix specification.
5647
5648 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5649
5650         passfd module, part 2.
5651         * modules/passfd: New file.
5652         * lib/passfd.h: New file.
5653         * lib/passfd.c: New file.
5654
5655 2011-03-12  Bruno Haible  <bruno@clisp.org>
5656
5657         wcswidth, mbswidth: Avoid integer overflow.
5658         * lib/wcswidth.c: Include <limits.h>.
5659         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
5660         * lib/mbswidth.c: Include <limits.h>.
5661         (mbsnwidth): Avoid 'int' overflow.
5662         Reported by Jim Meyering.
5663
5664 2011-03-12  Bruno Haible  <bruno@clisp.org>
5665
5666         futimens, utimensat: Avoid endless recursion on Solaris 10.
5667         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
5668         Solaris.
5669         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
5670         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
5671
5672 2011-03-11  Jim Meyering  <meyering@redhat.com>
5673
5674         maint.mk: relax a regexp to accommodate other formatting styles
5675         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
5676         between "ngettext" and the following "(".
5677
5678 2011-03-11  Pádraig Brady <P@draigBrady.com>
5679
5680         maint.mk: suppress a false positive warning
5681         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
5682         diagnostics are marked with ngettext.
5683
5684 2011-03-10  Eric Blake  <eblake@redhat.com>
5685
5686         wchar: add explicit dependencies, for Tru64
5687         * modules/mbmemcasecoll (Depends-on): Add wchar.
5688         * modules/mbtowc (Depends-on): Likewise.
5689         * modules/vasnprintf (Depends-on): Likewise.
5690         * modules/unistdio/u-printf-args (Depends-on): Likewise.
5691         * modules/wctomb (Depends-on): Likewise.
5692         Reported by Peter O'Gorman.
5693
5694 2011-03-08  Bruno Haible  <bruno@clisp.org>
5695
5696         passfd module, part 1, tweaks.
5697         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
5698         Improve indentation. Improve AC_MSG_CHECKING messages.
5699         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
5700         gl_SOCKET_FAMILIES.
5701
5702 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5703
5704         passfd module, part 1.
5705         * m4/afunix.m4: New file.
5706         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
5707         sockets.
5708
5709 2011-03-08  Bruno Haible  <bruno@clisp.org>
5710
5711         regex-quote: New API.
5712         * lib/regex-quote.h: Include <stdbool.h>.
5713         (struct regex_quote_spec): New type.
5714         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
5715         New declarations.
5716         (regex_quote_length, regex_quote_copy, regex_quote): Take a
5717         'const struct regex_quote_spec *' argument.
5718         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
5719         (pcre_special): New constant.
5720         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
5721         New functions.
5722         (regex_quote_length, regex_quote_copy, regex_quote): Take a
5723         'const struct regex_quote_spec *' argument.
5724         * modules/regex-quote (Depends-on): Add stdbool.
5725         * tests/test-regex-quote.c (check): Update for new API. Add test for
5726         anchored results.
5727         * NEWS: Mention the API change.
5728         Reported by Reuben Thomas and Eric Blake.
5729
5730 2011-03-06  Bruno Haible  <bruno@clisp.org>
5731
5732         regex-quote: Fix creation of POSIX extended regular expressions.
5733         * lib/regex-quote.c (ere_special): Add grouping and alternation
5734         operators.
5735
5736 2011-03-05  Bruno Haible  <bruno@clisp.org>
5737
5738         doc: Improve doc regarding autopoint vs. gnulib.
5739         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
5740         disable autopoint while running autoreconf.
5741         Suggested by Ralf Wildenhues.
5742
5743 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5744
5745         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
5746         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
5747
5748 2011-03-03  Bruce Korb  <bkorb@gnu.org>
5749
5750         parse-duration: remove xalloc.h dependency
5751         * lib/parse-duration.c (parse_period): handle NULL return from
5752         strdup instead of calling xstrdup().
5753         * modules/parse-duration: remove "xalloc" dependency
5754
5755 2011-03-03  Matthew Booth  <mbooth@redhat.com>
5756
5757         bootstrap: honor m4_base when running aclocal
5758         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
5759
5760 2011-03-02  Jim Meyering  <meyering@redhat.com>
5761
5762         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
5763         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
5764         on request from Matt Booth.
5765
5766 2011-03-01  Eric Blake  <eblake@redhat.com>
5767
5768         test-link: work on Hurd
5769         * tests/test-link.h (test_link): Hurd rejects linking directories
5770         with EISDIR instead of the POSIX-mandated EPERM.
5771
5772 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
5773
5774         stdio: simplify by moving files to printf-posix, sigpipe
5775         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
5776         since this symbol is needed only if printf is replaced.
5777         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
5778         Require gl_ASM_SYMBOL_PREFIX.
5779         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
5780         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
5781         (Depends-on): Add 'raise'.
5782         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
5783         * modules/stdio (Files): Remove lib/stdio-write.c,
5784         m4/asm-underscore.m4.
5785         (Depends-on): Remove 'raise'.
5786
5787         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
5788         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
5789         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
5790         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
5791
5792 2011-02-28  Bruno Haible  <bruno@clisp.org>
5793
5794         localcharset: Assume ANSI C behaviour of free().
5795         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
5796         calling free().
5797         Suggested by Simon Josefsson <simon@josefsson.org>.
5798
5799 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
5800             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
5801             Bruno Haible  <bruno@clisp.org>  (tiny change)
5802
5803         On Cygwin, use /proc file system instead of win32 API.
5804         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
5805         Win32 file names.
5806         (DllMain): Simplify by removing Cygwin specific code.
5807         (find_shared_library_fullname): Use Linux specific implementation also
5808         for Cygwin.
5809         (get_shared_library_fullname): Update accordingly.
5810         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
5811         Win32 file names.
5812         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
5813         Cygwin specific code.
5814
5815 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
5816             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
5817
5818         Fix OpenMP flag detection for various Fortran compilers.
5819         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
5820         OpenMP-conditional compilation construct, to force compile
5821         failure with missing OpenMP flag.
5822         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
5823
5824 2011-02-25  Eric Blake  <eblake@redhat.com>
5825
5826         strstr: expand test coverage
5827         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
5828         compilation.
5829         * tests/test-memmem.c (main): Duplicate tests.
5830         * tests/test-strcasestr.c (main): Likewise.
5831         * tests/test-c-strcasestr.c (main): Likewise.
5832
5833 2011-02-25  Jim Meyering  <meyering@redhat.com>
5834
5835         maint.mk: detect missing-NL-at-EOF, too
5836         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
5837         it also detects when a file lacks a newline at EOF.
5838         (require_exactly_one_NL_at_EOF_): Renamed from
5839         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
5840         since people may well have .x-sc_... file names tied to the
5841         existing name.  Suggested by Eric Blake.
5842
5843 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
5844
5845         dirname: move m4/dos.m4 functionality into lib/dosname.h
5846
5847         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
5848         extracts symbols from it, puts them into config.h; but it's much
5849         easier to use the symbols directly.  filename.h already does this,
5850         but it disagrees with dos.m4 in some respects.  This patch
5851         introduces a different include file dosname.h that packages up
5852         dos.m4, and then later we can work on merging filename.h and
5853         dosname.h.  Applications that need only the easy-to-configure
5854         symbols should consider including dosname.h rather than dirname.h.
5855         * NEWS: Mention incompatible changes.
5856         * m4/dos.m4: Remove.
5857         * lib/dosname.h, modules/dosname: New files.
5858         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
5859         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
5860         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
5861         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
5862         Include dosname.h, not dirname.h.
5863         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
5864         Include dosname.h, for definitions of symbols like ISSLASH
5865         that used to be in config.h.
5866         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
5867         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5868         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5869         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5870         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
5871         * modules/rmdir (Files): Likewise.
5872         * modules/stat (Files): Likewise.
5873         * modules/unlink (Files): Likewise.
5874         * modules/dirname-lgpl (Depends-on): Add dosname.
5875         * modules/lstat (Depends-on): Likewise.
5876         * modules/openat (Depends-on): Likewise.
5877         * modules/rmdir (Depends-on): Likewise.
5878         * modules/savewd (Depends-on): Likewise.
5879         * modules/stat (Depends-on): Likewise.
5880         * modules/unlink (Depends-on): Likewise.
5881         * modules/openat (Depends-on): Remove dirname-lgpl.
5882         * modules/savewd (Depends-on): Likewise.
5883         * tests/test-dirname.c: Do not use removed symbols like
5884         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
5885         the remaining symbols, e.g., ISSLASH ('\\').
5886
5887 2011-02-25  Eric Blake  <eblake@redhat.com>
5888
5889         strstr: revert patches that introduced bug and pessimization
5890         * lib/str-two-way.h: Add another reference.
5891         (two_way_short_needle, two_way_long_needle): Revert changes from
5892         2011-02-24; they pessimize search speed.
5893         (critical_factorization): Partially revert changes from
5894         2010-06-22; they violate the requirement that the left half of the
5895         needle be smaller than the period of the needle.
5896
5897 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5898
5899         filenamecat: remove unnecessary dependency on dirname-lgpl
5900         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
5901         is no direct dependency, just an indirect one via filenamecat-lgpl.
5902
5903         remove: remove unnecessary use of m4/dos.m4
5904         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
5905         * modules/remove (FILES): Remove m4/dos.m4.
5906
5907         * lib/openat-proc.c: Don't include dirname.h; not needed.
5908
5909         backupfile: remove unnecessary use of m4/dos.m4
5910         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
5911         of its symbols are used by the backupfile code.  backupfile.c does
5912         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
5913         for the rare case of programs that want all their backup file
5914         names to live within 8+3 limits, and dos.m4 doesn't address that.
5915         * modules/backupfile (Files): Remove m4/dos.m4.
5916
5917 2011-02-24  Jim Meyering  <meyering@redhat.com>
5918
5919         strstr: fix a bug whereby strstr would mistakenly return NULL
5920         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
5921         in period calculation.
5922         (two_way_long_needle): Likewise.
5923         The original problem was reported by Mike Stump in
5924         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
5925         Ralf Wildenhues provided the short needle and haystack.
5926         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
5927         Add a more involved test to trigger the bug in two_way_long_needle.
5928
5929 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
5930
5931         gnulib-tool: remove use of bold display in help screen
5932         * gnulib-tool (func_usage): Do not use bold display anymore in the
5933         help screen.  That was just meant to be a temporary emphasis for a
5934         backward-incompatible change.
5935
5936 2011-02-23  Bruno Haible  <bruno@clisp.org>
5937
5938         Fix misindentation of preprocessor directives.
5939         * lib/argp-namefrob.h: Reindent preprocessor directives.
5940         * lib/getopt_int.h (struct _getopt_data): Likewise.
5941         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
5942         * lib/vasnprintf.c (decode_long_double): Likewise.
5943         * tests/test-argmatch.c: Insert blank lines, for clarity.
5944         * tests/test-exclude.c: Likewise.
5945
5946 2011-02-22  Bruno Haible  <bruno@clisp.org>
5947
5948         ioctl: Fix for MacOS X in 64-bit mode.
5949         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
5950         value.
5951         Suggested by Eric Blake.
5952         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
5953
5954 2011-02-22  Jim Meyering  <meyering@redhat.com>
5955
5956         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
5957         * Makefile (sc_cpp_indent_check): Don't limit the check to files
5958         in lib/.
5959
5960 2011-02-22  Eric Blake  <eblake@redhat.com>
5961
5962         maint: avoid any CDPATH issue
5963         * Makefile (sc_cpp_indent_check): Anchor cd argument.
5964
5965         maint: adjust cpp indentation for my modules, as well
5966         * Makefile (sc_cpp_indent_check): Add my name.
5967         * lib/fbufmode.c: Filter through cppi.
5968         * lib/fpurge.c: Likewise.
5969         * lib/freadable.c: Likewise.
5970         * lib/freading.c: Likewise.
5971         * lib/fwritable.c: Likewise.
5972         * lib/fwriting.c: Likewise.
5973         * lib/sigaction.c: Likewise.
5974
5975 2011-02-22  Jim Meyering  <meyering@redhat.com>
5976
5977         maint: adjust cpp indentation to reflect nesting depth
5978         I.e., in a block of code that begins with an unnested "#if",
5979         put one space between the "#" in column 1 and following token.
5980         For example,
5981         -#include <sys/vfs.h>
5982         +# include <sys/vfs.h>
5983         Do this only in .c files that are part of a module I maintain.
5984         * lib/linkat.c: Filter through cppi.
5985         * lib/nanosleep.c: Likewise.
5986         * lib/openat.c: Likewise.
5987         * lib/openat-die.c: Likewise.
5988         * lib/dup3.c: Likewise.
5989         * lib/fchownat.c: Likewise.
5990         * lib/flock.c: Likewise.
5991         * lib/fsync.c: Likewise.
5992         * lib/fts.c: Likewise.
5993         * lib/getpass.c: Likewise.
5994         * lib/gettimeofday.c: Likewise.
5995         * lib/userspec.c: Likewise.
5996         * Makefile (sc_cpp_indent_check): New rule, to check this.
5997
5998 2011-02-22  Bruno Haible  <bruno@clisp.org>
5999
6000         New module 'wctomb'.
6001         * lib/stdlib.in.h (wctomb): New declaration.
6002         * lib/wctomb.c: New file.
6003         * lib/wctomb-impl.h: New file.
6004         * m4/wctomb.m4: New file.
6005         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
6006         REPLACE_WCTOMB.
6007         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
6008         REPLACE_WCTOMB.
6009         * modules/wctomb: New file.
6010         * tests/test-stdlib-c++.cc: Test signature of wctomb.
6011         * doc/posix-functions/wctomb.texi: Mention the new module.
6012         * modules/wctob (Depends-on): Add wctomb.
6013
6014 2011-02-22  Bruno Haible  <bruno@clisp.org>
6015
6016         New module 'mbtowc'.
6017         * lib/stdlib.in.h (mbtowc): New declaration.
6018         * lib/mbtowc.c: New file.
6019         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
6020         * m4/mbtowc.m4: New file.
6021         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
6022         REPLACE_MBTOWC.
6023         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
6024         REPLACE_MBTOWC.
6025         * modules/mbtowc: New file.
6026         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
6027         * doc/posix-functions/mbtowc.texi: Mention the new module.
6028         * modules/btowc (Depends-on): Add mbtowc.
6029
6030 2011-02-22  Bruno Haible  <bruno@clisp.org>
6031
6032         wcrtomb: Add more tests for native Windows platforms.
6033         * tests/test-wcrtomb-w32-1.sh: New file.
6034         * tests/test-wcrtomb-w32-2.sh: New file.
6035         * tests/test-wcrtomb-w32-3.sh: New file.
6036         * tests/test-wcrtomb-w32-4.sh: New file.
6037         * tests/test-wcrtomb-w32-5.sh: New file.
6038         * tests/test-wcrtomb-w32.c: New file.
6039         * modules/wcrtomb-tests (Files): Add them.
6040         (Makefile.am): Arrange to run these tests.
6041         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
6042         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
6043
6044 2011-02-20  Bruno Haible  <bruno@clisp.org>
6045
6046         wcrtomb: Enhance test.
6047         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
6048
6049 2011-02-20  Bruno Haible  <bruno@clisp.org>
6050
6051         mbrtowc: Tiny optimization.
6052         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
6053
6054 2011-02-20  Jim Meyering  <meyering@redhat.com>
6055
6056         test-exclude.c: remove unmatched #endif
6057         * tests/test-exclude.c: Remove stray #endif, left over from
6058         the change of a week ago.
6059
6060 2011-02-19  Jim Meyering  <meyering@redhat.com>
6061
6062         git-version-gen: skip "-dirty" check when appropriate
6063         * build-aux/git-version-gen: Don't run any git commands when the
6064         version string comes from .tarball-version.  Prior to this, we
6065         would run git update-index --refresh even from a just-unpacked
6066         tarball directory, and that could affect a .git/ directory in a
6067         parent of the build directory.  Reported by Mike Frysinger.
6068
6069 2011-02-19  Bruno Haible  <bruno@clisp.org>
6070
6071         unictype/property-byname: Reduce the size of the 'data' segment.
6072         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
6073
6074 2011-02-19  Bruno Haible  <bruno@clisp.org>
6075
6076         unictype/scripts: Reduce the size of the 'data' segment.
6077         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
6078         '%pic'.
6079         * lib/unictype/scripts_byname.gperf: Regenerated.
6080
6081 2011-02-19  Bruno Haible  <bruno@clisp.org>
6082
6083         stdint: Update documentation.
6084         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
6085
6086 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
6087
6088         stdint: omit redundant check for wchar.h
6089         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
6090         always tests whether wchar.h exists, so remove the now-redundant test.
6091
6092 2011-02-18  Bruno Haible  <bruno@clisp.org>
6093
6094         stdint: Cut dependency to module 'wchar'.
6095         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
6096         include the necessary prerequisites.
6097         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
6098         * modules/stdint (Depends-on): Remove wchar.
6099         (Makefile.am): Substitute HAVE_WCHAR_H.
6100         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
6101
6102 2011-02-18  Eric Blake  <eblake@redhat.com>
6103
6104         longlong: skip, rather than fail, on cross-compilation
6105         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
6106         when cross-compiling; regression from 2011-02-16.
6107
6108 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
6109
6110         * NEWS: Mention 2011-02-08 change to stdlib.
6111
6112 2011-02-17  Bruno Haible  <bruno@clisp.org>
6113
6114         getloadavg: Add comments about platforms.
6115         * m4/getloadavg.m4: Add comment.
6116         * lib/getloadavg.c: Likewise.
6117
6118 2011-02-17  Bruno Haible  <bruno@clisp.org>
6119
6120         getloadavg: Fix link error on Solaris 2.6.
6121         * modules/getloadavg (Link): New section.
6122         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
6123         linking test-getloadavg.
6124         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
6125         getloadavg.
6126
6127 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
6128
6129         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
6130         It was 'int', but this doesn't match the IRIX 6.5 manual.
6131         Suggested by Bruno Haible in
6132         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
6133
6134 2011-02-17  Bruno Haible  <bruno@clisp.org>
6135
6136         havelib: Fix comments.
6137         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
6138         change.
6139
6140 2011-02-17  Bruno Haible  <bruno@clisp.org>
6141
6142         havelib: Update config.rpath.
6143         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
6144
6145 2011-02-17  Bruno Haible  <bruno@clisp.org>
6146
6147         getloadavg test: Add some plausibility checks.
6148         * tests/test-getloadavg.c (check_avg): Print a warning when the value
6149         is improbable.
6150
6151 2011-02-16  Eric Blake  <eblake@redhat.com>
6152
6153         maintainer-makefile: make syntax-check a no-op from tarballs
6154         * top/maint.mk (no-vc-detected): New rule.
6155         (local-checks-available): Use it to avoid hanging if someone tries
6156         'make syntax-check' from a tarball.  Also append to any non-syntax
6157         checks already defined in cfg.mk.
6158
6159 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
6160
6161         longlong: tune, particularly for common case of c99
6162
6163         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
6164         or running anything if c99, or if unsigned long long int does not
6165         work.  In either case, we know the answer without further tests.
6166         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
6167         it at most once, and use its results for both long long int and
6168         unsigned long long int.  This is more likely to be efficient in
6169         the common case where the program wants to check for both long
6170         long int and unsigned long long int.
6171         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
6172         since the answer is already known.
6173
6174 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
6175
6176         getloadavg: set errno
6177         * lib/getloadavg.c: Set errno when returning -1.  If no other
6178         error number looks appropriate, set it to ENOSYS if the getloadavg
6179         looks like it can't possibly ever work, ENOTSUP otherwise.
6180         Suggested by Bruno Haible in
6181         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
6182
6183         getloadavg: trim unused parts and speed up 'configure'
6184         * NEWS: Document this.
6185         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
6186         always compiled if getloadavg is absent.
6187         Move test code to ...
6188         * tests/test-getloadavg.c: New file, containing previous
6189         contents of test from lib/getloadavg.c.  It also contains
6190         suggestions by Bruno Haible in
6191         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
6192         * modules/getloadavg-tests: New file.
6193         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
6194         Do tests in the same order as they're needed for getloadavg.c.
6195         Omit setgid-related tests that generate symbols KMEM_GROUP,
6196         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
6197         Do only the tests that are needed to see whether the system has
6198         getloadavg, moving the other tests into ...
6199         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
6200         NLIST_NAME_UNION; nobody should be using it.  Do not define
6201         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
6202         relevant, as the user of this module shouldn't care how getloadavg
6203         is implemented.
6204
6205         getloadavg: omit unused var
6206         * lib/getloadavg.c (getloadavg): Omit unused local variable.
6207
6208 2011-02-15  Jim Meyering  <meyering@redhat.com>
6209
6210         doc: update users.txt
6211         * users.txt: Update iwhd's URL.
6212
6213 2011-02-13  Bruno Haible  <bruno@clisp.org>
6214
6215         Consistent macro naming for macros that use GCC __attribute__.
6216         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
6217         _ATTRIBUTE_NONNULL_.
6218         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
6219         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
6220         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
6221         ATTRIBUTE_DEPRECATED.
6222         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
6223         ATTRIBUTE_NORETURN.
6224         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6225         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6226         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6227         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6228         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
6229         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
6230         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
6231         ATTRIBUTE_SENTINEL.
6232         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
6233         ATTRIBUTE_RETURN_CHECK.
6234         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
6235         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
6236         ATTRIBUTE_NORETURN.
6237         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
6238         Reported by Paul Eggert.
6239
6240 2011-02-13  Bruno Haible  <bruno@clisp.org>
6241
6242         Don't interfere with a program's definition of __attribute__.
6243         * lib/argp.h (__attribute__): Remove definition.
6244         (_GL_ATTRIBUTE_FORMAT): New macro.
6245         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
6246         * lib/argp-fmtstream.h (__attribute__): Remove definition.
6247         (_GL_ATTRIBUTE_FORMAT): New macro.
6248         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
6249         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
6250         GCC 3 or newer.
6251         * lib/error.h (__attribute__): Remove definition.
6252         (_GL_ATTRIBUTE_FORMAT): New macro.
6253         (error, error_at_line): Use it.
6254         * lib/hash.h (__attribute__): Remove definition.
6255         (ATTRIBUTE_WUR): Update definition. Define always.
6256         * lib/openat.h (__attribute__): Remove definition.
6257         (ATTRIBUTE_NORETURN): Update definition. Define always.
6258         * lib/sigpipe-die.h (__attribute__): Remove definition.
6259         (ATTRIBUTE_NORETURN): Update definition. Define always.
6260         * lib/vasnprintf.h (__attribute__): Remove definition.
6261         (_GL_ATTRIBUTE_FORMAT): New macro.
6262         (asnprintf, vasnprintf): Use it.
6263         * lib/xalloc.h (__attribute__): Remove definition.
6264         (ATTRIBUTE_NORETURN): Update definition. Define always.
6265         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
6266         * lib/xmemdup0.h (__attribute__): Remove definition.
6267         (ATTRIBUTE_NORETURN): Update definition. Define always.
6268         * lib/xprintf.h (__attribute__): Remove definition.
6269         (_GL_ATTRIBUTE_FORMAT): New macro.
6270         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
6271         * lib/xstrtol.h (__attribute__): Remove definition.
6272         (ATTRIBUTE_NORETURN): Update definition. Define always.
6273         * lib/xvasprintf.h (__attribute__): Remove definition.
6274         (_GL_ATTRIBUTE_FORMAT): New macro.
6275         (xasprintf, xvasprintf): Use it.
6276         * tests/test-argmatch.c (__attribute__): Remove definition.
6277         (ATTRIBUTE_NORETURN): Update definition. Define always.
6278         * tests/test-exclude.c (__attribute__): Remove definition.
6279         (ATTRIBUTE_NORETURN): Update definition. Define always.
6280         Reported by Paul Eggert.
6281
6282 2011-02-13  Bruno Haible  <bruno@clisp.org>
6283
6284         mbrtowc: Add more tests for native Windows platforms.
6285         * tests/test-mbrtowc-w32-1.sh: New file.
6286         * tests/test-mbrtowc-w32-2.sh: New file.
6287         * tests/test-mbrtowc-w32-3.sh: New file.
6288         * tests/test-mbrtowc-w32-4.sh: New file.
6289         * tests/test-mbrtowc-w32-5.sh: New file.
6290         * tests/test-mbrtowc-w32.c: New file.
6291         * modules/mbrtowc-tests (Files): Add them.
6292         (Makefile.am): Arrange to run these tests.
6293         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
6294         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
6295
6296 2011-02-13  Bruno Haible  <bruno@clisp.org>
6297
6298         mbrtowc: Work around native Windows bug.
6299         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
6300         guess when no suitable locale for testing was found.
6301         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
6302
6303 2011-02-13  Bruno Haible  <bruno@clisp.org>
6304
6305         mbsinit: Work around mingw bug.
6306         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
6307         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
6308         Windows.
6309         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
6310
6311 2011-02-13  Bruno Haible  <bruno@clisp.org>
6312
6313         mbsinit: Don't crash for a NULL argument.
6314         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
6315         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
6316
6317 2011-02-13  Bruno Haible  <bruno@clisp.org>
6318
6319         Don't interfere with a program's definition of __attribute__.
6320         * lib/stdio.in.h (__attribute__): Remove definition.
6321         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
6322         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
6323         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
6324         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
6325         * lib/string.in.h (__attribute__): Remove definition.
6326         Reported by Paul Eggert.
6327
6328 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
6329
6330         stdlib: don't get in the way of non-GCC __attribute__
6331         See thread starting at
6332         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
6333         Revert previous stdlib change, installing the following instead:
6334         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
6335         to get in the way of a non-GCC compiler that supports __attribute__.
6336         (_GL_ATTRIBUTE_RETURN): New macro.
6337         (_Exit): Use it instead of __attribute__.
6338
6339 2011-02-12  Bruno Haible  <bruno@clisp.org>
6340
6341         quotearg test: Avoid test failure on mingw.
6342         * tests/test-quotearg.sh: Convert the locale identifier from native
6343         Windows syntax to Unix syntax.
6344
6345 2011-02-12  Bruno Haible  <bruno@clisp.org>
6346
6347         setlocale: Prefer gnulib's override over libintl's override.
6348         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
6349         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
6350         GNULIB_defined_setlocale is set.
6351
6352 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
6353
6354         stdlib: support non-GCC __attribute__
6355
6356         Fix a serious and tricky problem encountered when attempting to
6357         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
6358         5.5, but it crashed due to memory corruption on Solaris 10 with
6359         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
6360         bits that are otherwise zero.  This tagging is optional inside
6361         Emacs but is preferred and is used when __attribute__ ((__aligned
6362         (8))) works, as it does with both recent-enough GCC and with Sun C
6363         5.11.  However, Sun C 5.11 is not GCC and does not #define
6364         __GNUC__ and __GNUC_MINOR__.
6365
6366         When I added the getloadavg module to Emacs, it brought in
6367         stdlib.in.h, which contained this fragment:
6368
6369            #ifndef __attribute__
6370            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
6371            #  define __attribute__(Spec)   /* empty */
6372            # endif
6373            #endif
6374
6375         When files that include <stdlib.h> were compiled with Sun C 5.11,
6376         the above code disabled __attribute__ ((__aligned (8))), which
6377         caused variables to not be properly aligned, which eventually led
6378         to the pointer corruption mentioned above.  (This was a bit hard
6379         to diagnose, unfortunately.)
6380
6381         Several "#define __attribute__(X) /* empty */" code snippets need
6382         to be eradicated from Gnulib to work with non-GCC compilers that
6383         support __attribute__.  The Autoconf way to do this is to test for
6384         each kind of attribute that we want support for, and selectively
6385         enable that in source code.
6386
6387         Fix this problem just for stdlib.h, by adding a test for the
6388         __noreturn__ attribute, and change stdlib.in.h to use that test
6389         when needed.  This technique can be easily generalized to the
6390         other *.in.h files and attributes, and a similar technique can be
6391         used for *.h and *.c files.  This patch is enough to solve the
6392         problem for Emacs + getloadavg, and I thought I'd publish it for
6393         feedback before undertaking further, similar fixes in other
6394         modules.
6395
6396         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
6397         because it's not needed for stdlib.h.  It merely substitutes the
6398         value directly into stdlib.h.  We may well need to #define it, or
6399         similar symbols, for other modules, but it's nice to also have an
6400         option to not #define it for applications like Emacs that do not
6401         need it.
6402
6403         * lib/stdlib.in.h (__attribute__): Do not #define.
6404         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
6405         be defined only if the _Exit module is also used.
6406         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
6407         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
6408         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
6409         platforms.
6410         * modules/_Exit (Files): Add m4/attribute.m4.
6411         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
6412         * m4/attribute.m4: New file.
6413
6414 2011-02-12  Bruno Haible  <bruno@clisp.org>
6415
6416         wcsrtombs: Work around bug on native Windows.
6417         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
6418         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
6419         instead of len.
6420         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
6421
6422 2011-02-12  Bruno Haible  <bruno@clisp.org>
6423
6424         mbsrtowcs: Work around bug on native Windows.
6425         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
6426         against mingw bug.
6427         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
6428
6429 2011-02-12  Bruno Haible  <bruno@clisp.org>
6430
6431         Avoid setlocale bugs in tests.
6432         * modules/btowc (Dependencies): Add setlocale.
6433         * modules/c-strcase (Dependencies): Likewise.
6434         * modules/mbmemcasecmp (Dependencies): Likewise.
6435         * modules/mbmemcasecoll (Dependencies): Likewise.
6436         * modules/mbrtowc (Dependencies): Likewise.
6437         * modules/mbscasecmp (Dependencies): Likewise.
6438         * modules/mbscasestr (Dependencies): Likewise.
6439         * modules/mbschr (Dependencies): Likewise.
6440         * modules/mbscspn (Dependencies): Likewise.
6441         * modules/mbsinit (Dependencies): Likewise.
6442         * modules/mbsncasecmp (Dependencies): Likewise.
6443         * modules/mbsnrtowcs (Dependencies): Likewise.
6444         * modules/mbspbrk (Dependencies): Likewise.
6445         * modules/mbspcasecmp (Dependencies): Likewise.
6446         * modules/mbsrchr (Dependencies): Likewise.
6447         * modules/mbsrtowcs (Dependencies): Likewise.
6448         * modules/mbsspn (Dependencies): Likewise.
6449         * modules/mbsstr (Dependencies): Likewise.
6450         * modules/nl_langinfo (Dependencies): Likewise.
6451         * modules/quotearg (Dependencies): Likewise.
6452         * modules/unicase/locale-language (Dependencies): Likewise.
6453         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
6454         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
6455         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
6456         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
6457         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
6458         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
6459         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
6460         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
6461         * modules/vasnprintf-posix (Dependencies): Likewise.
6462         * modules/wcrtomb (Dependencies): Likewise.
6463         * modules/wcsnrtombs (Dependencies): Likewise.
6464         * modules/wcsrtombs (Dependencies): Likewise.
6465
6466 2011-02-12  Bruno Haible  <bruno@clisp.org>
6467
6468         setlocale: Workaround native Windows bug.
6469         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
6470         succeeds but sets LC_CTYPE to "C", report a failure.
6471         * tests/test-setlocale2.sh: New file.
6472         * tests/test-setlocale2.c: New file.
6473         * modules/setlocale-tests (Files): Add the new files.
6474         (Makefile.am): Enable test-setlocale2.sh test.
6475         * doc/posix-functions/setlocale.texi: Mention workaround.
6476
6477 2011-02-11  Bruno Haible  <bruno@clisp.org>
6478
6479         Tests for module 'setlocale'.
6480         * modules/setlocale-tests: New file.
6481         * tests/test-setlocale1.sh: New file.
6482         * tests/test-setlocale1.c: New file.
6483
6484         New module 'setlocale'.
6485         * lib/locale.in.h (setlocale): New declaration.
6486         * lib/setlocale.c: New file, based on
6487         gettext/gettext-runtime/intl/setlocale.c.
6488         * m4/setlocale.m4: New file.
6489         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
6490         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
6491         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
6492         REPLACE_SETLOCALE.
6493         * modules/setlocale: New file.
6494         * tests/test-locale-c++.cc: Test the declaration of setlocale.
6495         * doc/posix-functions/setlocale.texi: Mention the new module.
6496
6497 2011-02-11  Bruno Haible  <bruno@clisp.org>
6498
6499         Prepare for locale dependent tests on mingw.
6500         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
6501         because it has the wrong locale encoding.
6502         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
6503         French_France.1252 instead of "fr".
6504         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
6505         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
6506         because it has the wrong locale encoding.
6507         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
6508         native Windows, try Turkish_Turkey.65001.
6509         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
6510         Chinese_China.54936.
6511
6512         Prepare for locale dependent tests on mingw.
6513         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
6514         differently.
6515         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
6516         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
6517         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
6518         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
6519
6520 2011-02-11  Eric Blake  <eblake@redhat.com>
6521
6522         strptime: avoid compiler warnings
6523         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
6524         compiler warnings about dead code.
6525         Reported by Daniel P. Berrange.
6526
6527 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
6528
6529         doc: update users.txt
6530         * users.txt: Add rcs.
6531
6532 2011-02-10  John W. Eaton  <jwe@gnu.org>
6533
6534         doc: update users.txt
6535         * users.txt: Add octave.
6536
6537 2011-02-10  Jim Meyering  <meyering@redhat.com>
6538
6539         doc: update users.txt
6540         * users.txt: Add iwhd.
6541
6542 2011-02-09  Bruno Haible  <bruno@clisp.org>
6543
6544         gnulib-tool: Make copyright notice adjustment more robust.
6545         * gnulib-tool (func_import): In sed_transform_main_lib_file,
6546         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
6547         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
6548         License".
6549         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
6550
6551 2011-02-06  Bruno Haible  <bruno@clisp.org>
6552
6553         New module 'towctrans'.
6554         * modules/towctrans: New file.
6555         * lib/wctype.in.h (towctrans): New declaration.
6556         * lib/towctrans.c: New file.
6557         * lib/towctrans-impl.h: New file.
6558         * m4/towctrans.m4: New file.
6559         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
6560         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
6561         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
6562         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
6563         * doc/posix-functions/towctrans.texi: Mention the new module.
6564
6565 2011-02-06  Bruno Haible  <bruno@clisp.org>
6566
6567         New module 'wctrans'.
6568         * modules/wctrans: New file.
6569         * lib/wctype.in.h (wctrans): New declaration.
6570         * lib/wctrans.c: New file.
6571         * lib/wctrans-impl.h: New file.
6572         * m4/wctrans.m4: New file.
6573         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
6574         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
6575         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
6576         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
6577         * doc/posix-functions/wctrans.texi: Mention the new module.
6578
6579 2011-02-06  Bruno Haible  <bruno@clisp.org>
6580
6581         New module 'iswctype'.
6582         * modules/iswctype: New file.
6583         * lib/wctype.in.h (iswctype): New declaration.
6584         * lib/iswctype.c: New file.
6585         * lib/iswctype-impl.h: New file.
6586         * m4/iswctype.m4: New file.
6587         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
6588         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
6589         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
6590         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
6591         * doc/posix-functions/iswctype.texi: Mention the new module and the
6592         HP-UX 11.00 problem.
6593
6594 2011-02-06  Bruno Haible  <bruno@clisp.org>
6595
6596         New module 'wctype'.
6597         * modules/wctype: Change to represent the wctype() substitute.
6598         * lib/wctype.in.h (wctype): New declaration.
6599         * lib/wctype.c: New file.
6600         * lib/wctype-impl.h: New file.
6601         * m4/wctype.m4: New file.
6602         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
6603         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
6604         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
6605         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
6606         * doc/posix-functions/wctype.texi: Mention the new module and the
6607         HP-UX 11.00 problem.
6608
6609 2011-02-06  Bruno Haible  <bruno@clisp.org>
6610
6611         wctype-h: Ensure wctype_t and wctrans_t are defined.
6612         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
6613         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
6614         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
6615         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
6616         HAVE_WCTRANS_T.
6617         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
6618
6619 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
6620
6621         flock: fix license typo
6622
6623         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
6624         omitted.
6625
6626 2011-02-08  Bruno Haible  <bruno@clisp.org>
6627
6628         Split large sed scripts, for HP-UX sed.
6629         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
6630         to avoid HP-UX limit of 99 commands, in the near future.
6631         * modules/stdlib (Makefile.am): Likewise.
6632         * modules/unistd (Makefile.am): Likewise.
6633         * modules/wchar (Makefile.am): Likewise.
6634         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6635         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
6636         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
6637
6638 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
6639             Bruno Haible  <bruno@clisp.org>
6640
6641         stdlib: improve random_r modularization
6642         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
6643         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
6644         you also need the random_r module to get this material right.
6645         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
6646         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
6647         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
6648
6649 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
6650
6651         stdlib: don't depend on stdint
6652         * lib/stdlib.in.h: Don't include <stdint.h> merely because
6653         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
6654         be independent of whether stdint.h is needed.
6655         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
6656         here, instead of ...
6657         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
6658         struct random_data should be using the random_r module, not just
6659         the stdlib module (which wouldn't make sense: what package needs
6660         just struct random_data without also needing random_r?).
6661         * modules/stdlib (Depends-on): Remove stdint.
6662
6663         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
6664         See the thread rooted at
6665         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
6666         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
6667         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
6668         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
6669         __VMS)); previously it was always included (via fcntl--.h).
6670         (getloadavg): Do not use c_strtod.  Instead, approximate it by
6671         hand; this is good enough for load averages.  Also, do not use
6672         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
6673         flags directly if available and don't bother otherwise.  (Packages
6674         that need the extra reliability should use the modules that define
6675         these flags on older platforms that lack them.)
6676         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
6677         fcntl-safer.
6678
6679 2011-02-08  Jim Meyering  <meyering@redhat.com>
6680
6681         di-set.h, ino-map.h: add multiple-inclusion guard
6682         Technically, the guard is required only for ino-map.h, due to its
6683         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
6684         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
6685         * lib/ino-map.h: Likewise.
6686
6687 2011-02-06  Bruno Haible  <bruno@clisp.org>
6688
6689         iswblank: Ensure declaration on glibc systems.
6690         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
6691         * modules/iswblank (Dependencies): Add 'extensions'.
6692         * doc/posix-functions/iswblank.texi: Document the glibc problem.
6693
6694 2011-02-06  Bruno Haible  <bruno@clisp.org>
6695
6696         New module 'iswblank'.
6697         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
6698         * modules/iswblank: New file.
6699         * modules/wctype-h (Files): Remove lib/iswblank.c.
6700         (Makefile.am): Substitute GNULIB_ISWBLANK.
6701         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
6702         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
6703         (gl_WCTYPE_H_DEFAULTS): New macro.
6704         (gl_WCTYPE_H): Require it. Remove iswblank related code.
6705         * modules/iswblank-tests: New file.
6706         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
6707         * tests/test-wctype-h.c (main): Remove iswblank tests.
6708         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
6709         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
6710         of 'wctype-h'.
6711         * NEWS: Mention the change.
6712         * modules/mbchar (Depends-on): Add iswblank.
6713
6714 2011-02-08  Bruno Haible  <bruno@clisp.org>
6715
6716         di-set tests: Refactor.
6717         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
6718         unnecessary includes.
6719         (ASSERT): Remove macro.
6720         (main): Make C90 compliant by avoiding variable declaration after
6721         statement.
6722         * modules/di-set-tests (Files): Add tests/macros.h.
6723
6724 2011-02-08  Bruno Haible  <bruno@clisp.org>
6725
6726         ino-map tests: Refactor.
6727         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
6728         unnecessary includes.
6729         (ASSERT): Remove macro.
6730         (main): Make C90 compliant by avoiding variable declaration after
6731         statement.
6732         * modules/ino-map-tests (Files): Add tests/macros.h.
6733
6734 2011-02-08  Jim Meyering  <meyering@redhat.com>
6735
6736         di-set: add "const" to a cast
6737         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
6738         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
6739
6740 2011-02-06  Bruno Haible  <bruno@clisp.org>
6741
6742         Rename module 'wctype' to 'wctype-h'.
6743         * modules/wctype-h: Renamed from modules/wctype.
6744         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
6745         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
6746         (Files, Depends-on, Makefile.am): Update.
6747         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
6748         (Files, Makefile.am): Update.
6749         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
6750         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
6751         * doc/posix-headers/wctype.texi: Update.
6752         * doc/posix-functions/iswalnum.texi: Update.
6753         * doc/posix-functions/iswalpha.texi: Update.
6754         * doc/posix-functions/iswblank.texi: Update.
6755         * doc/posix-functions/iswcntrl.texi: Update.
6756         * doc/posix-functions/iswdigit.texi: Update.
6757         * doc/posix-functions/iswgraph.texi: Update.
6758         * doc/posix-functions/iswlower.texi: Update.
6759         * doc/posix-functions/iswprint.texi: Update.
6760         * doc/posix-functions/iswpunct.texi: Update.
6761         * doc/posix-functions/iswspace.texi: Update.
6762         * doc/posix-functions/iswupper.texi: Update.
6763         * doc/posix-functions/iswxdigit.texi: Update.
6764         * doc/posix-functions/towlower.texi: Update.
6765         * doc/posix-functions/towupper.texi: Update.
6766         * NEWS: Mention the change.
6767         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
6768         * modules/mbchar (Dependencies): Likewise.
6769         * modules/mbswidth (Dependencies): Likewise.
6770         * modules/quotearg (Dependencies): Likewise.
6771         * modules/regex (Dependencies): Likewise.
6772         * modules/wcscasecmp (Dependencies): Likewise.
6773         * modules/wcsncasecmp (Dependencies): Likewise.
6774         * modules/wcwidth (Dependencies): Likewise.
6775
6776 2011-02-06  Bruno Haible  <bruno@clisp.org>
6777
6778         New module 'wcswidth'.
6779         * modules/wcswidth: New file.
6780         * lib/wchar.in.h (wcswidth): New declaration.
6781         * lib/wcswidth.c: New file.
6782         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
6783         * m4/wcswidth.m4: New file.
6784         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
6785         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
6786         REPLACE_WCSWIDTH.
6787         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
6788         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
6789         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
6790         * doc/posix-functions/wcswidth.texi: Mention the new module.
6791
6792 2011-02-06  Bruno Haible  <bruno@clisp.org>
6793
6794         New module 'wcstok'.
6795         * modules/wcstok: New file.
6796         * lib/wchar.in.h (wcstok): New declaration.
6797         * lib/wcstok.c: New file.
6798         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
6799         * m4/wcstok.m4: New file.
6800         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
6801         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
6802         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
6803         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
6804         * doc/posix-functions/wcstok.texi: Mention the new module.
6805
6806 2011-02-06  Bruno Haible  <bruno@clisp.org>
6807
6808         New module 'wcsstr'.
6809         * modules/wcsstr: New file.
6810         * lib/wchar.in.h (wcsstr): New declaration.
6811         * lib/wcsstr.c: New file.
6812         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
6813         * m4/wcsstr.m4: New file.
6814         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
6815         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
6816         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
6817         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
6818         * doc/posix-functions/wcsstr.texi: Mention the new module.
6819
6820 2011-02-06  Bruno Haible  <bruno@clisp.org>
6821
6822         New module 'wcspbrk'.
6823         * modules/wcspbrk: New file.
6824         * lib/wchar.in.h (wcspbrk): New declaration.
6825         * lib/wcspbrk.c: New file.
6826         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
6827         * m4/wcspbrk.m4: New file.
6828         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
6829         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
6830         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
6831         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
6832         * doc/posix-functions/wcspbrk.texi: Mention the new module.
6833
6834 2011-02-06  Bruno Haible  <bruno@clisp.org>
6835
6836         New module 'wcsspn'.
6837         * modules/wcsspn: New file.
6838         * lib/wchar.in.h (wcsspn): New declaration.
6839         * lib/wcsspn.c: New file.
6840         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
6841         * m4/wcsspn.m4: New file.
6842         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
6843         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
6844         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
6845         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
6846         * doc/posix-functions/wcsspn.texi: Mention the new module.
6847
6848 2011-02-06  Bruno Haible  <bruno@clisp.org>
6849
6850         New module 'wcscspn'.
6851         * modules/wcscspn: New file.
6852         * lib/wchar.in.h (wcscspn): New declaration.
6853         * lib/wcscspn.c: New file.
6854         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
6855         * m4/wcscspn.m4: New file.
6856         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
6857         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
6858         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
6859         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
6860         * doc/posix-functions/wcscspn.texi: Mention the new module.
6861
6862 2011-02-06  Bruno Haible  <bruno@clisp.org>
6863
6864         New module 'wcsrchr'.
6865         * modules/wcsrchr: New file.
6866         * lib/wchar.in.h (wcsrchr): New declaration.
6867         * lib/wcsrchr.c: New file.
6868         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
6869         * m4/wcsrchr.m4: New file.
6870         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
6871         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
6872         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
6873         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
6874         * doc/posix-functions/wcsrchr.texi: Mention the new module.
6875
6876 2011-02-06  Bruno Haible  <bruno@clisp.org>
6877
6878         New module 'wcschr'.
6879         * modules/wcschr: New file.
6880         * lib/wchar.in.h (wcschr): New declaration.
6881         * lib/wcschr.c: New file.
6882         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
6883         * m4/wcschr.m4: New file.
6884         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
6885         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
6886         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
6887         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
6888         * doc/posix-functions/wcschr.texi: Mention the new module.
6889
6890 2011-02-06  Bruno Haible  <bruno@clisp.org>
6891
6892         New module 'wcsdup'.
6893         * modules/wcsdup: New file.
6894         * lib/wchar.in.h (wcsdup): New declaration.
6895         * lib/wcsdup.c: New file.
6896         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
6897         * m4/wcsdup.m4: New file.
6898         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
6899         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
6900         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
6901         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
6902         * doc/posix-functions/wcsdup.texi: Mention the new module.
6903
6904 2011-02-06  Bruno Haible  <bruno@clisp.org>
6905
6906         New module 'wcsxfrm'.
6907         * modules/wcsxfrm: New file.
6908         * lib/wchar.in.h (wcsxfrm): New declaration.
6909         * lib/wcsxfrm.c: New file.
6910         * lib/wcsxfrm-impl.h: New file.
6911         * m4/wcsxfrm.m4: New file.
6912         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
6913         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
6914         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
6915         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
6916         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
6917
6918 2011-02-06  Bruno Haible  <bruno@clisp.org>
6919
6920         New module 'wcscoll'.
6921         * modules/wcscoll: New file.
6922         * lib/wchar.in.h (wcscoll): New declaration.
6923         * lib/wcscoll.c: New file.
6924         * lib/wcscoll-impl.h: New file.
6925         * m4/wcscoll.m4: New file.
6926         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
6927         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
6928         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
6929         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
6930         * doc/posix-functions/wcscoll.texi: Mention the new module.
6931
6932 2011-02-06  Bruno Haible  <bruno@clisp.org>
6933
6934         New module 'wcsncasecmp'.
6935         * modules/wcsncasecmp: New file.
6936         * lib/wchar.in.h (wcsncasecmp): New declaration.
6937         * lib/wcsncasecmp.c: New file.
6938         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
6939         * m4/wcsncasecmp.m4: New file.
6940         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
6941         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
6942         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
6943         HAVE_WCSNCASECMP.
6944         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
6945         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
6946
6947 2011-02-06  Bruno Haible  <bruno@clisp.org>
6948
6949         New module 'wcscasecmp'.
6950         * modules/wcscasecmp: New file.
6951         * lib/wchar.in.h (wcscasecmp): New declaration.
6952         * lib/wcscasecmp.c: New file.
6953         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
6954         * m4/wcscasecmp.m4: New file.
6955         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
6956         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
6957         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
6958         HAVE_WCSCASECMP.
6959         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
6960         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
6961
6962 2011-02-05  Bruno Haible  <bruno@clisp.org>
6963
6964         New module 'wcsncmp'.
6965         * modules/wcsncmp: New file.
6966         * lib/wchar.in.h (wcsncmp): New declaration.
6967         * lib/wcsncmp.c: New file.
6968         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
6969         * m4/wcsncmp.m4: New file.
6970         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
6971         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
6972         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
6973         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
6974         * doc/posix-functions/wcsncmp.texi: Mention the new module.
6975
6976 2011-02-05  Bruno Haible  <bruno@clisp.org>
6977
6978         New module 'wcscmp'.
6979         * modules/wcscmp: New file.
6980         * lib/wchar.in.h (wcscmp): New declaration.
6981         * lib/wcscmp.c: New file.
6982         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
6983         * m4/wcscmp.m4: New file.
6984         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
6985         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
6986         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
6987         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
6988         * doc/posix-functions/wcscmp.texi: Mention the new module.
6989
6990 2011-02-05  Bruno Haible  <bruno@clisp.org>
6991
6992         New module 'wcsncat'.
6993         * modules/wcsncat: New file.
6994         * lib/wchar.in.h (wcsncat): New declaration.
6995         * lib/wcsncat.c: New file.
6996         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
6997         * m4/wcsncat.m4: New file.
6998         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
6999         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
7000         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
7001         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
7002         * doc/posix-functions/wcsncat.texi: Mention the new module.
7003
7004 2011-02-05  Bruno Haible  <bruno@clisp.org>
7005
7006         New module 'wcscat'.
7007         * modules/wcscat: New file.
7008         * lib/wchar.in.h (wcscat): New declaration.
7009         * lib/wcscat.c: New file.
7010         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
7011         * m4/wcscat.m4: New file.
7012         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
7013         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
7014         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
7015         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
7016         * doc/posix-functions/wcscat.texi: Mention the new module.
7017
7018 2011-02-05  Bruno Haible  <bruno@clisp.org>
7019
7020         New module 'wcpncpy'.
7021         * modules/wcpncpy: New file.
7022         * lib/wchar.in.h (wcpncpy): New declaration.
7023         * lib/wcpncpy.c: New file.
7024         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
7025         * m4/wcpncpy.m4: New file.
7026         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
7027         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
7028         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
7029         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
7030         * doc/posix-functions/wcpncpy.texi: Mention the new module.
7031
7032 2011-02-05  Bruno Haible  <bruno@clisp.org>
7033
7034         New module 'wcsncpy'.
7035         * modules/wcsncpy: New file.
7036         * lib/wchar.in.h (wcsncpy): New declaration.
7037         * lib/wcsncpy.c: New file.
7038         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
7039         * m4/wcsncpy.m4: New file.
7040         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
7041         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
7042         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
7043         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
7044         * doc/posix-functions/wcsncpy.texi: Mention the new module.
7045
7046 2011-02-05  Bruno Haible  <bruno@clisp.org>
7047
7048         New module 'wcpcpy'.
7049         * modules/wcpcpy: New file.
7050         * lib/wchar.in.h (wcpcpy): New declaration.
7051         * lib/wcpcpy.c: New file.
7052         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
7053         * m4/wcpcpy.m4: New file.
7054         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
7055         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
7056         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
7057         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
7058         * doc/posix-functions/wcpcpy.texi: Mention the new module.
7059
7060 2011-02-05  Bruno Haible  <bruno@clisp.org>
7061
7062         New module 'wcscpy'.
7063         * modules/wcscpy: New file.
7064         * lib/wchar.in.h (wcscpy): New declaration.
7065         * lib/wcscpy.c: New file.
7066         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
7067         * m4/wcscpy.m4: New file.
7068         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
7069         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
7070         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
7071         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
7072         * doc/posix-functions/wcscpy.texi: Mention the new module.
7073
7074 2011-02-05  Bruno Haible  <bruno@clisp.org>
7075
7076         New module 'wcsnlen'.
7077         * modules/wcsnlen: New file.
7078         * lib/wchar.in.h (wcsnlen): New declaration.
7079         * lib/wcsnlen.c: New file.
7080         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
7081         * m4/wcsnlen.m4: New file.
7082         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
7083         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
7084         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
7085         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
7086         * doc/posix-functions/wcsnlen.texi: Mention the new module.
7087
7088 2011-02-05  Bruno Haible  <bruno@clisp.org>
7089
7090         New module 'wcslen'.
7091         * modules/wcslen: New file.
7092         * lib/wchar.in.h (wcslen): New declaration.
7093         * lib/wcslen.c: New file.
7094         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
7095         * m4/wcslen.m4: New file.
7096         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
7097         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
7098         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
7099         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
7100         * doc/posix-functions/wcslen.texi: Mention the new module.
7101
7102 2011-02-05  Bruno Haible  <bruno@clisp.org>
7103
7104         New module 'wmemset'.
7105         * modules/wmemset: New file.
7106         * lib/wchar.in.h (wmemset): New declaration.
7107         * lib/wmemset.c: New file.
7108         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
7109         * m4/wmemset.m4: New file.
7110         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
7111         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
7112         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
7113         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
7114         * doc/posix-functions/wmemset.texi: Mention the new module.
7115
7116 2011-02-05  Bruno Haible  <bruno@clisp.org>
7117
7118         New module 'wmemmove'.
7119         * modules/wmemmove: New file.
7120         * lib/wchar.in.h (wmemmove): New declaration.
7121         * lib/wmemmove.c: New file.
7122         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
7123         * m4/wmemmove.m4: New file.
7124         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
7125         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
7126         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
7127         HAVE_WMEMMOVE.
7128         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
7129         * doc/posix-functions/wmemmove.texi: Mention the new module.
7130
7131 2011-02-05  Bruno Haible  <bruno@clisp.org>
7132
7133         New module 'wmemcpy'.
7134         * modules/wmemcpy: New file.
7135         * lib/wchar.in.h (wmemcpy): New declaration.
7136         * lib/wmemcpy.c: New file.
7137         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
7138         * m4/wmemcpy.m4: New file.
7139         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
7140         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
7141         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
7142         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
7143         * doc/posix-functions/wmemcpy.texi: Mention the new module.
7144
7145 2011-02-05  Bruno Haible  <bruno@clisp.org>
7146
7147         New module 'wmemcmp'.
7148         * modules/wmemcmp: New file.
7149         * lib/wchar.in.h (wmemcmp): New declaration.
7150         * lib/wmemcmp.c: New file.
7151         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
7152         * m4/wmemcmp.m4: New file.
7153         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
7154         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
7155         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
7156         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
7157         * doc/posix-functions/wmemcmp.texi: Mention the new module.
7158
7159 2011-02-07  Jim Meyering  <meyering@redhat.com>
7160
7161         di-set, ino-map: new modules, from coreutils
7162         * lib/di-set.c: New file.
7163         * lib/di-set.h: Likewise.
7164         * lib/ino-map.c: Likewise.
7165         * lib/ino-map.h: Likewise.
7166         * modules/di-set: Likewise.
7167         * modules/di-set-tests: Likewise.
7168         * modules/ino-map: Likewise.
7169         * modules/ino-map-tests: Likewise.
7170         * tests/test-di-set.c: Likewise.
7171         * tests/test-ino-map.c: Likewise.
7172
7173 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
7174
7175         getloadavg: merge minor changes from Emacs
7176
7177         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
7178         (getloadavg): Use memset, not bzero.
7179
7180         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
7181         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
7182         clash (bug#86).
7183
7184 2010-11-14  Bruno Haible  <bruno@clisp.org>
7185
7186         Allow multiple gnulib generated replacements to coexist.
7187         * lib/getopt.in.h (struct option): Avoid identical redefinition.
7188         * lib/inttypes.in.h (imaxdiv_t): Likewise.
7189         * lib/langinfo.in.h (nl_item): Likewise.
7190         * lib/math.in.h (_NaN, NAN): Likewise.
7191         * lib/netdb.in.h (struct addrinfo): Likewise.
7192         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
7193         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
7194         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
7195         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
7196         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
7197         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
7198         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
7199         pthread_mutexattr_init, pthread_mutexattr_settype,
7200         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
7201         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
7202         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
7203         pthread_spin_trylock, pthread_spin_unlock): Likewise.
7204         * lib/sched.in.h (struct sched_param): Likewise.
7205         * lib/se-selinux.in.h (security_class_t, security_context_t,
7206         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
7207         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
7208         lsetfilecon, fsetfilecon, security_check_context,
7209         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
7210         Likewise.
7211         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
7212         Likewise.
7213         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
7214         _gl_function_taking_int_returning_void_t, union sigval,
7215         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
7216         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
7217         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
7218         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
7219         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
7220         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
7221         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
7222         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
7223         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
7224         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
7225         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
7226         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
7227         socklen_t, rpl_fd_isset): Likewise.
7228         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
7229         * lib/sys_time.in.h (struct timeval): Likewise.
7230         * lib/sys_times.in.h (struct tms): Likewise.
7231         * lib/sys_utsname.in.h (struct utsname):
7232         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
7233         * lib/unistd.in.h (getpagesize): Likewise.
7234         * lib/wchar.in.h (mbstate_t): Likewise.
7235         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7236         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
7237         towlower, towupper): Likewise.
7238         Reported by Sam Steingold <sds@gnu.org>.
7239
7240 2011-02-05  Eric Blake  <eblake@redhat.com>
7241
7242         unsetenv: work around Haiku issues
7243         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
7244         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
7245
7246 2010-12-30  Bruce Korb  <bkorb@gnu.org>
7247
7248         libposix: avoid calling error() within libposix
7249         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
7250         is defined.
7251
7252 2011-02-05  Eric Blake  <eblake@redhat.com>
7253
7254         strerror_r-posix: port to cygwin
7255         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
7256         implementation.
7257         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
7258         * tests/test-strerror_r.c (main): Fix test.
7259         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
7260         issue.
7261
7262 2011-02-05  Bruno Haible  <bruno@clisp.org>
7263
7264         New module 'wmemchr'.
7265         * modules/wmemchr: New file.
7266         * lib/wchar.in.h (wmemchr): New declaration.
7267         * lib/wmemchr.c: New file.
7268         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
7269         * m4/wmemchr.m4: New file.
7270         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
7271         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
7272         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
7273         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
7274         * doc/posix-functions/wmemchr.texi: Mention the new module.
7275
7276 2011-02-04  Eric Blake  <eblake@redhat.com>
7277
7278         fdopendir: detect FreeBSD bug
7279         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
7280         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
7281
7282 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
7283
7284         stdbool: do not define HAVE_STDBOOL_H
7285         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
7286         AC_HEADER_STDBOOL.  All uses changed.  Do not define
7287         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
7288         imported from the latest Autoconf git.  It was motivated by Emacs,
7289         which uses gnulib but does not need HAVE_STDBOOL_H.
7290
7291 2011-02-04  Bruno Haible  <bruno@clisp.org>
7292
7293         wcsnrtombs: Prepare for new module wwcsnrtombs.
7294         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
7295         * lib/wcsnrtombs.c: Include it.
7296         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
7297
7298         wcsrtombs: Prepare for new module wwcsrtombs.
7299         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
7300         * lib/wcsrtombs.c: Include it.
7301         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
7302
7303         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
7304         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
7305         * lib/mbsnrtowcs.c: Include it.
7306         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
7307
7308         mbsrtowcs: Prepare for new module mbsrtowwcs.
7309         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
7310         * lib/mbsrtowcs.c: Include it.
7311         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
7312
7313 2011-02-04  Bruno Haible  <bruno@clisp.org>
7314
7315         vasnprintf: Reduce use of malloc for small format strings.
7316         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
7317         (arguments): Add room for the first 7 arguments.
7318         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
7319         (char_directives, u8_directives, u16_directives, u32_directives): Add
7320         room for the first 7 directives.
7321         * lib/printf-parse.c: Include <string.h>.
7322         (PRINTF_PARSE): Change memory handling code so that it uses the first
7323         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
7324         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
7325         Reported by Pádraig Brady <P@draigbrady.com>.
7326
7327 2011-01-31  Eric Blake  <eblake@redhat.com>
7328
7329         dup2: work around Haiku bug
7330         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
7331         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
7332         * doc/posix-functions/dup2.texi (dup2): Document the bug.
7333         * tests/test-dup2.c (main): Enhance test.
7334
7335 2011-01-31  Simon Josefsson  <simon@josefsson.org>
7336
7337         doc: off_t is not available in eglibc 2.11.2 stdio.h.
7338         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
7339         declared by eglibc 2.11.2.
7340         * lib/stdio.in.h: Likewise.
7341
7342 2011-01-31  Eric Blake  <eblake@redhat.com>
7343
7344         ignore-value: add missing test dependency
7345         * tests/test-ignore-value.c: Revert previous change; stdio.h
7346         provides off_t.
7347         * modules/ignore-value-tests (Depends-on): Add missing dependency.
7348
7349 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
7350
7351         mktime: clarify long_int width checking
7352         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
7353         the top level, to make it clearer that the assumption about
7354         long_int width is being checked.  See
7355         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
7356
7357 2011-01-30  Simon Josefsson  <simon@josefsson.org>
7358
7359         ignore-value: Fix self-test.
7360         * tests/test-ignore-value.c: Include sys/types.h for off_t.
7361
7362 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
7363
7364         TYPE_MAXIMUM: avoid theoretically undefined behavior
7365         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
7366         negative number, which the C Standard says has undefined behavior.
7367         In practice this is not a problem, but might as well do it by the book.
7368         Reported by Rich Felker and Eric Blake; see
7369         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
7370         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
7371         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7372         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7373         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
7374         * m4/stdint.m4 (gl_STDINT_H): Likewise.
7375         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
7376
7377         mktime: #undef mktime before #defining it
7378         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
7379
7380         mktime: systematically normalize tm_isdst comparisons
7381         * lib/mktime.c (isdst_differ): New function.
7382         (__mktime_internal): Use it systematically for all isdst comparisons.
7383         This completes the fix for libc BZ #6723, and removes the need for
7384         normalizing tm_isdst.  See
7385         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
7386         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
7387
7388         mktime: fix some integer overflow issues and sidestep the rest
7389
7390         This was prompted by a bug report by Benjamin Lindner for MinGW
7391         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
7392         His bug is due to signed integer overflow (0 - INT_MIN), and I
7393         I scanned through mktime.c looking for other integer overflow
7394         problems, fixing all the bugs I found.
7395
7396         Although the C Standard says the resulting code is still not safe
7397         in the presence of integer overflow, in practice it should be good
7398         enough for all real-world two's-complement implementations, except
7399         for debugging environments that deliberately trap on integer
7400         overflow (e.g., gcc -ftrapv).
7401
7402         * lib/mktime.c (WRAPV): New macro.
7403         (SHR): Also check that long_int and time_t shift right in the
7404         usual way, before using the fast-but-unportable method.
7405         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
7406         used.  The code already assumed two's complement, so there's
7407         no need to test for alternatives.  All uses removed.
7408         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
7409         the C standard.  Problem reported by Rich Felker in
7410         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
7411         (twos_complement_arithmetic): Also check long_int and time_t.
7412         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
7413         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
7414         (__mktime_internal): Avoid integer overflow with unary subtraction
7415         in two instances where -1 - X is an adequate replacement for -X,
7416         since the calculations are approximate.
7417
7418 2011-01-29  Eric Blake  <eblake@redhat.com>
7419
7420         mktime: avoid infinite loop
7421         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
7422         type; behavior is still undefined but portable to all known targets.
7423         Reported by Rich Felker.
7424
7425 2011-01-29  Simon Josefsson  <simon@josefsson.org>
7426
7427         rename, unlink, same-inode: Relicense.
7428         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
7429         * modules/unlink (License): Likewise.
7430         * modules/same-inode (License): Likewise.
7431
7432 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
7433
7434         mktime: avoid problems on NetBSD 5 / i386
7435         * lib/mktime.c (long_int): New type.  This works around a problem
7436         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
7437         but time_t is 64 bits, and where I expect the existing code is
7438         wrong in some cases.
7439         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
7440         (ydhms_diff): Bring back the compile-time check for wide-enough
7441         year and yday.
7442
7443         mktime: fix misspelling in comment
7444         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
7445         This merges all recent glibc changes of importance.
7446
7447 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7448
7449         move-if-change: cope with concurrent mv of identical file.
7450         * build-aux/move-if-change (CMPPROG): Accept environment
7451         variable as an override for `cmp'.
7452         (usage): Document CMPPROG.
7453         Adjust comparison to drop stdout.  Cope with failure of mv if
7454         the target file exists and is identical to the source, for
7455         parallel builds.
7456         Report from H.J. Lu against binutils in PR binutils/12283.
7457
7458 2011-01-28  Bruce Korb  <bkorb@gnu.org>
7459
7460         * users.txt: Mention sharutils.
7461
7462 2011-01-28  Simon Josefsson  <simon@josefsson.org>
7463
7464         * users.txt: Mention OATH Toolkit.
7465
7466 2011-01-27  Bruno Haible  <bruno@clisp.org>
7467
7468         Prepare for supporting FreeBSD 10.
7469         * build-aux/config.libpath: Remove handling of freebsd1*.
7470
7471 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
7472
7473         Prepare for supporting FreeBSD 10.
7474         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
7475         match FreeBSD 10.0.
7476
7477 2011-01-27  Bruno Haible  <bruno@clisp.org>
7478
7479         vma-iter, get-rusage-as: Add OpenBSD support.
7480         * modules/vma-iter (configure.ac): Test for mquery.
7481         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
7482         * lib/vma-iter.c: Include <sys/mman.h>.
7483         (vma_iterate): Add an implementation based on mquery().
7484         * lib/resource-ext.h (get_rusage_as): Update comments.
7485         * lib/get-rusage-as.c: Likewise.
7486         * lib/get-rusage-data.c: Likewise.
7487
7488 2011-01-26  Karl Berry  <karl@gnu.org>
7489
7490         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
7491         variables to make it easier to override the makeinfo program used.
7492
7493 2011-01-26  Eric Blake  <eblake@redhat.com>
7494
7495         fcntl: work around Haiku F_DUPFD bugs
7496         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
7497         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
7498         cloexec bit on duplication.
7499         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
7500
7501 2011-01-26  Bruno Haible  <bruno@clisp.org>
7502
7503         Enable memory leak tests on AIX.
7504         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
7505         * tests/test-fprintf-posix3.c (main): Likewise.
7506
7507 2011-01-26  Bruno Haible  <bruno@clisp.org>
7508
7509         Tests for module 'get-rusage-data'.
7510         * modules/get-rusage-data-tests: New file.
7511         * tests/test-get-rusage-data.c: New file.
7512
7513         New module 'get-rusage-data'.
7514         * lib/resource-ext.h (get_rusage_data): New declaration.
7515         * lib/get-rusage-data.c: New file.
7516         * modules/get-rusage-data: New file.
7517
7518 2011-01-25  Bruno Haible  <bruno@clisp.org>
7519
7520         get-rusage-as: Allow for easier testing.
7521         * lib/resource-ext.h (get_rusage_as): Add comment.
7522         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
7523         (main): New function for interactive testing.
7524
7525 2011-01-25  Bruno Haible  <bruno@clisp.org>
7526
7527         vma-iter: Treat Haiku like BeOS.
7528         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
7529         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
7530
7531 2011-01-25  Eric Blake  <eblake@redhat.com>
7532
7533         c-stack: fix regression on cygwin when libsigsegv is present
7534         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
7535
7536 2011-01-24  Bruno Haible  <bruno@clisp.org>
7537
7538         vma-iter: Avoid empty intervals.
7539         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
7540         on an empty interval.
7541
7542 2011-01-24  Jim Meyering  <meyering@redhat.com>
7543
7544         u64: remove unnecessary #include
7545         * lib/u64.h: Don't include <stddef.h>.  It was not used.
7546
7547 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7548
7549         Allow the user to avoid the HAVE_RAW_DECL_* macros.
7550         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
7551
7552 2011-01-23  Bruno Haible  <bruno@clisp.org>
7553
7554         New module 'vma-iter'.
7555         * lib/vma-iter.h: New file.
7556         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
7557         * modules/vma-iter: New file.
7558         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
7559         for get_rusage_as_via_iterator.
7560         (vma_iterate_callback): New function.
7561         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
7562         * modules/get-rusage-as (Depends-on): Add vma-iter.
7563
7564 2011-01-23  Bruno Haible  <bruno@clisp.org>
7565
7566         uninorm: Tweak includes.
7567         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
7568         Reported by Jim Meyering.
7569
7570 2011-01-23  Bruno Haible  <bruno@clisp.org>
7571
7572         get-rusage-as: Improve on NetBSD.
7573         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
7574         /proc, like on FreeBSD.
7575
7576 2011-01-23  Jim Meyering  <meyering@redhat.com>
7577
7578         xreadlink.h: remove unnecessary #include
7579         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
7580
7581         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
7582         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
7583
7584 2011-01-23  Bruno Haible  <bruno@clisp.org>
7585
7586         get-rusage-as: Fix bug.
7587         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
7588         original limit when aborting the first loop.
7589
7590 2011-01-23  Bruno Haible  <bruno@clisp.org>
7591
7592         wctype: Ensure valid C syntax.
7593         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
7594         unconditionally, instead of gl_NEXT_HEADERS conditionally.
7595
7596 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
7597
7598         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
7599         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
7600         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
7601         as they are needed only for configure's test case.
7602         This removes two unnecessary symbols from config.h.
7603
7604         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
7605         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
7606         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
7607         AC_CHECK_HEADERS_ONCE on a header that we also invoke
7608         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
7609         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
7610         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
7611         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7612         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7613         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7614         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
7615         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7616         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7617         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7618         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7619         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7620         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
7621         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
7622
7623 2011-01-21  Eric Blake  <eblake@redhat.com>
7624
7625         maintainer-makefile: work with older git for submodule check
7626         * top/maint.mk (public-submodule-commit): Rewrite to avoid
7627         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
7628         Reported by Matthias Bolte.
7629
7630         bootstrap: minor portability fixes
7631         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
7632         (usage): Omit leading capital and trailing . on help phrases, per
7633         GNU Coding Standards.
7634         (check_versions, top level): Prefix messages with script name.
7635
7636 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
7637
7638         bootstrap: support --no-git option
7639         * build-aux/bootstrap: Add --no-git option, to be used when
7640         --gnulib-srcdir points to the exact desired checkout.
7641
7642 2011-01-21  Eric Blake  <eblake@redhat.com>
7643
7644         strerror_r-posix: work with glibc 2.13
7645         * lib/strerror_r.c (strerror_r): Fix return type.
7646
7647 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7648             Bruno Haible  <bruno@clisp.org>
7649
7650         uN_strstr: New unit tests.
7651         * modules/unistr/u8-strstr-tests: New file.
7652         * modules/unistr/u16-strstr-tests: New file.
7653         * modules/unistr/u32-strstr-tests: New file.
7654         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
7655         * tests/unistr/test-u8-strstr.c: New file.
7656         * tests/unistr/test-u16-strstr.c: New file.
7657         * tests/unistr/test-u32-strstr.c: New file.
7658
7659 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7660             Bruno Haible  <bruno@clisp.org>
7661
7662         Make uN_strstr functions O(n) worst-case.
7663         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
7664         16-bit and 32-bit unit cases, use the unibyte algorithm from
7665         lib/mbsstr.c.
7666         * lib/unistr/u8-strstr.c: Include <string.h>.
7667         (UNIT_IS_UINT8_T): New macro.
7668         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
7669         (U_STRLEN, U_STRNLEN): New macros.
7670         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
7671         (U_STRLEN, U_STRNLEN): New macros.
7672         * modules/unistr/u8-strstr (Depends-on): Add strstr.
7673         (configure.ac): Update required libunistring version.
7674         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
7675         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
7676         malloca.
7677         (configure.ac): Update required libunistring version.
7678         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
7679         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
7680         malloca.
7681         (configure.ac): Update required libunistring version.
7682
7683 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7684             Bruno Haible  <bruno@clisp.org>
7685
7686         Prepare for faster uN_strstr functions.
7687         * lib/str-kmp.h: Support definable UNITs.
7688         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
7689         needle_len argument.
7690         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
7691         * lib/mbscasestr.c (mbscasestr): Likewise.
7692
7693 2011-01-21  Pádraig Brady <P@draigBrady.com>
7694
7695         malloca-tests: make faster by unsetting MALLOC_PERTURB_
7696         * tests/test-malloca.c (main): Unset the environment variable
7697         to greatly speed up the test.
7698         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
7699         * modules/malloca-tests: Depend on unsetenv.
7700
7701 2011-01-21  Pádraig Brady <P@draigBrady.com>
7702
7703         ignore-value: remove stdint dependency
7704         * lib/ignore-value.h: Remove <stdint.h>
7705         * modules/ignore-value: Remove stdint dependency.
7706
7707 2011-01-21  Jim Meyering  <meyering@redhat.com>
7708
7709         maint.mk: adjust variable name to be consistent with other gl_ vars
7710         * top/maint.mk (gl_public_submodule_commit): Rename the variable
7711         to be lower case.
7712
7713 2011-01-20  Jim Meyering  <meyering@redhat.com>
7714
7715         maint.mk: make "check" depend on public-submodule-commit by default
7716         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
7717
7718 2011-01-20  Bruno Haible  <bruno@clisp.org>
7719
7720         mbfile, mbiter: Complete change from 2008-12-21.
7721         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
7722         * m4/mbiter.m4 (gl_MBITER): Likewise.
7723
7724 2011-01-20  Jim Meyering  <meyering@redhat.com>
7725
7726         init.sh: insert space between each function name and "()"
7727         * tests/init.sh: Make it a little easier to see that a function's
7728         name is "warn_", and not "warn" when looking at the first part of
7729         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
7730
7731 2011-01-20  Jim Meyering  <meyering@redhat.com>
7732
7733         mountlist: clean up code formatting
7734         * lib/mountlist.c (read_file_system_list): Split a long line,
7735         correct bracing style, use NULL in place of "(struct statfs *)0",
7736         don't parenthesize return value, add spaces around "=" and after
7737         ";-in-for-stmt".
7738
7739 2011-01-14  Markus Duft <mduft@gentoo.org>
7740
7741         mountlist: add support for Interix
7742         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
7743         Apply statvfs to all entries of /dev/fs.
7744         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
7745         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
7746
7747 2011-01-20  Jim Meyering  <meyering@redhat.com>
7748
7749         maint.mk: improve the public-submodule-commit rule
7750         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
7751         to suppress printing of its commands... unless V=1.
7752         Add git submodule's --quiet option to suppress printing of e.g.,
7753         "Entering gnulib" output.
7754         "cd" into $(srcdir) before running git submodule.
7755
7756 2011-01-20  Bruno Haible  <bruno@clisp.org>
7757
7758         include_next: Fix bug introduced on 2011-01-18.
7759         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
7760         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
7761         ac_cv_header_... variable if the second argument is not 'check'.
7762         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
7763         gl_NEXT_HEADERS_INTERNAL.
7764
7765 2011-01-20  Bruno Haible  <bruno@clisp.org>
7766
7767         Allow the user to avoid the GNULIB_TEST_* macros.
7768         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
7769         Suggested by Paul Eggert.
7770
7771 2011-01-14  Jim Meyering  <meyering@redhat.com>
7772
7773         bootstrap: avoid failure when there is no .gitmodules file
7774         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
7775         has been assigned to, even when its value is the empty string.
7776         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
7777         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
7778         Reported by John W. Eaton <jwe@gnu.org>.
7779
7780 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
7781
7782         assume <ctype.h>, ..., <time.h> exist
7783         For years gnulib has been assuming the existence of the headers
7784         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
7785         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
7786         them, since they don't appear to be needed.
7787         * README (Portability guidelines): Document this.
7788         * lib/flock.c: Assume <fcntl.h> exists.
7789         * lib/regex_internal.h: Assume <locale.h> exists.
7790         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
7791         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
7792         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
7793         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
7794         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
7795         * m4/regex.m4 (gl_REGEX): Likewise.
7796         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
7797         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
7798         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
7799         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
7800         * tests/test-argp.c: Likewise.
7801         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
7802
7803         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
7804         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
7805         AA_APPLE_UNIVERSAL_BUILD.  See
7806         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
7807         * NEWS: Document this.
7808
7809 2011-01-19  Eric Blake  <eblake@redhat.com>
7810
7811         c-stack: assume stack overflow if SA_SIGINFO unsupported
7812         * lib/c-stack.c (SIGACTION_WORKS): Rename...
7813         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
7814         sigaction will work.
7815         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
7816         behavior match Linux.
7817         * tests/test-c-stack.c (main): Prefer NULL for pointers.
7818
7819         stdbool-tests: accomodate Haiku
7820         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
7821
7822         binary-io: fix O_TEXT on Haiku
7823         * modules/binary-io (Depends-on): Add fcntl-h.
7824         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
7825         than blindly undefining O_TEXT.
7826         Reported by Scott McCreary.
7827
7828 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
7829
7830         include_next: do not check for standard headers like stddef.h
7831
7832         I found this problem when modifying Emacs to use gnulib.
7833         I noticed that it added HAVE_STDDEF_H to config.h, even though
7834         gnulib always assumes <stddef.h> exists as per README and this
7835         symbol is unnecessary.
7836         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
7837         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
7838         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
7839         faster for headers like stddef.h that are known to exist.
7840         (gl_CHECK_NEXT_HEADERS): Use it.
7841         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
7842         rather than gl_CHECK_NEXT_HEADERS.
7843         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
7844         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
7845
7846 2011-01-18  Eric Blake  <eblake@redhat.com>
7847
7848         ansi-c++-opt: skip C++ dependency style if C++ is unused
7849         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
7850         tests when we know C++ compilation is not desired.
7851         Reported by Scott McCreary.
7852
7853 2011-01-18  Bruno Haible  <bruno@clisp.org>
7854
7855         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
7856         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
7857         (main): Perform test also when getrlimit and setrlimit don't exist or
7858         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
7859         limiting the address space size using setrlimit, compare the address
7860         space size before and after the the test.
7861         * tests/test-dprintf-posix2.c: Likewise.
7862         * tests/test-fprintf-posix3.sh: Update skip messages.
7863         * tests/test-dprintf-posix2.sh: Likewise.
7864         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
7865         * modules/dprintf-posix-tests (Depends-on): Likewise.
7866         Reported by Bruce Korb <bkorb@gnu.org> and
7867         Gary V. Vaughan <gary@gnu.org>.
7868
7869 2011-01-18  Bruno Haible  <bruno@clisp.org>
7870
7871         get-rusage-as: Improvement for Cygwin.
7872         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
7873         areas that are merely reserved.
7874
7875 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
7876
7877         strftime: remove dependencies on multibyte modules
7878
7879         strftime depended on mbrlen, mbsinit, and wchar, but these modules
7880         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
7881         only if __osf__ is defined, and I suspect OSF doesn't need these
7882         other modules.  If my guess is wrong, we'll need to come up with a
7883         variant of strftime that doesn't need the multibyte modules.
7884
7885         I discovered this problem when attempting modify Emacs to use the
7886         strftime module.  With the previous gnulib, this caused Emacs to
7887         need 31 new files, ranging from lib/config.charset to
7888         m4/wint_t.m4.  This was overkill and I expect would be offputting
7889         to the Emacs maintainers.  After this change, only 6 new files are
7890         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
7891         stdbool.m4, and tm_gmtoff.m4.
7892
7893         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
7894         Suggested by Bruno Haible in
7895         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
7896         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
7897         and do not check for wchar.h.
7898         * modules/strftime (Files): Remove m4/mbstate_t.m4.
7899         (Depends-on): Remove mbrlen, mbsinit, wchar.
7900
7901 2011-01-18  Bruno Haible  <bruno@clisp.org>
7902
7903         Tests for module 'get-rusage-as'.
7904         * modules/get-rusage-as-tests: New file.
7905         * tests/test-get-rusage-as.c: New file.
7906
7907         New module 'get-rusage-as'.
7908         * modules/get-rusage-as: New file.
7909         * lib/resource-ext.h: New file.
7910         * lib/get-rusage-as.c: New file.
7911
7912 2011-01-17  Eric Blake  <eblake@redhat.com>
7913
7914         sigaction: relax license from LGPLv3+ to LGPLv2+
7915         * modules/sigaction (License): Relax to LGPLv2+.
7916
7917 2011-01-14  Bruno Haible  <bruno@clisp.org>
7918
7919         filemode: Make function declarations usable in C++ mode.
7920         * lib/filemode.h: Enclose function declarations in extern "C" block.
7921         Reported by John W. Eaton <jwe@gnu.org>.
7922
7923 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
7924
7925         save-cwd: no longer include "xgetcwd.h"
7926         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
7927         This avoids a compilation failure in projects that use save-cwd
7928         without also using the xgetcwd module.
7929
7930 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7931
7932         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
7933         This is so that a program like Emacs, which needs only dtoastr,
7934         does not have to bother with distributing and compiling ftoastr
7935         and ldtoastr.
7936         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
7937         * modules/dtoastr, modules/ldtoastr: New files.
7938         * modules/ftoastr: Now works just for 'float'.
7939         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
7940         (Makefile.am): Remove ftoastr.h (not needed and no effect),
7941         dtoastr.c, ldtoastr.c.
7942
7943 2011-01-11  Jim Meyering  <meyering@redhat.com>
7944
7945         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
7946         There is no need to work around the lack of the fchdir function,
7947         since gnulib can now provide a replacement when required.
7948         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
7949         * modules/save-cwd (Depends-on): Add fchdir.
7950
7951 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7952
7953         openat, save-cwd: avoid xmalloc
7954
7955         This removes a direct (but undocumented) dependency of openat on
7956         xalloc, along with an indirect dependency via save-cwd.  It also
7957         removes a dependency of save-cwd on xgetcwd, and thereby
7958         indirectly on xalloc.  This change causes the openat substitute
7959         to fall back on save_cwd when memory is tight, and for save_cwd to
7960         fail instead of dying when memory is tight, but that's good enough.
7961         Problem and initial idea for fix reported by Bastien Roucaries in
7962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
7963
7964         * lib/openat-proc.c: Include stdlib.h (for malloc), not
7965         xalloc.h (for xmalloc).
7966         (openat_proc_name): Use malloc, not xmalloc.
7967         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
7968         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
7969
7970         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
7971         This avoids heap allocation for file names whose lengths are in
7972         the range 512..1023, with the upper bound increasing to at most
7973         4031 depending on the platform's PATH_MAX.  (We do not want
7974         pathmax.h here as it might supply a non-constant PATH_MAX.)
7975         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
7976         Perhaps they should be moved to malloca.h?
7977         (OPENAT_BUFFER_SIZE): Use them.
7978
7979 2011-01-10  Bruno Haible  <bruno@clisp.org>
7980
7981         doc: Update users.txt.
7982         * users.txt: Add recutils.
7983
7984 2011-01-09  Karl Berry  <karl@gnu.org>
7985
7986         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
7987
7988         * doc/configmake.texi: New file.
7989         * doc/gnulib.texi: Include it.
7990         * modules/configmake: Move documentation from here.
7991
7992 2011-01-09  Bruno Haible  <bruno@clisp.org>
7993
7994         Update to Unicode 6.0.0.
7995         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
7996         (get_lbp): Update for Unicode 6.0.0.
7997         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
7998         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
7999         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
8000         U+11001, U+11038..U+11046. Remove U+06DE.
8001         (uc_width): Fix bounds of planes.
8002         * tests/uniwidth/test-uc_width2.sh: Same updates as in
8003         lib/uniwidth/width.c.
8004         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
8005         trailing whitespace removed.
8006         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
8007         without comments, but with the original copyright notice.
8008         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
8009         * lib/unicase/ignorable.h: Likewise.
8010         * lib/unicase/tocasefold.h: Likewise.
8011         * lib/unicase/tolower.h: Likewise.
8012         * lib/unicase/totitle.h: Likewise.
8013         * lib/unicase/toupper.h: Likewise.
8014         * lib/unictype/bidi_of.h: Likewise.
8015         * lib/unictype/blocks.h: Likewise.
8016         * lib/unictype/categ_C.h: Likewise.
8017         * lib/unictype/categ_Cn.h: Likewise.
8018         * lib/unictype/categ_L.h: Likewise.
8019         * lib/unictype/categ_Ll.h: Likewise.
8020         * lib/unictype/categ_Lm.h: Likewise.
8021         * lib/unictype/categ_Lo.h: Likewise.
8022         * lib/unictype/categ_Lu.h: Likewise.
8023         * lib/unictype/categ_M.h: Likewise.
8024         * lib/unictype/categ_Mc.h: Likewise.
8025         * lib/unictype/categ_Me.h: Likewise.
8026         * lib/unictype/categ_Mn.h: Likewise.
8027         * lib/unictype/categ_N.h: Likewise.
8028         * lib/unictype/categ_Nd.h: Likewise.
8029         * lib/unictype/categ_No.h: Likewise.
8030         * lib/unictype/categ_P.h: Likewise.
8031         * lib/unictype/categ_Po.h: Likewise.
8032         * lib/unictype/categ_S.h: Likewise.
8033         * lib/unictype/categ_Sc.h: Likewise.
8034         * lib/unictype/categ_Sk.h: Likewise.
8035         * lib/unictype/categ_Sm.h: Likewise.
8036         * lib/unictype/categ_So.h: Likewise.
8037         * lib/unictype/categ_of.h: Likewise.
8038         * lib/unictype/combining.h: Likewise.
8039         * lib/unictype/ctype_alnum.h: Likewise.
8040         * lib/unictype/ctype_alpha.h: Likewise.
8041         * lib/unictype/ctype_graph.h: Likewise.
8042         * lib/unictype/ctype_lower.h: Likewise.
8043         * lib/unictype/ctype_print.h: Likewise.
8044         * lib/unictype/ctype_punct.h: Likewise.
8045         * lib/unictype/ctype_upper.h: Likewise.
8046         * lib/unictype/decdigit.h: Likewise.
8047         * lib/unictype/digit.h: Likewise.
8048         * lib/unictype/numeric.h: Likewise.
8049         * lib/unictype/pr_alphabetic.h: Likewise.
8050         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
8051         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
8052         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
8053         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
8054         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
8055         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
8056         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
8057         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
8058         * lib/unictype/pr_case_ignorable.h: Likewise.
8059         * lib/unictype/pr_cased.h: Likewise.
8060         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
8061         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
8062         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
8063         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
8064         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
8065         * lib/unictype/pr_combining.h: Likewise.
8066         * lib/unictype/pr_composite.h: Likewise.
8067         * lib/unictype/pr_currency_symbol.h: Likewise.
8068         * lib/unictype/pr_decimal_digit.h: Likewise.
8069         * lib/unictype/pr_deprecated.h: Likewise.
8070         * lib/unictype/pr_format_control.h: Likewise.
8071         * lib/unictype/pr_grapheme_base.h: Likewise.
8072         * lib/unictype/pr_grapheme_extend.h: Likewise.
8073         * lib/unictype/pr_grapheme_link.h: Likewise.
8074         * lib/unictype/pr_id_continue.h: Likewise.
8075         * lib/unictype/pr_id_start.h: Likewise.
8076         * lib/unictype/pr_ideographic.h: Likewise.
8077         * lib/unictype/pr_lowercase.h: Likewise.
8078         * lib/unictype/pr_math.h: Likewise.
8079         * lib/unictype/pr_numeric.h: Likewise.
8080         * lib/unictype/pr_other_alphabetic.h: Likewise.
8081         * lib/unictype/pr_other_id_continue.h: Likewise.
8082         * lib/unictype/pr_other_math.h: Likewise.
8083         * lib/unictype/pr_punctuation.h: Likewise.
8084         * lib/unictype/pr_sentence_terminal.h: Likewise.
8085         * lib/unictype/pr_terminal_punctuation.h: Likewise.
8086         * lib/unictype/pr_unassigned_code_value.h: Likewise.
8087         * lib/unictype/pr_unified_ideograph.h: Likewise.
8088         * lib/unictype/pr_uppercase.h: Likewise.
8089         * lib/unictype/pr_xid_continue.h: Likewise.
8090         * lib/unictype/pr_xid_start.h: Likewise.
8091         * lib/unictype/scripts.h: Likewise.
8092         * lib/unictype/scripts_byname.gperf: Likewise.
8093         * lib/unictype/sy_java_ident.h: Likewise.
8094         * lib/unigbrk/gbrkprop.h: Likewise.
8095         * lib/unilbrk/lbrkprop1.h: Likewise.
8096         * lib/unilbrk/lbrkprop2.h: Likewise.
8097         * lib/uninorm/decomposition-table2.h: Likewise.
8098         * lib/uniwbrk/wbrkprop.h: Likewise.
8099         * tests/unicase/test-cased.c: Likewise.
8100         * tests/unicase/test-ignorable.c: Likewise.
8101         * tests/unicase/test-uc_tolower.c: Likewise.
8102         * tests/unicase/test-uc_totitle.c: Likewise.
8103         * tests/unicase/test-uc_toupper.c: Likewise.
8104         * tests/unictype/test-categ_C.c: Likewise.
8105         * tests/unictype/test-categ_Cn.c: Likewise.
8106         * tests/unictype/test-categ_L.c: Likewise.
8107         * tests/unictype/test-categ_Ll.c: Likewise.
8108         * tests/unictype/test-categ_Lm.c: Likewise.
8109         * tests/unictype/test-categ_Lo.c: Likewise.
8110         * tests/unictype/test-categ_Lu.c: Likewise.
8111         * tests/unictype/test-categ_M.c: Likewise.
8112         * tests/unictype/test-categ_Mc.c: Likewise.
8113         * tests/unictype/test-categ_Me.c: Likewise.
8114         * tests/unictype/test-categ_Mn.c: Likewise.
8115         * tests/unictype/test-categ_N.c: Likewise.
8116         * tests/unictype/test-categ_Nd.c: Likewise.
8117         * tests/unictype/test-categ_No.c: Likewise.
8118         * tests/unictype/test-categ_P.c: Likewise.
8119         * tests/unictype/test-categ_Po.c: Likewise.
8120         * tests/unictype/test-categ_S.c: Likewise.
8121         * tests/unictype/test-categ_Sc.c: Likewise.
8122         * tests/unictype/test-categ_Sk.c: Likewise.
8123         * tests/unictype/test-categ_Sm.c: Likewise.
8124         * tests/unictype/test-categ_So.c: Likewise.
8125         * tests/unictype/test-ctype_alnum.c: Likewise.
8126         * tests/unictype/test-ctype_alpha.c: Likewise.
8127         * tests/unictype/test-ctype_graph.c: Likewise.
8128         * tests/unictype/test-ctype_lower.c: Likewise.
8129         * tests/unictype/test-ctype_print.c: Likewise.
8130         * tests/unictype/test-ctype_punct.c: Likewise.
8131         * tests/unictype/test-ctype_upper.c: Likewise.
8132         * tests/unictype/test-decdigit.h: Likewise.
8133         * tests/unictype/test-digit.h: Likewise.
8134         * tests/unictype/test-numeric.h: Likewise.
8135         * tests/unictype/test-pr_alphabetic.c: Likewise.
8136         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
8137         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
8138         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
8139         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
8140         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
8141         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
8142         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
8143         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
8144         * tests/unictype/test-pr_case_ignorable.c: Likewise.
8145         * tests/unictype/test-pr_cased.c: Likewise.
8146         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
8147         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
8148         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
8149         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
8150         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
8151         * tests/unictype/test-pr_combining.c: Likewise.
8152         * tests/unictype/test-pr_composite.c: Likewise.
8153         * tests/unictype/test-pr_currency_symbol.c: Likewise.
8154         * tests/unictype/test-pr_decimal_digit.c: Likewise.
8155         * tests/unictype/test-pr_deprecated.c: Likewise.
8156         * tests/unictype/test-pr_format_control.c: Likewise.
8157         * tests/unictype/test-pr_grapheme_base.c: Likewise.
8158         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
8159         * tests/unictype/test-pr_grapheme_link.c: Likewise.
8160         * tests/unictype/test-pr_id_continue.c: Likewise.
8161         * tests/unictype/test-pr_id_start.c: Likewise.
8162         * tests/unictype/test-pr_ideographic.c: Likewise.
8163         * tests/unictype/test-pr_lowercase.c: Likewise.
8164         * tests/unictype/test-pr_math.c: Likewise.
8165         * tests/unictype/test-pr_numeric.c: Likewise.
8166         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
8167         * tests/unictype/test-pr_other_id_continue.c: Likewise.
8168         * tests/unictype/test-pr_other_math.c: Likewise.
8169         * tests/unictype/test-pr_punctuation.c: Likewise.
8170         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
8171         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
8172         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
8173         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
8174         * tests/unictype/test-pr_uppercase.c: Likewise.
8175         * tests/unictype/test-pr_xid_continue.c: Likewise.
8176         * tests/unictype/test-pr_xid_start.c: Likewise.
8177         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
8178         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
8179         changes.
8180         * lib/unictype/categ_Cc.h: Likewise.
8181         * lib/unictype/categ_Cf.h: Likewise.
8182         * lib/unictype/categ_Co.h: Likewise.
8183         * lib/unictype/categ_Cs.h: Likewise.
8184         * lib/unictype/categ_Lt.h: Likewise.
8185         * lib/unictype/categ_Nl.h: Likewise.
8186         * lib/unictype/categ_Pc.h: Likewise.
8187         * lib/unictype/categ_Pd.h: Likewise.
8188         * lib/unictype/categ_Pe.h: Likewise.
8189         * lib/unictype/categ_Pf.h: Likewise.
8190         * lib/unictype/categ_Pi.h: Likewise.
8191         * lib/unictype/categ_Ps.h: Likewise.
8192         * lib/unictype/categ_Z.h: Likewise.
8193         * lib/unictype/categ_Zl.h: Likewise.
8194         * lib/unictype/categ_Zp.h: Likewise.
8195         * lib/unictype/categ_Zs.h: Likewise.
8196         * lib/unictype/ctype_blank.h: Likewise.
8197         * lib/unictype/ctype_cntrl.h: Likewise.
8198         * lib/unictype/ctype_digit.h: Likewise.
8199         * lib/unictype/ctype_space.h: Likewise.
8200         * lib/unictype/ctype_xdigit.h: Likewise.
8201         * lib/unictype/mirror.h: Likewise.
8202         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
8203         * lib/unictype/pr_bidi_block_separator.h: Likewise.
8204         * lib/unictype/pr_bidi_common_separator.h: Likewise.
8205         * lib/unictype/pr_bidi_control.h: Likewise.
8206         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
8207         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
8208         * lib/unictype/pr_bidi_european_digit.h: Likewise.
8209         * lib/unictype/pr_bidi_pdf.h: Likewise.
8210         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
8211         * lib/unictype/pr_bidi_whitespace.h: Likewise.
8212         * lib/unictype/pr_dash.h: Likewise.
8213         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
8214         * lib/unictype/pr_diacritic.h: Likewise.
8215         * lib/unictype/pr_extender.h: Likewise.
8216         * lib/unictype/pr_hex_digit.h: Likewise.
8217         * lib/unictype/pr_hyphen.h: Likewise.
8218         * lib/unictype/pr_ids_binary_operator.h: Likewise.
8219         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
8220         * lib/unictype/pr_ignorable_control.h: Likewise.
8221         * lib/unictype/pr_iso_control.h: Likewise.
8222         * lib/unictype/pr_join_control.h: Likewise.
8223         * lib/unictype/pr_left_of_pair.h: Likewise.
8224         * lib/unictype/pr_line_separator.h: Likewise.
8225         * lib/unictype/pr_logical_order_exception.h: Likewise.
8226         * lib/unictype/pr_non_break.h: Likewise.
8227         * lib/unictype/pr_not_a_character.h: Likewise.
8228         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
8229         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
8230         * lib/unictype/pr_other_id_start.h: Likewise.
8231         * lib/unictype/pr_other_lowercase.h: Likewise.
8232         * lib/unictype/pr_other_uppercase.h: Likewise.
8233         * lib/unictype/pr_paired_punctuation.h: Likewise.
8234         * lib/unictype/pr_paragraph_separator.h: Likewise.
8235         * lib/unictype/pr_pattern_syntax.h: Likewise.
8236         * lib/unictype/pr_pattern_white_space.h: Likewise.
8237         * lib/unictype/pr_private_use.h: Likewise.
8238         * lib/unictype/pr_quotation_mark.h: Likewise.
8239         * lib/unictype/pr_radical.h: Likewise.
8240         * lib/unictype/pr_soft_dotted.h: Likewise.
8241         * lib/unictype/pr_space.h: Likewise.
8242         * lib/unictype/pr_titlecase.h: Likewise.
8243         * lib/unictype/pr_variation_selector.h: Likewise.
8244         * lib/unictype/pr_white_space.h: Likewise.
8245         * lib/unictype/pr_zero_width.h: Likewise.
8246         * lib/unictype/sy_c_ident.h: Likewise.
8247         * lib/unictype/sy_c_whitespace.h: Likewise.
8248         * lib/unictype/sy_java_whitespace.h: Likewise.
8249         * lib/uninorm/composition-table.gperf: Likewise.
8250         * lib/uninorm/decomposition-table1.h: Likewise.
8251         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
8252         LB8.
8253         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
8254         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
8255         * modules/unictype/*: Bump version number of expected libunistring
8256         version.
8257
8258 2011-01-09  Bruno Haible  <bruno@clisp.org>
8259
8260         Update to Unicode 5.2.0.
8261         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
8262         trailing whitespace removed.
8263
8264 2011-01-09  Bruno Haible  <bruno@clisp.org>
8265
8266         New Unicode character properties, from Unicode 5.2.0.
8267         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
8268         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
8269         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
8270         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
8271         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
8272         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
8273         uc_is_property_cased, uc_is_property_case_ignorable,
8274         uc_is_property_changes_when_lowercased,
8275         uc_is_property_changes_when_uppercased,
8276         uc_is_property_changes_when_titlecased,
8277         uc_is_property_changes_when_casefolded,
8278         uc_is_property_changes_when_casemapped): New declarations.
8279         * lib/unictype/pr_byname.gperf: Add the new properties.
8280         * modules/unictype/property-byname (Depends-on): Depend on the new
8281         properties modules.
8282         * modules/unictype/property-all (Depends-on): Likewise.
8283         * MODULES.html.sh (Unicode string functions): Add
8284         unictype/property-case-ignorable, unictype/property-cased,
8285         unictype/property-changes-when-casefolded,
8286         unictype/property-changes-when-casemapped,
8287         unictype/property-changes-when-lowercased,
8288         unictype/property-changes-when-titlecased,
8289         unictype/property-changes-when-uppercased.
8290
8291         New module 'unictype/property-changes-when-casemapped'.
8292         * modules/unictype/property-changes-when-casemapped: New file.
8293         * lib/unictype/pr_changes_when_casemapped.c: New file.
8294         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
8295         generated by gen-uni-tables.
8296         * modules/unictype/property-changes-when-casemapped-tests: New file.
8297         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
8298         automatically generated by gen-uni-tables.
8299
8300         New module 'unictype/property-changes-when-casefolded'.
8301         * modules/unictype/property-changes-when-casefolded: New file.
8302         * lib/unictype/pr_changes_when_casefolded.c: New file.
8303         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
8304         generated by gen-uni-tables.
8305         * modules/unictype/property-changes-when-casefolded-tests: New file.
8306         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
8307         automatically generated by gen-uni-tables.
8308
8309         New module 'unictype/property-changes-when-titlecased'.
8310         * modules/unictype/property-changes-when-titlecased: New file.
8311         * lib/unictype/pr_changes_when_titlecased.c: New file.
8312         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
8313         generated by gen-uni-tables.
8314         * modules/unictype/property-changes-when-titlecased-tests: New file.
8315         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
8316         automatically generated by gen-uni-tables.
8317
8318         New module 'unictype/property-changes-when-uppercased'.
8319         * modules/unictype/property-changes-when-uppercased: New file.
8320         * lib/unictype/pr_changes_when_uppercased.c: New file.
8321         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
8322         generated by gen-uni-tables.
8323         * modules/unictype/property-changes-when-uppercased-tests: New file.
8324         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
8325         automatically generated by gen-uni-tables.
8326
8327         New module 'unictype/property-changes-when-lowercased'.
8328         * modules/unictype/property-changes-when-lowercased: New file.
8329         * lib/unictype/pr_changes_when_lowercased.c: New file.
8330         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
8331         generated by gen-uni-tables.
8332         * modules/unictype/property-changes-when-lowercased-tests: New file.
8333         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
8334         automatically generated by gen-uni-tables.
8335
8336         New module 'unictype/property-case-ignorable'.
8337         * modules/unictype/property-case-ignorable: New file.
8338         * lib/unictype/pr_case_ignorable.c: New file.
8339         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
8340         by gen-uni-tables.
8341         * modules/unictype/property-case-ignorable-tests: New file.
8342         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
8343         generated by gen-uni-tables.
8344
8345         New module 'unictype/property-cased'.
8346         * modules/unictype/property-cased: New file.
8347         * lib/unictype/pr_cased.c: New file.
8348         * lib/unictype/pr_cased.h: New file, automatically generated by
8349         gen-uni-tables.
8350         * modules/unictype/property-cased-tests: New file.
8351         * tests/unictype/test-pr_cased.c: New file, automatically generated by
8352         gen-uni-tables.
8353
8354 2011-01-09  Bruno Haible  <bruno@clisp.org>
8355
8356         Update to Unicode 5.2.0.
8357         * lib/gen-uni-tables.c (output_predicate, output_category,
8358         output_combclass, output_bidi_category, output_decimal_digit_test,
8359         output_decimal_digit, output_digit_test, output_digit,
8360         output_numeric_test, output_numeric, output_mirror, output_scripts,
8361         output_scripts_byname, output_blocks, output_ident_category): Fix
8362         comment header.
8363         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
8364         get_wbp.
8365         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
8366         items.
8367         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
8368         Changes_When_Lowercased, Changes_When_Uppercased,
8369         Changes_When_Titlecased, Changes_When_Casefolded,
8370         Changes_When_Casemapped.
8371         (is_property_alphabetic, is_property_default_ignorable_code_point):
8372         Update for Unicode 5.2.0.
8373         (is_property_cased, is_property_case_ignorable,
8374         is_property_changes_when_lowercased,
8375         is_property_changes_when_uppercased,
8376         is_property_changes_when_titlecased,
8377         is_property_changes_when_casefolded,
8378         is_property_changes_when_casemapped): New functions.
8379         (output_properties): Output also the properties cased, case_ignorable,
8380         changes_when_lowercased, changes_when_uppercased,
8381         changes_when_titlecased, changes_when_casefolded,
8382         changes_when_casemapped.
8383         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
8384         Unicode TR#11 revision 17 -> 19.
8385         (LBP_CP): New enumeration value.
8386         (LBP_*): Adjust values accordingly.
8387         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
8388         TR#14 revision 22 -> 24.
8389         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
8390         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
8391         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
8392         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
8393         is_WBP_MIDLETTER.
8394         (output_composition_tables): Allow for 24 bits instead of 16 bits in
8395         the code1 and code2 of each composition rule.
8396         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
8397         * lib/unicase/ignorable.h: Likewise.
8398         * lib/unicase/tocasefold.h: Likewise.
8399         * lib/unicase/tolower.h: Likewise.
8400         * lib/unicase/totitle.h: Likewise.
8401         * lib/unicase/toupper.h: Likewise.
8402         * lib/unictype/bidi_of.h: Likewise.
8403         * lib/unictype/blocks.h: Likewise.
8404         * lib/unictype/categ_C.h: Likewise.
8405         * lib/unictype/categ_Cf.h: Likewise.
8406         * lib/unictype/categ_Cn.h: Likewise.
8407         * lib/unictype/categ_L.h: Likewise.
8408         * lib/unictype/categ_Ll.h: Likewise.
8409         * lib/unictype/categ_Lm.h: Likewise.
8410         * lib/unictype/categ_Lo.h: Likewise.
8411         * lib/unictype/categ_Lu.h: Likewise.
8412         * lib/unictype/categ_M.h: Likewise.
8413         * lib/unictype/categ_Mc.h: Likewise.
8414         * lib/unictype/categ_Mn.h: Likewise.
8415         * lib/unictype/categ_N.h: Likewise.
8416         * lib/unictype/categ_Nd.h: Likewise.
8417         * lib/unictype/categ_Nl.h: Likewise.
8418         * lib/unictype/categ_No.h: Likewise.
8419         * lib/unictype/categ_P.h: Likewise.
8420         * lib/unictype/categ_Pd.h: Likewise.
8421         * lib/unictype/categ_Po.h: Likewise.
8422         * lib/unictype/categ_S.h: Likewise.
8423         * lib/unictype/categ_Sc.h: Likewise.
8424         * lib/unictype/categ_So.h: Likewise.
8425         * lib/unictype/categ_of.h: Likewise.
8426         * lib/unictype/combining.h: Likewise.
8427         * lib/unictype/ctype_alnum.h: Likewise.
8428         * lib/unictype/ctype_alpha.h: Likewise.
8429         * lib/unictype/ctype_graph.h: Likewise.
8430         * lib/unictype/ctype_lower.h: Likewise.
8431         * lib/unictype/ctype_print.h: Likewise.
8432         * lib/unictype/ctype_punct.h: Likewise.
8433         * lib/unictype/ctype_upper.h: Likewise.
8434         * lib/unictype/decdigit.h: Likewise.
8435         * lib/unictype/digit.h: Likewise.
8436         * lib/unictype/numeric.h: Likewise.
8437         * lib/unictype/pr_alphabetic.h: Likewise.
8438         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
8439         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
8440         * lib/unictype/pr_bidi_european_digit.h: Likewise.
8441         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
8442         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
8443         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
8444         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
8445         * lib/unictype/pr_combining.h: Likewise.
8446         * lib/unictype/pr_composite.h: Likewise.
8447         * lib/unictype/pr_currency_symbol.h: Likewise.
8448         * lib/unictype/pr_dash.h: Likewise.
8449         * lib/unictype/pr_decimal_digit.h: Likewise.
8450         * lib/unictype/pr_deprecated.h: Likewise.
8451         * lib/unictype/pr_diacritic.h: Likewise.
8452         * lib/unictype/pr_extender.h: Likewise.
8453         * lib/unictype/pr_grapheme_base.h: Likewise.
8454         * lib/unictype/pr_grapheme_extend.h: Likewise.
8455         * lib/unictype/pr_grapheme_link.h: Likewise.
8456         * lib/unictype/pr_id_continue.h: Likewise.
8457         * lib/unictype/pr_id_start.h: Likewise.
8458         * lib/unictype/pr_ideographic.h: Likewise.
8459         * lib/unictype/pr_ignorable_control.h: Likewise.
8460         * lib/unictype/pr_logical_order_exception.h: Likewise.
8461         * lib/unictype/pr_lowercase.h: Likewise.
8462         * lib/unictype/pr_numeric.h: Likewise.
8463         * lib/unictype/pr_other_alphabetic.h: Likewise.
8464         * lib/unictype/pr_punctuation.h: Likewise.
8465         * lib/unictype/pr_sentence_terminal.h: Likewise.
8466         * lib/unictype/pr_terminal_punctuation.h: Likewise.
8467         * lib/unictype/pr_unassigned_code_value.h: Likewise.
8468         * lib/unictype/pr_unified_ideograph.h: Likewise.
8469         * lib/unictype/pr_uppercase.h: Likewise.
8470         * lib/unictype/pr_xid_continue.h: Likewise.
8471         * lib/unictype/pr_xid_start.h: Likewise.
8472         * lib/unictype/pr_zero_width.h: Likewise.
8473         * lib/unictype/scripts.h: Likewise.
8474         * lib/unictype/scripts_byname.gperf: Likewise.
8475         * lib/unictype/sy_java_ident.h: Likewise.
8476         * lib/unigbrk/gbrkprop.h: Likewise.
8477         * lib/unilbrk/lbrkprop1.h: Likewise.
8478         * lib/unilbrk/lbrkprop2.h: Likewise.
8479         * lib/unilbrk/lbrktables.h: Likewise.
8480         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
8481         LBP_CP. Implement rule LB30.
8482         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
8483         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
8484         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
8485         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
8486         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
8487         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
8488         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
8489         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
8490         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
8491         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
8492         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
8493         bits instead of 16 bits in the code1 and code2 of each composition
8494         rule.
8495         (uc_composition): Update for Unicode 5.2.0.
8496         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
8497         * lib/uninorm/decomposition-table2.h: Likewise.
8498         * lib/uniwbrk/wbrkprop.h: Likewise.
8499         * tests/unicase/test-cased.c: Likewise.
8500         * tests/unicase/test-ignorable.c: Likewise.
8501         * tests/unicase/test-uc_tolower.c: Likewise.
8502         * tests/unicase/test-uc_totitle.c: Likewise.
8503         * tests/unicase/test-uc_toupper.c: Likewise.
8504         * tests/unictype/test-categ_C.c: Likewise.
8505         * tests/unictype/test-categ_Cf.c: Likewise.
8506         * tests/unictype/test-categ_Cn.c: Likewise.
8507         * tests/unictype/test-categ_L.c: Likewise.
8508         * tests/unictype/test-categ_Ll.c: Likewise.
8509         * tests/unictype/test-categ_Lm.c: Likewise.
8510         * tests/unictype/test-categ_Lo.c: Likewise.
8511         * tests/unictype/test-categ_Lu.c: Likewise.
8512         * tests/unictype/test-categ_M.c: Likewise.
8513         * tests/unictype/test-categ_Mc.c: Likewise.
8514         * tests/unictype/test-categ_Mn.c: Likewise.
8515         * tests/unictype/test-categ_N.c: Likewise.
8516         * tests/unictype/test-categ_Nd.c: Likewise.
8517         * tests/unictype/test-categ_Nl.c: Likewise.
8518         * tests/unictype/test-categ_No.c: Likewise.
8519         * tests/unictype/test-categ_P.c: Likewise.
8520         * tests/unictype/test-categ_Pd.c: Likewise.
8521         * tests/unictype/test-categ_Po.c: Likewise.
8522         * tests/unictype/test-categ_S.c: Likewise.
8523         * tests/unictype/test-categ_Sc.c: Likewise.
8524         * tests/unictype/test-categ_So.c: Likewise.
8525         * tests/unictype/test-ctype_alnum.c: Likewise.
8526         * tests/unictype/test-ctype_alpha.c: Likewise.
8527         * tests/unictype/test-ctype_graph.c: Likewise.
8528         * tests/unictype/test-ctype_lower.c: Likewise.
8529         * tests/unictype/test-ctype_print.c: Likewise.
8530         * tests/unictype/test-ctype_punct.c: Likewise.
8531         * tests/unictype/test-ctype_upper.c: Likewise.
8532         * tests/unictype/test-decdigit.h: Likewise.
8533         * tests/unictype/test-digit.h: Likewise.
8534         * tests/unictype/test-numeric.h: Likewise.
8535         * tests/unictype/test-pr_alphabetic.c: Likewise.
8536         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
8537         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
8538         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
8539         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
8540         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
8541         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
8542         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
8543         * tests/unictype/test-pr_combining.c: Likewise.
8544         * tests/unictype/test-pr_composite.c: Likewise.
8545         * tests/unictype/test-pr_currency_symbol.c: Likewise.
8546         * tests/unictype/test-pr_dash.c: Likewise.
8547         * tests/unictype/test-pr_decimal_digit.c: Likewise.
8548         * tests/unictype/test-pr_deprecated.c: Likewise.
8549         * tests/unictype/test-pr_diacritic.c: Likewise.
8550         * tests/unictype/test-pr_extender.c: Likewise.
8551         * tests/unictype/test-pr_grapheme_base.c: Likewise.
8552         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
8553         * tests/unictype/test-pr_grapheme_link.c: Likewise.
8554         * tests/unictype/test-pr_id_continue.c: Likewise.
8555         * tests/unictype/test-pr_id_start.c: Likewise.
8556         * tests/unictype/test-pr_ideographic.c: Likewise.
8557         * tests/unictype/test-pr_ignorable_control.c: Likewise.
8558         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
8559         * tests/unictype/test-pr_lowercase.c: Likewise.
8560         * tests/unictype/test-pr_numeric.c: Likewise.
8561         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
8562         * tests/unictype/test-pr_punctuation.c: Likewise.
8563         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
8564         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
8565         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
8566         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
8567         * tests/unictype/test-pr_uppercase.c: Likewise.
8568         * tests/unictype/test-pr_xid_continue.c: Likewise.
8569         * tests/unictype/test-pr_xid_start.c: Likewise.
8570         * tests/unictype/test-pr_zero_width.c: Likewise.
8571         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
8572         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
8573         changed behaviour: line breaking is now disallowed between a letter
8574         or '=' and '('.
8575         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
8576         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
8577         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
8578         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
8579         * tests/uniwidth/test-uc_width2.sh: Same updates as in
8580         lib/uniwidth/width.c.
8581         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
8582         without comments, but with the original copyright notice.
8583         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
8584         changes.
8585         * lib/unictype/categ_Cc.h: Likewise.
8586         * lib/unictype/categ_Co.h: Likewise.
8587         * lib/unictype/categ_Cs.h: Likewise.
8588         * lib/unictype/categ_Lt.h: Likewise.
8589         * lib/unictype/categ_Me.h: Likewise.
8590         * lib/unictype/categ_Pc.h: Likewise.
8591         * lib/unictype/categ_Pe.h: Likewise.
8592         * lib/unictype/categ_Pf.h: Likewise.
8593         * lib/unictype/categ_Pi.h: Likewise.
8594         * lib/unictype/categ_Ps.h: Likewise.
8595         * lib/unictype/categ_Sk.h: Likewise.
8596         * lib/unictype/categ_Sm.h: Likewise.
8597         * lib/unictype/categ_Z.h: Likewise.
8598         * lib/unictype/categ_Zl.h: Likewise.
8599         * lib/unictype/categ_Zp.h: Likewise.
8600         * lib/unictype/categ_Zs.h: Likewise.
8601         * lib/unictype/ctype_blank.h: Likewise.
8602         * lib/unictype/ctype_cntrl.h: Likewise.
8603         * lib/unictype/ctype_digit.h: Likewise.
8604         * lib/unictype/ctype_space.h: Likewise.
8605         * lib/unictype/ctype_xdigit.h: Likewise.
8606         * lib/unictype/mirror.h: Likewise.
8607         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
8608         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
8609         * lib/unictype/pr_bidi_block_separator.h: Likewise.
8610         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
8611         * lib/unictype/pr_bidi_common_separator.h: Likewise.
8612         * lib/unictype/pr_bidi_control.h: Likewise.
8613         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
8614         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
8615         * lib/unictype/pr_bidi_pdf.h: Likewise.
8616         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
8617         * lib/unictype/pr_bidi_whitespace.h: Likewise.
8618         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
8619         * lib/unictype/pr_format_control.h: Likewise.
8620         * lib/unictype/pr_hex_digit.h: Likewise.
8621         * lib/unictype/pr_hyphen.h: Likewise.
8622         * lib/unictype/pr_ids_binary_operator.h: Likewise.
8623         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
8624         * lib/unictype/pr_iso_control.h: Likewise.
8625         * lib/unictype/pr_join_control.h: Likewise.
8626         * lib/unictype/pr_left_of_pair.h: Likewise.
8627         * lib/unictype/pr_line_separator.h: Likewise.
8628         * lib/unictype/pr_math.h: Likewise.
8629         * lib/unictype/pr_non_break.h: Likewise.
8630         * lib/unictype/pr_not_a_character.h: Likewise.
8631         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
8632         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
8633         * lib/unictype/pr_other_id_continue.h: Likewise.
8634         * lib/unictype/pr_other_id_start.h: Likewise.
8635         * lib/unictype/pr_other_lowercase.h: Likewise.
8636         * lib/unictype/pr_other_math.h: Likewise.
8637         * lib/unictype/pr_other_uppercase.h: Likewise.
8638         * lib/unictype/pr_paired_punctuation.h: Likewise.
8639         * lib/unictype/pr_paragraph_separator.h: Likewise.
8640         * lib/unictype/pr_pattern_syntax.h: Likewise.
8641         * lib/unictype/pr_pattern_white_space.h: Likewise.
8642         * lib/unictype/pr_private_use.h: Likewise.
8643         * lib/unictype/pr_quotation_mark.h: Likewise.
8644         * lib/unictype/pr_radical.h: Likewise.
8645         * lib/unictype/pr_soft_dotted.h: Likewise.
8646         * lib/unictype/pr_space.h: Likewise.
8647         * lib/unictype/pr_titlecase.h: Likewise.
8648         * lib/unictype/pr_variation_selector.h: Likewise.
8649         * lib/unictype/pr_white_space.h: Likewise.
8650         * lib/unictype/sy_c_ident.h: Likewise.
8651         * lib/unictype/sy_c_whitespace.h: Likewise.
8652         * lib/unictype/sy_java_whitespace.h: Likewise.
8653         * modules/uni*/*: Bump version number of expected libunistring version.
8654         Reported by Simon Josefsson.
8655
8656 2011-01-09  Karl Heuer  <kwzh@gnu.org>
8657
8658         useless-if-before-free: fix typo in --help and make the internal,
8659         automatic version date update process work once again.
8660         --help output contained a NUL character instead of the
8661         backslash-zero that was intended.  Also, the "must lie within
8662         the first 8 lines" line is on line 9, and hence not getting
8663         automatically updated.
8664         * build-aux/useless-if-before-free: Fix the former by adding a
8665         backslash, and the latter by condensing the three lines of what-it-does
8666         to a single line, leaving one line of slack for the future.
8667
8668 2011-01-09  Bruno Haible  <bruno@clisp.org>
8669
8670         uniwidth/width: Fix width of U+1D173..U+1D17A.
8671         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
8672         symbolic_width, output_width_property_test): New functions.
8673         (main): Invoke output_nonspacing_property, output_width_property_test.
8674         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
8675         U+1D173..U+1D17A.
8676         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
8677         1.
8678         * modules/uniwidth/*: Bump version number of expected libunistring
8679         version.
8680         * modules/unilbrk/*: Likewise.
8681
8682 2011-01-08  Bruno Haible  <bruno@clisp.org>
8683
8684         uninorm tests: Preserve copyright of Unicode data file.
8685         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
8686         Mention modifications.
8687
8688 2011-01-08  Bruno Haible  <bruno@clisp.org>
8689
8690         gen-uni-tables: Prepare for Unicode 5.2.0.
8691         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
8692         (debug_output_lbp, output_lbp): Update.
8693
8694 2011-01-08  Bruno Haible  <bruno@clisp.org>
8695
8696         unilbrk: Clarify gen-uni-tables.c code.
8697         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
8698         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
8699         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
8700
8701 2011-01-07  Bruno Haible  <bruno@clisp.org>
8702
8703         strtod: Restore errno when successfully parsing Infinity or NaN.
8704         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
8705         restore the original errno.
8706
8707 2011-01-07  Bruno Haible  <bruno@clisp.org>
8708
8709         remove test: Avoid failure on HP-UX 11.
8710         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
8711
8712 2011-01-07  Bruno Haible  <bruno@clisp.org>
8713
8714         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
8715         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
8716         error code.
8717
8718 2011-01-07  Pádraig Brady <P@draigBrady.com>
8719
8720         ignore-value: fixup comments, and add Eric Blake
8721         as an author since he rewrote the macros.
8722         * lib/ignore-value.h (ignore_value):  State that
8723         we now support aggregates.  Also specify exactly
8724         when the GCC warn_unused_result feature was added.
8725
8726 2011-01-06  Eric Blake  <eblake@redhat.com>
8727
8728         ignore-value: support aggregate types
8729         * lib/ignore-value.h (ignore_value): Provide separate gcc
8730         definition.
8731         * modules/ignore-value-tests: New test module.
8732         * tests/test-ignore-value.c: New test.
8733
8734         maint.mk: improve sc_prohibit_strcmp regex
8735         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
8736         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
8737         definition of STRNEQ.
8738
8739         signal: work around Haiku issue with SIGBUS
8740         * lib/siglist.h: Add comment.
8741         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
8742         strsignal's favoring of SIGSEGV.
8743         * tests/test-signal.c (main): Avoid test failure.
8744         * doc/posix-headers/signal.texi (signal.h): Document the issue.
8745         Reported by Scott McCreary.
8746
8747         maint.mk: add pre-release check to ensure submodule commits are public
8748         * top/maint.mk (public-submodule-commit): New rule.
8749         (submodule-checks): New variable.
8750         (alpha beta stable): Depend on the variable.
8751
8752 2011-01-05  Pádraig Brady <P@draigBrady.com>
8753         and Jim Meyering  <meyering@redhat.com>
8754
8755         ignore-value: make ignore_value more generic; deprecate ignore_ptr
8756         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
8757         (ATTRIBUTE_DEPRECATED): Define.
8758         (_ignore_case): New function.
8759         (ignore_value): New macro, to replace the old function.
8760         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
8761         * modules/ignore-value (Depends-on): Add stdint.
8762
8763 2011-01-04  Eric Blake  <eblake@redhat.com>
8764
8765         doc: regenerate INSTALL
8766         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
8767         @firstparagraphindent support, now that autoconf dropped it.
8768         (INSTALL_PRELUDE): Reinstate old macro.
8769         * doc/install.texi: Resync from autoconf.
8770         * doc/INSTALL: Reflect recent autoconf update.
8771         * doc/INSTALL.ISO: Likewise.
8772         * doc/INSTALL.UTF-8: Likewise.
8773         Reported by Karl Berry.
8774
8775 2011-01-04  Bruce Korb  <address@hidden>
8776
8777         git-version-gen: avoid a sub-shell
8778         * build-aux/git-version-gen: Redirect stderr in `...` via
8779         "exec 2>...", rather than via an added sub-shell.
8780
8781 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
8782
8783         git-version-gen: use (...) rather than sh -c '...'
8784         * build-aux/git-version-gen: Rather than hard-coding a shell's name
8785         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
8786
8787 2011-01-03  Jim Meyering  <meyering@redhat.com>
8788
8789         git-version-gen: convert leading TABs to spaces
8790         * build-aux/git-version-gen: Expand leading TABs.
8791
8792         git-version-gen: handle failed "git rev-list"
8793         * build-aux/git-version-gen: Rather than leaking a "fatal" error
8794         from git and proceeding as if it had succeeded but printed no SHA1
8795         checksums, suppress the diagnostic and handle the failure.
8796         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
8797
8798         git-version-gen: include command name in one more diagnostic
8799         * build-aux/git-version-gen: When the required .tarball-version file
8800         was missing or unreadable, you might see the diagnostic from "cat",
8801         but no trace of the name of the invoking script.  Now, you still see
8802         the diagnostic from cat, but also get one from "git-version-gen: ".
8803         Inspired by a patch from Bruce Korb.
8804
8805         update-copyright: adjust test to match changed code
8806         * tests/test-update-copyright.sh: Change test's expected output
8807         to match new actual output.
8808
8809 2011-01-02  Bruno Haible  <bruno@clisp.org>
8810
8811         getlogin_r: Avoid test failure on HP-UX 11.
8812         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
8813         ERANGE when the second argument is zero.
8814         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
8815         portability problem.
8816
8817 2011-01-02  Bruce Korb  <bkorb@gnu.org>
8818
8819         * build-aux/update-copyright: doc Simon's changes
8820
8821 2011-01-02  Simon Josefsson  <simon@josefsson.org>
8822
8823         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
8824         environment variable.
8825
8826 2011-01-02  Bruno Haible  <bruno@clisp.org>
8827
8828         unigbrk: Avoid gcc warnings.
8829         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
8830         unused variable.
8831         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
8832         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
8833         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
8834         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
8835         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
8836         Change type of first argument to 'const char *'.
8837         (main): Remove unused variable.
8838         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
8839         type of first argument to 'const char *'.
8840         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
8841         Likewise.
8842         (main): Change type of variable 's'.
8843         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
8844         to 'int'.
8845
8846 2011-01-02  Bruno Haible  <bruno@clisp.org>
8847
8848         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
8849         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
8850         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
8851         bug.
8852         * lib/pwrite.c: Undo 2010-12-31 patch.
8853         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
8854
8855 2011-01-02  Bruno Haible  <bruno@clisp.org>
8856
8857         pread: Fix test whether it works.
8858         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
8859
8860 2011-01-02  Bruno Haible  <bruno@clisp.org>
8861
8862         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
8863         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
8864         ends in "6". Don't require a specific month name. Try also the locale
8865         names found on HP-UX 11 and Solaris 7.
8866
8867 2011-01-02  Bruno Haible  <bruno@clisp.org>
8868
8869         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
8870         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
8871         C linkage.
8872         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
8873
8874 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
8875
8876         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
8877         for consistency, since the "cluster" term is not used elsewhere.
8878         * lib/unigbrk.in.h: Update name.
8879         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
8880         * lib/unigbrk/u16-grapheme-next.c: Update name.
8881         * lib/unigbrk/u16-grapheme-prev.c: Update name.
8882         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
8883         * lib/unigbrk/u32-grapheme-next.c: Update name.
8884         * lib/unigbrk/u32-grapheme-prev.c: Update name.
8885         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
8886         * lib/unigbrk/u8-grapheme-next.c: Update name.
8887         * lib/unigbrk/u8-grapheme-prev.c: Update name.
8888         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
8889         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
8890         Suggested by Bruno Haible.
8891
8892 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
8893
8894         Remove module 'u8-grapheme-len' as too redundant with
8895         'u8-grapheme-next'.
8896         * modules/unigbrk/u8-grapheme-len: Delete file.
8897         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
8898         * lib/unigbrk.in.h: Remove prototype for deleted function.
8899         * lib/unigbrk/u8-grapheme-len.c: Delete file.
8900         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
8901
8902         Remove module 'u16-grapheme-len' as too redundant with
8903         'u16-grapheme-next'.
8904         * modules/unigbrk/u16-grapheme-len: Delete file.
8905         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
8906         * lib/unigbrk.in.h: Remove prototype for deleted function.
8907         * lib/unigbrk/u16-grapheme-len.c: Delete file.
8908         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
8909
8910         Remove module 'u32-grapheme-len' as too redundant with
8911         'u32-grapheme-next'.
8912         * modules/unigbrk/u32-grapheme-len: Delete file.
8913         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
8914         * lib/unigbrk.in.h: Remove prototype for deleted function.
8915         * lib/unigbrk/u32-grapheme-len.c: Delete file.
8916         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
8917
8918         Suggested by Bruno Haible.
8919
8920 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
8921
8922         * unigbrk.in.h: Fix typo: "ben" => "been".
8923         Reported by Bruno Haible.
8924
8925 2011-01-01  Jim Meyering  <meyering@redhat.com>
8926
8927         maint: update almost all copyright ranges to include 2011
8928         Run the new "make update-copyright" rule.
8929
8930 2011-01-01  Jim Meyering  <meyering@redhat.com>
8931
8932         maint: update-copyright: exempt doc/INSTALL*
8933         * Makefile (update-copyright): Also exclude doc/INSTALL*,
8934         since they are generated.  Suggested by Bruno Haible.
8935
8936 2011-01-01  Jim Meyering  <meyering@redhat.com>
8937
8938         maint: refine the update-copyright rule
8939         * Makefile (update-copyright): Also exclude any file that includes
8940         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
8941         code that merely generates the comment.
8942
8943 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
8944
8945         New module 'u8-grapheme-len'.
8946         * modules/unigbrk/u8-grapheme-len: New file.
8947         * modules/unigbrk/u8-grapheme-len-tests: New file.
8948         * lib/unigbrk.in.h: Add prototype for new function.
8949         * lib/unigbrk/u8-grapheme-len.c: New file.
8950         * tests/unigbrk/test-u8-grapheme-len.c: New file.
8951
8952         New module 'u16-grapheme-len'.
8953         * modules/unigbrk/u16-grapheme-len: New file.
8954         * modules/unigbrk/u16-grapheme-len-tests: New file.
8955         * lib/unigbrk.in.h: Add prototype for new function.
8956         * lib/unigbrk/u16-grapheme-len.c: New file.
8957         * tests/unigbrk/test-u16-grapheme-len.c: New file.
8958
8959         New module 'u32-grapheme-len'.
8960         * modules/unigbrk/u32-grapheme-len: New file.
8961         * modules/unigbrk/u32-grapheme-len-tests: New file.
8962         * lib/unigbrk.in.h: Add prototype for new function.
8963         * lib/unigbrk/u32-grapheme-len.c: New file.
8964         * tests/unigbrk/test-u32-grapheme-len.c: New file.
8965
8966         New module 'u8-grapheme-next'.
8967         * modules/unigbrk/u8-grapheme-next: New file.
8968         * modules/unigbrk/u8-grapheme-next-tests: New file.
8969         * lib/unigbrk.in.h: Add prototype for new function.
8970         * lib/unigbrk/u8-grapheme-next.c: New file.
8971         * tests/unigbrk/test-u8-grapheme-next.c: New file.
8972
8973         New module 'u16-grapheme-next'.
8974         * modules/unigbrk/u16-grapheme-next: New file.
8975         * modules/unigbrk/u16-grapheme-next-tests: New file.
8976         * lib/unigbrk.in.h: Add prototype for new function.
8977         * lib/unigbrk/u16-grapheme-next.c: New file.
8978         * tests/unigbrk/test-u16-grapheme-next.c: New file.
8979
8980         New module 'u32-grapheme-next'.
8981         * modules/unigbrk/u32-grapheme-next: New file.
8982         * modules/unigbrk/u32-grapheme-next-tests: New file.
8983         * lib/unigbrk.in.h: Add prototype for new function.
8984         * lib/unigbrk/u32-grapheme-next.c: New file.
8985         * tests/unigbrk/test-u32-grapheme-next.c: New file.
8986
8987         New module 'u8-grapheme-prev'.
8988         * modules/unigbrk/u8-grapheme-prev: New file.
8989         * modules/unigbrk/u8-grapheme-prev-tests: New file.
8990         * lib/unigbrk.in.h: Add prototype for new function.
8991         * lib/unigbrk/u8-grapheme-prev.c: New file.
8992         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
8993
8994         New module 'u16-grapheme-prev'.
8995         * modules/unigbrk/u16-grapheme-prev: New file.
8996         * modules/unigbrk/u16-grapheme-prev-tests: New file.
8997         * lib/unigbrk.in.h: Add prototype for new function.
8998         * lib/unigbrk/u16-grapheme-prev.c: New file.
8999         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
9000
9001         New module 'u32-grapheme-prev'.
9002         * modules/unigbrk/u32-grapheme-prev: New file.
9003         * modules/unigbrk/u32-grapheme-prev-tests: New file.
9004         * lib/unigbrk.in.h: Add prototype for new function.
9005         * lib/unigbrk/u32-grapheme-prev.c: New file.
9006         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
9007
9008         New module 'u8-grapheme-breaks'.
9009         * modules/unigbrk/u8-grapheme-breaks: New file.
9010         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
9011         * lib/unigbrk.in.h: Add prototype for new function.
9012         * lib/unigbrk/u8-grapheme-breaks.c: New file.
9013         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
9014
9015         New module 'u16-grapheme-breaks'.
9016         * modules/unigbrk/u16-grapheme-breaks: New file.
9017         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
9018         * lib/unigbrk.in.h: Add prototype for new function.
9019         * lib/unigbrk/u16-grapheme-breaks.c: New file.
9020         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
9021
9022         New module 'u32-grapheme-breaks'.
9023         * modules/unigbrk/u32-grapheme-breaks: New file.
9024         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
9025         * lib/unigbrk.in.h: Add prototype for new function.
9026         * lib/unigbrk/u32-grapheme-breaks.c: New file.
9027         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
9028
9029         New module 'ulc-grapheme-breaks'.
9030         * modules/unigbrk/ulc-grapheme-breaks: New file.
9031         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
9032         * m4/locale-ar.m4: New file.
9033         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
9034         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
9035         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
9036
9037 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
9038
9039         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
9040         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
9041         modified how this file was generated before I initially submitted
9042         the module, but failed to regenerate it.  This meant that several
9043         of the level2 entries were wrong.
9044         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
9045         Remove the division-by-2 that is folded into the table now that
9046         gbrkprop.h has been regenerated properly.  Now -1 entries are
9047         handled correctly.
9048
9049         New module 'unigbrk/uc-gbrk-prop-tests'.
9050         * modules/unigbrk/uc-gbrk-prop-tests: New file.
9051         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
9052         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
9053         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
9054
9055 2011-01-01  Bruno Haible  <bruno@clisp.org>
9056
9057         Avoid use of hexadecimal escapes.
9058         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
9059         instead of hexadecimal escapes.
9060
9061 2011-01-01  Jim Meyering  <meyering@redhat.com>
9062
9063         maint: new rule to update copyright year ranges
9064         * Makefile (update-copyright): New rule.
9065
9066         maint: indent with TABs in Makefile
9067         * Makefile: Expand leading sequences of spaces to TABs
9068
9069         version-etc: update the copyright year it reports
9070         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
9071
9072 2010-12-31  Bruno Haible  <bruno@clisp.org>
9073
9074         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
9075         * lib/isfinite.c (zerof, zerod, zerol): New variables.
9076         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
9077         zero.
9078
9079 2010-12-31  Bruno Haible  <bruno@clisp.org>
9080
9081         pwrite: Work around HP-UX 11.11 bug.
9082         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
9083         works and set REPLACE_PWRITE if not.
9084         * lib/pwrite.c (pwrite): Add an implementation that uses the system
9085         function.
9086         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
9087
9088 2010-12-31  Bruno Haible  <bruno@clisp.org>
9089
9090         pread: Work around HP-UX 11 bugs.
9091         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
9092         and set REPLACE_PREAD if not.
9093         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
9094
9095 2010-12-31  Eric Blake  <eblake@redhat.com>
9096
9097         nl_langinfo: fix YESEXPR on Irix 6.5
9098         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
9099         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
9100         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
9101         it.
9102
9103 2010-12-31  Bruno Haible  <bruno@clisp.org>
9104
9105         iconv: Document HP-UX 11 bug.
9106         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
9107
9108 2010-12-31  Bruno Haible  <bruno@clisp.org>
9109
9110         ldexpl: Fix link error on HP-UX 11.
9111         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
9112         LDEXPL_LIBM, using $ISNANL_LIBM.
9113
9114 2010-12-31  Eric Blake  <eblake@redhat.com>
9115
9116         ftello: avoid compilation failure with SunStudio c89
9117         * lib/ftello.c (ftello): Use lseek, not llseek.
9118
9119         tests: avoid failing coreutils tests on cygwin
9120         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
9121         (create_exe_shims_): Return 0 when skipping.
9122
9123 2010-12-31  Bruno Haible  <bruno@clisp.org>
9124
9125         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
9126         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
9127
9128 2010-12-31  Bruno Haible  <bruno@clisp.org>
9129
9130         waitpid: Fix link error in C++ mode.
9131         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
9132
9133 2010-12-31  Bruno Haible  <bruno@clisp.org>
9134
9135         isnan: Use GCC built-ins when possible.
9136         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
9137         __builtin_isnan.
9138         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
9139         (isnan): Define using GCC built-ins for GCC >= 4.0.
9140
9141 2010-12-31  Bruno Haible  <bruno@clisp.org>
9142
9143         isnand: Fix mistake.
9144         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
9145         __builtin_isnand.
9146
9147 2010-12-31  Bruno Haible  <bruno@clisp.org>
9148
9149         open: Avoid C++ error on HP-UX 11.
9150         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
9151
9152 2010-12-31  Bruno Haible  <bruno@clisp.org>
9153
9154         time_r: Add missing declarations on HP-UX 11.
9155         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
9156         instead of HAVE_LOCALTIME_R.
9157         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
9158         HAVE_LOCALTIME_R always.
9159         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
9160         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
9161         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
9162         HAVE_LOCALTIME_R.
9163         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
9164         * doc/posix-functions/localtime_r.texi: Likewise.
9165
9166 2010-12-29  Eric Blake  <eblake@redhat.com>
9167
9168         mountlist: tweak previous commit
9169         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
9170         Reported by Paul Eggert.
9171
9172         mountlist: fix local drive detection on cygwin
9173         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
9174         that works for cygwin.
9175
9176 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9177
9178         ftoastr, snprintf: ftoastr + snprintf module
9179         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
9180         since the snprintf module now should be good enough here.
9181         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
9182         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
9183         and gl_MODULE_INDICATOR([snprintf]), but the former enables
9184         GNULIB_SNPRINTF only for the test directory, and the latter
9185         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
9186         seems to suffice by itself.
9187
9188 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
9189
9190         alloca: one step towards thread-safety
9191         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
9192         need for a static variable.  All callers changed.  This does not
9193         make the alloca replacement thread-safe, but it's one step.
9194
9195         tests: minor indenting change
9196         * tests/init.sh: Sync from coreutils housekeeping patch
9197         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
9198         to keep lines within 80 columns.
9199
9200 2010-12-28  Jim Meyering  <meyering@redhat.com>
9201
9202         regex: don't infloop on persistent failing calloc
9203         * lib/regexec.c (build_trtable): Return failure indication upon
9204         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
9205         In glibc, this was fixed for version 2.13:
9206         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
9207
9208 2010-12-28  Bruno Haible  <bruno@clisp.org>
9209             Paul Eggert <eggert@cs.ucla.edu>
9210
9211         linkat: Make implementation robust against system behaviour variations.
9212         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
9213         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
9214         way, and to -2 if it needs a generic runtime test.
9215         * lib/linkat.c (solaris_optimized_link_immediate,
9216         solaris_optimized_link_follow): New functions.
9217         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
9218         (check_same_link): Use it.
9219
9220 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
9221
9222         New module 'unigbrk/base'.
9223         * modules/unigbrk/base: New file.
9224         * lib/unigbrk.in.h: New file.
9225
9226         New module 'unigbrk/uc-gbrk-prop'.
9227         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
9228         * modules/unigbrk/uc-gbrk-prop: New file.
9229         * lib/unigbrk/gbrkprop.h: New file.
9230         * lib/unigbrk/uc-gbrk-prop.c: New file.
9231
9232         New module 'unigbrk/uc-is-grapheme-break'.
9233         * modules/unigbrk/uc-is-grapheme-break: New file.
9234         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
9235         * lib/unigbrk/uc-is-grapheme-break.c: New file.
9236         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
9237         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
9238         * tests/unigbrk/GraphemeBreakTest.txt: New file.
9239
9240         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
9241
9242 2010-12-27  Bruno Haible  <bruno@clisp.org>
9243
9244         linkat test: Avoid failure on Solaris 11 2010-11.
9245         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
9246
9247 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
9248
9249         utimens: work around glibc rounding bug on more platforms
9250         * lib/utimens.c (fdutimens): Work around rounding bug even if
9251         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
9252         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
9253
9254 2010-12-27  Bruno Haible  <bruno@clisp.org>
9255
9256         select tests: Improve comments.
9257         * tests/test-select.c (do_select): Add comments.
9258
9259 2010-12-27  Bruno Haible  <bruno@clisp.org>
9260
9261         select tests: Safer way of handling timeout.
9262         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
9263         at every invocation.
9264
9265 2010-12-27  Bruno Haible  <bruno@clisp.org>
9266
9267         select tests: Use 'bool' where appropriate.
9268         * tests/test-select.c (connect_to_socket): Change argument type to
9269         'bool'.
9270
9271 2010-12-27  Bruno Haible  <bruno@clisp.org>
9272
9273         select tests: Use existing modules.
9274         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
9275         (configure.ac): Don't test for unistd.h.
9276         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
9277         declared in <unistd.h>.
9278
9279 2010-12-27  Bruno Haible  <bruno@clisp.org>
9280
9281         mbrtowc: Work around a Solaris 7 bug.
9282         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
9283         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
9284         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
9285         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
9286         MBRTOWC_NULL_ARG1_BUG.
9287         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
9288         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
9289         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
9290         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
9291
9292 2010-12-27  Jim Meyering  <meyering@redhat.com>
9293
9294         read-file.c: tweak syntax
9295         * lib/read-file.c (fread_file): Remove space after "*" in function
9296         definitions.
9297
9298 2010-12-27  Bruno Haible  <bruno@clisp.org>
9299
9300         times test: Avoid gcc warnings on OSF/1.
9301         * tests/test-times.c (main): Cast printf arguments from clock_t to
9302         'long int'.
9303
9304 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
9305
9306         utimens: work around glibc rounding bug on older Linux kernels
9307         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
9308         on Linux with a glibc whose utimes might not work, then work
9309         around a longstanding glibc bug involving rounding rather than
9310         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
9311         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
9312
9313 2010-12-26  Bruno Haible  <bruno@clisp.org>
9314
9315         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
9316         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
9317         _GL_CXXALIAS_SYS.
9318         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9319
9320 2010-12-26  Bruno Haible  <bruno@clisp.org>
9321
9322         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
9323         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
9324         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
9325         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
9326         looking for the declaration.
9327         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
9328         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
9329         problem.
9330         * doc/posix-functions/inet_pton.texi: Likewise.
9331
9332 2010-12-26  Bruno Haible  <bruno@clisp.org>
9333
9334         arpa_inet: Use the common idioms with C++ support.
9335         * lib/arpa_inet.in.h: Include c++defs.h.
9336         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
9337         support.
9338         * modules/arpa_inet (Depends-on): Add c++defs.
9339         (Makefile.am): Substitute the contents of c++defs.h.
9340         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
9341         * modules/arpa_inet-c++-tests: New file.
9342         * tests/test-arpa_inet-c++.cc: New file.
9343
9344 2010-12-25  Bruno Haible  <bruno@clisp.org>
9345
9346         Fix more C++ link errors on Solaris 8.
9347         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
9348         $(LIB_EACCESS).
9349         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
9350         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
9351         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
9352         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
9353         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
9354
9355 2010-12-25  Bruno Haible  <bruno@clisp.org>
9356
9357         printf-posix: Fix link error when a non-GCC compiler is used.
9358         * lib/stdio.in.h (printf): When not using GCC, override printf
9359         correctly.
9360         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9361
9362 2010-12-25  Bruno Haible  <bruno@clisp.org>
9363
9364         strerror_r-posix: Update doc.
9365         * doc/posix-functions/strerror_r.texi: Update doc about the return
9366         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
9367
9368 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9369
9370         utimens: simplify the logic of the previous change
9371         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
9372         This should not affect whether the test succeeds or fails.
9373
9374         utimens: configure better on hosts with NFS clock skew
9375         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
9376         uses the clock of the local host.  It might use the clock of the
9377         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
9378         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
9379
9380 2010-12-25  Bruno Haible  <bruno@clisp.org>
9381
9382         ptsname test: Avoid failure on Solaris.
9383         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
9384         open a pseudo-terminal; don't use BSD-style ptys.
9385         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
9386
9387 2010-12-25  Bruno Haible  <bruno@clisp.org>
9388
9389         ptsname: Avoid ERANGE failure on some systems.
9390         * lib/ptsname.c (buffer): Increase size.
9391
9392 2010-12-25  Bruno Haible  <bruno@clisp.org>
9393
9394         rename, renameat: Avoid test failures at NFS mounted locations.
9395         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
9396         so that subsequent mkdir calls succeed.
9397
9398 2010-12-25  Bruno Haible  <bruno@clisp.org>
9399
9400         iswblank: Fix C++ link error on Solaris 8.
9401         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
9402         _GL_FUNCDECL_SYS.
9403
9404 2010-12-25  Bruno Haible  <bruno@clisp.org>
9405
9406         unistd: Fix C++ link error on Solaris 8.
9407         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
9408
9409 2010-12-25  Bruno Haible  <bruno@clisp.org>
9410
9411         readlink doc: Mention an old glibc bug.
9412         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
9413
9414 2010-12-25  Bruno Haible  <bruno@clisp.org>
9415
9416         fcntl-h: Fix for use of C++ on glibc systems.
9417         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
9418         also on glibc systems in C++ mode.
9419         Reported by Gary V. Vaughan <gary@gnu.org>.
9420
9421 2010-12-25  Bruno Haible  <bruno@clisp.org>
9422
9423         roundl-ieee: Make it work on OSF/1 5.1 with cc.
9424         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
9425
9426 2010-12-25  Bruno Haible  <bruno@clisp.org>
9427
9428         truncl-ieee: Make it work on OSF/1 5.1 with cc.
9429         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
9430         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
9431         test whether truncl works according to ISO C 99 with IEC 60559.
9432         * m4/truncl-ieee.m4: New file.
9433         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
9434         m4/signbit.m4.
9435         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
9436
9437 2010-12-25  Bruno Haible  <bruno@clisp.org>
9438
9439         ceill-ieee: Make it work on OSF/1 5.1 with cc.
9440         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
9441         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
9442         test whether ceill works according to ISO C 99 with IEC 60559.
9443         * m4/ceill-ieee.m4: New file.
9444         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
9445         m4/signbit.m4.
9446         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
9447
9448 2010-12-25  Bruno Haible  <bruno@clisp.org>
9449
9450         Ensure all prerequisites of <wchar.h> are included.
9451         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
9452         before <wchar.h>.
9453         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
9454         gl_MBRLEN_NUL_RETVAL): Likewise.
9455         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9456         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
9457         AC_FUNC_MBRTOWC): Likewise.
9458         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9459         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
9460         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9461         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
9462         Likewise.
9463         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9464         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
9465         (gl_WCHAR_H): Improve comments.
9466         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
9467
9468 2010-12-25  Bruno Haible  <bruno@clisp.org>
9469
9470         strtok_r: Fix C syntax error in autoconf macro.
9471         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
9472         characters in test program.
9473
9474 2010-12-24  Bruno Haible  <bruno@clisp.org>
9475
9476         ceil, trunc, round: Fix gcc warnings.
9477         * lib/ceil.c (MIN): Undefine before redefining.
9478         * lib/trunc.c (MIN): Likewise.
9479         * lib/round.c (MIN): Likewise.
9480         Include <math.h> first.
9481
9482 2010-12-24  Bruno Haible  <bruno@clisp.org>
9483
9484         select tests: Avoid failures on OSF/1 5.1.
9485         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
9486         failure of closing the last socket; it may fail with ECONNRESET.
9487
9488 2010-12-24  Eric Blake  <eblake@redhat.com>
9489
9490         stdint: avoid HP-UX 10.20 preprocessor bug
9491         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
9492         than #if.
9493         * tests/test-floor2.c (main): Likewise.
9494         Reported by Peter O'Gorman.
9495
9496         pipe: make obsoletion transition easier
9497         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
9498         * modules/pipe (Files): Include revived file.
9499         (Include): Drop reference, to mirror getdate's behavior.
9500
9501 2010-12-24  Bruno Haible  <bruno@clisp.org>
9502
9503         sys_socket: Hide mismatch of declarations on NonStop Kernel.
9504         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
9505         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
9506         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9507
9508 2010-12-24  Bruno Haible  <bruno@clisp.org>
9509
9510         gethostname: Ensure declaration on NonStop Kernel.
9511         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
9512         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9513
9514 2010-12-24  Bruno Haible  <bruno@clisp.org>
9515
9516         sys_select: Ensure all necessary types on NonStop Kernel.
9517         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
9518         include <sys/time.h>.
9519         * doc/posix-headers/sys_select.texi: Mention that it's missing on
9520         NonStop Kernel.
9521         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9522
9523 2010-12-24  Bruno Haible  <bruno@clisp.org>
9524
9525         sys_select: Remove unneeded include.
9526         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
9527         have <sys/select.h>.
9528
9529 2010-12-24  Bruno Haible  <bruno@clisp.org>
9530
9531         gethostname: Provide a fallback for HOST_NAME_MAX.
9532         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
9533         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
9534         instead.
9535         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9536
9537 2010-12-24  Bruno Haible  <bruno@clisp.org>
9538
9539         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
9540         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
9541         (SA_RESTART): Likewise.
9542         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9543
9544 2010-12-24  Bruno Haible  <bruno@clisp.org>
9545
9546         signal: Define NSIG.
9547         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
9548         * tests/test-signal.c (nsig): New variable.
9549         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9550
9551 2010-12-24  Bruno Haible  <bruno@clisp.org>
9552
9553         rename, renameat: Avoid test failures on OSF/1 5.1.
9554         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
9555         alternative error codes.
9556         * tests/test-renameat.c (main): Likewise.
9557
9558 2010-12-24  Bruno Haible  <bruno@clisp.org>
9559
9560         *printf: Detect large precisions bug on Solaris 10/SPARC.
9561         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
9562         by Paul Eggert.
9563         * tests/test-snprintf-posix.h (test_function): Add this test code here
9564         too.
9565         * tests/test-sprintf-posix.h (test_function): Likewise.
9566         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9567         * tests/test-vasprintf-posix.c (test_function): Likewise.
9568         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
9569         around by gnulib.
9570         * doc/posix-functions/printf.texi: Likewise.
9571         * doc/posix-functions/snprintf.texi: Likewise.
9572         * doc/posix-functions/sprintf.texi: Likewise.
9573         * doc/posix-functions/vfprintf.texi: Likewise.
9574         * doc/posix-functions/vprintf.texi: Likewise.
9575         * doc/posix-functions/vsnprintf.texi: Likewise.
9576         * doc/posix-functions/vsprintf.texi: Likewise.
9577         * doc/posix-functions/dprintf.texi: Undo last commit.
9578         * doc/posix-functions/vdprintf.texi: Likewise.
9579
9580 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
9581
9582         tests: port test-fdutimensat.c to Solaris 8
9583         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
9584         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
9585         On Solaris 8, it fails with errno == ENOSYS, because there is no
9586         futimens (so it can't use the fd), and there is no lutimens (so it
9587         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
9588
9589         vsnprintf: make more consistent with snprintf; doc fixes
9590
9591         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
9592         the byte count return problem was promoted from the snprintf-posix
9593         to the snprintf module.
9594         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9595         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
9596         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
9597         * tests/test-snprintf.c (main): Check the byte count returned.
9598         * tests/test-vsnprintf.c (main): Likewise.
9599
9600 2010-12-23  Eric Blake  <eblake@redhat.com>
9601
9602         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
9603         * modules/sigpipe (License): Relax license.
9604
9605 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9606
9607         doc: document Solaris printf bug with large float precisions
9608         * doc/posix-functions/dprintf.texi (dprintf):
9609         * doc/posix-functions/fprintf.texi (fprintf):
9610         * doc/posix-functions/printf.texi (printf):
9611         * doc/posix-functions/snprintf.texi (snprintf):
9612         * doc/posix-functions/sprintf.texi (sprintf):
9613         * doc/posix-functions/vdprintf.texi (vdprintf):
9614         * doc/posix-functions/vfprintf.texi (vfprintf):
9615         * doc/posix-functions/vprintf.texi (vprintf):
9616         * doc/posix-functions/vsnprintf.texi (vsnprintf):
9617         * doc/posix-functions/vsprintf.texi (vsprintf):
9618         Mention that these functions mishandle large floating point
9619         precisions on Solaris 10.  The same bug is also present in Solaris
9620         8, and I assume earlier.  This causes "cd gnulib-tests; make
9621         check" to fail on Solaris 8 (and I assume, later) when building
9622         the latest coreutils, in test-vasprintf-posix's call to
9623         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
9624         the wide flavors (e.g., wprintf) so this patch just updates the
9625         documentation for the narrow ones.
9626
9627         test-posixtm.c: add two tests
9628         * tests/test-posixtm.c: Add two tests, to highlight the
9629         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
9630         around this bug; this is merely to document it.
9631
9632 2010-12-22  Bruno Haible  <bruno@clisp.org>
9633
9634         getlogin_r: Work around portability problem on OSF/1.
9635         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
9636         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
9637         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
9638         test for a truncated result.
9639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
9640         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
9641         * modules/getlogin_r (Depends-on): Add memchr.
9642         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
9643
9644 2010-12-22  Bruno Haible  <bruno@clisp.org>
9645
9646         ptsname: Avoid test failure on OSF/1 5.1.
9647         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
9648         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
9649         (same_slave): New function.
9650         (main): Use it to compare ptsname's result with the expected file name.
9651
9652 2010-12-22  Bruno Haible  <bruno@clisp.org>
9653
9654         Port extended stdio modules to HP NonStop Kernel.
9655         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
9656         macros.
9657         * lib/fbufmode.c: Update comments.
9658         * lib/fflush.c: Likewise.
9659         * lib/fpurge.c: Likewise.
9660         * lib/freadable.c: Likewise.
9661         * lib/freadahead.c: Likewise.
9662         * lib/freading.c: Likewise.
9663         * lib/freadptr.c: Likewise.
9664         * lib/freadseek.c: Likewise.
9665         * lib/fseeko.c: Likewise.
9666         * lib/fseterr.c: Likewise.
9667         * lib/fwritable.c: Likewise.
9668         * lib/fwriting.c: Likewise.
9669         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9670
9671 2010-12-22  Bruno Haible  <bruno@clisp.org>
9672
9673         ttyname_r: Work around bug on OSF/1 5.1.
9674         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
9675         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
9676         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
9677         present.
9678         * lib/ttyname_r.c (ttyname_r): Update comments.
9679
9680 2010-12-22  Bruno Haible  <bruno@clisp.org>
9681
9682         round: Implement result sign according to IEEE 754.
9683         * lib/round.c (MIN, MINUS_ZERO): New macros.
9684         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
9685         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
9686         * tests/test-round-ieee.c (main): Likewise.
9687         * tests/test-roundl-ieee.c (main): Likewise.
9688
9689         trunc: Implement result sign according to IEEE 754.
9690         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
9691         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
9692         * tests/test-trunc2.c: Include minus-zero.h.
9693         (MINUS_ZERO): New macro.
9694         (trunc_reference): Keep in sync with lib/trunc.c.
9695         * tests/test-truncf2.c: Include minus-zero.h.
9696         (MINUS_ZERO): New macro.
9697         (truncf_reference): Keep in sync with lib/trunc.c.
9698         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
9699         * tests/test-trunc-ieee.c (main): Likewise.
9700         * tests/test-truncl-ieee.c (main): Likewise.
9701
9702         ceil: Implement result sign according to IEEE 754.
9703         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
9704         (FUNC): Return -0.0 for -1 < x < 0.
9705         * tests/test-ceil2.c: Include minus-zero.h.
9706         (MINUS_ZERO): New macro.
9707         (ceil_reference): Keep in sync with lib/ceil.c.
9708         * tests/test-ceilf2.c: Include minus-zero.h.
9709         (MINUS_ZERO): New macro.
9710         (ceilf_reference): Keep in sync with lib/ceil.c.
9711         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
9712         * tests/test-ceil-ieee.c (main): Likewise.
9713         * tests/test-ceill-ieee.c (main): Likewise.
9714
9715         floor: Implement result sign according to IEEE 754.
9716         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
9717         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
9718         * tests/test-floorf2.c (floorf_reference): Likewise.
9719         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
9720         * tests/test-floor-ieee.c (main): Likewise.
9721         * tests/test-floorl-ieee.c (main): Likewise.
9722
9723 2010-12-22  Bruno Haible  <bruno@clisp.org>
9724
9725         getaddrinfo: Update doc.
9726         * doc/posix-functions/gai_strerror.texi: Return type is also different
9727         on AIX and HP-UX.
9728
9729 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9730
9731         getaddrinfo, inet_ntop: Update doc for Solaris.
9732         * doc/posix-functions/gai_strerror.texi: Return type is also an
9733         issue on Solaris 9 and earlier.
9734         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
9735         on Solaris 10 and earlier.
9736
9737 2010-12-21  Bruno Haible  <bruno@clisp.org>
9738
9739         New module 'roundl-ieee'.
9740         * modules/roundl-ieee: New file.
9741         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
9742         test whether roundl works according to ISO C 99 with IEC 60559.
9743         * m4/roundl-ieee.m4: New file.
9744         * modules/roundl-ieee-tests: New file.
9745         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
9746         * tests/test-roundl.c (main): Remove signbit tests.
9747         * modules/roundl-tests (Depends-on): Remove signbit.
9748         * doc/posix-functions/roundl.texi: Mention the new module.
9749
9750 2010-12-21  Bruno Haible  <bruno@clisp.org>
9751
9752         New module 'truncl-ieee'.
9753         * modules/truncl-ieee: New file.
9754         * modules/truncl-ieee-tests: New file.
9755         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
9756         * tests/test-truncl.c (main): Remove signbit tests.
9757         * modules/truncl-tests (Depends-on): Remove signbit.
9758         * doc/posix-functions/truncl.texi: Mention the new module.
9759
9760 2010-12-21  Bruno Haible  <bruno@clisp.org>
9761
9762         New module 'ceill-ieee'.
9763         * modules/ceill-ieee: New file.
9764         * modules/ceill-ieee-tests: New file.
9765         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
9766         * tests/test-ceill.c (main): Remove signbit tests.
9767         * modules/ceill-tests (Depends-on): Remove signbit.
9768         * doc/posix-functions/ceill.texi: Mention the new module.
9769
9770 2010-12-21  Bruno Haible  <bruno@clisp.org>
9771
9772         New module 'floorl-ieee'.
9773         * modules/floorl-ieee: New file.
9774         * modules/floorl-ieee-tests: New file.
9775         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
9776         * tests/test-floorl.c (main): Remove signbit tests.
9777         * modules/floorl-tests (Depends-on): Remove signbit.
9778         * doc/posix-functions/floorl.texi: Mention the new module.
9779
9780 2010-12-21  Bruno Haible  <bruno@clisp.org>
9781
9782         New module 'round-ieee'.
9783         * modules/round-ieee: New file.
9784         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
9785         whether round works according to ISO C 99 with IEC 60559.
9786         * m4/round-ieee.m4: New file.
9787         * modules/round-ieee-tests: New file.
9788         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
9789         * tests/test-round1.c (main): Remove signbit tests.
9790         * modules/round-tests (Depends-on): Remove 'signbit'.
9791         * doc/posix-functions/round.texi: Mention the new module.
9792
9793 2010-12-21  Bruno Haible  <bruno@clisp.org>
9794
9795         New module 'trunc-ieee'.
9796         * modules/trunc-ieee: New file.
9797         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
9798         whether trunc works according to ISO C 99 with IEC 60559.
9799         * m4/trunc-ieee.m4: New file.
9800         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
9801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
9802         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
9803         * modules/trunc-ieee-tests: New file.
9804         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
9805         * tests/test-trunc1.c (main): Remove signbit tests.
9806         * modules/trunc-tests (Depends-on): Remove 'signbit'.
9807         * doc/posix-functions/trunc.texi: Mention the new module.
9808
9809 2010-12-21  Bruno Haible  <bruno@clisp.org>
9810
9811         New module 'ceil-ieee'.
9812         * modules/ceil-ieee: New file.
9813         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
9814         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
9815         ISO C 99 with IEC 60559.
9816         * m4/ceil-ieee.m4: New file.
9817         * modules/ceil (Files): Add lib/ceil.c.
9818         (Depends-on): Add 'float'.
9819         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
9820         * lib/math.in.h (ceil): New declaration.
9821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
9822         REPLACE_CEIL.
9823         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
9824         * modules/ceil-ieee-tests: New file.
9825         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
9826         * tests/test-math-c++.cc: Check the signature of 'ceil'.
9827         * doc/posix-functions/ceil.texi: Mention the new module.
9828
9829 2010-12-21  Bruno Haible  <bruno@clisp.org>
9830
9831         New module 'floor-ieee'.
9832         * modules/floor-ieee: New file.
9833         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
9834         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
9835         ISO C 99 with IEC 60559.
9836         * m4/floor-ieee.m4: New file.
9837         * modules/floor (Files): Add lib/floor.c.
9838         (Depends-on): Add 'float'.
9839         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
9840         * lib/math.in.h (floor): New declaration.
9841         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
9842         REPLACE_FLOOR.
9843         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
9844         * modules/floor-ieee-tests: New file.
9845         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
9846         * tests/test-math-c++.cc: Check the signature of 'floor'.
9847         * doc/posix-functions/floor.texi: Mention the new module.
9848
9849 2010-12-21  Bruno Haible  <bruno@clisp.org>
9850
9851         New module 'roundf-ieee'.
9852         * modules/roundf-ieee: New file.
9853         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
9854         test whether roundf works according to ISO C 99 with IEC 60559.
9855         * m4/roundf-ieee.m4: New file.
9856         * modules/roundf-ieee-tests: New file.
9857         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
9858         * tests/test-roundf1.c (main): Remove signbit tests.
9859         * modules/roundf-tests (Depends-on): Remove 'signbit'.
9860         * doc/posix-functions/roundf.texi: Mention the new module.
9861
9862 2010-12-21  Bruno Haible  <bruno@clisp.org>
9863
9864         New module 'truncf-ieee'.
9865         * modules/truncf-ieee: New file.
9866         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
9867         test whether truncf works according to ISO C 99 with IEC 60559.
9868         * m4/truncf-ieee.m4: New file.
9869         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
9870         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
9871         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
9872         * modules/truncf-ieee-tests: New file.
9873         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
9874         * tests/test-truncf1.c (main): Remove signbit tests.
9875         * modules/truncf-tests (Depends-on): Remove 'signbit'.
9876         * doc/posix-functions/truncf.texi: Mention the new module.
9877
9878 2010-12-21  Bruno Haible  <bruno@clisp.org>
9879
9880         New module 'ceilf-ieee'.
9881         * modules/ceilf-ieee: New file.
9882         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
9883         test whether ceilf works according to ISO C 99 with IEC 60559.
9884         * m4/ceilf-ieee.m4: New file.
9885         * modules/ceilf-ieee-tests: New file.
9886         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
9887         * tests/test-ceilf1.c (main): Remove signbit tests.
9888         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
9889         * doc/posix-functions/ceilf.texi: Mention the new module.
9890
9891 2010-12-21  Bruno Haible  <bruno@clisp.org>
9892
9893         New module 'floorf-ieee'.
9894         * modules/floorf-ieee: New file.
9895         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
9896         test whether floorf works according to ISO C 99 with IEC 60559.
9897         * m4/floorf-ieee.m4: New file.
9898         * modules/floorf-ieee-tests: New file.
9899         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
9900         * tests/test-floorf1.c (main): Remove signbit tests.
9901         * modules/floorf-tests (Depends-on): Remove 'signbit'.
9902         * doc/posix-functions/floorf.texi: Mention the new module.
9903
9904 2010-12-21  Bruno Haible  <bruno@clisp.org>
9905
9906         Support for minus zero in autoconf macros.
9907         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
9908         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
9909         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
9910         * tests/minus-zero.h: Update comments.
9911
9912 2010-12-21  Bruno Haible  <bruno@clisp.org>
9913
9914         Tests for module 'ceil'.
9915         * modules/ceil-tests: New file.
9916         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
9917         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
9918
9919 2010-12-21  Bruno Haible  <bruno@clisp.org>
9920
9921         Tests for module 'floor'.
9922         * modules/floor-tests: New file.
9923         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
9924         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
9925
9926 2010-12-21  Bruno Haible  <bruno@clisp.org>
9927
9928         math: Fix indentation.
9929         * lib/math.in.h (floorf): Fix indentation.
9930
9931 2010-12-21  Bruno Haible  <bruno@clisp.org>
9932
9933         Fix cross-compilation guesses on Solaris.
9934         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
9935         not match "solaris2.10".
9936         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9937         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
9938         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
9939
9940 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
9941
9942         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
9943         This fixes a problem observed with the latest coreutils snapshot
9944         that caused a test to fail on Solaris 8.  src/csplit.c's call
9945         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
9946         earlier, instead of returning the number of bytes that would have
9947         been generated; this causes csplit to incorrectly report memory
9948         exhaustion.
9949         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
9950         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
9951         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
9952         comments to match.
9953         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
9954         Fix typo in matching older versions of Solaris: "solaris2.10"
9955         is matched by the shell pattern "solaris2.[0-9]*".  This matters
9956         only for guessing while cross-compiling.
9957         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
9958
9959 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
9960
9961         ftoastr: fix comment again
9962         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
9963         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
9964         Also, simplify example a bit by using flags = 0.
9965
9966 2010-12-20  Bruno Haible  <bruno@clisp.org>
9967
9968         round*, trunc*: Update documentation regarding glibc.
9969         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
9970         * doc/posix-functions/round.texi: Likewise.
9971         * doc/posix-functions/roundl.texi: Likewise.
9972         * doc/posix-functions/truncf.texi: Likewise.
9973         * doc/posix-functions/trunc.texi: Likewise.
9974         * doc/posix-functions/truncl.texi: Likewise.
9975
9976 2010-12-20  Bruno Haible  <bruno@clisp.org>
9977
9978         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
9979         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
9980         * doc/posix-functions/round.texi: Likewise.
9981         * doc/posix-functions/roundl.texi: Likewise.
9982
9983 2010-12-20  Bruno Haible  <bruno@clisp.org>
9984
9985         ttyname_r: Add missing declaration on HP-UX 11.
9986         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
9987         HAVE_TTYNAME_R.
9988         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
9989         declared. Set HAVE_TTYNAME_R always.
9990         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9991         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
9992         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
9993         HAVE_TTYNAME_R.
9994         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
9995
9996 2010-12-20  Bruno Haible  <bruno@clisp.org>
9997
9998         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
9999         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
10000         * doc/posix-functions/getlogin_r.texi: Likewise.
10001         * tests/test-getlogin.c: Include <errno.h>.
10002         (main): Avoid test failure on HP-UX 11.11.
10003         * tests/test-getlogin_r.c (main): Likewise.
10004
10005 2010-12-20  Bruno Haible  <bruno@clisp.org>
10006
10007         getlogin_r: Add missing declaration on HP-UX 11.
10008         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
10009         declared also when it exists as a function.
10010         * doc/posix-functions/getlogin_r.texi: Document this workaround.
10011
10012 2010-12-20  Bruno Haible  <bruno@clisp.org>
10013
10014         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
10015         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
10016         through wcrtomb.
10017
10018 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
10019
10020         ftoastr: fix comment
10021         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
10022         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
10023
10024 2010-12-19  Bruno Haible  <bruno@clisp.org>
10025
10026         isnan: Ensure it is a macro.
10027         * lib/math.in.h (isnan): Define as a macro if not already a macro.
10028         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
10029         Solaris.
10030
10031 2010-12-19  Bruno Haible  <bruno@clisp.org>
10032
10033         ldexpl test: Fix link error on OSF/1 5.1.
10034         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
10035
10036 2010-12-19  Bruno Haible  <bruno@clisp.org>
10037
10038         wctype: Make it work in C++ mode on OSF/1 5.1.
10039         * lib/wctype.in.h (iswblank): Declare but not define here.
10040         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
10041         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
10042         * modules/wctype (Files): Add lib/iswblank.c.
10043
10044 2010-12-19  Bruno Haible  <bruno@clisp.org>
10045
10046         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
10047         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
10048         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
10049
10050 2010-12-19  Bruno Haible  <bruno@clisp.org>
10051
10052         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
10053         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
10054         _POSIX_PII_SOCKET.
10055         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
10056         * doc/posix-functions/recvfrom.texi: Likewise.
10057         * doc/posix-functions/send.texi: Likewise.
10058         * doc/posix-functions/sendto.texi: Likewise.
10059
10060 2010-12-19  Bruno Haible  <bruno@clisp.org>
10061
10062         tcgetsid: Add missing declaration on OSF/1 5.1.
10063         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
10064         HAVE_TCGETSID.
10065         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
10066         Don't set HAVE_TCGETSID.
10067         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
10068         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
10069         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
10070         HAVE_TCGETSID.
10071         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
10072
10073 2010-12-19  Bruno Haible  <bruno@clisp.org>
10074
10075         stdio: Fix problem with popen() declaration on OSF/1 5.1.
10076         * lib/stdio.in.h: During the include_next statement, let recursive
10077         includes of this file include only the system header file.
10078
10079 2010-12-19  Bruno Haible  <bruno@clisp.org>
10080
10081         iconv_open: Fix regression from 2010-12-04.
10082         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
10083         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
10084
10085 2010-12-19  Bruno Haible  <bruno@clisp.org>
10086
10087         stdbool test: Avoid a gcc warning.
10088         * tests/test-stdbool.c (main): Fail if e1 is false.
10089         Reported by Jim Meyering.
10090
10091 2010-12-19  Jim Meyering  <meyering@redhat.com>
10092
10093         setenv: restore to working order
10094         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
10095         mistakenly removed.
10096         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
10097         HAVE_SETENV.
10098         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
10099         HAVE_SETENV.
10100
10101 2010-12-19  Bruno Haible  <bruno@clisp.org>
10102
10103         Document some different function declarations on OSF/1 5.1.
10104         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
10105         * doc/posix-functions/inet_ntop.texi: Likewise.
10106         * doc/posix-functions/gethostname.texi: Likewise.
10107         * lib/unistd.in.h (gethostname): Update comment.
10108
10109 2010-12-19  Bruno Haible  <bruno@clisp.org>
10110
10111         doc: Mention vasprintf-posix module.
10112         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
10113         the 'vasprintf-posix' module.
10114         * doc/glibc-functions/vasprintf.texi: Likewise.
10115
10116 2010-12-19  Bruno Haible  <bruno@clisp.org>
10117
10118         unsetenv: Add missing declaration on OSF/1 5.1.
10119         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
10120         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
10121         Don't set HAVE_UNSETENV. In the test program, set _BSD.
10122         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
10123         not HAVE_UNSETENV.
10124         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
10125         HAVE_UNSETENV.
10126         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
10127
10128 2010-12-19  Bruno Haible  <bruno@clisp.org>
10129
10130         setenv: Add missing declaration on OSF/1 5.1.
10131         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
10132         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
10133         declared. Don't set HAVE_SETENV.
10134         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
10135         not HAVE_SETENV.
10136         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
10137         HAVE_SETENV.
10138         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
10139
10140 2010-12-19  Bruno Haible  <bruno@clisp.org>
10141
10142         nl_langinfo tests: Avoid gcc warning.
10143         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
10144
10145 2010-12-19  Bruno Haible  <bruno@clisp.org>
10146
10147         mknod: Avoid error in C++ mode on OSF/1 with GCC.
10148         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
10149         _GL_CXXALIAS_SYS.
10150
10151 2010-12-19  Bruno Haible  <bruno@clisp.org>
10152
10153         stdbool: Relax test.
10154         * tests/test-stdbool.c (e): Don't require that casts from a variable's
10155         address to 'bool' work in static initializer, for compilers other than
10156         GCC.
10157
10158 2010-12-19  Bruno Haible  <bruno@clisp.org>
10159
10160         ftello: Add missing declaration on OSF/1 5.1.
10161         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
10162         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
10163         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
10164         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
10165         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
10166
10167 2010-12-19  Bruno Haible  <bruno@clisp.org>
10168
10169         fseeko: Add missing declaration on OSF/1 5.1.
10170         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
10171         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
10172         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
10173         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
10174         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
10175
10176 2010-12-19  Bruno Haible  <bruno@clisp.org>
10177
10178         fchdir: Add missing declaration on OSF/1 5.1.
10179         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
10180         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
10181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
10182         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
10183         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
10184
10185 2010-12-19  Bruno Haible  <bruno@clisp.org>
10186
10187         relocatable-prog-wrapper: Separate from relocatable-prog.
10188         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
10189         uninstall-relocwrapper rule here.
10190         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
10191         Reported by Ian Beckwith <ianb@erislabs.net>.
10192
10193 2010-12-19  Bruno Haible  <bruno@clisp.org>
10194
10195         unistr/u8-mbsnlen: Add missing dependency.
10196         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
10197         Reported by Ian Beckwith <ianb@erislabs.net>.
10198
10199 2010-12-19  Bruno Haible  <bruno@clisp.org>
10200
10201         iconv: Make it possible again to use this module without 'iconv-h'.
10202         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
10203         if it is not defined.
10204         Reported by Ian Beckwith <ianb@erislabs.net>.
10205
10206 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10207
10208         acl: port to Solaris 8 when copying from tmpfs to ufs
10209         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
10210         error number.  Problem observed on Solaris 8 with latest
10211         coreutils, with "mv A B", where A is on a tmpfs file system and B
10212         is on a ufs file system.  This caused coreutils' mv/part-symlink
10213         test to fail.
10214
10215         tests: set fail=0 at start
10216         * tests/init.sh (setup_): Move fail=0 initialization here ...
10217         (mktempd_): ... from here, so that tests can rely on fail being
10218         set to 0 initially.  This fixes a problem in coreutils; see:
10219         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
10220
10221 2010-12-18  Bruno Haible  <bruno@clisp.org>
10222
10223         memmem-simple: Stylistic changes.
10224         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
10225         Fix preprocessor directive indentation.
10226
10227 2010-12-15  Pádraig Brady <P@draigBrady.com>
10228
10229         memmem, memmem-simple: reorganize and expand empty needle check
10230         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
10231         functional checks to memmem-simple so that one has a fully functional
10232         memmem by using just this module.
10233         Restrict the performance only check to the memmem module.
10234         Also expand the empty needle check to ensure the correct
10235         pointer is returned, not just a non NULL pointer.
10236         * doc/glibc-functions/memmem.texi: Rearrange the portability
10237         documentation to correlate with the rearranged checks.
10238         Clarify exactly how the memmem and memmem-simple modules
10239         relate to each other.
10240
10241 2010-12-15  Pádraig Brady <P@draigBrady.com>
10242             Bruno Haible  <bruno@clisp.org>
10243
10244         Improve cross-compilation guesses for uClibc.
10245         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
10246         that uClibc does not have the glibc bug.
10247         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
10248         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
10249
10250 2010-12-14  Eric Blake  <eblake@redhat.com>
10251
10252         configmake: provide fallbacks for oldest supported autotools
10253         * m4/configmake.m4: New file.
10254         * modules/configmake (Files): Ship it.
10255         (configure.ac): Use it to guarantee fallbacks.
10256
10257 2010-12-13  Pádraig Brady <P@draigBrady.com>
10258
10259         read-file: Improve handling of large files
10260         * lib/read-file.c (fread_file): Minimize realloc()s
10261         for regular files, and better manage sizes around SIZE_MAX.
10262
10263 2010-12-13  Eric Blake  <eblake@redhat.com>
10264
10265         cloexec, fcntl: relax license
10266         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
10267         consent from all contributors.
10268         * modules/fcntl (License): Likewise.
10269
10270 2010-12-10  Bruno Haible  <bruno@clisp.org>
10271
10272         Tests for module 'pipe-posix'.
10273         * modules/pipe-posix-tests: New file.
10274         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
10275
10276 2010-12-10  Bruno Haible  <bruno@clisp.org>
10277
10278         pipe-posix: Make it work in C++ mode.
10279         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
10280         (pipe): Use common idiom, not a macro definition.
10281         * lib/pipe.c: New file.
10282         * m4/pipe.m4: New file.
10283         * modules/pipe-posix (Description): Enhance.
10284         (Files): Add lib/pipe.c, m4/pipe.m4.
10285         (configure.ac): Invoke gl_FUNC_PIPE.
10286         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
10287         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
10288         * tests/test-unistd-c++.cc: Check the signature of pipe.
10289
10290 2010-12-10  Bruno Haible  <bruno@clisp.org>
10291
10292         Rename module 'pipe' to 'spawn-pipe'.
10293         * modules/spawn-pipe: New file, renamed from modules/pipe.
10294         (Files, configure.ac, Makefile.am): Update.
10295         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
10296         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
10297         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
10298         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
10299         "spawn-pipe.h" instead of "pipe.h".
10300         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
10301         to gl_SPAWN_PIPE.
10302         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
10303         (Files, Makefile.am): Update.
10304         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
10305         Update.
10306         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
10307         Include "spawn-pipe.h" instead of "pipe.h".
10308         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
10309         * lib/javacomp.c: Likewise.
10310         * lib/javaversion.c: Likewise.
10311         * lib/pipe-filter-gi.c: Likewise.
10312         * lib/pipe-filter-ii.c: Likewise.
10313         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
10314         * modules/javacomp (Depends-on): Likewise.
10315         * modules/javaversion (Depends-on): Likewise.
10316         * modules/pipe-filter-gi (Depends-on): Likewise.
10317         * modules/pipe-filter-ii (Depends-on): Likewise.
10318         * MODULES.html.sh (Executing programs): Update.
10319         * NEWS: Mention the change.
10320
10321 2010-12-10  Eric Blake  <eblake@redhat.com>
10322
10323         pipe-posix: new module
10324         * modules/pipe-posix: New file.
10325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
10326         (gl_UNISTD_H): Check for declaration.
10327         * modules/unistd (Makefile.am): Substitute it.
10328         * lib/unistd.in.h (pipe): Provide it for mingw.
10329         * doc/posix-functions/pipe.texi (pipe): Update documentation.
10330         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
10331
10332 2010-12-07  Bruno Haible  <bruno@clisp.org>
10333
10334         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
10335         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
10336         u8_strcmp_gnu.
10337         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
10338
10339 2010-12-06  Bruno Haible  <bruno@clisp.org>
10340
10341         Update internal documentation.
10342         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
10343
10344 2010-12-04  Bruno Haible  <bruno@clisp.org>
10345
10346         Put more information about failed tests into the test return codes.
10347         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
10348         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
10349         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
10350         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10351         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
10352         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
10353         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
10354         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10355         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
10356         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10357         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
10358         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
10359         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
10360         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10361         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
10362         returns a bit mask.
10363         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
10364         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
10365         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
10366         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
10367         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
10368         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
10369         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
10370         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
10371         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10372         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
10373         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
10374         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
10375         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
10376         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
10377         * m4/link.m4 (gl_FUNC_LINK): Likewise.
10378         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
10379         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
10380         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
10381         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10382         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
10383         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
10384         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
10385         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
10386         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
10387         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10388         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
10389         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
10390         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
10391         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
10392         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
10393         gl_PRINTF_PRECISION): Likewise.
10394         * m4/regex.m4 (gl_REGEX): Likewise.
10395         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
10396         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
10397         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
10398         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10399         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
10400         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
10401         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10402         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
10403         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
10404         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10405         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
10406         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
10407         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
10408         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
10409         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
10410         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10411         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
10412         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10413         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10414         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
10415         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
10416         enumerated value.
10417         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
10418
10419 2010-12-04  Bruno Haible  <bruno@clisp.org>
10420
10421         Update for Solaris 11 2010-11.
10422         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
10423         Express, released in November 2010.
10424
10425 2010-12-04  Bruno Haible  <bruno@clisp.org>
10426
10427         nproc: Relax license.
10428         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
10429         and Paul Eggert.
10430         Requested by Ludovic Courtès <ludo@gnu.org>.
10431
10432 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
10433
10434         utimecmp: fine-grained src to nearby coarse-grained dest
10435
10436         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
10437         and the source is on a file system with higher-resolution time
10438         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
10439         not work, and the time stamps are close together, the algorithm to
10440         determine the exact resolution from the read-back mtime was buggy:
10441         it had a "!=" where it should have had an "==".  This bug has been
10442         in the code ever since it was introduced to gnulib.
10443         Problem reported by Dan Jacobson in
10444         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
10445
10446 2010-11-30  Bruno Haible  <bruno@clisp.org>
10447
10448         strerror_r-posix: Fix autoconf test.
10449         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
10450
10451 2010-11-28  Bruno Haible  <bruno@clisp.org>
10452             Paul Eggert  <eggert@cs.ucla.edu>
10453
10454         Tests for module 'getdomainname'.
10455         * modules/getdomainname-tests: New file.
10456         * tests/test-getdomainname.c: New file, based on
10457         tests/test-gethostname.c.
10458
10459 2010-11-28  Bruno Haible  <bruno@clisp.org>
10460             Paul Eggert  <eggert@cs.ucla.edu>
10461
10462         getdomainname: Use the system function when possible.
10463         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
10464         (getdomainname): Replace if needed. Provide the declaration if it is
10465         missing. Don't use _GL_CXXALIAS_SYS_CAST.
10466         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
10467         (getdomainname): When the system has getdomainname, call the system
10468         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
10469         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
10470         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
10471         found in libnsl. Look for the declaration also in <netdb.h>. Replace
10472         the function if its second argument is of type 'int' or if it is found
10473         in libnsl.
10474         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
10475         <sys/systeminfo.h> and sysinfo().
10476         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
10477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10478         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
10479         HAVE_GETDOMAINNAME.
10480         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
10481         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
10482         * doc/glibc-functions/getdomainname.texi: Document the problems with
10483         the getdomainname declaration.
10484
10485 2010-11-28  Bruno Haible  <bruno@clisp.org>
10486
10487         sys_socket: Ensure ss_family field on AIX.
10488         * lib/sys_socket.in.h (ss_family): New macro definition.
10489         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
10490         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
10491         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
10492         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
10493         * modules/sys_socket (Makefile.am): Substitute
10494         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
10495         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
10496
10497 2010-11-27  Bruno Haible  <bruno@clisp.org>
10498
10499         readline: Improve configure output.
10500         * m4/readline.m4 (gl_FUNC_READLINE): Make the
10501         "checking for readline..." result understandable.
10502
10503 2010-11-27  Bruno Haible  <bruno@clisp.org>
10504
10505         *printf-posix: Detect a bug on Solaris 10/x86.
10506         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
10507         for floating-point output.
10508         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
10509         directive.
10510         * tests/test-snprintf-posix.h (test_function): Likewise.
10511         * tests/test-sprintf-posix.h (test_function): Likewise.
10512         * tests/test-vasprintf-posix.c (test_function): Likewise.
10513         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
10514         * doc/posix-functions/printf.texi: Likewise.
10515         * doc/posix-functions/snprintf.texi: Likewise.
10516         * doc/posix-functions/sprintf.texi: Likewise.
10517         * doc/posix-functions/vfprintf.texi: Likewise.
10518         * doc/posix-functions/vprintf.texi: Likewise.
10519         * doc/posix-functions/vsnprintf.texi: Likewise.
10520         * doc/posix-functions/vsprintf.texi: Likewise.
10521         * doc/glibc-functions/obstack_printf.texi: Likewise.
10522         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10523
10524 2010-11-27  Bruno Haible  <bruno@clisp.org>
10525
10526         Fix link error when module libunistring-optional is in use.
10527         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
10528         * modules/striconveha-tests (Makefile.am): Likewise.
10529
10530 2010-11-27  Bruno Haible  <bruno@clisp.org>
10531
10532         regex: Mention link dependencies.
10533         * modules/regex (Link): New section.
10534         * modules/rpmatch (Link): Likewise.
10535         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
10536
10537 2010-11-27  Bruno Haible  <bruno@clisp.org>
10538
10539         ftoastr: Fix compilation error on Solaris.
10540         * lib/ftoastr.c: Include <config.h>.
10541
10542 2010-11-27  Bruno Haible  <bruno@clisp.org>
10543
10544         getloadavg: Update documentation.
10545         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
10546
10547 2010-11-27  Bruno Haible  <bruno@clisp.org>
10548
10549         sys_socket: Fix test whether the functions are declared.
10550         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
10551         not <sys/select.h>.
10552
10553 2010-11-27  Bruno Haible  <bruno@clisp.org>
10554
10555         getpass: Make sure to get system declaration on some platforms.
10556         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
10557         gl_USE_SYSTEM_EXTENSIONS.
10558         * modules/getpass (Depends-on): Add extensions.
10559
10560 2010-11-26  Bruno Haible  <bruno@clisp.org>
10561
10562         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
10563         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
10564         'iconv' module is present.
10565         (ICONV_CONST): New macro.
10566         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
10567         ICONV_CONST.
10568         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
10569         set ICONV_CONST.
10570         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
10571         here.
10572         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
10573         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
10574         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
10575         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
10576         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
10577         present.
10578
10579 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
10580
10581         ftoastr: comment fix
10582         * lib/ftoastr.c: "little" -> "little or no" in comment
10583
10584 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
10585
10586         stdint: port to GCC 4.3 + OSX + Octave
10587         On this platform, stdint.h is buggy and defines int64_t to long
10588         long int.  The replacement defined it to long int, causing
10589         problems with C++ style name mangling.  Instead, trust the system
10590         definition if INT64_MAX is defined, and likewise for the unsigned
10591         variant.   Problem reported by Jarno Rajahalme in
10592         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
10593         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
10594         and don't mess with int64_t and INT64_MAX in this case.
10595         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
10596
10597 2010-11-24  Bruno Haible  <bruno@clisp.org>
10598
10599         doc: Corrections regarding MacOS X 10.4 and 10.5.
10600         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
10601         MacOS X.
10602         Reported by Simon Josefsson.
10603
10604 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
10605
10606         Uninstall ".bin" files installed by relocwrapper.
10607         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
10608         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
10609         unless it is already there.
10610
10611 2010-11-21  Bruno Haible  <bruno@clisp.org>
10612
10613         Update for NetBSD 5.0.
10614         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
10615         NetBSD; the test fails on NetBSD 5.0.
10616         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
10617         about NetBSD.
10618
10619 2010-11-21  Bruno Haible  <bruno@clisp.org>
10620
10621         Update for HP-UX 11.23 and HP-UX 11.31.
10622         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
10623         HP-UX.
10624
10625 2010-11-21  Bruno Haible  <bruno@clisp.org>
10626
10627         Update for MacOS X 10.5.
10628         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
10629         MacOS X; the test fails on MacOS X 10.5.8.
10630         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
10631         about MacOS X.
10632
10633 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
10634
10635         bootstrap: add bootstrap_sync option.
10636         See discussion at
10637         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
10638         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
10639         * build-aux/bootstrap: Accept --bootstrap-sync to update
10640         bootstrap if it is not identical to the local gnulib's
10641         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
10642         enable this by default.  Accept --no-bootstrap-sync to disable
10643         it.
10644
10645 2010-11-20  Bruno Haible  <bruno@clisp.org>
10646
10647         Ensure that <features.h> is included before __GLIBC__ is tested.
10648         * lib/printf-parse.h: Include <features.h>.
10649         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
10650         Reported by Mike Frysinger <vapier@gentoo.org>.
10651
10652         Ensure that <features.h> is included before __GLIBC__ is tested.
10653         * lib/wchar.in.h: Include <features.h>.
10654         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
10655         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
10656         Reported by Mike Frysinger <vapier@gentoo.org>.
10657
10658         Ensure that <features.h> is included before __GLIBC__ is tested.
10659         * lib/arpa_inet.in.h: Include <features.h>.
10660         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
10661         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
10662         Reported by Mike Frysinger <vapier@gentoo.org>.
10663
10664         Ensure that <features.h> is included before __GLIBC__ is tested.
10665         * build-aux/link-warning.h: Include <features.h>.
10666         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
10667         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
10668         Reported by Mike Frysinger <vapier@gentoo.org>.
10669
10670         Ensure that <features.h> is included before __GLIBC__ is tested.
10671         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
10672         Reported by Mike Frysinger <vapier@gentoo.org>.
10673
10674 2010-11-20  Bruno Haible  <bruno@clisp.org>
10675
10676         memmem: Fix autoconf test.
10677         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
10678
10679 2010-11-20  Bruno Haible  <bruno@clisp.org>
10680
10681         Port to uClibc.
10682         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
10683         * lib/fcntl.in.h: Likewise.
10684         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
10685         * lib/mbrtowc.c (mbrtowc): Likewise.
10686         * lib/relocatable.c (find_shared_library_fullname): Likewise.
10687         * lib/strerror_r.c: Likewise.
10688         * lib/unistr/u8-strnlen.c: Likewise.
10689         * lib/vasnprintf.c (decimal_point_char): Likewise.
10690         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
10691         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
10692         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
10693         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
10694         * tests/test-sigaction.c (handler, main): Likewise.
10695         * lib/freading.h: Treat uClibc like a non-glibc platform.
10696         * lib/freading.c: Likewise.
10697         * lib/gettext.h: Likewise.
10698         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
10699         Likewise.
10700         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
10701         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10702         * lib/propername.c (proper_name_utf8): Likewise.
10703         * lib/spawn.in.h: Likewise.
10704         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
10705         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
10706         mem_cd_iconveh_internal): Likewise.
10707         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
10708         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
10709         strstr, strcasestr): Likewise.
10710         * lib/unicodeio.c (unicode_to_mb): Likewise.
10711         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
10712         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
10713         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
10714         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
10715         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
10716         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
10717         * lib/unistr/u8-stpncpy.c: Likewise.
10718         * lib/vasnprintf.c (VASNPRINTF): Likewise.
10719         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
10720         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
10721         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
10722         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
10723         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
10724         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
10725         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
10726         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10727         Likewise.
10728         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10729         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10730         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
10731         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10732         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
10733         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10734         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10735         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
10736         * tests/test-getopt.h (OPTIND_MIN): Likewise.
10737         * tests/test-striconveha.c (main): Likewise.
10738         * tests/test-vasnprintf-posix.c (test_function): Likewise.
10739         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
10740         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
10741         * doc/posix-functions/getline.texi: Likewise.
10742         Reported by Mike Frysinger <vapier@gentoo.org>.
10743
10744 2010-11-20  Bruno Haible  <bruno@clisp.org>
10745
10746         nproc: Fix condition.
10747         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
10748         HAVE_PTHREAD_AFFINITY_NP.
10749
10750 2010-11-20  Bruno Haible  <bruno@clisp.org>
10751
10752         Fix a comment.
10753         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
10754
10755 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
10756
10757         ftoastr: don't assume snprintf
10758         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
10759         Implement a subset of snprintf here, by using sprintf safely.
10760         * modules/ftoastr (Depends-on): Remove snprintf.
10761
10762 2010-11-19  Jim Meyering  <meyering@redhat.com>
10763
10764         test-rename.h: fix compilation failure
10765         * tests/test-rename.h (test_rename): Add omitted "}".
10766
10767 2010-11-17  Jim Meyering  <meyering@redhat.com>
10768
10769         maint.mk: add a URL discussing the no-@acronym policy
10770         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
10771
10772 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10773
10774         ftoastr: depend on snprintf, improve comments
10775         * lib/ftoastr.c: Also mention Loitsch's draft.
10776         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
10777         needed in the current implementation, but it might simplify
10778         speeding up the code later.
10779         * modules/ftoastr: Depend on snprintf; this improves portability.
10780         Suggested by Bruno Haible in the same email.
10781
10782         ftoastr: port to hosts lacking strtof and strtold
10783         Problem reported by Bruno Haible in
10784         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
10785         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
10786         environment and strtold (and presumably strtof) are not available.
10787         * modules/ftoastr (Files): Add m4/c-strtod.m4.
10788         (configure.ac): Require gl_C99_STRTOLD.
10789
10790 2010-11-18  Bruno Haible  <bruno@clisp.org>
10791
10792         c-strtold: Avoid link error on AIX 7.
10793         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
10794         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
10795         (gl_C_STRTOLD): Test whether strtold_l exists.
10796         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
10797
10798 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10799
10800         intprops: new macro INT_BITS_STRLEN_BOUND
10801         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
10802         ftoastr.h.  This exposes an internal of intprops.h that was formerly
10803         not exposed.  Also, it uses a slightly tighter bound than before;
10804         though this makes no practical difference, we might as well be as
10805         tight as we easily can.
10806
10807         ftoastr: new module, for lossless conversion of floats to short strings
10808         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
10809         * modules/ftoastr: New files.
10810
10811 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
10812
10813         bootstrap: port to Solaris sed
10814         * build-aux/bootstrap (get_version): Port to Solaris sed.
10815         See Ralf Wildenhues's note in
10816         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
10817
10818 2010-11-14  Jim Meyering  <meyering@redhat.com>
10819
10820         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
10821         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
10822         and move definition closer to sole use.
10823
10824 2010-11-13  Jim Meyering  <meyering@redhat.com>
10825
10826         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
10827         Now we require at least autoconf-2.59, which means the work-around
10828         is no longer needed.
10829         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
10830         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10831         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
10832         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
10833         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
10834
10835 2010-11-13  Bruno Haible  <bruno@clisp.org>
10836
10837         rename, renameat: Avoid test failures at NFS mounted locations.
10838         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
10839         functions.
10840         (test_rename): Use assert_nonexistent.
10841         * tests/test-rename.c: Include <dirent.h>.
10842         * tests/test-renameat.c: Likewise.
10843         Reported by Gary V. Vaughan <gary@gnu.org>.
10844
10845         rename, renameat: Document Linux bug with NFS
10846         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
10847         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
10848         * doc/posix-functions/renameat.texi: Likewise.
10849         Suggested by Eric Blake.
10850
10851 2010-11-13  Bruno Haible  <bruno@clisp.org>
10852
10853         rename test: Add comments.
10854         * tests/test-rename.h (test_rename): Add structure and comments.
10855
10856 2010-11-13  Eric Blake  <eblake@redhat.com>
10857
10858         maintainer-makefile: cover a few more files
10859         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
10860         scripts generated within C files, for libvirt.
10861
10862 2010-11-13  Bruno Haible  <bruno@clisp.org>
10863
10864         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
10865         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
10866         character, return the number of bytes that belong together, not always
10867         1.
10868         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
10869         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
10870         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
10871         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
10872         number of bytes of an invalid character.
10873         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
10874         (main): Invoke it.
10875         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
10876         results.
10877         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
10878         malformed byte sequences.
10879         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
10880         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
10881         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
10882         Reported by Ben Pfaff and Paolo Bonzini.
10883
10884 2010-11-13  Bruno Haible  <bruno@clisp.org>
10885
10886         openat: Work around glibc bug with fchownat() and empty file names.
10887         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
10888         (gl_FUNC_FCHOWNAT): Invoke it.
10889         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
10890         * doc/posix-functions/fchownat.texi: Document the glibc bug.
10891         Reported by Gary V. Vaughan <gary@gnu.org>.
10892
10893 2010-11-13  Bruno Haible  <bruno@clisp.org>
10894
10895         openat: Ensure autoconf macro ordering.
10896         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
10897         gl_USE_SYSTEM_EXTENSIONS.
10898         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
10899
10900 2010-11-13  Bruno Haible  <bruno@clisp.org>
10901
10902         Update comments.
10903         * lib/unistr/u8-check.c: Update file name in comments.
10904         * lib/unistr/u8-mblen.c: Likewise.
10905         * lib/unistr/u8-prev.c: Likewise.
10906         * lib/unistr/u8-strmblen.c: Likewise.
10907         * lib/unistr/u8-strmbtouc.c: Likewise.
10908
10909 2010-11-13  Jim Meyering  <meyering@redhat.com>
10910
10911         tests: avoid test failure on Solaris 10 due to lack of PATH export
10912         * tests/test-update-copyright.sh: Don't forget to export PATH.
10913
10914         init.sh: ensure that IFS is defined, just in case...
10915         * tests/init.sh (setup_): Ensure that IFS is defined,
10916         so that saving and restoring it works as expected.  This
10917         appears to be useful at least for an old version of dash
10918         from a long time ago (RH 6).  See here for details:
10919         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
10920
10921         maint.mk: tighten "test a == b" check
10922         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
10923         test to files that contain something like #!/bin/sh.
10924         Without this, coreutils would get two false positives in
10925         the comments of C source files.
10926
10927 2010-11-12  Eric Blake  <eblake@redhat.com>
10928
10929         bootstrap: fix typo in previous attempt
10930         * build-aux/bootstrap (buildreq): Correct the grouping.
10931         Reported by Paul Eggert.
10932
10933         maintainer-makefile: prohibit test x == x
10934         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
10935         Based on a report by Matthias Bolte.
10936
10937         bootstrap: allow FreeBSD gzip
10938         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
10939         which has no '.' and goes to stderr.
10940         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
10941         Reported by Matthias Bolte.
10942
10943         maintainer-makefile: check for i18n setup
10944         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
10945         will likely work.
10946
10947 2010-11-12  Bruno Haible  <bruno@clisp.org>
10948
10949         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
10950         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
10951         * lib/nanosleep.c (nanosleep): Likewise.
10952
10953 2010-11-11  Bruno Haible  <bruno@clisp.org>
10954
10955         fcntl-h: Fix for use of C++ on glibc systems.
10956         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
10957         also on glibc systems in C++ mode.
10958         Reported by Gary V. Vaughan <gary@gnu.org>.
10959
10960 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10961
10962         mknod: avoid false failure with dash
10963         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
10964
10965 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
10966
10967         unlink: Fix "is it should" typo in diagnostic.
10968         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
10969         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
10970
10971 2010-11-11  Bruno Haible  <bruno@clisp.org>
10972
10973         Tests for module 'strerror_r-posix'.
10974         * modules/strerror_r-posix-tests: New file.
10975         * tests/test-strerror_r.c: New file.
10976         * tests/test-string-c++.cc: Check the signature of strerror_r.
10977
10978         New module 'strerror_r-posix'.
10979         * lib/string.in.h (strerror_r): New declaration.
10980         * lib/strerror_r.c: New file.
10981         * m4/strerror_r.m4: New file.
10982         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
10983         of strerror_r.
10984         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
10985         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
10986         * modules/strerror_r-posix: New file.
10987         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
10988         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
10989         * doc/posix-functions/strerror_r.texi: Mention the new module and the
10990         portability problems.
10991
10992 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
10993
10994         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
10995         line is also considered for output. Quoted function name in shell
10996         command, so temporary files for functions like MyClass::operator()
10997         are removed correctly without errors.
10998
10999 2010-11-09  Bruno Haible  <bruno@clisp.org>
11000
11001         * doc/posix-functions/strerror.texi: List more failing platforms.
11002
11003         * doc/posix-functions/strerror.texi: Add a comment.
11004
11005 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
11006
11007         fdopendir: fix bug on MacOS X when low on file descriptors
11008
11009         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
11010         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
11011         All callers changed.
11012         (fdopendir): Invoke save_cwd at the top level, not after using
11013         multiple dup() calls to use up file descriptors.  Then retry
11014         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
11015         less than the maximum number of open file descriptors, because
11016         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
11017         on Mac OS X 10.6.4 for tar 1.24
11018         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
11019         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
11020         and for tar 1.25
11021         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
11022
11023 2010-11-07  Bruno Haible  <bruno@clisp.org>
11024
11025         vasnprintf: Support I flag on glibc systems.
11026         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
11027         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
11028         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
11029         snprintf function.
11030         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
11031         glibc systems.
11032         * tests/test-vasnprintf-posix3.c: New file.
11033         * modules/vasnprintf-posix-tests (Files): Add it.
11034         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
11035
11036 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
11037
11038         [html] Fix copy/paste bug: Use unique name for compiler warnings.
11039         * MODULES.html.sh: For compiler warnings, use name
11040         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
11041
11042 2010-11-05  Eric Blake  <eblake@redhat.com>
11043
11044         ceil, floor: avoid spurious failure with icc
11045         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
11046         [denormals-as-zero] when optimizing without -mieee-fp option.
11047         * tests/test-floorf2.c (floorf_reference): Likewise.
11048         * tests/test-ceilf1.c (dummy): New function.
11049         (main): Use it to outsmart icc's optimization.
11050         * tests/test-floorf1.c (dummy, main): Likewise.
11051
11052         tests: require working signbit
11053         * modules/ceilf-tests (Depends-on): Add signbit.
11054         * modules/ceill-tests (Depends-on): Likewise.
11055         * modules/floorf-tests (Depends-on): Likewise.
11056         * modules/floorl-tests (Depends-on): Likewise.
11057         * modules/round-tests (Depends-on): Likewise.
11058         * modules/roundf-tests (Depends-on): Likewise.
11059         * modules/roundl-tests (Depends-on): Likewise.
11060         * modules/trunc-tests (Depends-on): Likewise.
11061         * modules/truncf-tests (Depends-on): Likewise.
11062         * modules/truncl-tests (Depends-on): Likewise.
11063
11064         strtod: work around icc bug
11065         * lib/strtod.c (minus_zero): Define to working value.
11066         (strtod): Use it to avoid icc bug.
11067
11068         copysign: enhance tests
11069         * modules/copysign-tests (Files): Add minus-zero.h.
11070         * tests/test-copysign.c (main): Also test zeros.
11071
11072 2010-11-04  Eric Blake  <eblake@redhat.com>
11073
11074         ceil, floor, round, trunc: enhance tests of -0
11075         * tests/test-ceilf1.c (main): Ensure correct sign of result.
11076         * tests/test-ceill.c (main): Likewise.
11077         * tests/test-floorf1.c (main): Likewise.
11078         * tests/test-floorl.c (main): Likewise.
11079         * tests/test-round1.c (main): Likewise.
11080         * tests/test-roundf1.c (main): Likewise.
11081         * tests/test-roundl.c (main): Likewise.
11082         * tests/test-trunc1.c (main): Likewise.
11083         * tests/test-truncf1.c (main): Likewise.
11084         * tests/test-truncl.c (main): Likewise.
11085
11086 2010-11-04  Eric Blake  <eblake@redhat.com>
11087
11088         frexp, tests: work around ICC bug with -zero
11089         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
11090         works with more compilers.
11091         * tests/minus-zero.h: New file.
11092         * modules/ceilf-tests (Files): Include it.
11093         * modules/ceill-tests (Files): Likewise.
11094         * modules/floorf-tests (Files): Likewise.
11095         * modules/floorl-tests (Files): Likewise.
11096         * modules/frexp-nolibm-tests (Files): Likewise.
11097         * modules/frexp-tests (Files): Likewise.
11098         * modules/frexpl-nolibm-tests (Files): Likewise.
11099         * modules/frexpl-tests (Files): Likewise.
11100         * modules/isnan-tests (Files): Likewise.
11101         * modules/isnand-nolibm-tests (Files): Likewise.
11102         * modules/isnand-tests (Files): Likewise.
11103         * modules/isnanf-nolibm-tests (Files): Likewise.
11104         * modules/isnanf-tests (Files): Likewise.
11105         * modules/isnanl-nolibm-tests (Files): Likewise.
11106         * modules/isnanl-tests (Files): Likewise.
11107         * modules/round-tests (Files): Likewise.
11108         * modules/roundf-tests (Files): Likewise.
11109         * modules/roundl-tests (Files): Likewise.
11110         * modules/ldexpl-tests (Files): Likewise.
11111         * modules/signbit-tests (Files): Likewise.
11112         * modules/snprintf-posix-tests (Files): Likewise.
11113         * modules/sprintf-posix-tests (Files): Likewise.
11114         * modules/strtod-tests (Files): Likewise.
11115         * modules/trunc-tests (Files): Likewise.
11116         * modules/truncf-tests (Files): Likewise.
11117         * modules/truncl-tests (Files): Likewise.
11118         * modules/vsnprintf-posix-tests (Files): Likewise.
11119         * modules/vsprintf-posix-tests (Files): Likewise.
11120         * modules/vasnprintf-posix-tests (Files): Likewise.
11121         * modules/vasprintf-posix-tests (Files): Likewise.
11122         * tests/test-ceilf1.c (main): Use it.
11123         * tests/test-ceill.c (main): Likewise.
11124         * tests/test-floorf1.c (main): Likewise.
11125         * tests/test-floorl.c (main): Likewise.
11126         * tests/test-frexp.c (main): Likewise.
11127         * tests/test-frexpl.c (main): Likewise.
11128         * tests/test-isnan.c (main): Likewise.
11129         * tests/test-isnand.h (main): Likewise.
11130         * tests/test-isnanf.h (main): Likewise.
11131         * tests/test-isnanl.h (main): Likewise.
11132         * tests/test-ldexpl.c (main): Likewise.
11133         * tests/test-round.c (main): Likewise.
11134         * tests/test-roundf.c (main): Likewise.
11135         * tests/test-roundl.c (main): Likewise.
11136         * tests/test-signbit.c (test_signbitf, test_signbitd)
11137         (test_signbitl): Likewise.
11138         * tests/test-snprintf-posix.h (test_function): Likewise.
11139         * tests/test-sprintf-posix.h (test_function): Likewise.
11140         * tests/test-strtod.c (main): Likewise.
11141         * tests/test-trunc1.c (main): Likewise.
11142         * tests/test-truncf1.c (main): Likewise.
11143         * tests/test-truncl.c (main): Likewise.
11144
11145         isnanl: work around icc bug
11146         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
11147
11148 2010-11-03  Eric Blake  <eblake@redhat.com>
11149
11150         tests: fix compiler warnings
11151         * tests/test-getopt.h (test_getopt): Fix condition.
11152         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11153         * tests/test-pipe2.c (main): Likewise.
11154         * tests/test-quotearg-simple.c (main): Avoid icc warning.
11155
11156         utimens: fix broken m4 test
11157         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
11158
11159 2010-10-28  Bruno Haible  <bruno@clisp.org>
11160
11161         posix_spawn*, getdtablesize: Relax license.
11162         * modules/posix_spawn (License): Change to LGPLv2+.
11163         * modules/posix_spawnp (License): Likewise.
11164         * modules/posix_spawn-internal (License): Likewise.
11165         * modules/posix_spawnattr_init (License): Likewise.
11166         * modules/posix_spawnattr_getflags (License): Likewise.
11167         * modules/posix_spawnattr_setflags (License): Likewise.
11168         * modules/posix_spawnattr_getpgroup (License): Likewise.
11169         * modules/posix_spawnattr_setpgroup (License): Likewise.
11170         * modules/posix_spawnattr_getschedparam (License): Likewise.
11171         * modules/posix_spawnattr_setschedparam (License): Likewise.
11172         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
11173         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
11174         * modules/posix_spawnattr_getsigdefault (License): Likewise.
11175         * modules/posix_spawnattr_setsigdefault (License): Likewise.
11176         * modules/posix_spawnattr_getsigmask (License): Likewise.
11177         * modules/posix_spawnattr_setsigmask (License): Likewise.
11178         * modules/posix_spawnattr_destroy (License): Likewise.
11179         * modules/posix_spawn_file_actions_init (License): Likewise.
11180         * modules/posix_spawn_file_actions_addclose (License): Likewise.
11181         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
11182         * modules/posix_spawn_file_actions_addopen (License): Likewise.
11183         * modules/posix_spawn_file_actions_destroy (License): Likewise.
11184         * modules/getdtablesize (License): Likewise.
11185         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
11186
11187 2010-10-26  Bruno Haible  <bruno@clisp.org>
11188
11189         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
11190         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
11191         Cygwin and mingw.
11192         Suggested by Eric Blake.
11193
11194 2010-10-26  Bruno Haible  <bruno@clisp.org>
11195
11196         stdio: Work around compilation error due to renameat() on Solaris 10.
11197         * lib/stdio.in.h: Include <unistd.h> on Solaris.
11198         * lib/renameat.c: Don't include <unistd.h> here.
11199         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
11200         Reported by Paul Eggert and Eric Blake.
11201
11202 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
11203
11204         renameat: port to Solaris 10, which declares renameat in unistd.h
11205
11206         * lib/renameat.c: Include unistd.h before stdio.h, because
11207         Solaris 10 declares renameat in unistd.h.  Problem encountered
11208         when building GNU tar 1.24 on Solaris 10.
11209
11210 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11211
11212         fdopendir: fix C89 compilation
11213         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
11214         compilers.
11215
11216 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
11217
11218         inttostr: simplify by removing unnecessary redundancy
11219         * lib/anytostr.c: Don't include verify.h.
11220         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
11221         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
11222         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
11223         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
11224         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
11225         Likewise.
11226         * modules/inttostr (Depends-on): Remove 'verify'.
11227
11228 2010-10-23  Bruno Haible  <bruno@clisp.org>
11229
11230         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
11231         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
11232         Reported by Eric Blake.
11233
11234 2010-10-23  Bruno Haible  <bruno@clisp.org>
11235
11236         Tests: Fix LOCALE_JA on MirBSD 10.
11237         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
11238         to an UTF-8 locale.
11239         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
11240         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
11241         Reported by Eric Blake.
11242
11243 2010-10-21  Bruno Haible  <bruno@clisp.org>
11244
11245         nl_langinfo test: Avoid test failure on NetBSD 5.
11246         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
11247         Reported by Eric Blake.
11248
11249 2010-10-21  Eric Blake  <eblake@redhat.com>
11250
11251         c-stack: work around libsigsegv 2.8 bug
11252         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
11253         overflow on at least PowerPC64.
11254
11255 2010-10-17  Bruno Haible  <bruno@clisp.org>
11256
11257         userspec: Drop redundant file.
11258         * modules/userspec (Files): Remove lib/inttostr.h.
11259
11260 2010-10-17  Bruno Haible  <bruno@clisp.org>
11261
11262         nl_langinfo tests: Silence some warnings.
11263         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
11264         Reported by Jim Meyering.
11265
11266 2010-10-17  Bruno Haible  <bruno@clisp.org>
11267
11268         Make use of GCC's attribute __alloc_size__.
11269         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
11270         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
11271         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
11272         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
11273         __alloc_size__.
11274         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
11275         Suggested by Jim Meyering.
11276
11277 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
11278
11279         bootstrap: anchor .gitignore entries.
11280         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
11281         with...
11282         (insert_vc_ignore): ... this new function, which prepends `/' to
11283         all .gitignore entries before passing them to
11284         insert_sorted_if_absent.
11285
11286 2010-10-16  Bruno Haible  <bruno@clisp.org>
11287
11288         nextafter: Fix configure check.
11289         * modules/nextafter (configure.ac): Correct expected prototype.
11290
11291 2010-10-16  Bruno Haible  <bruno@clisp.org>
11292
11293         termios: Update documentation.
11294         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
11295
11296 2010-10-16  Bruno Haible  <bruno@clisp.org>
11297
11298         tests: Make them compile with TinyCC.
11299         * tests/test-strstr.c (main): Remove parentheses around array
11300         initializer.
11301
11302 2010-10-15  Eric Blake  <eblake@redhat.com>
11303
11304         ignore-value: make header idempotent
11305         * lib/ignore-value.h: Add double-inclusion guards.
11306         Reported by Stefan Berger.
11307
11308 2010-10-15  Jim Meyering  <meyering@redhat.com>
11309
11310         GNUmakefile: handle "stable" target, not "major"
11311         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
11312         lists in maint.mk and announce-gen.  Without this, "make stable"
11313         would fail to ensure that $(VERSION) is up to date.
11314
11315 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
11316
11317         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
11318         & co.
11319
11320 2010-10-14  Bruno Haible  <bruno@clisp.org>
11321
11322         vasnprintf: Don't set errno to 0.
11323         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
11324         block that sets it to 0.
11325         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
11326
11327 2010-10-14  Bruno Haible  <bruno@clisp.org>
11328
11329         socketlib: Fix.
11330         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
11331         gl_PREREQ_SYS_H_WINSOCK2.
11332         Reported by Ian Beckwith <ianb@erislabs.net>.
11333
11334 2010-10-13  Jim Meyering  <meyering@redhat.com>
11335
11336         test-select-stdin.c: avoid warn_unused_result warnings
11337         * tests/test-select-stdin.c: Include "macros.h".
11338         ASSERT that read and fflush succeed.
11339
11340 2010-10-13  Jim Meyering  <meyering@redhat.com>
11341
11342         git-version-gen: do require git-VC'd files in cwd
11343         * build-aux/git-version-gen: Reject a git version string
11344         if there are no commits associated with the current directory.
11345         This avoids an unlikely false-positive (unrelated dir whose parent
11346         repository also contains a tag matching v*), as pointed out
11347         by Giuseppe Scrivano in
11348         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
11349
11350 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11351
11352         argv-iter: omit nonconforming declaration
11353         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
11354         enum arg_iter_err declaration, which doesn't conform to C99.
11355         Solaris 10 cc warns about this.
11356
11357 2010-10-13  Eric Blake  <eblake@redhat.com>
11358
11359         termios: fix compilation on mingw
11360         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
11361         (gl_TERMIOS_H): Adjust it on mingw.
11362         * modules/termios (Makefile.am): Substitute new key.
11363         * lib/termios.in.h (includes): Make include_next conditional.
11364         * doc/posix-headers/termios.texi (termios.h): Update
11365         documentation.
11366         Reported by Daniel P. Berrange.
11367
11368 2010-10-13  Jim Meyering  <meyering@redhat.com>
11369
11370         git-version-gen: don't require that .git/ be in the current dir
11371         * build-aux/git-version-gen: Adjust this script so that it works
11372         when run from any working directory beneath the top-level .git/-
11373         containing directory.  Inspired by a patch from Giuseppe Scrivano,
11374         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
11375
11376         test-select: avoid warn_unused_result warnings
11377         * tests/test-select.c: Include "macros.h".
11378         ASSERT that each call to read, write, and pipe succeeds.
11379         While not technically required, also check each "close".
11380         * modules/select-tests (Files): Add tests/macros.h.
11381
11382         test-symlinkat: remove declaration of unused local
11383         * tests/test-symlinkat.c (main): Remove unused local, "buf".
11384
11385         test-inttostr: avoid shadowing warnings
11386         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
11387         and use malloc rather than the stack for the same reason as
11388         mentioned in the comment justifying the other allocation.
11389
11390 2010-10-11  Bruno Haible  <bruno@clisp.org>
11391
11392         stdlib: Allow multiple gnulib generated replacements to coexist.
11393         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
11394         Reported by Sam Steingold <sds@gnu.org>.
11395
11396 2010-10-11  Jim Meyering  <meyering@redhat.com>
11397
11398         fix a documentation typo
11399         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
11400
11401 2010-10-11  Eric Blake  <eblake@redhat.com>
11402
11403         futimens: work around Solaris 11 bug
11404         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
11405         * tests/test-futimens.h (test_futimens): Enhance, rather than
11406         weaken test.
11407         * doc/posix-functions/futimens.texi (futimens): Document the bug.
11408
11409 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
11410
11411         Indentation.
11412         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
11413         higher-level operators more to the left.
11414
11415 2010-10-11  Jim Meyering  <meyering@redhat.com>
11416
11417         test-futimens: avoid unwarranted test failure on Solaris 5.11
11418         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
11419         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
11420         because it tries to dereference the NULL name argument.
11421
11422 2010-10-11  Bruno Haible  <bruno@clisp.org>
11423
11424         Indentation.
11425         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
11426         indentation.
11427
11428 2010-10-11  Jim Meyering  <meyering@redhat.com>
11429
11430         spawn.in.h: make indentation consistent with parentheses
11431         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
11432         Make indentation consistent with parentheses.
11433
11434 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
11435
11436         Fix mismatched parens in previous commit
11437         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
11438         parens.
11439
11440 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11441
11442         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
11443
11444         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
11445         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
11446         * lib/malloca.c: Include "verify.h".
11447         (verify1): Remove, replacing with a verify call.
11448         * lib/relocwrapper.c (verify1): Likewise.
11449         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
11450         Likewise.
11451         * modules/malloca (Depends-on): Add 'verify'.
11452         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
11453         * modules/vasnprintf (Depends-on): Add 'verify'.
11454         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
11455         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
11456         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
11457         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
11458         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
11459         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
11460         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
11461
11462         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
11463
11464         Formerly the style was sometimes 2*X - 1, because the C standard
11465         was wrongly thought to disallow ?: in integral constant expressions.
11466         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
11467         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
11468         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
11469         * lib/stdint.in.h (_verify_intmax_size): Likewise.
11470         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
11471         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
11472         verify that time_t cannot be floating.
11473
11474 2010-10-08  Eric Blake  <eblake@redhat.com>
11475
11476         time: enforce recent POSIX ruling that time_t is integral
11477         * lib/time.in.h (__time_t_must_be_integral): Detect any
11478         problematic systems, allowing the rest of gnulib to assume POSIX.
11479
11480 2010-10-08  Jim Meyering  <meyering@redhat.com>
11481
11482         fdopendir: fix a bug on systems lacking openat and /proc support
11483         OpenBSD 4.7 is one such system.  The most noticeable effect was
11484         failure of any application making nontrivial use of fts: rm, du,
11485         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
11486           ./rm: traversal failed: `a': Bad file descriptor
11487         Debugging that, you see that even though FD 6 was closed just
11488         prior to the opendir call in fd_clone_opendir, its resulting
11489         dir->dd_fd was 8, rather than the expected value of 6:
11490
11491         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
11492         93                close (fd);
11493         (gdb) n
11494         94                dir = fd_clone_opendir (dupfd);
11495         (gdb) n
11496         95                saved_errno = errno;
11497         (gdb) p dir->dd_fd
11498         $11 = 8
11499
11500         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
11501         The problem is that on OpenBSD, fd_clone_opendir has to resort
11502         to using the old-style save/restore CWD mechanism, due to its
11503         lack of openat/proc support, and *that* would steal the FD (6)
11504         that opendir was supposed to use.
11505
11506         The fix is to squirrel away the desired FD so that save_cwd uses a
11507         different one, and then free the dest FD right before calling opendir.
11508         That guarantees opendir will use the required file descriptor.
11509
11510         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
11511
11512 2010-10-08  Bruno Haible  <bruno@clisp.org>
11513
11514         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
11515         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
11516
11517 2010-10-08  Bruno Haible  <bruno@clisp.org>
11518
11519         nanosleep: Make replacement POSIX compliant.
11520         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
11521         is out of range.
11522         Reported by Jim Meyering.
11523
11524 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11525
11526         bootstrap: add hook for altering gnulib.mk, for Bison
11527         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
11528         the Bison bootstrapping process can rewrite file names and variables
11529         in this file before later parts of 'bootstrap' use the file.
11530         Bison wants to include lib/gnulib.mk from the top-level makefile,
11531         so it needs the file names in this file to be relative to the top
11532         level, not relative to lib; plus it needs variable names to be
11533         rewritten.
11534         (slurp): Use the new function.
11535
11536         bootstrap: reformat for readability
11537         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
11538
11539 2010-10-08  Eric Blake  <eblake@redhat.com>
11540
11541         docs: update cygwin progress
11542         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
11543         1.7.7.
11544         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
11545         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
11546         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
11547         * doc/posix-functions/carg.texi (carg): Likewise.
11548         * doc/posix-functions/cargf.texi (cargf): Likewise.
11549         * doc/posix-functions/casin.texi (casin): Likewise.
11550         * doc/posix-functions/casinf.texi (casinf): Likewise.
11551         * doc/posix-functions/casinh.texi (casinh): Likewise.
11552         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
11553         * doc/posix-functions/catan.texi (catan): Likewise.
11554         * doc/posix-functions/catanf.texi (catanf): Likewise.
11555         * doc/posix-functions/catanh.texi (catanh): Likewise.
11556         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
11557         * doc/posix-functions/ccos.texi (ccos): Likewise.
11558         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
11559         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
11560         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
11561         * doc/posix-functions/cexp.texi (cexp): Likewise.
11562         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
11563         * doc/posix-functions/cimag.texi (cimag): Likewise.
11564         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
11565         * doc/posix-functions/clog.texi (clog): Likewise.
11566         * doc/posix-functions/clogf.texi (clogf): Likewise.
11567         * doc/posix-functions/conj.texi (conj): Likewise.
11568         * doc/posix-functions/conjf.texi (conjf): Likewise.
11569         * doc/posix-functions/cpow.texi (cpow): Likewise.
11570         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
11571         * doc/posix-functions/cproj.texi (cproj): Likewise.
11572         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
11573         * doc/posix-functions/creal.texi (creal): Likewise.
11574         * doc/posix-functions/crealf.texi (crealf): Likewise.
11575         * doc/posix-functions/csin.texi (csin): Likewise.
11576         * doc/posix-functions/csinf.texi (csinf): Likewise.
11577         * doc/posix-functions/csinh.texi (csinh): Likewise.
11578         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
11579         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
11580         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
11581         * doc/posix-functions/ctan.texi (ctan): Likewise.
11582         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
11583         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
11584         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
11585         * doc/posix-headers/complex.texi (complex.h): Likewise.
11586
11587 2010-10-07  Jim Meyering  <meyering@redhat.com>
11588
11589         parse-datetime: avoid compilation failure on OpenBSD 4.7
11590         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
11591         This works around a compilation failure on OpenBSD 4.7:
11592         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
11593
11594 2010-10-07  Eric Blake  <eblake@redhat.com>
11595
11596         docs: update cygwin progress
11597         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
11598         1.7.6.
11599         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
11600         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
11601         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
11602         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
11603         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
11604         Likewise.
11605         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
11606         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
11607         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
11608         Likewise.
11609         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
11610         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
11611         Likewise.
11612         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
11613         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
11614         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
11615         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
11616         Likewise.
11617         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
11618         Likewise.
11619         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
11620
11621         docs: update parse-datetime history
11622         * doc/parse-datetime.texi (Authors of parse_datetime): Better
11623         documentation of this function's history and alternatives.
11624
11625         cygwin: use more robust version check
11626         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
11627         exclude an eventual cygwin 1.9.1.
11628         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11629         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
11630         (gl_FUNC_STRCASESTR): Likewise.
11631         Reported by Bruno Haible.
11632
11633 2010-10-06  Bruno Haible  <bruno@clisp.org>
11634
11635         string, sys_select: Avoid #including large headers unless necessary.
11636         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
11637         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
11638         OSF/1, BeOS, Haiku.
11639         Reported by Jim Meyering.
11640
11641 2010-10-05  Eric Blake  <eblake@redhat.com>
11642
11643         memmem, strstr, strcasestr: fix bug with long periodic needle
11644         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
11645         periodic needle having false positive.
11646         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
11647         and cygwin 1.7.7.
11648         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
11649         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
11650         (gl_FUNC_STRCASESTR): Likewise.
11651         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11652         * tests/test-memmem.c (main): Expose the bug.
11653         * tests/test-strcasestr.c (main): Likewise.
11654         * tests/test-strstr.c (main): Likewise.
11655         * tests/test-c-strcasestr.c (main): Likewise.
11656         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
11657         * doc/posix-functions/strstr.texi (strstr): Likewise.
11658         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
11659         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
11660
11661 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11662
11663         parse-datetime: do some more renaming
11664         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
11665         parse_datetime, not get_date.  Mention the renaming.
11666         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
11667         in comments.
11668         * m4/bison.m4: Likewise.
11669
11670 2010-10-05  Eric Blake  <eblake@redhat.com>
11671
11672         parse-datetime: better name than get_date
11673         * NEWS: Reword the deprecation notice.
11674         * modules/get_date: Rename to modules/parse-datetime.
11675         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
11676         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
11677         * lib/get_date.y: Rename to lib/parse-datetime.y.
11678         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
11679         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
11680         * doc/getdate.texi: Provide fallback wrapper.
11681         * lib/getdate.h: Move guts, and wrap...
11682         * lib/parse-datetime.h: ...new file.
11683         * lib/parse-datetime.y (get_date): Rename...
11684         (parse_datetime): ...to this.
11685         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
11686         (gl_PARSE_DATETIME): ...to this.
11687         * doc/posix-functions/getdate.texi (get_date): Provide fallback
11688         documentation.
11689         * modules/getdate (Files): Provide fallback docs and header.
11690         (Notice, Depends-on): Update references.
11691         * tests/test-parse-datetime.c: Likewise.
11692         * DEPENDENCIES: Likewise.
11693         * MODULES.html.sh (Date and time <time.h>): Likewise.
11694         * doc/parse-datetime.texi (Date input formats)
11695         (Authors of parse_datetime): Likewise.
11696         * modules/parse-datetime (Files, configure.ac, Makefile.am)
11697         (Include): Likewise.
11698         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
11699         * gnulib-tool: Likewise.
11700         * m4/bison.m4 (gl_BISON): Likewise.
11701         Suggested by Bruno Haible.
11702
11703 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11704
11705         more ports to Solaris tr, which needs [] around ranges
11706         * gnulib-tool: Solaris tr needs [] around ranges.
11707         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
11708         * tests/test-pipe-filter-gi1.c (main): Likewise.
11709         * tests/test-pipe-filter-ii1.c (main): Likewise.
11710
11711 2010-10-05  Eric Blake  <eblake@redhat.com>
11712
11713         bootstrap: fix Solaris regression
11714         * build-aux/bootstrap (check_versions): Solaris tr still needs []
11715         around ranges.
11716         Reported by Pádraig Brady.
11717
11718         bootstrap: work with pkg-config
11719         * build-aux/bootstrap (check_versions): Also transliterate - in
11720         prerequisite name.
11721         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
11722         prerequisites that were already found, to avoid confusion.
11723         Reported by Justin Clift.
11724
11725         faccessat: remove unused wrappers
11726         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
11727         presence of these wrappers dragged in -lgen on Solaris.
11728         Reported by Clemens Brogi; fix suggested by Paul Eggert.
11729
11730 2010-10-05  Jim Meyering  <meyering@redhat.com>
11731
11732         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
11733         * Makefile (sc_pragma_columns): New syntax-check rule.
11734
11735 2010-10-04  Bruno Haible  <bruno@clisp.org>
11736
11737         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
11738         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
11739         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
11740         Reported by Bruce Korb and Eric Blake.
11741
11742 2010-10-04  Bruno Haible  <bruno@clisp.org>
11743
11744         threadlib: Make option --with-libpth-prefix work.
11745         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
11746         use $LIBPTH, not just -lpth.
11747
11748 2010-10-04  Bruno Haible  <bruno@clisp.org>
11749
11750         Avoid line length limitation from HP NonStop system header files.
11751         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
11752         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
11753         * lib/ctype.in.h: Likewise.
11754         * lib/dirent.in.h: Likewise.
11755         * lib/errno.in.h: Likewise.
11756         * lib/fcntl.in.h: Likewise.
11757         * lib/float.in.h: Likewise.
11758         * lib/getopt.in.h: Likewise.
11759         * lib/iconv.in.h: Likewise.
11760         * lib/inttypes.in.h: Likewise.
11761         * lib/langinfo.in.h: Likewise.
11762         * lib/locale.in.h: Likewise.
11763         * lib/math.in.h: Likewise.
11764         * lib/netdb.in.h: Likewise.
11765         * lib/netinet_in.in.h: Likewise.
11766         * lib/poll.in.h: Likewise.
11767         * lib/pthread.in.h: Likewise.
11768         * lib/pty.in.h: Likewise.
11769         * lib/sched.in.h: Likewise.
11770         * lib/se-selinux.in.h: Likewise.
11771         * lib/search.in.h: Likewise.
11772         * lib/signal.in.h: Likewise.
11773         * lib/spawn.in.h: Likewise.
11774         * lib/stdarg.in.h: Likewise.
11775         * lib/stddef.in.h: Likewise.
11776         * lib/stdint.in.h: Likewise.
11777         * lib/stdio.in.h: Likewise.
11778         * lib/stdlib.in.h: Likewise.
11779         * lib/string.in.h: Likewise.
11780         * lib/strings.in.h: Likewise.
11781         * lib/sys_file.in.h: Likewise.
11782         * lib/sys_ioctl.in.h: Likewise.
11783         * lib/sys_select.in.h: Likewise.
11784         * lib/sys_socket.in.h: Likewise.
11785         * lib/sys_stat.in.h: Likewise.
11786         * lib/sys_time.in.h: Likewise.
11787         * lib/sys_times.in.h: Likewise.
11788         * lib/sys_utsname.in.h: Likewise.
11789         * lib/sys_wait.in.h: Likewise.
11790         * lib/sysexits.in.h: Likewise.
11791         * lib/termios.in.h: Likewise.
11792         * lib/time.in.h: Likewise.
11793         * lib/unistd.in.h: Likewise.
11794         * lib/wchar.in.h: Likewise.
11795         * lib/wctype.in.h: Likewise.
11796         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
11797         * modules/ctype (Makefile.am): Likewise.
11798         * modules/dirent (Makefile.am): Likewise.
11799         * modules/errno (Makefile.am): Likewise.
11800         * modules/fcntl-h (Makefile.am): Likewise.
11801         * modules/float (Makefile.am): Likewise.
11802         * modules/getopt-posix (Makefile.am): Likewise.
11803         * modules/iconv-h (Makefile.am): Likewise.
11804         * modules/inttypes (Makefile.am): Likewise.
11805         * modules/langinfo (Makefile.am): Likewise.
11806         * modules/locale (Makefile.am): Likewise.
11807         * modules/math (Makefile.am): Likewise.
11808         * modules/netdb (Makefile.am): Likewise.
11809         * modules/netinet_in (Makefile.am): Likewise.
11810         * modules/poll-h (Makefile.am): Likewise.
11811         * modules/pthread (Makefile.am): Likewise.
11812         * modules/pty (Makefile.am): Likewise.
11813         * modules/sched (Makefile.am): Likewise.
11814         * modules/search (Makefile.am): Likewise.
11815         * modules/selinux-h (Makefile.am): Likewise.
11816         * modules/signal (Makefile.am): Likewise.
11817         * modules/spawn (Makefile.am): Likewise.
11818         * modules/stdarg (Makefile.am): Likewise.
11819         * modules/stddef (Makefile.am): Likewise.
11820         * modules/stdint (Makefile.am): Likewise.
11821         * modules/stdio (Makefile.am): Likewise.
11822         * modules/stdlib (Makefile.am): Likewise.
11823         * modules/string (Makefile.am): Likewise.
11824         * modules/strings (Makefile.am): Likewise.
11825         * modules/sys_file (Makefile.am): Likewise.
11826         * modules/sys_ioctl (Makefile.am): Likewise.
11827         * modules/sys_select (Makefile.am): Likewise.
11828         * modules/sys_socket (Makefile.am): Likewise.
11829         * modules/sys_stat (Makefile.am): Likewise.
11830         * modules/sys_time (Makefile.am): Likewise.
11831         * modules/sys_times (Makefile.am): Likewise.
11832         * modules/sys_utsname (Makefile.am): Likewise.
11833         * modules/sys_wait (Makefile.am): Likewise.
11834         * modules/sysexits (Makefile.am): Likewise.
11835         * modules/termios (Makefile.am): Likewise.
11836         * modules/time (Makefile.am): Likewise.
11837         * modules/unistd (Makefile.am): Likewise.
11838         * modules/wchar (Makefile.am): Likewise.
11839         * modules/wctype (Makefile.am): Likewise.
11840
11841 2010-10-04  Bruno Haible  <bruno@clisp.org>
11842
11843         read-file tests: Avoid a test failure on NonStop Kernel.
11844         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
11845         a regular file.
11846         Reported by Joachim Schmitz <schmitz@hp.com>.
11847
11848 2010-10-03  Bruno Haible  <bruno@clisp.org>
11849
11850         gnulib-tool: Fixes for --create-testdir with --libtool.
11851         * gnulib-tool (func_get_automake_snippet): Don't augment
11852         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
11853         an executable.
11854         (func_create_testdir): Handle module 'alloca' like func_import.
11855         Reported by Bruce Korb <bruce.korb@gmail.com>.
11856
11857 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11858
11859         Avoid some lines longer than 80 characters.
11860         * lib/stdint.in.h: Break long comment lines.
11861         * lib/math.in.h: Likewise.
11862         (_GL_NUM_UINT_WORDS): New macro, for readability.
11863         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
11864         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
11865         * lib/stdlib.in.h: Likewise.
11866         * lib/spawn.in.h: Likewise.
11867         * lib/sys_socket.in.h: Update an URL.
11868         * lib/sys_stat.in.h: Break long line.
11869
11870 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
11871
11872         Improve pmccabe2html.
11873         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
11874         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
11875         when the sources change. Remove the line in the HTML about "Used
11876         ranges" (which implied that there might be other unused ranges),
11877         rename "Resume" to "Summary" (easier to understand for more users).
11878         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
11879         styles, and some unnecessary blank lines.
11880
11881 2010-10-03  Bruno Haible  <bruno@clisp.org>
11882             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11883
11884         acl: Add support for ACLs on NonStop Kernel.
11885         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
11886         Check whether the function aclsort() exists.
11887         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
11888         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
11889         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
11890         (acl_nontrivial [HAVE_ACLSORT]: New function.
11891         (file_has_acl): Implement for NonStop Kernel.
11892         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
11893         (qset_acl): Implement for NonStop Kernel.
11894         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
11895         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
11896         (main): Implement for NonStop Kernel.
11897         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
11898         Kernel. Handle this flavor.
11899         * tests/test-set-mode-acl.sh: Likewise.
11900         * tests/test-copy-acl.sh: Likewise.
11901         * tests/test-copy-file.sh: Likewise.
11902
11903 2010-10-03  Bruno Haible  <bruno@clisp.org>
11904
11905         Info about ACLs on NonStop Kernel.
11906         * doc/acl-resources.txt: Add info about NonStop Kernel.
11907         References by Joachim Schmitz <schmitz@hp.com>.
11908
11909 2010-10-02  Bruno Haible  <bruno@clisp.org>
11910
11911         Define missing EDQUOT on NonStop Kernel.
11912         * lib/errno.in.h (EDQUOT): Assign a value if missing.
11913         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
11914         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
11915         missing.
11916         * doc/posix-headers/errno.texi: Mention the NSK bug.
11917         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
11918         Reported by Joachim Schmitz <schmitz@hp.com>.
11919
11920 2010-10-02  Bruno Haible  <bruno@clisp.org>
11921
11922         Update doc for POSIX:2008.
11923         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
11924         Update URL of POSIX specification.
11925
11926 2010-10-02  Bruno Haible  <bruno@clisp.org>
11927
11928         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
11929         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
11930         from gnulib, not from Automake.
11931
11932 2010-10-02  Bruno Haible  <bruno@clisp.org>
11933
11934         New module 'system-posix'.
11935         * modules/system-posix: New file.
11936         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
11937         module is present.
11938         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
11939         GNULIB_SYSTEM_POSIX.
11940         * modules/stdlib (Depends-on): Remove sys_wait.
11941         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
11942         * doc/posix-functions/system.texi: Mention the new module.
11943         * doc/posix-headers/stdlib.texi: Likewise.
11944         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
11945         define test_sys_wait_macros to a no-op.
11946         Reported by Sam Steingold <sds@gnu.org>.
11947
11948 2010-09-30  Bruno Haible  <bruno@clisp.org>
11949
11950         More renaming from 'getdate' to 'get_date'.
11951         * doc/get_date.texi: Renamed from doc/getdate.texi.
11952         * modules/get_date (Files): Update.
11953         * MODULES.html.sh (Date and time <time.h>): Update.
11954         * DEPENDENCIES: Update.
11955         * gnulib-tool: Update comment.
11956         * m4/bison.m4 (gl_BISON): Likewise.
11957         * m4/get_date.m4 (gl_GET_DATE): Likewise.
11958
11959 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
11960
11961         bootstrap: support ACLOCAL_FLAGS during aclocal
11962         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
11963         can add additional -I dir for third-party .m4 files.
11964
11965 2010-09-30  Eric Blake  <eblake@redhat.com>
11966
11967         bootstrap: use glibtoolize on MacOS
11968         * build-aux/bootstrap (check_versions): Convert libtool into
11969         libtoolize.
11970         (tool search): Move libtool check earlier, and look for
11971         glibtoolize for MacOS.
11972         (gnulib_tool_options): Auto-add --libtool when appropriate.
11973         Reported by Justin Clift.
11974
11975         poll: fix typo that broke test on MacOS
11976         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
11977         Reported by Justin Clift.
11978
11979         getdate: rename to get_date
11980         Note: getdate.h is not renamed, to minimize client impact.
11981         * modules/getdate: Mark obsolete.  Move old contents...
11982         * modules/get_date: ...to new module name.
11983         * modules/getdate-tests: Move...
11984         * modules/get_date-tests: ...here.
11985         * m4/getdate.m4: Move...
11986         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
11987         * lib/getdate.y: Move...
11988         * lib/get_date.y: ...here.
11989         * tests/test-getdate.c: Move...
11990         * tests/test-get_date.c: ...here.
11991         * doc/posix-functions/getdate.texi (getdate): Update name.
11992         * NEWS: Mention the change.
11993
11994 2010-09-29  Bruno Haible  <bruno@clisp.org>
11995
11996         Separate the module 'waitpid' from the module 'sys_wait'.
11997         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
11998         present.
11999         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
12000         gl_MODULE_INDICATOR_FOR_TESTS.
12001         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
12002         * modules/sys_wait (Depends-on): Remove waitpid.
12003         (Makefile.am): Substitute GNULIB_WAITPID.
12004         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
12005         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
12006         signature only if the 'waitpid' module is present.
12007         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
12008         * NEWS: Mention the change.
12009         * modules/grantpt (Depends-on): Add waitpid.
12010         * modules/wait-process (Depends-on): Likewise.
12011
12012 2010-09-29  Bruno Haible  <bruno@clisp.org>
12013
12014         More tests for module 'sys_wait'.
12015         * modules/sys_wait-c++-tests: New file.
12016         * tests/test-sys_wait-c++.cc: New file.
12017         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
12018         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12019
12020 2010-09-29  Bruno Haible  <bruno@clisp.org>
12021
12022         New module 'waitpid'.
12023         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
12024         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
12025         Don't include <process.h>.
12026         (waitpid): Declare only, using modern idiom.
12027         * m4/waitpid.m4: New file.
12028         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
12029         * modules/waitpid: New file.
12030         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
12031         (Makefile.am): Update.
12032         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12033
12034 2010-09-28  Bruno Haible  <bruno@clisp.org>
12035
12036         poll: Assume ANSI C.
12037         * lib/poll.c (poll): Use an ANSI C declaration.
12038
12039 2010-09-28  Bruno Haible  <bruno@clisp.org>
12040
12041         poll-h: Create poll.h on all platforms.
12042         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
12043         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
12044         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
12045         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
12046         (gl_REPLACE_POLL_H): Don't set POLL_H.
12047         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
12048         * modules/poll-h (Depends-on): Add include_next.
12049         (Makefile.am): Create poll.h unconditionally. Substitute also
12050         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
12051
12052 2010-09-28  Bruno Haible  <bruno@clisp.org>
12053
12054         Tests for module 'poll-h'.
12055         * modules/poll-h-c++-tests: New file.
12056         * tests/test-poll-h-c++.cc: New file.
12057
12058         Tests for module 'poll-h'.
12059         * modules/poll-h-tests: New file.
12060         * tests/test-poll-h.c: New file.
12061
12062 2010-09-28  Bruno Haible  <bruno@clisp.org>
12063
12064         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
12065         * modules/poll-h (Depends-on): Add 'extensions'.
12066
12067 2010-09-28  Bruno Haible  <bruno@clisp.org>
12068
12069         New module 'poll-h'.
12070         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
12071         (poll): Use modern idiom.
12072         * modules/poll-h: New file.
12073         * modules/poll (Files): Remove lib/poll.in.h.
12074         (Depends-on): Add poll-h.
12075         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
12076         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
12077         * m4/poll_h.m4: New file.
12078         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
12079         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
12080         and invoke gl_REPLACE_POLL_H.
12081         * lib/poll.c: Use common idiom.
12082         * tests/test-poll.c: Likewise.
12083         * doc/posix-headers/poll.texi: Mention the poll-h module.
12084         Suggested by Eric Blake.
12085
12086 2010-09-26  Bruno Haible  <bruno@clisp.org>
12087
12088         sys_wait: Implement WSTOPSIG.
12089         * lib/sys_wait.in.h (WSTOPSIG): New macro.
12090         Reported by Simon Josefsson.
12091
12092 2010-09-26  Simon Josefsson  <simon@josefsson.org>
12093
12094         stdlib, sys_wait: Avoid compilation error on mingw.
12095         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
12096
12097 2010-09-26  Bruno Haible  <bruno@clisp.org>
12098
12099         stdlib tests: Avoid code duplication.
12100         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
12101         * modules/sys_wait-tests (Files): Likewise.
12102         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
12103         * tests/test-stdlib.c: Include test-sys_wait.h.
12104         (main): Invoke test_sys_wait_macros.
12105         * tests/test-sys_wait.c: Include test-sys_wait.h.
12106         (main): Invoke test_sys_wait_macros.
12107
12108 2010-09-25  Simon Josefsson  <simon@josefsson.org>
12109
12110         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
12111         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
12112         sure Windows sockets are working before calling getaddrinfo.
12113         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
12114         * doc/gnulib.texi (Windows sockets): Fix typo.
12115
12116 2010-09-25  Bruno Haible  <bruno@clisp.org>
12117
12118         Tests for module 'regex-quote'.
12119         * modules/regex-quote-tests: New file.
12120         * tests/test-regex-quote.c: New file.
12121
12122         New module 'regex-quote'.
12123         * lib/regex-quote.h: New file.
12124         * lib/regex-quote.c: New file.
12125         * modules/regex-quote: New file.
12126         Suggested by Reuben Thomas <rrt@sc3d.org>.
12127
12128 2010-09-24  Bruno Haible  <bruno@clisp.org>
12129
12130         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
12131         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
12132
12133 2010-09-23  Bruno Haible  <bruno@clisp.org>
12134
12135         setenv: Relax license.
12136         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
12137         Blake.
12138         Requested by Eric Blake.
12139
12140 2010-09-22  Bruno Haible  <bruno@clisp.org>
12141
12142         termios: Relax license.
12143         * modules/termios (License): Change to LGPLv2+.
12144         Requested by Eric Blake.
12145
12146 2010-09-22  Bruno Haible  <bruno@clisp.org>
12147
12148         threadlib: Allow the package to change the default to 'no'.
12149         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
12150         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
12151         Reported by Paul Eggert.
12152
12153 2010-09-22  Pádraig Brady  <P@draigbrady.com>
12154             Bruno Haible  <bruno@clisp.org>
12155
12156         Fix endless loop in mbmemcasecoll.
12157         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
12158         byte.
12159         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
12160
12161 2010-09-22  Bruno Haible  <bruno@clisp.org>
12162
12163         Tests for module 'memcoll'.
12164         * modules/memcoll-tests: New file.
12165         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
12166
12167         memcoll, xmemcoll: Clarify size vs. length.
12168         * modules/memcoll.c (memcoll0): Clarify specification.
12169         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
12170         passed to collate_error.
12171
12172 2010-09-22  Bruno Haible  <bruno@clisp.org>
12173
12174         Tests for module 'memcasecmp'.
12175         * modules/memcasecmp-tests: New file.
12176         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
12177
12178 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12179
12180         * lib/pthread.in.h: Add split double-inclusion guard, and include
12181         system <pthread.h> if there is one.  Use @@-style as in other
12182         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
12183         pthread.h doesn't.
12184         (pthread_mutexattr_destroy, pthread_mutexattr_init):
12185         (pthread_mutexattr_settype, pthread_mutex_trylock):
12186         New static inline functions, if there's no system <pthread.h>.
12187         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
12188         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
12189         Approximate with mutexes if the system lacks spinlocks, as in
12190         MacOS.
12191         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
12192         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
12193         @@-style.  Check for spinlocks separately.
12194         (gl_PTHREAD_DEFAULTS): New macro.
12195         * modules/pthread: Redo to use a more typical style for in.h files.
12196
12197 2010-09-21  Eric Blake  <eblake@redhat.com>
12198
12199         net_if: enhance tests
12200         * tests/test-net_if.c (main): Move signature checks earlier.
12201         Print failures to stderr.
12202         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
12203         Document the bug that we do not yet fix.
12204
12205 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
12206
12207         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
12208         about gnulib, not GSS.
12209
12210 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
12211
12212         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
12213         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
12214         for Emacs.
12215         * build-aux/pmccabe2html: Make Makefile.am example code more
12216         cut-and-paste friendly.
12217
12218 2010-09-21  Simon Josefsson  <simon@josefsson.org>
12219
12220         * tests/test-net_if.c: New file.
12221         * modules/net_if-tests: New file.
12222
12223 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12224
12225         pthread: add pthread_spin_destroy
12226         * lib/pthread.in.h (pthread_spin_destroy): New function.
12227
12228 2010-09-19  Bruno Haible  <bruno@clisp.org>
12229
12230         gnulib-tool: Fix --help output.
12231         * gnulib-tool (func_usage): Fix help message.
12232         Reported by Reuben Thomas <rrt@sc3d.org>.
12233
12234 2010-09-18  Jim Meyering  <meyering@redhat.com>
12235
12236         maint.mk: avoid unexpanded \n in two diagnostics
12237         * top/maint.mk (sc_prohibit_always_true_header_tests):
12238         Don't use a literal \n in a halt=... assignment.  It would not be
12239         expanded, and the two \n bytes would appear in the diagnostic output
12240         rather than the desired newline.  Use halt=$$(printf ... instead.
12241         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
12242
12243 2010-09-18  Bruno Haible  <bruno@clisp.org>
12244
12245         netinet_in: Doc tweak.
12246         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
12247         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12248
12249 2010-09-18  Jim Meyering  <meyering@redhat.com>
12250
12251         init.sh: correct an outdated comment
12252         * tests/init.sh (create_exe_shims_):  s/function/alias/
12253
12254         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
12255         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
12256         a file named "*.exe" is removed between the glob expansion and the
12257         processing of that oddly named file.
12258
12259 2010-09-17  Eric Blake  <eblake@redhat.com>
12260
12261         mirbsd: add some more support
12262         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
12263         in BSD family.
12264         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
12265         devices as OpenBSD.
12266         * m4/host-os.m4 (mirbsd): Add MirBSD.
12267
12268         tests: fix unportable assumption on sys/wait.h
12269         * tests/test-sys_wait.c (main): Relax test.
12270         * tests/test-stdlib.c (main): Likewise.
12271
12272         init.sh: accomodate directory with no .exes
12273         * tests/init.sh: Accomodate directory containing only scripts.
12274
12275         tests: avoid compiler warning
12276         * tests/test-stdlib.c (main): Use the variable.
12277
12278         fdutimens, fdutimensat: update signature, again
12279         * lib/utimens.h (gl_futimens): Delete, and move signature...
12280         (fdutimens): ...here.
12281         (fdutimensat): Rearrange signature.
12282         (lutimensat): Rename variable for clarity.
12283         * lib/fdutimensat.c (fdutimensat): Update signature.
12284         * lib/utimens.c (fdutimens): Likewise.
12285         (gl_futimens): Delete.
12286         (utimens, lutimens): Update callers.
12287         * lib/futimens.c (futimens): Likewise.
12288         * tests/test-fdutimensat.c: Likewise.
12289         * tests/test-utimens.c: Likewise.
12290         * tests/test-futimens.h: Update comment.
12291         * NEWS: Mention this.
12292         Suggested by Paul Eggert.
12293
12294 2010-09-17  Bruno Haible  <bruno@clisp.org>
12295
12296         Take over the maintenance of some older macros from Autoconf.
12297         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
12298         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
12299         GNU Autoconf.
12300         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
12301         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
12302
12303 2010-09-17  Eric Blake  <eblake@redhat.com>
12304
12305         fdutimensat: drop atflag validation
12306         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
12307         with valid fd, to close a race scenario where futimens is
12308         unsupported and FILE was replaced by a symlink.
12309         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
12310         accordingly.
12311         Suggested by Paul Eggert.
12312
12313 2010-09-16  Bruno Haible  <bruno@clisp.org>
12314
12315         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
12316         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
12317
12318 2010-09-16  Bruno Haible  <bruno@clisp.org>
12319
12320         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
12321         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
12322         login_tty exists.
12323         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12324
12325 2010-09-16  Bruno Haible  <bruno@clisp.org>
12326
12327         login_tty: Make the replacement code work on BSD systems.
12328         * lib/login_tty.c: Include <sys/ioctl.h>.
12329         (login_tty): Use ioctl TIOCSCTTY when available.
12330         * modules/login_tty (Depends-on): Add sys_ioctl.
12331         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12332
12333 2010-09-16  Bruno Haible  <bruno@clisp.org>
12334
12335         login_tty: Stricter unit test.
12336         * modules/login_tty-tests (Depends-on): Add tcgetsid.
12337         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
12338         and tcgetsid() after login_tty.
12339         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12340
12341 2010-09-16  Bruno Haible  <bruno@clisp.org>
12342
12343         New module 'tcgetsid'.
12344         * lib/tcgetsid.c: New file.
12345         * m4/tcgetsid.m4: New file.
12346         * modules/tcgetsid: New file.
12347         * modules/termios (Depends-on): Add c++defs, warn-on-use.
12348         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
12349         GNULIB_TCGETSID, HAVE_TCGETSID.
12350         * lib/termios.in.h: Include <sys/types.h>.
12351         (tcgetsid): New declaration.
12352         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
12353         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
12354         * doc/posix-functions/tcgetsid.texi: Mention the new module.
12355         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
12356
12357 2010-09-16  Bruno Haible  <bruno@clisp.org>
12358
12359         Tests for module 'termios'.
12360         * modules/termios-c++-tests: New file.
12361         * modules/termios-tests: New file.
12362         * tests/test-termios-c++.cc: New file.
12363         * tests/test-termios.c: New file.
12364
12365         New module 'termios'.
12366         * modules/termios: New file.
12367         * lib/termios.in.h: New file.
12368         * m4/termios_h.m4: New file.
12369         * doc/posix-headers/termios.texi: Mention the new module.
12370
12371 2010-09-16  Eric Blake  <eblake@redhat.com>
12372
12373         fdutimensat: add an atflag parameter
12374         * lib/fdutimensat.c (fdutimensat): Add new parameter.
12375         * lib/utimens.h (fdutimensat): Update prototype.
12376         * tests/test-fdutimensat.c: Adjust test to match.
12377         * NEWS: Document the change.
12378         Suggested by Paul Eggert.
12379
12380 2010-09-16  Bruno Haible  <bruno@clisp.org>
12381
12382         Fix typos in comments.
12383         * lib/striconveh.h: Fix typo in comment.
12384         * lib/login_tty.c (login_tty): Likewise.
12385
12386 2010-09-15  Bruno Haible  <bruno@clisp.org>
12387
12388         stdlib: clarify MirBSD WEXITSTATUS bug
12389         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
12390         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12391
12392 2010-09-15  Eric Blake  <eblake@redhat.com>
12393
12394         stdlib: work around MirBSD WEXITSTATUS bug
12395         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
12396         * modules/stdlib (Depends-on): Add sys_wait.
12397         * tests/test-sys_wait.c (main): Enhance test.
12398         * tests/test-stdlib.c (main): Likewise.
12399         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
12400
12401         docs: mention MacOS issue with WEXITSTATUS(constant)
12402         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
12403         issue.
12404         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12405
12406         strnlen: add tests
12407         * modules/strnlen-tests: New file.
12408         * tests/test-strnlen.c: Likewise.
12409
12410 2010-09-14  Bruno Haible  <bruno@clisp.org>
12411
12412         unistr/base: Avoid link errors when module 'libunistring' is also used.
12413         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
12414         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
12415         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
12416         Declare also when HAVE_LIBUNISTRING is set.
12417         Reported by Pádraig Brady <P@draigbrady.com>.
12418
12419 2010-09-14  Eric Blake  <eblake@redhat.com>
12420
12421         test-rawmemchr: make more robust
12422         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
12423         (Depends-on, configure.ac): Add needed prerequisites to use it.
12424         * modules/memchr-tests (Files, Depends-on, configure.ac):
12425         Likewise, to avoid implicit reliance on memchr module prereqs.
12426         * tests/test-memchr.c (main): Ensure proper masking.
12427         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
12428         reads.
12429
12430         memchr: detect glibc Alpha bug
12431         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
12432         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
12433         Alpha.
12434         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
12435         * tests/test-memchr.c (main): Enhance test.
12436         Reported by Nelson H. F. Beebe.
12437
12438 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12439
12440         fts, getcwd, glob: audit for dirfd returning -1
12441         * lib/fts.c (opendir): Remove #define; no longer used.
12442         (opendirat): New arg PDIR_FD.  All callers changed.
12443         (fts_build, _opendir2): Use new opendirat to avoid the need for
12444         dirfd, or for checking whether dirfd returns a negative value.
12445         Don't use opendir; always use openat followed by fdopendir.
12446         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
12447         it.
12448         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
12449         returns -1 here.
12450         * modules/fts (Depends-on): Remove dirfd.
12451         * modules/getcwd (Depends-on): Likewise.
12452
12453 2010-09-13  Eric Blake  <eblake@redhat.com>
12454
12455         float: fix broken MirBSD header
12456         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
12457         * doc/posix-headers/float.texi (float.h): Document it.
12458
12459 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12460
12461         fts: use O_NOFOLLOW to avoid race condition when opening a directory
12462         * lib/fts.c (opendirat): New arg extra_flags.
12463         (__opendir2): Use it to avoid following symlinks when opening
12464         a directory, if symlinks are not supposed to be followed.  See
12465         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
12466
12467         fdopendir: preserve argument fd before returning
12468         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
12469         (fdopendir_with_dup, fd_clone_opendir): New static functions.
12470         (fdopendir): Use them, arranging for FD to be open to the same
12471         directory that it was when it started.  (It might be temporarily
12472         closed while fdopendir is running, so this not thread- or
12473         signal-safe.)  Be careful to do the right thing even when file
12474         descriptors are scarce and dup fails with errno == EMFILE.  See
12475         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
12476
12477 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
12478
12479         regex: Pass the system regex if its only problem is 32-bit regoff_t.
12480         * NEWS: Document change.
12481         * m4/regex.m4: Disable test for regoff_t size.
12482
12483 2010-09-13  Jim Meyering  <meyering@redhat.com>
12484
12485         fts: don't operate on an invalid file descriptor after failed dup
12486         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
12487         negative file descriptor.
12488
12489 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12490
12491         savedir: add streamsavedir, deprecate fdsavedir
12492         * NEWS: Mention deprecation of fdsavedir.
12493         * lib/savedir.c (streamsavedir): New extern function, whose name
12494         ends in "savedir" to be consistent with the others.  This differs
12495         from savedirstream in that it doesn't close its argument.  The
12496         next version of GNU tar will use this instead of fdsavedir, to
12497         avoid some race conditions and conserve file descriptors.
12498         (savedirstream): Reimplement as a wrapper around streamsavedir.
12499         (fdsavedir): Add a comment deprecating this function.  As far as
12500         I know, only GNU tar used it, and GNU tar doesn't need it any more.
12501         * lib/savedir.h (streamsavedir): New decl.
12502         (fdsavedir): Add a comment deprecating this.
12503
12504 2010-09-10  Bruno Haible  <bruno@clisp.org>
12505
12506         langinfo: Fix last commit.
12507         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
12508         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
12509         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12510
12511 2010-09-10  Bruno Haible  <bruno@clisp.org>
12512
12513         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
12514         * lib/progreloc.c (O_EXEC): Define fallback.
12515
12516 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12517
12518         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
12519         * NEWS: Document recent changes to fcntl-h.
12520         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
12521         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
12522         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
12523         Similarly for O_SEARCH; this last was already true, but not documented.
12524         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
12525         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
12526         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
12527         Likewise.
12528         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
12529         is zero, not whether it is defined.
12530         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
12531         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
12532         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
12533
12534 2010-09-10  Bruno Haible  <bruno@clisp.org>
12535
12536         langinfo, nl_langinfo: Fix for IRIX 5.3.
12537         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
12538         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
12539         HAVE_LANGINFO_YESEXPR.
12540         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
12541         HAVE_LANGINFO_YESEXPR.
12542         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
12543         HAVE_LANGINFO_T_FMT_AMPM is 0.
12544         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
12545         HAVE_LANGINFO_YESEXPR is 0.
12546         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
12547         NOEXPR.
12548         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
12549         * doc/posix-functions/nl_langinfo.texi: Likewise.
12550         Reported by Eric Blake.
12551
12552 2010-09-10  Bruno Haible  <bruno@clisp.org>
12553
12554         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
12555         * doc/glibc-functions/login_tty.texi: Mention the include file problem
12556         on FreeBSD 8.0 and OpenBSD 4.6.
12557         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
12558         * m4/pty_h.m4 (gl_PTY_H): Likewise.
12559         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
12560         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
12561         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
12562         ac_includes_default.
12563         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12564
12565 2010-09-09  Eric Blake  <eblake@redhat.com>
12566
12567         strsignal: work around NetBSD bug
12568         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
12569         * lib/string.in.h (includes): Likewise.
12570         * doc/posix-functions/strsignal.texi (strsignal): Document the
12571         bug.
12572         Reported by Nelson H. F. Beebe.
12573
12574         gnulib-tool: work with NetBSD /bin/sh
12575         * gnulib-tool (func_cache_var, func_cache_lookup_module)
12576         (func_get_description, func_get_comment, func_get_status)
12577         (func_get_notice, func_get_applicability, func_get_filelist)
12578         (func_get_dependencies, func_get_autoconf_early_snippet)
12579         (func_get_autoconf_snippet, func_get_automake_snippet)
12580         (func_get_include_directive, func_get_link_directive)
12581         (func_get_license, func_get_maintainer, func_import): Avoid
12582         shell syntax errors from parsing syntax extensions.
12583
12584 2010-09-09  Bruno Haible  <bruno@clisp.org>
12585
12586         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
12587         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
12588         a reliable way to determine whether the 'alias' command works.
12589
12590 2010-09-08  Jim Meyering  <meyering@redhat.com>
12591
12592         init.sh: penalize a set-x-impaired shell; don't disqualify it
12593         * tests/init.sh: Too many shells corrupt application stderr when
12594         you set -x, so we can't afford to disqualify them, since at least
12595         on Irix-6.5, that would disqualify all bourne shells.
12596         Instead, use a two-pass approach.
12597         On the first pass, try to find a shell that meets the stricter
12598         condition that set -x does not corrupt stderr.
12599         If no shell meets the stricter condition, retest each candidate
12600         shell, but without that extra condition.  Finally, when
12601         VERBOSE=yes is requested and set -x might cause trouble, simply
12602         issue a warning and refrain from enabling debug output.
12603
12604 2010-09-08  Eric Blake  <eblake@redhat.com>
12605
12606         unsetenv: fix OpenBSD bug
12607         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
12608         * doc/posix-functions/unsetenv.texi (unsetenv): Update
12609         documentation.
12610         Reported by Jim Meyering.
12611
12612         strtod: work around IRIX 6.5 bug
12613         * lib/strtod.c (strtod): Reparse number on shorter string if
12614         exponent parse was invalid.
12615         * tests/test-strtod.c (main): Add check for "0x1p 2".
12616         Reported by Tom G. Christensen.
12617
12618         getopt: optimize previous patch
12619         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
12620         empty variable.  Speed up awk script.
12621         Reported by Paolo Bonzini.
12622
12623 2010-09-08  Jim Meyering  <meyering@redhat.com>
12624
12625         test.sh: disqualify shells for which set -x corrupts stderr
12626         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
12627         and OpenBSD 4.7.  They make it so with "set -x", environment settings
12628         appear in stderr output.  For example, this command:
12629             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
12630         prints "P=1" on those two systems:
12631
12632 2010-09-08  Bruno Haible  <bruno@clisp.org>
12633
12634         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
12635         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
12636         commands, because some shells ignore redirections when there is an
12637         error in the command lookup.
12638         Reported by Eric Blake.
12639
12640 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
12641
12642         * lib/regex.h: Fix a mention of `regex_compile' (should be
12643         `re_compile_pattern').
12644         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
12645         (re_set_registers): Correct name of parameter in comment.
12646
12647         * doc/regex.texi: Add documentation for missing syntax flags.
12648         Remove commented-out documentation of defunct syntax option
12649         RE_NO_EMPTY_ALTS.
12650         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
12651         Add documentation of re_set_registers.
12652         Document trick to re-use a pattern buffer by setting fastmap manually.
12653         Update documentation of struct re_pattern_buffer per public members.
12654         Uncomment documentation of equivalence class operators and
12655         collating symbol operators, since they are now implemented,
12656         Explain leftmost-longest matching in relation to alternatives.
12657         Tidy documentation of substring matching.
12658         Remove POSIX documentation, which is done better in
12659         glibc, and refer the reader there. Keep BSD API documentation, as
12660         that is not readily available elsewhere.
12661
12662 2010-09-07  Eric Blake  <eblake@redhat.com>
12663
12664         getopt: handle POSIXLY_CORRECT set but not exported
12665         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
12666         export state of POSIXLY_CORRECT, due to bash set -o posix.
12667         Reported by Dustin J. Mitchell.
12668
12669 2010-09-05  Bruno Haible  <bruno@clisp.org>
12670
12671         gnulib-tool: Highlight the changed options.
12672         * gnulib-tool (func_usage): Display the --import, --add-import,
12673         --remove-import explanations in bold font.
12674
12675 2010-09-06  Karl Berry  <karl@gnu.org>
12676
12677         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
12678
12679 2010-09-05  Bruno Haible  <bruno@clisp.org>
12680
12681         uniwidth/width: Update comment.
12682         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
12683         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
12684
12685 2010-09-05  Bruno Haible  <bruno@clisp.org>
12686
12687         isinf, isnan: Relax license.
12688         * modules/isinf (License): Change from GPL to LGPL, with consent from
12689         Ben Pfaff.
12690         * modules/isnan (License): Likewise.
12691         Requested by Ludovic Courtès.
12692
12693 2010-09-04  Bruno Haible  <bruno@clisp.org>
12694
12695         gnulib-tool: Help migration from --import to --add-import or --update.
12696         * gnulib-tool: Emit a verbose error message when --import is used
12697         without any module name.
12698
12699 2010-09-04  Bruno Haible  <bruno@clisp.org>
12700
12701         Update doc about gnulib-tool.
12702         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
12703         'gnulib-tool --update' in more detail.
12704         Reported by Eric Blake.
12705
12706 2010-09-04  Bruno Haible  <bruno@clisp.org>
12707
12708         gnulib-tool: Change --import. New options --add/remove-import.
12709         * gnulib-tool: New options --add-import, --remove-import.
12710         (func_usage): Document them.
12711         (have_associative): Define always.
12712         (func_import): In import mode, don't merge the specified settings with
12713         the cached settings. Implement remove-import mode.
12714         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
12715         Explain when to use them versus --import.
12716         (Simple update): Use --add-import instead of --import.
12717         * NEWS: Mention the change.
12718
12719 2010-09-04  Bruno Haible  <bruno@clisp.org>
12720
12721         * doc/gnulib-tool.texi (Initial import): Update paragraph about
12722         separate gnulib.mk.
12723
12724 2010-09-04  Bruno Haible  <bruno@clisp.org>
12725
12726         gnulib-tool: Don't talk about CVS any more.
12727         * gnulib-tool (func_usage, func_import): Write "version control"
12728         instead of CVS.
12729
12730 2010-09-04  Jim Meyering  <meyering@redhat.com>
12731
12732         maint.mk: avoid obscure sc_copyright_check failure in coreutils
12733         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
12734         false positives (whose names may be ill-chosen) when searching
12735         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
12736         would cause a false-positive.
12737
12738         avoid coreutils "make distcheck" failure
12739         Coreutils tests with an absolute build directory name that contains
12740         a space.  Not quoting this directory name caused a failure.
12741         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
12742         * tests/test-vc-list-files-cvs.sh: Likewise.
12743
12744 2010-09-04  Bruno Haible  <bruno@clisp.org>
12745
12746         gnulib-tool: Avoid error when run in a package without Makefile.am.
12747         * gnulib-tool: When collecting the m4dirs in a package that does not
12748         have a Makefile.am, eliminate those directories that contain no
12749         gnulib-cache.m4. Fix expression that counts these directories.
12750
12751 2010-09-04  Bruno Haible  <bruno@clisp.org>
12752
12753         update-copyright test: Improve output when perl is missing or too old.
12754         * tests/test-update-copyright.sh: Move test of Perl version down after
12755         the test whether Perl exists. Provide an explanation relating Perl's
12756         error message to Automake's SKIP: message.
12757
12758 2010-09-04  Bruno Haible  <bruno@clisp.org>
12759
12760         Don't augment PATH in TESTS_ENVIRONMENT.
12761         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
12762         set abs_aux_dir instead of augmenting PATH.
12763         * modules/vc-list-files-tests (Makefile.am): Likewise.
12764         * tests/test-update-copyright.sh: Augment PATH here.
12765         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
12766         path_prepend_.
12767         * tests/test-vc-list-files-git.sh: Likewise.
12768
12769 2010-09-04  Jim Meyering  <meyering@redhat.com>
12770
12771         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
12772         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
12773
12774 2010-09-04  Bruno Haible  <bruno@clisp.org>
12775
12776         strdup: Fix compilation error in C++ mode.
12777         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
12778         the macro.
12779
12780 2010-09-04  Bruno Haible  <bruno@clisp.org>
12781
12782         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
12783         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
12784         macro into a function.
12785         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12786
12787 2010-09-04  Bruno Haible  <bruno@clisp.org>
12788
12789         Set PATH_SEPARATOR the same way autoconf does.
12790         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
12791         the value of PATH_SEPARATOR the same way autoconf-generated configure
12792         scripts do.
12793         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
12794         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
12795
12796 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12797
12798         Set PATH_SEPARATOR the same way autoconf does.
12799         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
12800         the same way autoconf-generated configure scripts do.
12801         * posix-modules: Likewise.
12802
12803 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12804
12805         hash: fix safe_hasher const typo
12806         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
12807         const; otherwise, there is a type error later.
12808
12809 2010-09-02  Jim Meyering  <meyering@redhat.com>
12810
12811         test-update-copyright.sh: require perl 5.8.0
12812         * tests/test-update-copyright.sh: Require 5.8.0,
12813         which Tom G. Christensen has confirmed is adequate,
12814         while 5.6.1 is not.
12815
12816 2010-09-02  Eric Blake  <eblake@redhat.com>
12817
12818         tests: init.sh improvements for re-exec'ing with zsh
12819         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
12820         -vx through shell re-exec.
12821         Reported by Tom G. Christensen.
12822
12823         wctype: fix typo in previous commit
12824         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
12825         Reported by Ludovic Courtès.
12826
12827 2010-09-02  Jim Meyering  <meyering@redhat.com>
12828
12829         test-update-copyright.sh: skip test if Perl is too old
12830         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
12831         Reported by Tom G. Christensen.
12832
12833 2010-09-02  Bruno Haible  <bruno@clisp.org>
12834
12835         wctype: Avoid compilation error on IRIX 6.5.30.
12836         * lib/wctype.in.h (iswblank): Declare with a replacement if
12837         REPLACE_ISWBLANK is set.
12838         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
12839         declared. Set REPLACE_ISWBLANK.
12840         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
12841         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
12842         * doc/posix-headers/wctype.texi: Likewise.
12843         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12844
12845 2010-09-01  Bruno Haible  <bruno@clisp.org>
12846
12847         New module 'socketlib'.
12848         * modules/socketlib: New file.
12849         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
12850         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
12851         * modules/sockets (Depends-on): Add socketlib.
12852         Suggested by Sam Steingold <sds@gnu.org>.
12853
12854 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12855
12856         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
12857
12858         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
12859         when one needs search access to a directory but not read access.
12860         On systems where it is available, it works in some cases where
12861         O_RDONLY does not, namely on directories that are searchable but
12862         not readable, and which need only to be searchable.  If O_SEARCH
12863         is not available, fall back to the traditional method of using
12864         O_RDONLY.
12865
12866         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
12867         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
12868         when opening a directory that needs only to be searchable.
12869         * lib/chdir-safer.c (chdir_no_follow): Likewise.
12870         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
12871         * lib/openat-proc.c (openat_proc_name): Likewise.
12872         * lib/openat.c (openat_needs_fchdir): Likewise.
12873         * lib/save-cwd.c (save_cwd): Likewise.
12874         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
12875
12876 2010-08-28  Bruno Haible  <bruno@clisp.org>
12877
12878         New module 'host-cpu-c-abi'.
12879         * modules/host-cpu-c-abi: New file.
12880         * m4/host-cpu-c-abi.m4: New file, based on part of
12881         clisp/src/m4/general.m4.
12882         Requested by Sam Steingold <sds@gnu.org>.
12883
12884 2010-08-31  Eric Blake  <eblake@redhat.com>
12885         and Jim Meyering  <meyering@redhat.com>
12886
12887         hash: factor, and guard against misbehaving hasher function
12888         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
12889         of table->hasher's return value.  Also protect against a hash value
12890         so large that adding it to table->bucket results in a NULL pointer.
12891         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
12892         Use it in place of open-coded check-and-abort.
12893
12894 2010-08-30  Bruno Haible  <bruno@clisp.org>
12895
12896         hash: silence spurious clang warning
12897         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
12898         Reported by Eric Blake.
12899
12900 2010-08-30  Eric Blake  <eblake@redhat.com>
12901
12902         strstr, memmem, strcasestr: avoid leaked shell message
12903         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
12904         FreeBSD.
12905         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
12906         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
12907
12908         tests: silence clang warning
12909         * tests/test-malloca.c (do_allocation): Avoid dead store.
12910
12911 2010-08-29  Bruno Haible  <bruno@clisp.org>
12912
12913         gettext: Fix recent mistake.
12914         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
12915
12916 2010-08-29  Bruno Haible  <bruno@clisp.org>
12917
12918         selinux-h: Offer a --without-selinux option.
12919         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
12920         --without-selinux was specified, skip all tests and define
12921         HAVE_SELINUX_SELINUX_H to 0.
12922         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
12923         set LIB_SELINUX to empty.
12924         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
12925         gl_LIBSELINUX. If --without-selinux was specified, replace
12926         selinux/context.h.
12927         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
12928
12929 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12930             Bruno Haible  <bruno@clisp.org>
12931
12932         Make the module 'realloc-gnu' work again on AIX and OSF/1.
12933         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
12934         of HAVE_REALLOC.
12935         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
12936         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
12937         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
12938         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
12939
12940 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12941             Bruno Haible  <bruno@clisp.org>
12942
12943         Make the module 'calloc-gnu' work again on AIX and OSF/1.
12944         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
12945         HAVE_CALLOC.
12946         * lib/xmalloc.c: Update accordingly.
12947         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
12948         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
12949         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
12950
12951 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12952             Bruno Haible  <bruno@clisp.org>
12953
12954         Make the module 'malloc-gnu' work again on AIX and OSF/1.
12955         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
12956         HAVE_MALLOC.
12957         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
12958         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
12959         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
12960
12961 2010-08-29  Bruno Haible  <bruno@clisp.org>
12962
12963         Update modules list.
12964         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
12965         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
12966         (String handling <string.h>): Add astrxfrm.
12967         (File system functions): Add readlinkat.
12968
12969 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12970
12971         Tests for module 'realloc-gnu'.
12972         * modules/realloc-gnu-tests: New file.
12973         * tests/test-realloc-gnu.c: New file.
12974
12975         Tests for module 'calloc-gnu'.
12976         * modules/calloc-gnu-tests: New file.
12977         * tests/test-calloc-gnu.c: New file.
12978
12979         Tests for module 'malloc-gnu'.
12980         * modules/malloc-gnu-tests: New file.
12981         * tests/test-malloc-gnu.c: New file.
12982
12983 2010-08-28  Bruno Haible  <bruno@clisp.org>
12984
12985         Rename module 'realloc' -> 'realloc-gnu'.
12986         * modules/realloc-gnu: New file, copied from modules/realloc.
12987         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
12988         obsolete.
12989         * modules/mgetgroups (Depends-on): Update.
12990         * doc/posix-functions/realloc.texi: Update.
12991         * NEWS: Mention the change.
12992
12993         Rename module 'calloc' -> 'calloc-gnu'.
12994         * modules/calloc-gnu: New file, copied from modules/calloc.
12995         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
12996         obsolete.
12997         * doc/posix-functions/calloc.texi: Update.
12998         * NEWS: Mention the change.
12999
13000         Rename module 'malloc' -> 'malloc-gnu'.
13001         * modules/malloc-gnu: New file, copied from modules/malloc.
13002         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
13003         obsolete.
13004         * modules/argp (Depends-on): Update.
13005         * modules/regex (Depends-on): Update.
13006         * doc/posix-functions/malloc.texi: Update.
13007         * NEWS: Mention the change.
13008
13009 2010-08-28  Eric Blake  <eblake@redhat.com>
13010
13011         pread, pwrite: add missing dependency
13012         * modules/pread (Depends-on): Add extensions.
13013         * modules/pwrite (Depends-on): Likewise.
13014
13015 2010-08-28  Bruno Haible  <bruno@clisp.org>
13016
13017         unistr/u*-strchr: Fix tests dependencies.
13018         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
13019         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
13020         Reported by Ian Beckwith <ianb@erislabs.net>.
13021
13022 2010-08-28  Bruno Haible  <bruno@clisp.org>
13023
13024         read-file: Don't occupy too much unused memory.
13025         * lib/read-file.c (fread_file): Shrink the buffer at the end.
13026
13027 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
13028             Eric Blake  <eblake@redhat.com>
13029             Bruno Haible  <bruno@clisp.org>
13030
13031         read-file: Avoid memory reallocations with regular files.
13032         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
13033         (fread_file): With regular files, use the remaining length as the
13034         initial buffer size.  Check against overflow.
13035         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
13036         sys_stat.
13037
13038 2010-08-28  Bruno Haible  <bruno@clisp.org>
13039
13040         ftello: Relax license.
13041         * modules/ftello (License): Relax to LGPLv2+.
13042         Reported by Eric Blake.
13043
13044 2010-08-28  Bruno Haible  <bruno@clisp.org>
13045
13046         Avoid relocwrapper link errors due to gnulib replacement functions.
13047         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
13048         function.
13049         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13050
13051 2010-08-28  Bruno Haible  <bruno@clisp.org>
13052
13053         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
13054         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
13055         defined.
13056         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
13057         Suggested by Eric Blake.
13058
13059 2010-08-28  Bruno Haible  <bruno@clisp.org>
13060
13061         sys_socket, netdb: Ensure socklen_t gets defined.
13062         * modules/sys_socket (Depends-on): Add socklen.
13063         * modules/netdb (Depends-on): Likewise.
13064         * modules/getaddrinfo (Depends-on): Remove socklen.
13065         * modules/getsockopt (Depends-on): Likewise.
13066         * modules/setsockopt (Depends-on): Likewise.
13067         * tests/test-sys_socket.c: Check that socklen_t is defined.
13068         * tests/test-netdb.c: Likewise.
13069         * m4/socklen.m4: Update comments.
13070         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13071
13072 2010-08-27  Eric Blake  <eblake@redhat.com>
13073
13074         login_tty: add missing dependency
13075         * modules/login_tty (Depends-on): Add pty.
13076
13077 2010-08-26  Eric Blake  <eblake@redhat.com>
13078
13079         lib-symbol-versions: fix m4 quoting
13080         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
13081         format for AC_LINK_IFELSE.
13082
13083         glob: fix compile test
13084         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
13085
13086         btowc: fix missing file
13087         * modules/btowc (Files): Also ship locale-fr.m4.
13088
13089         lseek: fix link test
13090         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
13091         AC_LINK_IFELSE.
13092
13093         include_next: silence autoconf 2.68 warning
13094         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
13095         AC_COMPILE_IFELSE as special.
13096         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
13097         autoconf < 2.68.
13098
13099         acl: fix compilation test
13100         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
13101         AC_COMPILE_IFELSE.
13102
13103 2010-08-26  Bruno Haible  <bruno@clisp.org>
13104
13105         Modernize AC_TRY_RUN invocations.
13106         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
13107         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
13108         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
13109         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
13110         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
13111         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
13112         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
13113         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
13114         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13115         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13116         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
13117         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
13118         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
13119         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13120         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
13121         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
13122         gl_MBRLEN_NUL_RETVAL): Likewise.
13123         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
13124         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
13125         Likewise.
13126         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
13127         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
13128         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
13129         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
13130         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
13131         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
13132         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
13133         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13134         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
13135         Likewise.
13136         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
13137         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
13138         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
13139         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
13140         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13141         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
13142         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13143         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
13144         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13145         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13146
13147 2010-08-26  Bruno Haible  <bruno@clisp.org>
13148
13149         Modernize AC_TRY_LINK invocations.
13150         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
13151         AC_TRY_LINK.
13152         * m4/argp.m4 (gl_ARGP): Likewise.
13153         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13154         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13155         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
13156         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
13157         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
13158         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
13159         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13160         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13161         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
13162         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
13163         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
13164         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
13165         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
13166         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13167         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
13168         * m4/hostent.m4 (gl_HOSTENT): Likewise.
13169         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13170         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
13171         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
13172         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
13173         Likewise.
13174         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
13175         Likewise.
13176         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
13177         Likewise.
13178         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
13179         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
13180         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
13181         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13182         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13183         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
13184         * m4/servent.m4 (gl_SERVENT): Likewise.
13185         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13186         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13187         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13188         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13189         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
13190         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13191         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13192         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13193         * modules/tsearch-tests (configure.ac): Likewise.
13194
13195 2010-08-26  Bruno Haible  <bruno@clisp.org>
13196
13197         Modernize AC_TRY_COMPILE invocations.
13198         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
13199         AC_TRY_COMPILE.
13200         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
13201         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
13202         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
13203         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
13204         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
13205         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
13206         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
13207         * m4/lock.m4 (gl_LOCK): Likewise.
13208         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
13209         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
13210         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
13211         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
13212         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
13213         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
13214         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
13215         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
13216         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
13217         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
13218         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
13219         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
13220         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
13221         extraneous semicolon.
13222
13223 2010-08-26  Jim Meyering  <meyering@redhat.com>
13224
13225         stat-time: relax license LGPL
13226         * modules/stat-time (License): Change from GPL to LGPL,
13227         with consent from all contributors, for use in libguile.
13228         Requested by Ludovic Courtès.
13229
13230 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
13231
13232         poll: return immediately on POLLHUP.
13233         * lib/poll.c (poll): Always set timeout before wait_timeout is
13234         computed.
13235
13236 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13237
13238         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
13239         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
13240         rmdir ("dir/.//"), unlinkat.
13241
13242 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13243
13244         stdbool: avoid spurious failure with modern xlc
13245         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
13246
13247 2010-08-24  Bruno Haible  <bruno@clisp.org>
13248
13249         getloadavg: simplify code
13250         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
13251         gl_have_func. Update comments.
13252
13253 2010-08-24  Eric Blake  <eblake@redhat.com>
13254
13255         getloadavg: don't define SVR4 on cygwin
13256         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
13257         only define SVR4 when -lkvm is required.
13258         Reported by Yaakov Selkowitz.
13259
13260 2010-08-24  Bruno Haible  <bruno@clisp.org>
13261
13262         priv-set: fix comment
13263         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
13264
13265 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13266
13267         priv-set: fix comments
13268         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
13269         to match code, as suggested by David Bartley in:
13270         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
13271
13272 2010-08-23  Eric Blake  <eblake@redhat.com>
13273
13274         stdbool: avoid rejecting clang
13275         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
13276         * tests/test-stdbool.c: Enable more tests if using the system
13277         <stdbool.h> instead of the gnulib replacement.
13278         (main): Move xlc bug test to a runtime test for all compilers.
13279         Reported by Anders Kaseorg.
13280
13281         argz: fix shell quoting issue
13282         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
13283         Reported by Charles Wilson.
13284
13285 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
13286             Erik Faye-Lund <kusmabite@gmail.com>
13287
13288         poll, select: handle ERROR_BROKEN_PIPE.
13289         * lib/poll.c (win32_compute_revents): Return POLLHUP when
13290         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
13291         * lib/select.c (win32_compute_revents): Do not mark a pipe
13292         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
13293
13294 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
13295
13296         fts: allow compilation with C++
13297         * lib/fts_.h: Specify extern "C" linkage with C++.
13298
13299 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13300
13301         Fix gnulib-tool sed script de-commentation for AIX sed.
13302         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
13303         sed.
13304
13305 2010-08-17  Eric Blake  <eblake@redhat.com>
13306
13307         test-stddef: test for (some) offsetof bugs
13308         * tests/test-stddef.c: Enhance test to ensure correct type of
13309         offsetof.
13310         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
13311         that we are not fixing at this time.
13312
13313 2010-08-15  Bruno Haible  <bruno@clisp.org>
13314
13315         stpncpy: Allow stpncpy to be defined as a macro.
13316         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
13317         if it's already correctly declared.
13318         * lib/string.in.h (stpncpy): Undefine before redefining.
13319         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
13320
13321 2010-08-14  Bruno Haible  <bruno@clisp.org>
13322
13323         Rename module 'memxfrm' to 'amemxfrm'.
13324         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
13325         (amemxfrm): Renamed from memxfrm.
13326         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
13327         (amemxfrm): Renamed from memxfrm.
13328         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
13329         * NEWS: Mention the change.
13330         * MODULES.html.sh (String handling <string.h>): Update.
13331         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
13332         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
13333         * lib/unicase/u16-casexfrm.c: Likewise.
13334         * lib/unicase/u32-casexfrm.c: Likewise.
13335         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
13336         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
13337         * lib/uninorm/u16-normxfrm.c: Likewise.
13338         * lib/uninorm/u32-normxfrm.c: Likewise.
13339         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
13340         memxfrm.
13341         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
13342         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
13343         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
13344         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
13345         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
13346         Suggested by Paul Eggert.
13347
13348 2010-08-14  Bruno Haible  <bruno@clisp.org>
13349
13350         Tests for module 'astrxfrm'.
13351         * modules/astrxfrm-tests: New file.
13352         * tests/test-astrxfrm.c: New file.
13353
13354         New module 'astrxfrm'.
13355         * lib/astrxfrm.h: New file.
13356         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
13357         * modules/astrxfrm: New file.
13358
13359 2010-08-14  Reuben Thomas <rrt@sc3d.org>
13360
13361         regex: Tweak doc.
13362         * doc/regex.texi (Overview): Don't mention regex.c.
13363         (GNU Regular Expression Compiling): Likewise.
13364         (Match-end-of-line Operator): Mention 'not_eol'.
13365
13366 2010-08-14  Brian Gough  <bjg@gnu.org>
13367             Bruno Haible  <bruno@clisp.org>
13368
13369         git-merge-changelog: add doc relating to use with bzr and hg.
13370         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
13371
13372 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
13373
13374         pthread: fix pthread.h creation for srcdir != builddir
13375         * modules/pthread (Makefile.am): Fix the rule to work also in a
13376         non-srcdir build.
13377
13378 2010-08-13  Karl Berry  <karl@gnu.org>
13379
13380         * doc/regex.texi (Predefined Syntaxes): @smallexample.
13381         * doc/posix-*/*: force line break before @url of POSIX
13382         specifications.
13383         Suggested by Werner Lemberg.
13384
13385 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
13386
13387         strtod: fix const diagnostic
13388         * lib/strtod.c (strtod): Don't assign const char * to char *,
13389         as this elicits a warning from GCC when warnings are enabled.
13390
13391 2010-08-10  Pádraig Brady <P@draigbrady.com>
13392         and Eric Blake  <eblake@redhat.com>
13393
13394         copy-acl: ignore ENOTSUP on HP-UX
13395         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
13396         so that it is available for HP-UX.
13397         * lib/copy-acl.c (qcopy_acl): Use it.
13398         Reported by Patrick M. Callahan.
13399
13400 2010-08-10  Eric Blake  <eblake@redhat.com>
13401
13402         open, chown: relax license
13403         * modules/open (License): Change to LGPLv2+, with consent by all
13404         authors, for use in augeas.
13405         * modules/chown (License): Likewise.
13406         * modules/lchown (Likewise): Likewise.
13407         Requested by Adam Stokes.
13408
13409 2010-08-09  Karl Berry  <karl@gnu.org>
13410
13411         * build-aux/ar-lib: new file, import from Automake.
13412         * config/srclist.txt: autocheck for updates.
13413
13414 2010-08-09  Eric Blake  <eblake@redhat.com>
13415
13416         readlinkat: adjust client modules
13417         * modules/areadlinkat (Depends-on): Use readlinkat, not
13418         symlinkat.
13419         * modules/areadlinkat-with-size (Depends-on): Likewise.
13420
13421         mknod: be more vocal about danger of running tests as root
13422         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
13423         root, since that is just asking for problems.
13424         Suggested by Bruno Haible, based on a report by Rainer Tammer.
13425
13426         readlinkat: split into its own module
13427         * modules/symlinkat: Split readlinkat...
13428         * modules/readlinkat: ...into separate module.
13429         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
13430         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
13431         * lib/symlinkat.c (readlinkat): Move...
13432         * lib/readlinkat.c: ...into new file.
13433         * modules/symlinkat-tests: Split readlinkat test...
13434         * modules/readlinkat-tests: ...into separate module.
13435         * tests/test-symlinkat.c: Split...
13436         * tests/test-readlinkat.c: ...into new file.
13437         * NEWS: Document the split.
13438         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13439         * lib/unistd.in.h (readlinkat): Likewise.
13440         Suggested by Bruno Haible.
13441
13442 2010-08-08  Bruno Haible  <bruno@clisp.org>
13443
13444         memxfrm: Speed up.
13445         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
13446         that usually only one call to strxfrm is necessary for each string
13447         part.
13448         Reported by Paul Eggert <eggert@cs.ucla.edu>.
13449
13450 2010-08-07  Karl Berry  <karl@gnu.org>
13451
13452         * doc/posix-headers/limits.texi,
13453         * doc/posix-functions/malloc.texi,
13454         * doc/posix-functions/strsignal.texi: missing @item.
13455         * doc/ld-version-script.texi: spurious leading i.
13456         * doc/regex.texi (Interval Operators): no commas inside @var.
13457
13458 2010-08-01  Bruno Haible  <bruno@clisp.org>
13459
13460         Integrate the regex documentation.
13461         * doc/gnulib.texi: Define 'cn' index.
13462         (Regular expressions): New a chapter that includes regex.texi and
13463         regexprops-generic.texi.
13464         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
13465         syntax.
13466
13467         Whitespace cleanup.
13468         * doc/regex.texi: Remove trailing spaces.
13469
13470         Add regex documentation.
13471         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
13472         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
13473         Written by Kathy A. Hargreaves and Karl Berry.
13474
13475 2010-08-01  Bruno Haible  <bruno@clisp.org>
13476
13477         link: Update documentation.
13478         * doc/posix-functions/link.texi: Update regarding Solaris.
13479
13480 2010-07-31  Bruno Haible  <bruno@clisp.org>
13481
13482         Update modules list.
13483         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
13484         (String handling <string.h>): Add memcmp2, memxfrm.
13485         (Container data structures): Add xlist, xsublist, xoset.
13486         (Core language properties): Add alignof, unused-parameter.
13487         (Process control, Numeric conversion functions <stdlib.h>): Renamed
13488         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
13489         (Unibyte characters <ctype.h>): New section.
13490         (String handling <string.h>): New section.
13491         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
13492         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
13493         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
13494         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
13495         tan, tanh, tanl, y0, y1, yn.
13496         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
13497         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
13498         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
13499         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
13500         unlockpt, vdprintf, vdprintf-posix.
13501         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
13502         (File system functions): Add concat-filename, sys_file, sys_ioctl,
13503         xconcat-filename.
13504         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
13505         getdtablesize, pipe2, pipe2-safer.
13506         (Security): New section.
13507         (Networking functions): Add accept4.
13508         (Signal handling): Add sigpipe.
13509         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
13510         mbmemcasecoll.
13511         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
13512         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
13513         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
13514         pipe-filter-ii.
13515         (Misc): Add argp-version-etc, login_tty, parse-duration.
13516
13517 2010-07-31  Bruno Haible  <bruno@clisp.org>
13518
13519         Improve doc in MODULES.html.
13520         * modules/linkat (Description): Add the word "function".
13521         * modules/mkfifo (Description): Likewise.
13522         * modules/mknod (Description): Likewise.
13523         * modules/remove (Description): Likewise.
13524         * modules/renameat (Description): Likewise.
13525         * modules/stat (Description): Likewise.
13526         * modules/symlink (Description): Likewise.
13527         * modules/unlink (Description): Likewise.
13528
13529 2010-07-31  Bruno Haible  <bruno@clisp.org>
13530
13531         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
13532         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
13533         option --enable/disable-c++ instead of --enable/disable-cxx.
13534         * NEWS: Mention the change.
13535
13536 2010-07-31  Bruno Haible  <bruno@clisp.org>
13537
13538         readlink, areadlink: Relax test a bit.
13539         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
13540         alternative to ENOTDIR.
13541         * tests/test-areadlink.h (test_areadlink): Likewise.
13542         Reported by Rainer Tammer.
13543
13544 2010-07-31  Bruno Haible  <bruno@clisp.org>
13545
13546         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
13547         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
13548         character, perform the search using U_STRCHR.
13549         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
13550         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
13551         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
13552         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
13553         Suggested by Paolo Bonzini.
13554
13555 2010-07-31  Bruno Haible  <bruno@clisp.org>
13556
13557         unistr/u*-strstr: Fix dependencies.
13558         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
13559         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
13560         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
13561
13562 2010-07-31  Bruno Haible  <bruno@clisp.org>
13563
13564         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
13565         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
13566         the beginning of the loop.
13567         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
13568         cases in 'switch' statement.
13569
13570         unistr/u8-strchr: Fix several bugs.
13571         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
13572         the string. When not found, return NULL, not a pointer near the end.
13573
13574         More tests for unistr/u8-strchr.
13575         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
13576         that the function does not read past the first occurrence of the byte
13577         being searched.
13578         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
13579         * tests/unistr/test-u16-strchr.c (main): New function.
13580         * tests/unistr/test-u32-strchr.c (main): New function.
13581
13582 2010-07-31  Bruno Haible  <bruno@clisp.org>
13583
13584         posix-modules: Ignore backup files of documentation files.
13585         * posix-modules: grep only through files named *.texi.
13586
13587 2010-07-31  Bruno Haible  <bruno@clisp.org>
13588
13589         symlinkat: Fix documentation.
13590         * doc/posix-functions/readlinkat.texi: Fix module name.
13591
13592 2010-07-31  Bruno Haible  <bruno@clisp.org>
13593
13594         fchownat: Replace also when chown has the trailing slash bug.
13595         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
13596         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
13597         introduced on 2010-04-10.
13598         Reported by Rainer Tammer.
13599
13600 2010-07-31  Bruno Haible  <bruno@clisp.org>
13601
13602         linkat: Work around AIX 7.1 bug.
13603         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
13604         whether linkat handles trailing slash correctly. If not, replace linkat
13605         and define LINKAT_TRAILING_SLASH_BUG.
13606         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
13607         check whether (fd1,file1) points to a directory if file1 or file2 ends
13608         in a slash. Code taken from lib/link.c.
13609         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
13610         Reported by Rainer Tammer.
13611
13612 2010-07-31  Bruno Haible  <bruno@clisp.org>
13613
13614         Correctly determine whether pow is available in libc on AIX 7 with xlc.
13615         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
13616         This disables an xlc optimization that was causing wrong test results.
13617         Reported by Rainer Tammer.
13618
13619 2010-07-31  Bruno Haible  <bruno@clisp.org>
13620
13621         iconv: Work around AIX 6.1..7.1 bug.
13622         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
13623         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
13624         cross-compiling, guess no on all versions of AIX.
13625         Reported by Rainer Tammer.
13626
13627 2010-07-31  Bruno Haible  <bruno@clisp.org>
13628
13629         readlink: Relax test a bit.
13630         * tests/test-readlink.h (test_readlink): Allow different errno value
13631         when readlink is called with a file name that ends in / and refers to
13632         a file.
13633         Suggested by Eric Blake.
13634         Reported by Rainer Tammer.
13635
13636 2010-07-31  Bruno Haible  <bruno@clisp.org>
13637
13638         copysign: Does not require -lm on glibc systems.
13639         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
13640         gl_COMMON_DOUBLE_MATHFUNC.
13641         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
13642
13643 2010-07-31  Bruno Haible  <bruno@clisp.org>
13644
13645         duplocale: Work around AIX 7.1 bug.
13646         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
13647         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
13648         * lib/duplocale.c (rpl_duplocale): Update comment.
13649         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
13650         Reported by Rainer Tammer.
13651
13652 2010-07-30  Bruno Haible  <bruno@clisp.org>
13653
13654         dirfd: Avoid link error on AIX 7.1.
13655         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
13656         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
13657         exist, set REPLACE_DIRFD.
13658         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
13659         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
13660         * doc/posix-functions/dirfd.texi: Update.
13661         Reported by Rainer Tammer.
13662
13663 2010-07-30  Eric Blake  <eblake@redhat.com>
13664
13665         strtod: next round of AIX fixes
13666         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
13667         exponent.
13668         * tests/test-strtod.c (main): Enhance tests.
13669         * doc/posix-functions/strtod.texi (strtod): Document next bug.
13670         Reported by Rainer Tammer.
13671
13672         futimens: fix configure check
13673         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
13674         Reported by Bruno Haible.
13675
13676 2010-07-30  Bruno Haible  <bruno@clisp.org>
13677
13678         getline: Update regarding AIX.
13679         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
13680         Reported by Rainer Tammer.
13681
13682 2010-07-30  Bruno Haible  <bruno@clisp.org>
13683
13684         wcwidth: Drop replacement on AIX 7.
13685         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
13686         AIX 7.
13687         Reported by Rainer Tammer.
13688
13689 2010-07-30  Bruno Haible  <bruno@clisp.org>
13690
13691         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
13692         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
13693         a 'char *'.
13694         Reported by Rainer Tammer.
13695
13696 2010-07-30  Bruno Haible  <bruno@clisp.org>
13697
13698         unlink: Update regarding AIX.
13699         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
13700         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
13701         Reported by Rainer Tammer.
13702
13703 2010-07-30  Bruno Haible  <bruno@clisp.org>
13704
13705         symlink: Update regarding AIX.
13706         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
13707         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
13708         Reported by Rainer Tammer.
13709
13710 2010-07-30  Bruno Haible  <bruno@clisp.org>
13711
13712         strndup: Update regarding AIX.
13713         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
13714         AIX 7.
13715         Reported by Rainer Tammer.
13716
13717 2010-07-30  Bruno Haible  <bruno@clisp.org>
13718
13719         stat: Update regarding AIX.
13720         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
13721         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
13722         Reported by Rainer Tammer.
13723
13724 2010-07-30  Bruno Haible  <bruno@clisp.org>
13725
13726         truncl: Fix autoconf test.
13727         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
13728         whether truncl works.
13729         Reported by Rainer Tammer.
13730
13731 2010-07-30  Bruno Haible  <bruno@clisp.org>
13732
13733         round: Update regarding AIX.
13734         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
13735         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
13736         Reported by Rainer Tammer.
13737
13738 2010-07-30  Bruno Haible  <bruno@clisp.org>
13739
13740         rename: Update regarding AIX.
13741         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
13742         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
13743         Reported by Rainer Tammer.
13744
13745 2010-07-30  Bruno Haible  <bruno@clisp.org>
13746
13747         printf.m4: Update regarding AIX.
13748         * m4/printf.m4: Update comments regarding AIX.
13749         Reported by Rainer Tammer.
13750
13751 2010-07-30  Bruno Haible  <bruno@clisp.org>
13752
13753         iconv: Update regarding AIX.
13754         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
13755         AIX 7.
13756         Reported by Rainer Tammer.
13757
13758 2010-07-30  Bruno Haible  <bruno@clisp.org>
13759
13760         getopt: Update regarding AIX.
13761         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
13762         no on AIX.
13763         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
13764         Reported by Rainer Tammer.
13765
13766 2010-07-30  Bruno Haible  <bruno@clisp.org>
13767
13768         ldexpl; Update regarding AIX.
13769         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
13770         on AIX 7.
13771         Reported by Rainer Tammer.
13772
13773 2010-07-30  Bruno Haible  <bruno@clisp.org>
13774
13775         frexpl: Update regarding AIX.
13776         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
13777         on AIX 7.
13778         Reported by Rainer Tammer.
13779
13780 2010-07-30  Bruno Haible  <bruno@clisp.org>
13781
13782         open, fopen: Update regarding AIX.
13783         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
13784         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
13785         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
13786         * doc/posix-functions/fopen.texi: Likewise.
13787         Reported by Rainer Tammer.
13788
13789 2010-07-30  Bruno Haible  <bruno@clisp.org>
13790
13791         chown: Update doc regarding AIX.
13792         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
13793         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
13794         Reported by Rainer Tammer.
13795
13796 2010-07-30  Eric Blake  <eblake@redhat.com>
13797
13798         strtod: fix bug in replacement function on AIX
13799         * lib/strtod.c (strtod): Special case broken "0x" parse in
13800         underlying strtod.
13801         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
13802         * doc/posix-functions/strtod.texi (strtod): Likewise.
13803         Reported by Rainer Tammer.
13804
13805 2010-07-30  Bruno Haible  <bruno@clisp.org>
13806
13807         mbrlen: Fix cross-compilation guess for AIX.
13808         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
13809         guess. Leftover from 2008-12-22.
13810
13811 2010-07-30  Bruno Haible  <bruno@clisp.org>
13812
13813         mbrtowc: Fix cross-compilation guess for AIX.
13814         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
13815         guess. Leftover from 2008-12-21.
13816
13817 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
13818
13819         init.sh: work around trap limitation of some shells
13820         * tests/init.sh (setup_): Move exit trap outside of shell function.
13821
13822 2010-07-29  Eric Blake  <eblake@redhat.com>
13823
13824         strtod: aid debugging
13825         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
13826         understanding why strtod is rejected.
13827
13828 2010-07-28  Bruno Haible  <bruno@clisp.org>
13829
13830         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
13831         * lib/unistr/u8-chr.c: Include <string.h>.
13832         * tests/unistr/test-u8-chr.c: Likewise.
13833         * tests/unistr/test-u16-chr.c: Likewise.
13834         * tests/unistr/test-u32-chr.c: Likewise.
13835         * tests/unistr/test-u8-strchr.c: Likewise.
13836         * tests/unistr/test-u16-strchr.c: Likewise.
13837         * tests/unistr/test-u32-strchr.c: Likewise.
13838         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
13839         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
13840         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
13841         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
13842
13843 2010-07-28  Bruno Haible  <bruno@clisp.org>
13844
13845         Use spaces for indentation, not tabs.
13846         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
13847
13848 2010-07-27  Bruno Haible  <bruno@clisp.org>
13849
13850         mbspcasecmp: Fix function specification.
13851         * lib/string.in.h (mbspcasecmp): Fix specification comment.
13852         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
13853         Reported by Eric Blake <eblake@redhat.com>.
13854
13855 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
13856
13857         timespec: use cast and not conditional, as truncation isn't possible
13858         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
13859         instead of a conditional.  Comment about the situation in more detail.
13860         This undoes most of the 2009-10-29 patch.
13861
13862 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
13863
13864         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
13865         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
13866         * lib/unistr/u8-strchr.c: Likewise.
13867         * modules/unistr/u8-chr: Depend on memchr.
13868
13869         unistr/u*-strchr: add tests
13870         * modules/unistr/u8-strchr-tests: New file.
13871         * modules/unistr/u16-strchr-tests: New file.
13872         * modules/unistr/u32-strchr-tests: New file.
13873         * tests/unistr/test-strchr.h: New file.
13874         * tests/unistr/test-u8-strchr.c: New file.
13875         * tests/unistr/test-u16-strchr.c: New file.
13876         * tests/unistr/test-u32-strchr.c: New file.
13877
13878         unistr/u*-chr: test multibyte sequences more
13879         * tests/unistr/test-chr.h: Do complete testing of the characters in the
13880         test vector.
13881         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
13882         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
13883         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
13884
13885         unistr/u*-chr: test multibyte sequences
13886         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
13887
13888         unistr/u*-chr: prepare for multibyte tests
13889         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
13890         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
13891         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
13892         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
13893         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
13894         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
13895
13896 2010-07-18  Bruno Haible  <bruno@clisp.org>
13897
13898         unistr/u8-strchr: Optimize non-ASCII argument case.
13899         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
13900         because the first byte often matches anyway.
13901         Reported by Pádraig Brady <P@draigbrady.com>.
13902
13903 2010-07-15  Karl Berry  <karl@gnu.org>
13904
13905         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
13906
13907 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
13908
13909         getcwd: on Solaris, work better if ancestors are inaccessible
13910         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
13911         buffer and size, try again with a large buffer.  This works better
13912         on Solaris, since its getcwd succeeds even if the path to the root
13913         is inaccessible, and this is helpful in common cases such as .zfs
13914         hidden directories.  Problem reported by J Chapman Flack in
13915         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
13916         Use system getcwd if it's declared, not merely if it's partly
13917         working; use the partly-working test only to avoid needless effort
13918         if the system getcwd fails.
13919         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
13920         comment that was already obsolete and is now even more obsolete.
13921         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
13922         now might call strdup.
13923
13924 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
13925
13926         pthread: Add enough so that coreutils/src/sort.c compiles.
13927         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
13928         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
13929         gnulib. Include <sched.h> and <time.h>, as per POSIX.
13930         Include <sys/types.h>, in case it defines pthread_t.
13931         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
13932         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
13933         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
13934         (pthread_rwlockattr_t, pthread_spinlock_t):
13935         New typedefs, if HAVE_PTHREAD_T is not defined.
13936         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
13937         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
13938         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
13939         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
13940         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
13941         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
13942         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
13943         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
13944         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
13945         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
13946         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
13947         New macros.
13948         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
13949         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
13950         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
13951         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
13952         (pthread_spin_unlock): New dummy functions.
13953         (pthread_create): Return EAGAIN; don't set errno.
13954         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
13955         require AC_C_INLINE.
13956         * modules/pthread (Depends-on): Add sched, time.
13957         (pthread.h): Use AM_V_GEN.
13958
13959 2010-07-13  Bruno Haible  <bruno@clisp.org>
13960
13961         striconveh: Don't malloc memory if the result buffer is sufficient.
13962         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
13963         buffer if its size is sufficient.
13964         Reported by Ludovic Courtès <ludo@gnu.org>.
13965
13966 2010-07-13  Bruno Haible  <bruno@clisp.org>
13967
13968         strtod: Add safety check.
13969         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
13970
13971 2010-07-12  Bruno Haible  <bruno@clisp.org>
13972
13973         Unify tests that set gl_cv_func_ldexpl_no_libm.
13974         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
13975         gl_FUNC_LDEXPL.
13976         (gl_FUNC_LDEXPL): Invoke it.
13977         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13978
13979 2010-07-12  Bruno Haible  <bruno@clisp.org>
13980
13981         Unify tests that set gl_cv_func_ldexp_no_libm.
13982         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
13983         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
13984         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
13985         (configure.ac): Simply invoke gl_FUNC_LDEXP.
13986         * modules/strtod (Files): Add m4/ldexp.m4.
13987
13988 2010-07-12  Bruno Haible  <bruno@clisp.org>
13989
13990         Unify tests that set gl_cv_func_frexpl_no_libm.
13991         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
13992         gl_FUNC_FREXPL_NO_LIBM.
13993         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
13994         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13995
13996 2010-07-12  Bruno Haible  <bruno@clisp.org>
13997
13998         Unify tests that set gl_cv_func_frexp_no_libm.
13999         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
14000         gl_FUNC_FREXP_NO_LIBM.
14001         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
14002         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
14003
14004 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
14005
14006         memcoll: clarify sizes versus lengths, document better, and tweak perf
14007         * lib/memcoll.c (strcoll_loop, memcoll0):
14008         Improve quality of descriptive comments.  Name variables
14009         consistently as to whether they are lengths (which do not include
14010         terminating null) versus sizes (which do).
14011         * lib/xmemcoll.c (xmemcoll0): Likewise.
14012         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
14013         returned when s1size == 0; this is easier to compile and saves
14014         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
14015
14016 2010-07-12  Bruno Haible  <bruno@clisp.org>
14017
14018         Tests for module '_Exit'.
14019         * modules/_Exit-tests: New file.
14020         * tests/test-_Exit.sh: New file.
14021         * tests/test-_Exit.c: New file.
14022
14023         New module '_Exit'.
14024         * lib/stdlib.in.h (__attribute__): New macro.
14025         (_Exit): New declaration.
14026         * lib/_Exit.c: New file.
14027         * m4/_Exit.m4: New file.
14028         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
14029         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
14030         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
14031         * modules/_Exit: New file.
14032         * tests/test-stdlib-c++.cc (_Exit): Check signature.
14033         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
14034
14035 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
14036
14037         strtod: make it more-accurate typically, and don't require libm
14038         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
14039         Include limits.h.  Don't include string.h.
14040         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
14041         (locale_isspace): New function, so that no casts are needed to
14042         check whether *s is a space.
14043         (ldexp): Provide an unused dummy if not available.
14044         (scale_radix_exp, parse_number, underlying_strtod): New functions.
14045         (strtod): Use them.  This implementation prefers to use the
14046         underlying strtod if available, falling back on our own code
14047         only to fix known bugs.  This is more likely to produce an
14048         accurate result.  Also, it avoids the use of libm functions.
14049         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
14050         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
14051         was absent, but it caused a test failure with coreutils.
14052         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
14053         with libm.
14054         * modules/strtod (Makefile.am, Link): libm is no longer needed.
14055         * modules/strtod-tests (Makefile.am): Likewise.
14056
14057 2010-07-11  Pádraig Brady  <P@draigBrady.com>
14058             Bruno Haible  <bruno@clisp.org>
14059
14060         unistr/u8-strchr: Optimize ASCII argument case.
14061         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
14062
14063 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14064
14065         (x)memcoll: minor tweaks
14066         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
14067         is after the type that it qualifies.
14068         (memcoll0): Likewise.
14069         * lib/memcoll.h (memcoll0): Likewise.
14070         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
14071         * lib/xmemcoll.h (xmemcoll0): Likewise.
14072         * lib/memcoll.c (memcoll0): Correct the comment.  This function
14073         differs from memcoll in that the NUL byte is part of the argument.
14074         Omit the abort-checks, as performance is a real issue here.  Plus,
14075         the checks were wrong anyway (an off-by-one error).  Omit local
14076         variable 'diff', as it's a bit clearer that way.
14077         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
14078         no longer needed.
14079
14080 2010-07-08  Chen Guo <chenguo4@yahoo.com>
14081
14082         (x)memcoll: speedup when input is known to be NUL delimited
14083         * lib/memcoll.c: Include stdlib.
14084         (memcoll0): New function.
14085         (strcoll_loop): New function, refactored for use in both memcoll
14086         and memcoll0.
14087         * lib/memcoll.h (memcoll0): Add prototype.
14088         * lib/xmemcoll.c (xmemcoll0): New function.
14089         (collate_error): New function, refactored for use in both xmemcoll
14090         and xmemcoll0.
14091         * lib/xmemcoll.h (xmemcoll0): Add prototype.
14092         * m4/memcoll.m4: add inline invocation.
14093
14094 2010-07-06  Pádraig Brady  <P@draigBrady.com>
14095
14096         * build-aux/bootstrap: Remove any local translations
14097         from the translation project synchronization directory,
14098         so that local only translations are not distributed.
14099
14100 2010-07-04  Bruno Haible  <bruno@clisp.org>
14101
14102         fsusage: Clarify which code applies to which platforms.
14103         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
14104         platform.
14105         * lib/fsusage.c (get_fs_usage): Likewise.
14106
14107 2010-07-04  Bruno Haible  <bruno@clisp.org>
14108
14109         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
14110         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
14111         Reported by Martin Lambers <marlam@marlam.de>.
14112
14113 2010-07-04  Jim Meyering  <meyering@redhat.com>
14114
14115         hash: once again explicitly disallow insertion of NULL
14116         * lib/hash.c (hash_insert0): Reinstate just-removed test:
14117         inserting a NULL pointer cannot work with these functions.
14118         Add a comment with details.
14119         This reverts part of the 2010-07-01 commit, 5bef1a35
14120         "hash: extend module to deal with non-pointer keys".
14121
14122 2010-07-01  Bruno Haible  <bruno@clisp.org>
14123
14124         stdbool: Update doc.
14125         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
14126         Info from Christian Weisgerber <naddy@mips.inka.de>.
14127
14128 2010-07-01  Jim Meyering  <meyering@redhat.com>
14129
14130         hash: extend module to deal with non-pointer keys
14131         * lib/hash.c (hash_insert0): New interface, much like hash_insert
14132         but that allows insertion of non-pointer entries.
14133         Do not disallow an ENTRY value of NULL.
14134         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
14135         * lib/hash.h (hash_insert0): Declare.
14136
14137 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
14138
14139         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
14140         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
14141         not present (i.e. with autoconf 2.59 and when using gettextize, not
14142         gnulib), require AC_GNU_SOURCE instead.
14143
14144 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
14145
14146         idpriv-drop: Fix tests.
14147         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
14148         not to the test-idpriv-droptemp program.
14149
14150 2010-06-29  Bruno Haible  <bruno@clisp.org>
14151
14152         string: Fix syntax error with g++ 2.96.
14153         * lib/string.in.h (__pure__): Remove definition.
14154         (_GL_ATTRIBUTE_PURE): New macro.
14155         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
14156         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
14157         Reported by Christian Weisgerber <naddy@mips.inka.de>.
14158
14159 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
14160
14161         unitypes: Fix bug introduced on 2010-05-18.
14162         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
14163
14164 2010-06-22  Eric Blake  <eblake@redhat.com>
14165
14166         memmem: slight optimization
14167         * lib/str-two-way.h (critical_factorization): Update comments.
14168         Reduce work during factorization phase.
14169         Reported by Carlos Bueno <carlos@bueno.org>.
14170
14171 2010-06-21  Bruno Haible  <bruno@clisp.org>
14172
14173         Fix HAVE_CALLOC_POSIX misnomer.
14174         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
14175         !HAVE_CALLOC_POSIX.
14176         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
14177         HAVE_CALLOC_POSIX.
14178         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
14179         instead of HAVE_CALLOC_POSIX.
14180         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
14181         HAVE_CALLOC_POSIX.
14182
14183         Use modern idiom for calloc() replacement.
14184         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
14185         AC_FUNC_CALLOC.
14186         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
14187         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
14188         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14189         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
14190         (gl_REPLACE_CALLOC): New macro.
14191
14192 2010-06-21  Bruno Haible  <bruno@clisp.org>
14193
14194         Fix HAVE_REALLOC_POSIX misnomer.
14195         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
14196         !HAVE_REALLOC_POSIX.
14197         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
14198         HAVE_REALLOC_POSIX.
14199         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
14200         instead of HAVE_REALLOC_POSIX.
14201         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
14202         HAVE_REALLOC_POSIX.
14203
14204         Use modern idiom for realloc() replacement.
14205         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
14206         AC_FUNC_REALLOC.
14207         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
14208         Autoconf's AC_FUNC_REALLOC.
14209         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14210         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
14211         (gl_REPLACE_REALLOC): New macro.
14212         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
14213
14214 2010-06-21  Bruno Haible  <bruno@clisp.org>
14215
14216         Fix HAVE_MALLOC_POSIX misnomer.
14217         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
14218         !HAVE_MALLOC_POSIX.
14219         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
14220         HAVE_MALLOC_POSIX.
14221         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
14222         instead of HAVE_MALLOC_POSIX.
14223         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
14224         HAVE_MALLOC_POSIX.
14225
14226         Use modern idiom for malloc() replacement.
14227         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
14228         AC_FUNC_MALLOC.
14229         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
14230         Autoconf's AC_FUNC_MALLOC.
14231         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14232         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
14233         (gl_REPLACE_MALLOC): New macro.
14234         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
14235
14236 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
14237
14238         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
14239         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
14240         This macro takes 3 arguments, not 4.
14241
14242 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
14243
14244         ipv6: fix detection under mingw
14245         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
14246         in6_addr.
14247
14248 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
14249
14250         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
14251         that strtod() works when cross-compiling to a glibc version known
14252         to work.
14253
14254 2010-06-15  Bruno Haible  <bruno@clisp.org>
14255
14256         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
14257
14258 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
14259
14260         select: Correct timeout.
14261         * lib/select.c (rpl_select): Compute wait_timeout correctly.
14262
14263 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
14264
14265         git-version-gen: init shell var to avoid env var influence
14266         * build-aux/git-version-gen (v): Init shell var to empty.
14267
14268 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
14269
14270         priv-set: Don't assume that priv.h exists merely because getppriv does.
14271         See Jan Andersen's bug report about AIX 5L in
14272         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
14273         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
14274         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
14275         * lib/priv-set.h: Likewise.
14276         * tests/test-priv-set.c: Likewise.
14277
14278 2010-06-13  Bruno Haible  <bruno@clisp.org>
14279
14280         relocatable: Make it easier to test whether to install wrappers.
14281         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
14282         RELOCATABLE_VIA_WRAPPER.
14283
14284 2010-06-13  Bruno Haible  <bruno@clisp.org>
14285
14286         gnulib-tool: Display specified modules and dependencies differently.
14287         * gnulib-tool (func_show_module_list): New function.
14288         (func_import, func_create_testdir): Invoke it.
14289         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
14290
14291 2010-06-13  Bruno Haible  <bruno@clisp.org>
14292
14293         gnulib-tool: Align code of func_import and func_create_testdir.
14294         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
14295         specified_modules.
14296
14297 2010-06-12  Jim Meyering  <meyering@redhat.com>
14298
14299         test-inttostr: avoid spurious failure on Solaris 9
14300         * tests/test-inttostr.c (main): Skip the test when snprintf fails
14301         to accept "%ju".  Reported by Bruno Haible.
14302
14303 2010-06-11  Jim Meyering  <meyering@redhat.com>
14304
14305         test-sys_socket: mark variables as used more readably
14306         * tests/test-sys_socket.c (main): Mark otherwise unused variables
14307         as "used" explicitly via (void) statement casts.  This is more
14308         readable than using them in an artificial return expression.
14309         Suggestion from Bruno Haible.
14310
14311 2010-06-11  Bruno Haible  <bruno@clisp.org>
14312
14313         Avoid some more warnings from "gcc -Wwrite-strings".
14314         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
14315         to 'const char *'.
14316         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
14317         * tests/test-c-strcasestr.c (main): Likewise.
14318         * tests/test-mbscasestr1.c (main): Likewise.
14319         * tests/test-mbscasestr2.c (main): Likewise.
14320         * tests/test-memmem.c (main): Likewise.
14321         * tests/test-strstr.c (main): Likewise.
14322         * tests/test-strcasestr.c (main): Likewise.
14323
14324 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14325
14326         init.sh: change framework_failure_ to fail with status 99, not 1
14327         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
14328         automake's parallel-tests rule that this is an unexpected failure,
14329         even if the test is listed in XFAIL_TESTS.
14330
14331 2010-06-11  Jim Meyering  <meyering@redhat.com>
14332
14333         test-inttostr: avoid warnings about 4-6KB literal strings
14334         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
14335         Include "macros.h", for its definition of ASSERT.
14336         (CK): s/assert/ASSERT/
14337         * modules/inttostr-tests (Files): Add macros.h.
14338
14339         init.sh: don't use $ME_ or skip_ before they are defined
14340         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
14341         their first uses.  Also hoist their companions: warn_, fail_,
14342         framework_failure_, $stderr_fileno.  Prompted by a patch from
14343         Stefano Lattarini.
14344
14345         test-sys_socket: avoid set-but-not-used warnings from gcc
14346         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
14347         avoid warning about set-but-not-used variables.
14348
14349         test-xvasprintf: avoid 'const' discard warnings
14350         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
14351         "const" when assigning from literal strings.
14352         (test_xasprintf): Add "void" in function argument list to placate
14353         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
14354
14355         tests: avoid compilation warnings in argmatch and exclude tests...
14356         in packages that define ARGMATCH_DIE_DECL, like coreutils.
14357         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
14358         Since it always exits, declare with the "noreturn" attribute.
14359         * tests/test-argmatch.c: Likewise.
14360
14361         tests: avoid 'const' discard warnings in mbsstr tests
14362         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
14363         * tests/test-mbsstr2.c (main): Likewise.
14364
14365         test-verify: avoid warning from gcc's -Wmissing-declarations
14366         * tests/test-verify.c (function): Declare to be static.
14367
14368         test-inttostr.c: include <string.h> for use of strcmp
14369         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
14370
14371         test-linkat: avoid failed assertion on "other" architectures
14372         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
14373         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
14374         sparc: https://bugs.launchpad.net/bugs/591968
14375
14376 2010-06-11  Jim Meyering  <meyering@redhat.com>
14377
14378         printf.m4: avoid autoconf's "Expanded Before Required" warning
14379         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
14380         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
14381         autoconf warning.
14382
14383 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
14384
14385         Replacement header templates are now named with ".in", not "_".
14386         * doc/gnulib-intro.texi: Correct.
14387
14388 2010-06-10  Jim Meyering  <meyering@redhat.com>
14389
14390         inttostr-tests: depend on snprintf, not snprintf-posix
14391         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
14392         snprintf-posix, to avoid this aclocal failure:
14393           missing file gnulib-tests/vasnprintf.c
14394           configure.ac:45: error: expected source file, required through \
14395           AC_LIBSOURCES, not found
14396
14397 2010-06-10  Jim Meyering  <meyering@redhat.com>
14398
14399         inttostr: add a new function, inttostr, and tests
14400         The namesake function was not available.  The existence of the
14401         template file, inttostr.c makes its addition nontrivial.
14402         * lib/anytostr.c: Rename from inttostr.c.
14403         (anytostr): Rename from inttostr.
14404         * lib/inttostr.c: New file.
14405         * modules/inttostr (Files): Add anytostr.c.
14406         (Makefile.am): Set lib_SOURCES instead of ...
14407         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
14408         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
14409         * lib/offtostr.c: Likewise.
14410         * lib/uinttostr.c: Likewise.
14411         * lib/umaxtostr.c: Likewise.
14412         * modules/inttostr-tests: New file.
14413         * tests/test-inttostr.c: New file.  Test these functions.
14414
14415 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
14416             Bruno Haible  <bruno@clisp.org>
14417
14418         Add "Extending Gnulib" chapter to manual.
14419         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
14420         chapter.
14421         (Extending Gnulib): New chapter.
14422         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
14423         chapter.
14424
14425 2010-06-09  Bruno Haible  <bruno@clisp.org>
14426
14427         Avoid relocwrapper link errors due to gnulib replacement functions.
14428         * lib/areadlink.c: Use the system's malloc, realloc functions.
14429         (areadlink): Set errno to ENOMEM explicitly.
14430         * modules/areadlink (Depends-on): Remove malloc-posix.
14431         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14432
14433 2010-06-09  Bruno Haible  <bruno@clisp.org>
14434
14435         Avoid relocwrapper link errors due to gnulib replacement functions.
14436         * lib/canonicalize-lgpl.c: Use the system's malloc function.
14437         * lib/malloca.c: Likewise.
14438         * lib/relocatable.c: Likewise.
14439         * lib/progreloc.c: Use the system's malloc, sprintf functions.
14440         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
14441         * lib/setenv.c: Use the system's malloc, realloc functions.
14442         * lib/strerror.c: Use the system's sprintf function.
14443         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14444
14445 2010-06-04  Bruno Haible  <bruno@clisp.org>
14446
14447         Prefer documented low-level autoconf macro names.
14448         * m4/lib-link.m4: Use m4_translit instead of translit.
14449         * m4/environ.m4: Likewise.
14450         * m4/mathfunc.m4: Likewise.
14451         * m4/onceonly.m4: Likewise.
14452         * m4/stdint.m4: Likewise.
14453         Suggested by Eric Blake.
14454
14455 2010-06-04  Martin Lambers  <marlam@marlam.de>
14456             Bruno Haible  <bruno@clisp.org>
14457
14458         havelib: Allow library names with '+' characters.
14459         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
14460         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
14461
14462 2010-06-09  Bruno Haible  <bruno@clisp.org>
14463
14464         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
14465         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
14466         realloc failed.
14467
14468 2010-06-08  Peter Simons  <simons@cryp.to>
14469
14470         maint.mk: make the news-check rule more configurable
14471         * top/maint.mk (news-check-lines-spec): New variable.
14472         (news-check): Use "sed -n 1,10p" in place of "head".
14473
14474 2010-06-07  Jim Meyering  <meyering@redhat.com>
14475
14476         do-release-commit-and-tag: fix typo in --help
14477         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
14478
14479         regex: avoid new dead-code warning with gcc-4.6.0
14480         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
14481         if-block containing a while-loop.  It's been unused for at least
14482         5 years.
14483
14484 2010-06-05  Bruno Haible  <bruno@clisp.org>
14485
14486         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
14487         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
14488
14489 2010-06-04  Bruno Haible  <bruno@clisp.org>
14490
14491         Update to GNU gettext 0.18.1.
14492         * modules/gettext (configure.ac): Require gettext infrastructure from
14493         version 0.18.1.
14494
14495 2010-06-03  Bruno Haible  <bruno@clisp.org>
14496
14497         Don't use AC_LIBOBJ with file names in subdirectories.
14498         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
14499         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
14500         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
14501         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
14502         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
14503         gl_LIBUNISTRING_LIBSOURCE.
14504         (Makefile.am): Augment lib_SOURCES here, conditionally.
14505         * NEWS: Drop requirement for Automake option 'subdir-objects'.
14506
14507 2010-06-03  Bruno Haible  <bruno@clisp.org>
14508
14509         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
14510         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
14511         expansion does not end with a newline.
14512         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
14513         unnecessary newline.
14514
14515 2010-06-03  Bruno Haible  <bruno@clisp.org>
14516
14517         Reduce dependencies.
14518         * tests/test-quotearg.h: New file, extracted from
14519         tests/test-quotearg.c.
14520         * tests/test-quotearg-simple.c: New file, extracted from
14521         tests/test-quotearg.c.
14522         * tests/test-quotearg.c: Don't include <ctype.h>.
14523         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
14524         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
14525         use_quote_double_quotes, use_quotearg_colon): Moved to
14526         tests/test-quotearg.h.
14527         (results_g, flag_results, custom_quotes, custom_results): Moved
14528         to tests/test-quotearg-simple.c.
14529         (main): Moved the part that does not depend on gettext to
14530         tests/test-quotearg-simple.c. Return 77 if the test cannot be
14531         performed.
14532         * modules/quotearg-simple: New file.
14533         * modules/quotearg-simple-tests: New file.
14534         * modules/quotearg (Depends-on): Add quotearg-simple.
14535         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
14536         (Files): Add tests/test-quotearg.h.
14537         Reported by Paolo Bonzini.
14538
14539 2010-06-03  Bruno Haible  <bruno@clisp.org>
14540
14541         Reduce dependencies.
14542         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
14543
14544 2010-06-03  Bruno Haible  <bruno@clisp.org>
14545
14546         time: Undefine more broken macros.
14547         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
14548         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
14549         Reported by Eric Blake.
14550
14551 2010-06-03  Bruno Haible  <bruno@clisp.org>
14552
14553         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
14554         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
14555         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
14556         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
14557         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
14558         Reported by Ludovic Courtès <ludo@gnu.org>.
14559
14560 2010-06-02  Eric Blake  <eblake@redhat.com>
14561
14562         time: work with mingw + pthreads-win32 library
14563         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
14564         if timespec is defined only in pthread.h.
14565         * modules/time (Makefile.am): Substitute it.
14566         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
14567         <pthread.h>, when needed.
14568         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
14569         from the library.
14570
14571 2010-05-31  Bruno Haible  <bruno@clisp.org>
14572
14573         Avoid expanding two macros in the wrong order.
14574         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
14575         gl_LIBUNISTRING if it is defined.
14576         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
14577         autoconf >= 2.64.
14578         Reported by Ludovic Courtès <ludo@gnu.org>.
14579
14580 2010-05-27  Jim Meyering  <meyering@redhat.com>
14581
14582         maint.mk: also prohibit "#undef" of always-defined symbols
14583         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
14584         Allow more than one space before the symbol name.
14585         (sc_prohibit_always-defined_macros): Use grep's -E, now that
14586         the regexp uses alternation.
14587
14588 2010-05-26  Eric Blake  <eblake@redhat.com>
14589
14590         maint.mk: avoid echo -e
14591         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
14592         Convert all uses of echo -* to printf.
14593         Reported by Matthias Bolte.
14594
14595 2010-05-25  Bruno Haible  <bruno@clisp.org>
14596
14597         Update to GNU gettext 0.18, part 2.
14598         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
14599         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
14600
14601 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14602
14603         Add missing include in test-pwrite.c.
14604         * tests/test-pwrite.c: Include string.h, for strcmp.
14605
14606 2010-05-24  Bruno Haible  <bruno@clisp.org>
14607
14608         * NEWS: Mention requirement for Automake option 'subdir-objects'.
14609
14610 2010-05-24  Bruno Haible  <bruno@clisp.org>
14611
14612         Don't use conversion with transliteration in u{8,16,32}_strcoll.
14613         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
14614         iconveh_error argument.
14615         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
14616         U_STRCONV_TO_LOCALE.
14617         * lib/unistr/u16-strcoll.c: Likewise.
14618         * lib/unistr/u32-strcoll.c: Likewise.
14619         * modules/unistr/u8-strcoll (Depends-on): Add
14620         uniconv/u8-strconv-to-enc, localcharset. Remove
14621         uniconv/u8-strconv-to-locale.
14622         (configure.ac): Bump version number.
14623         * modules/unistr/u16-strcoll (Depends-on): Add
14624         uniconv/u16-strconv-to-enc, localcharset. Remove
14625         uniconv/u16-strconv-to-locale.
14626         (configure.ac): Bump version number.
14627         * modules/unistr/u32-strcoll (Depends-on): Add
14628         uniconv/u32-strconv-to-enc, localcharset. Remove
14629         uniconv/u32-strconv-to-locale.
14630         (configure.ac): Bump version number.
14631
14632 2010-05-24  Bruno Haible  <bruno@clisp.org>
14633
14634         Avoid a test failure on NetBSD 5.0.
14635         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
14636         an iconv() bug.
14637
14638 2010-05-24  Bruno Haible  <bruno@clisp.org>
14639
14640         Adjust #include directive style.
14641         * modules/regex (Includes): Recommend to write <regex.h>.
14642
14643 2010-05-24  Bruno Haible  <bruno@clisp.org>
14644
14645         regex: Don't require alloca.
14646         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
14647         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
14648         only inside if (0).
14649
14650 2010-05-23  Jim Meyering  <meyering@redhat.com>
14651
14652         test-renameat.c: include <sys/stat.h>
14653         * tests/test-renameat.c: Include <sys/stat.h>; required for
14654         definition of S_IS* macros.
14655
14656 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
14657
14658         Update maintainer documentation for 'relocatable-prog' module.
14659         * doc/relocatable-maint.texi: Update.
14660         Comments by Bruno Haible.
14661
14662 2010-05-23  Bruno Haible  <bruno@clisp.org>
14663
14664         git-merge-changelog: Enable --split-merged-entry by default.
14665         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
14666         (usage): Don't mention this option any more.
14667         Reported by Ralf Wildenhues.
14668
14669 2010-05-23  Jim Meyering  <meyering@redhat.com>
14670
14671         test-pwrite: do not leave behind a test file named "out"
14672         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
14673         The trivial-looking use of init.sh is really necessary.
14674         It ensures that the temporary file, "out", is created in
14675         a temporary directory, and removed upon termination.
14676         * tests/test-pwrite.sh: Re-add file.
14677         * modules/pwrite-tests: Reference it.
14678
14679 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14680
14681         Fix output redirection buglet in init.sh.
14682         * tests/init.sh: Fix redirection of stderr.
14683
14684 2010-05-20  Simon Josefsson  <simon@josefsson.org>
14685
14686         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
14687
14688 2010-05-17  Simon Josefsson  <simon@josefsson.org>
14689
14690         * modules/valgrind-tests: New file.
14691         * m4/valgrind-tests.m4: New file.
14692         * doc/valgrind-tests.texi: New file.
14693         * doc/gnulib.texi (Running self-tests under valgrind): New
14694         section.
14695
14696 2010-05-19  Bruno Haible  <bruno@clisp.org>
14697
14698         Clean up dead code in recent commit.
14699         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
14700         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
14701         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
14702         Suggested by Paolo Bonzini.
14703
14704 2010-05-19  Bruno Haible  <bruno@clisp.org>
14705
14706         Avoid valgrind error reports from libunistring.
14707         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
14708         * modules/libunistring (Files): Add it.
14709         * modules/libunistring-optional (Files): Likewise.
14710
14711 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
14712             Bruno Haible  <bruno@clisp.org>
14713
14714         New module 'libunistring-optional'.
14715         * modules/libunistring-optional: New file.
14716         * m4/libunistring-base.m4: New file.
14717         * m4/libunistring-optional.m4: New file.
14718         * lib/unicase.in.h: Renamed from lib/unicase.h.
14719         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
14720         * lib/unictype.in.h: Renamed from lib/unictype.h.
14721         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
14722         * lib/uniname.in.h: Renamed from lib/uniname.h.
14723         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
14724         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
14725         * lib/unistr.in.h: Renamed from lib/unistr.h.
14726         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
14727         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
14728         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
14729         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
14730         gl_LIBUNISTRING. If the library was found, determine the installed
14731         version and set LIBUNISTRING_VERSION.
14732         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
14733         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
14734         handle a configuration option --with-included-libunistring.
14735         * modules/libunistring (Files): Add m4/absolute-header.m4.
14736         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
14737         Add m4/libunistring-base.m4.
14738         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14739         (Makefile.am): Build unicase.h from unicase.in.h.
14740         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
14741         Add m4/libunistring-base.m4.
14742         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14743         (Makefile.am): Build uniconv.h from uniconv.in.h.
14744         * modules/unictype/base (Files): Use unictype.in.h instead of
14745         unictype.h. Add m4/libunistring-base.m4.
14746         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14747         (Makefile.am): Build unictype.h from unictype.in.h.
14748         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
14749         Add m4/libunistring-base.m4.
14750         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14751         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
14752         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
14753         Add m4/libunistring-base.m4.
14754         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14755         (Makefile.am): Build uniname.h from uniname.in.h.
14756         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
14757         Add m4/libunistring-base.m4.
14758         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14759         (Makefile.am): Build uninorm.h from uninorm.in.h.
14760         * modules/unistdio/base (Files): Use unistdio.in.h instead of
14761         unistdio.h. Add m4/libunistring-base.m4.
14762         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14763         (Makefile.am): Build unistdio.h from unistdio.in.h.
14764         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
14765         Add m4/libunistring-base.m4.
14766         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14767         (Makefile.am): Build unistr.h from unistr.in.h.
14768         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
14769         Add m4/libunistring-base.m4.
14770         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14771         (Makefile.am): Build unitypes.h from unitypes.in.h.
14772         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
14773         Add m4/libunistring-base.m4.
14774         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14775         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
14776         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
14777         uniwidth.h. Add m4/libunistring-base.m4.
14778         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14779         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
14780         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
14781         instead of augmenting lib_SOURCES.
14782         * modules/unicase/empty-suffix-context: Likewise.
14783         * modules/unicase/locale-language: Likewise.
14784         * modules/unicase/tolower: Likewise.
14785         * modules/unicase/totitle: Likewise.
14786         * modules/unicase/toupper: Likewise.
14787         * modules/unicase/u8-casecmp: Likewise.
14788         * modules/unicase/u8-casecoll: Likewise.
14789         * modules/unicase/u8-casefold: Likewise.
14790         * modules/unicase/u8-casexfrm: Likewise.
14791         * modules/unicase/u8-ct-casefold: Likewise.
14792         * modules/unicase/u8-ct-tolower: Likewise.
14793         * modules/unicase/u8-ct-totitle: Likewise.
14794         * modules/unicase/u8-ct-toupper: Likewise.
14795         * modules/unicase/u8-is-cased: Likewise.
14796         * modules/unicase/u8-is-casefolded: Likewise.
14797         * modules/unicase/u8-is-lowercase: Likewise.
14798         * modules/unicase/u8-is-titlecase: Likewise.
14799         * modules/unicase/u8-is-uppercase: Likewise.
14800         * modules/unicase/u8-prefix-context: Likewise.
14801         * modules/unicase/u8-suffix-context: Likewise.
14802         * modules/unicase/u8-tolower: Likewise.
14803         * modules/unicase/u8-totitle: Likewise.
14804         * modules/unicase/u8-toupper: Likewise.
14805         * modules/unicase/u16-casecmp: Likewise.
14806         * modules/unicase/u16-casecoll: Likewise.
14807         * modules/unicase/u16-casefold: Likewise.
14808         * modules/unicase/u16-casexfrm: Likewise.
14809         * modules/unicase/u16-ct-casefold: Likewise.
14810         * modules/unicase/u16-ct-tolower: Likewise.
14811         * modules/unicase/u16-ct-totitle: Likewise.
14812         * modules/unicase/u16-ct-toupper: Likewise.
14813         * modules/unicase/u16-is-cased: Likewise.
14814         * modules/unicase/u16-is-casefolded: Likewise.
14815         * modules/unicase/u16-is-lowercase: Likewise.
14816         * modules/unicase/u16-is-titlecase: Likewise.
14817         * modules/unicase/u16-is-uppercase: Likewise.
14818         * modules/unicase/u16-prefix-context: Likewise.
14819         * modules/unicase/u16-suffix-context: Likewise.
14820         * modules/unicase/u16-tolower: Likewise.
14821         * modules/unicase/u16-totitle: Likewise.
14822         * modules/unicase/u16-toupper: Likewise.
14823         * modules/unicase/u32-casecmp: Likewise.
14824         * modules/unicase/u32-casecoll: Likewise.
14825         * modules/unicase/u32-casefold: Likewise.
14826         * modules/unicase/u32-casexfrm: Likewise.
14827         * modules/unicase/u32-ct-casefold: Likewise.
14828         * modules/unicase/u32-ct-tolower: Likewise.
14829         * modules/unicase/u32-ct-totitle: Likewise.
14830         * modules/unicase/u32-ct-toupper: Likewise.
14831         * modules/unicase/u32-is-cased: Likewise.
14832         * modules/unicase/u32-is-casefolded: Likewise.
14833         * modules/unicase/u32-is-lowercase: Likewise.
14834         * modules/unicase/u32-is-titlecase: Likewise.
14835         * modules/unicase/u32-is-uppercase: Likewise.
14836         * modules/unicase/u32-prefix-context: Likewise.
14837         * modules/unicase/u32-suffix-context: Likewise.
14838         * modules/unicase/u32-tolower: Likewise.
14839         * modules/unicase/u32-totitle: Likewise.
14840         * modules/unicase/u32-toupper: Likewise.
14841         * modules/unicase/ulc-casecmp: Likewise.
14842         * modules/unicase/ulc-casecoll: Likewise.
14843         * modules/unicase/ulc-casexfrm: Likewise.
14844         * modules/uniconv/u8-conv-from-enc: Likewise.
14845         * modules/uniconv/u8-conv-to-enc: Likewise.
14846         * modules/uniconv/u8-strconv-from-enc: Likewise.
14847         * modules/uniconv/u8-strconv-from-locale: Likewise.
14848         * modules/uniconv/u8-strconv-to-enc: Likewise.
14849         * modules/uniconv/u8-strconv-to-locale: Likewise.
14850         * modules/uniconv/u16-conv-from-enc: Likewise.
14851         * modules/uniconv/u16-conv-to-enc: Likewise.
14852         * modules/uniconv/u16-strconv-from-enc: Likewise.
14853         * modules/uniconv/u16-strconv-from-locale: Likewise.
14854         * modules/uniconv/u16-strconv-to-enc: Likewise.
14855         * modules/uniconv/u16-strconv-to-locale: Likewise.
14856         * modules/uniconv/u32-conv-from-enc: Likewise.
14857         * modules/uniconv/u32-conv-to-enc: Likewise.
14858         * modules/uniconv/u32-strconv-from-enc: Likewise.
14859         * modules/uniconv/u32-strconv-from-locale: Likewise.
14860         * modules/uniconv/u32-strconv-to-enc: Likewise.
14861         * modules/uniconv/u32-strconv-to-locale: Likewise.
14862         * modules/unictype/bidicategory-byname: Likewise.
14863         * modules/unictype/bidicategory-name: Likewise.
14864         * modules/unictype/bidicategory-of: Likewise.
14865         * modules/unictype/bidicategory-test: Likewise.
14866         * modules/unictype/block-list: Likewise.
14867         * modules/unictype/block-test: Likewise.
14868         * modules/unictype/category-C: Likewise.
14869         * modules/unictype/category-Cc: Likewise.
14870         * modules/unictype/category-Cf: Likewise.
14871         * modules/unictype/category-Cn: Likewise.
14872         * modules/unictype/category-Co: Likewise.
14873         * modules/unictype/category-Cs: Likewise.
14874         * modules/unictype/category-L: Likewise.
14875         * modules/unictype/category-Ll: Likewise.
14876         * modules/unictype/category-Lm: Likewise.
14877         * modules/unictype/category-Lo: Likewise.
14878         * modules/unictype/category-Lt: Likewise.
14879         * modules/unictype/category-Lu: Likewise.
14880         * modules/unictype/category-M: Likewise.
14881         * modules/unictype/category-Mc: Likewise.
14882         * modules/unictype/category-Me: Likewise.
14883         * modules/unictype/category-Mn: Likewise.
14884         * modules/unictype/category-N: Likewise.
14885         * modules/unictype/category-Nd: Likewise.
14886         * modules/unictype/category-Nl: Likewise.
14887         * modules/unictype/category-No: Likewise.
14888         * modules/unictype/category-P: Likewise.
14889         * modules/unictype/category-Pc: Likewise.
14890         * modules/unictype/category-Pd: Likewise.
14891         * modules/unictype/category-Pe: Likewise.
14892         * modules/unictype/category-Pf: Likewise.
14893         * modules/unictype/category-Pi: Likewise.
14894         * modules/unictype/category-Po: Likewise.
14895         * modules/unictype/category-Ps: Likewise.
14896         * modules/unictype/category-S: Likewise.
14897         * modules/unictype/category-Sc: Likewise.
14898         * modules/unictype/category-Sk: Likewise.
14899         * modules/unictype/category-Sm: Likewise.
14900         * modules/unictype/category-So: Likewise.
14901         * modules/unictype/category-Z: Likewise.
14902         * modules/unictype/category-Zl: Likewise.
14903         * modules/unictype/category-Zp: Likewise.
14904         * modules/unictype/category-Zs: Likewise.
14905         * modules/unictype/category-and: Likewise.
14906         * modules/unictype/category-and-not: Likewise.
14907         * modules/unictype/category-byname: Likewise.
14908         * modules/unictype/category-name: Likewise.
14909         * modules/unictype/category-none: Likewise.
14910         * modules/unictype/category-of: Likewise.
14911         * modules/unictype/category-or: Likewise.
14912         * modules/unictype/category-test: Likewise.
14913         * modules/unictype/combining-class: Likewise.
14914         * modules/unictype/ctype-alnum: Likewise.
14915         * modules/unictype/ctype-alpha: Likewise.
14916         * modules/unictype/ctype-blank: Likewise.
14917         * modules/unictype/ctype-cntrl: Likewise.
14918         * modules/unictype/ctype-digit: Likewise.
14919         * modules/unictype/ctype-graph: Likewise.
14920         * modules/unictype/ctype-lower: Likewise.
14921         * modules/unictype/ctype-print: Likewise.
14922         * modules/unictype/ctype-punct: Likewise.
14923         * modules/unictype/ctype-space: Likewise.
14924         * modules/unictype/ctype-upper: Likewise.
14925         * modules/unictype/ctype-xdigit: Likewise.
14926         * modules/unictype/decimal-digit: Likewise.
14927         * modules/unictype/digit: Likewise.
14928         * modules/unictype/mirror: Likewise.
14929         * modules/unictype/numeric: Likewise.
14930         * modules/unictype/property-alphabetic: Likewise.
14931         * modules/unictype/property-ascii-hex-digit: Likewise.
14932         * modules/unictype/property-bidi-arabic-digit: Likewise.
14933         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
14934         * modules/unictype/property-bidi-block-separator: Likewise.
14935         * modules/unictype/property-bidi-boundary-neutral: Likewise.
14936         * modules/unictype/property-bidi-common-separator: Likewise.
14937         * modules/unictype/property-bidi-control: Likewise.
14938         * modules/unictype/property-bidi-embedding-or-override: Likewise.
14939         * modules/unictype/property-bidi-eur-num-separator: Likewise.
14940         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
14941         * modules/unictype/property-bidi-european-digit: Likewise.
14942         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
14943         * modules/unictype/property-bidi-left-to-right: Likewise.
14944         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
14945         * modules/unictype/property-bidi-other-neutral: Likewise.
14946         * modules/unictype/property-bidi-pdf: Likewise.
14947         * modules/unictype/property-bidi-segment-separator: Likewise.
14948         * modules/unictype/property-bidi-whitespace: Likewise.
14949         * modules/unictype/property-byname: Likewise.
14950         * modules/unictype/property-combining: Likewise.
14951         * modules/unictype/property-composite: Likewise.
14952         * modules/unictype/property-currency-symbol: Likewise.
14953         * modules/unictype/property-dash: Likewise.
14954         * modules/unictype/property-decimal-digit: Likewise.
14955         * modules/unictype/property-default-ignorable-code-point: Likewise.
14956         * modules/unictype/property-deprecated: Likewise.
14957         * modules/unictype/property-diacritic: Likewise.
14958         * modules/unictype/property-extender: Likewise.
14959         * modules/unictype/property-format-control: Likewise.
14960         * modules/unictype/property-grapheme-base: Likewise.
14961         * modules/unictype/property-grapheme-extend: Likewise.
14962         * modules/unictype/property-grapheme-link: Likewise.
14963         * modules/unictype/property-hex-digit: Likewise.
14964         * modules/unictype/property-hyphen: Likewise.
14965         * modules/unictype/property-id-continue: Likewise.
14966         * modules/unictype/property-id-start: Likewise.
14967         * modules/unictype/property-ideographic: Likewise.
14968         * modules/unictype/property-ids-binary-operator: Likewise.
14969         * modules/unictype/property-ids-trinary-operator: Likewise.
14970         * modules/unictype/property-ignorable-control: Likewise.
14971         * modules/unictype/property-iso-control: Likewise.
14972         * modules/unictype/property-join-control: Likewise.
14973         * modules/unictype/property-left-of-pair: Likewise.
14974         * modules/unictype/property-line-separator: Likewise.
14975         * modules/unictype/property-logical-order-exception: Likewise.
14976         * modules/unictype/property-lowercase: Likewise.
14977         * modules/unictype/property-math: Likewise.
14978         * modules/unictype/property-non-break: Likewise.
14979         * modules/unictype/property-not-a-character: Likewise.
14980         * modules/unictype/property-numeric: Likewise.
14981         * modules/unictype/property-other-alphabetic: Likewise.
14982         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
14983         * modules/unictype/property-other-grapheme-extend: Likewise.
14984         * modules/unictype/property-other-id-continue: Likewise.
14985         * modules/unictype/property-other-id-start: Likewise.
14986         * modules/unictype/property-other-lowercase: Likewise.
14987         * modules/unictype/property-other-math: Likewise.
14988         * modules/unictype/property-other-uppercase: Likewise.
14989         * modules/unictype/property-paired-punctuation: Likewise.
14990         * modules/unictype/property-paragraph-separator: Likewise.
14991         * modules/unictype/property-pattern-syntax: Likewise.
14992         * modules/unictype/property-pattern-white-space: Likewise.
14993         * modules/unictype/property-private-use: Likewise.
14994         * modules/unictype/property-punctuation: Likewise.
14995         * modules/unictype/property-quotation-mark: Likewise.
14996         * modules/unictype/property-radical: Likewise.
14997         * modules/unictype/property-sentence-terminal: Likewise.
14998         * modules/unictype/property-soft-dotted: Likewise.
14999         * modules/unictype/property-space: Likewise.
15000         * modules/unictype/property-terminal-punctuation: Likewise.
15001         * modules/unictype/property-test: Likewise.
15002         * modules/unictype/property-titlecase: Likewise.
15003         * modules/unictype/property-unassigned-code-value: Likewise.
15004         * modules/unictype/property-unified-ideograph: Likewise.
15005         * modules/unictype/property-uppercase: Likewise.
15006         * modules/unictype/property-variation-selector: Likewise.
15007         * modules/unictype/property-white-space: Likewise.
15008         * modules/unictype/property-xid-continue: Likewise.
15009         * modules/unictype/property-xid-start: Likewise.
15010         * modules/unictype/property-zero-width: Likewise.
15011         * modules/unictype/scripts: Likewise.
15012         * modules/unictype/syntax-c-ident: Likewise.
15013         * modules/unictype/syntax-c-whitespace: Likewise.
15014         * modules/unictype/syntax-java-ident: Likewise.
15015         * modules/unictype/syntax-java-whitespace: Likewise.
15016         * modules/unilbrk/u8-possible-linebreaks: Likewise.
15017         * modules/unilbrk/u8-width-linebreaks: Likewise.
15018         * modules/unilbrk/u16-possible-linebreaks: Likewise.
15019         * modules/unilbrk/u16-width-linebreaks: Likewise.
15020         * modules/unilbrk/u32-possible-linebreaks: Likewise.
15021         * modules/unilbrk/u32-width-linebreaks: Likewise.
15022         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
15023         * modules/unilbrk/ulc-width-linebreaks: Likewise.
15024         * modules/uniname/uniname: Likewise.
15025         * modules/uninorm/canonical-decomposition: Likewise.
15026         * modules/uninorm/composition: Likewise.
15027         * modules/uninorm/decomposing-form: Likewise.
15028         * modules/uninorm/decomposition: Likewise.
15029         * modules/uninorm/filter: Likewise.
15030         * modules/uninorm/nfc: Likewise.
15031         * modules/uninorm/nfd: Likewise.
15032         * modules/uninorm/nfkc: Likewise.
15033         * modules/uninorm/nfkd: Likewise.
15034         * modules/uninorm/u8-normalize: Likewise.
15035         * modules/uninorm/u8-normcmp: Likewise.
15036         * modules/uninorm/u8-normcoll: Likewise.
15037         * modules/uninorm/u8-normxfrm: Likewise.
15038         * modules/uninorm/u16-normalize: Likewise.
15039         * modules/uninorm/u16-normcmp: Likewise.
15040         * modules/uninorm/u16-normcoll: Likewise.
15041         * modules/uninorm/u16-normxfrm: Likewise.
15042         * modules/uninorm/u32-normalize: Likewise.
15043         * modules/uninorm/u32-normcmp: Likewise.
15044         * modules/uninorm/u32-normcoll: Likewise.
15045         * modules/uninorm/u32-normxfrm: Likewise.
15046         * modules/unistdio/u8-asnprintf: Likewise.
15047         * modules/unistdio/u8-asprintf: Likewise.
15048         * modules/unistdio/u8-snprintf: Likewise.
15049         * modules/unistdio/u8-sprintf: Likewise.
15050         * modules/unistdio/u8-u8-asnprintf: Likewise.
15051         * modules/unistdio/u8-u8-asprintf: Likewise.
15052         * modules/unistdio/u8-u8-snprintf: Likewise.
15053         * modules/unistdio/u8-u8-sprintf: Likewise.
15054         * modules/unistdio/u8-u8-vasnprintf: Likewise.
15055         * modules/unistdio/u8-u8-vasprintf: Likewise.
15056         * modules/unistdio/u8-u8-vsnprintf: Likewise.
15057         * modules/unistdio/u8-u8-vsprintf: Likewise.
15058         * modules/unistdio/u8-vasnprintf: Likewise.
15059         * modules/unistdio/u8-vasprintf: Likewise.
15060         * modules/unistdio/u8-vsnprintf: Likewise.
15061         * modules/unistdio/u8-vsprintf: Likewise.
15062         * modules/unistdio/u16-asnprintf: Likewise.
15063         * modules/unistdio/u16-asprintf: Likewise.
15064         * modules/unistdio/u16-snprintf: Likewise.
15065         * modules/unistdio/u16-sprintf: Likewise.
15066         * modules/unistdio/u16-u16-asnprintf: Likewise.
15067         * modules/unistdio/u16-u16-asprintf: Likewise.
15068         * modules/unistdio/u16-u16-snprintf: Likewise.
15069         * modules/unistdio/u16-u16-sprintf: Likewise.
15070         * modules/unistdio/u16-u16-vasnprintf: Likewise.
15071         * modules/unistdio/u16-u16-vasprintf: Likewise.
15072         * modules/unistdio/u16-u16-vsnprintf: Likewise.
15073         * modules/unistdio/u16-u16-vsprintf: Likewise.
15074         * modules/unistdio/u16-vasnprintf: Likewise.
15075         * modules/unistdio/u16-vasprintf: Likewise.
15076         * modules/unistdio/u16-vsnprintf: Likewise.
15077         * modules/unistdio/u16-vsprintf: Likewise.
15078         * modules/unistdio/u32-asnprintf: Likewise.
15079         * modules/unistdio/u32-asprintf: Likewise.
15080         * modules/unistdio/u32-snprintf: Likewise.
15081         * modules/unistdio/u32-sprintf: Likewise.
15082         * modules/unistdio/u32-u32-asnprintf: Likewise.
15083         * modules/unistdio/u32-u32-asprintf: Likewise.
15084         * modules/unistdio/u32-u32-snprintf: Likewise.
15085         * modules/unistdio/u32-u32-sprintf: Likewise.
15086         * modules/unistdio/u32-u32-vasnprintf: Likewise.
15087         * modules/unistdio/u32-u32-vasprintf: Likewise.
15088         * modules/unistdio/u32-u32-vsnprintf: Likewise.
15089         * modules/unistdio/u32-u32-vsprintf: Likewise.
15090         * modules/unistdio/u32-vasnprintf: Likewise.
15091         * modules/unistdio/u32-vasprintf: Likewise.
15092         * modules/unistdio/u32-vsnprintf: Likewise.
15093         * modules/unistdio/u32-vsprintf: Likewise.
15094         * modules/unistdio/ulc-asnprintf: Likewise.
15095         * modules/unistdio/ulc-asprintf: Likewise.
15096         * modules/unistdio/ulc-fprintf: Likewise.
15097         * modules/unistdio/ulc-snprintf: Likewise.
15098         * modules/unistdio/ulc-sprintf: Likewise.
15099         * modules/unistdio/ulc-vasnprintf: Likewise.
15100         * modules/unistdio/ulc-vasprintf: Likewise.
15101         * modules/unistdio/ulc-vfprintf: Likewise.
15102         * modules/unistdio/ulc-vsnprintf: Likewise.
15103         * modules/unistdio/ulc-vsprintf: Likewise.
15104         * modules/unistr/u8-check: Likewise.
15105         * modules/unistr/u8-chr: Likewise.
15106         * modules/unistr/u8-cmp: Likewise.
15107         * modules/unistr/u8-cmp2: Likewise.
15108         * modules/unistr/u8-cpy: Likewise.
15109         * modules/unistr/u8-cpy-alloc: Likewise.
15110         * modules/unistr/u8-endswith: Likewise.
15111         * modules/unistr/u8-mblen: Likewise.
15112         * modules/unistr/u8-mbsnlen: Likewise.
15113         * modules/unistr/u8-mbtouc: Likewise.
15114         * modules/unistr/u8-mbtouc-unsafe: Likewise.
15115         * modules/unistr/u8-mbtoucr: Likewise.
15116         * modules/unistr/u8-move: Likewise.
15117         * modules/unistr/u8-next: Likewise.
15118         * modules/unistr/u8-prev: Likewise.
15119         * modules/unistr/u8-set: Likewise.
15120         * modules/unistr/u8-startswith: Likewise.
15121         * modules/unistr/u8-stpcpy: Likewise.
15122         * modules/unistr/u8-stpncpy: Likewise.
15123         * modules/unistr/u8-strcat: Likewise.
15124         * modules/unistr/u8-strchr: Likewise.
15125         * modules/unistr/u8-strcmp: Likewise.
15126         * modules/unistr/u8-strcoll: Likewise.
15127         * modules/unistr/u8-strcpy: Likewise.
15128         * modules/unistr/u8-strcspn: Likewise.
15129         * modules/unistr/u8-strdup: Likewise.
15130         * modules/unistr/u8-strlen: Likewise.
15131         * modules/unistr/u8-strmblen: Likewise.
15132         * modules/unistr/u8-strmbtouc: Likewise.
15133         * modules/unistr/u8-strncat: Likewise.
15134         * modules/unistr/u8-strncmp: Likewise.
15135         * modules/unistr/u8-strncpy: Likewise.
15136         * modules/unistr/u8-strnlen: Likewise.
15137         * modules/unistr/u8-strpbrk: Likewise.
15138         * modules/unistr/u8-strrchr: Likewise.
15139         * modules/unistr/u8-strspn: Likewise.
15140         * modules/unistr/u8-strstr: Likewise.
15141         * modules/unistr/u8-strtok: Likewise.
15142         * modules/unistr/u8-to-u16: Likewise.
15143         * modules/unistr/u8-to-u32: Likewise.
15144         * modules/unistr/u8-uctomb: Likewise.
15145         * modules/unistr/u16-check: Likewise.
15146         * modules/unistr/u16-chr: Likewise.
15147         * modules/unistr/u16-cmp: Likewise.
15148         * modules/unistr/u16-cmp2: Likewise.
15149         * modules/unistr/u16-cpy: Likewise.
15150         * modules/unistr/u16-cpy-alloc: Likewise.
15151         * modules/unistr/u16-endswith: Likewise.
15152         * modules/unistr/u16-mblen: Likewise.
15153         * modules/unistr/u16-mbsnlen: Likewise.
15154         * modules/unistr/u16-mbtouc: Likewise.
15155         * modules/unistr/u16-mbtouc-unsafe: Likewise.
15156         * modules/unistr/u16-mbtoucr: Likewise.
15157         * modules/unistr/u16-move: Likewise.
15158         * modules/unistr/u16-next: Likewise.
15159         * modules/unistr/u16-prev: Likewise.
15160         * modules/unistr/u16-set: Likewise.
15161         * modules/unistr/u16-startswith: Likewise.
15162         * modules/unistr/u16-stpcpy: Likewise.
15163         * modules/unistr/u16-stpncpy: Likewise.
15164         * modules/unistr/u16-strcat: Likewise.
15165         * modules/unistr/u16-strchr: Likewise.
15166         * modules/unistr/u16-strcmp: Likewise.
15167         * modules/unistr/u16-strcoll: Likewise.
15168         * modules/unistr/u16-strcpy: Likewise.
15169         * modules/unistr/u16-strcspn: Likewise.
15170         * modules/unistr/u16-strdup: Likewise.
15171         * modules/unistr/u16-strlen: Likewise.
15172         * modules/unistr/u16-strmblen: Likewise.
15173         * modules/unistr/u16-strmbtouc: Likewise.
15174         * modules/unistr/u16-strncat: Likewise.
15175         * modules/unistr/u16-strncmp: Likewise.
15176         * modules/unistr/u16-strncpy: Likewise.
15177         * modules/unistr/u16-strnlen: Likewise.
15178         * modules/unistr/u16-strpbrk: Likewise.
15179         * modules/unistr/u16-strrchr: Likewise.
15180         * modules/unistr/u16-strspn: Likewise.
15181         * modules/unistr/u16-strstr: Likewise.
15182         * modules/unistr/u16-strtok: Likewise.
15183         * modules/unistr/u16-to-u32: Likewise.
15184         * modules/unistr/u16-to-u8: Likewise.
15185         * modules/unistr/u16-uctomb: Likewise.
15186         * modules/unistr/u32-check: Likewise.
15187         * modules/unistr/u32-chr: Likewise.
15188         * modules/unistr/u32-cmp: Likewise.
15189         * modules/unistr/u32-cmp2: Likewise.
15190         * modules/unistr/u32-cpy: Likewise.
15191         * modules/unistr/u32-cpy-alloc: Likewise.
15192         * modules/unistr/u32-endswith: Likewise.
15193         * modules/unistr/u32-mblen: Likewise.
15194         * modules/unistr/u32-mbsnlen: Likewise.
15195         * modules/unistr/u32-mbtouc: Likewise.
15196         * modules/unistr/u32-mbtouc-unsafe: Likewise.
15197         * modules/unistr/u32-mbtoucr: Likewise.
15198         * modules/unistr/u32-move: Likewise.
15199         * modules/unistr/u32-next: Likewise.
15200         * modules/unistr/u32-prev: Likewise.
15201         * modules/unistr/u32-set: Likewise.
15202         * modules/unistr/u32-startswith: Likewise.
15203         * modules/unistr/u32-stpcpy: Likewise.
15204         * modules/unistr/u32-stpncpy: Likewise.
15205         * modules/unistr/u32-strcat: Likewise.
15206         * modules/unistr/u32-strchr: Likewise.
15207         * modules/unistr/u32-strcmp: Likewise.
15208         * modules/unistr/u32-strcoll: Likewise.
15209         * modules/unistr/u32-strcpy: Likewise.
15210         * modules/unistr/u32-strcspn: Likewise.
15211         * modules/unistr/u32-strdup: Likewise.
15212         * modules/unistr/u32-strlen: Likewise.
15213         * modules/unistr/u32-strmblen: Likewise.
15214         * modules/unistr/u32-strmbtouc: Likewise.
15215         * modules/unistr/u32-strncat: Likewise.
15216         * modules/unistr/u32-strncmp: Likewise.
15217         * modules/unistr/u32-strncpy: Likewise.
15218         * modules/unistr/u32-strnlen: Likewise.
15219         * modules/unistr/u32-strpbrk: Likewise.
15220         * modules/unistr/u32-strrchr: Likewise.
15221         * modules/unistr/u32-strspn: Likewise.
15222         * modules/unistr/u32-strstr: Likewise.
15223         * modules/unistr/u32-strtok: Likewise.
15224         * modules/unistr/u32-to-u16: Likewise.
15225         * modules/unistr/u32-to-u8: Likewise.
15226         * modules/unistr/u32-uctomb: Likewise.
15227         * modules/uniwbrk/u8-wordbreaks: Likewise.
15228         * modules/uniwbrk/u16-wordbreaks: Likewise.
15229         * modules/uniwbrk/u32-wordbreaks: Likewise.
15230         * modules/uniwbrk/ulc-wordbreaks: Likewise.
15231         * modules/uniwbrk/wordbreak-property: Likewise.
15232         * modules/uniwidth/u8-strwidth: Likewise.
15233         * modules/uniwidth/u8-width: Likewise.
15234         * modules/uniwidth/u16-strwidth: Likewise.
15235         * modules/uniwidth/u16-width: Likewise.
15236         * modules/uniwidth/u32-strwidth: Likewise.
15237         * modules/uniwidth/u32-width: Likewise.
15238         * modules/uniwidth/width: Likewise.
15239         * modules/unicase/cased-tests (Makefile.am): Link all test programs
15240         with $(LIBUNISTRING).
15241         * modules/unicase/ignorable-tests: Likewise.
15242         * modules/unicase/locale-language-tests: Likewise.
15243         * modules/unicase/tolower-tests: Likewise.
15244         * modules/unicase/totitle-tests: Likewise.
15245         * modules/unicase/toupper-tests: Likewise.
15246         * modules/unicase/u8-casecmp-tests: Likewise.
15247         * modules/unicase/u8-casecoll-tests: Likewise.
15248         * modules/unicase/u8-casefold-tests: Likewise.
15249         * modules/unicase/u8-is-cased-tests: Likewise.
15250         * modules/unicase/u8-is-casefolded-tests: Likewise.
15251         * modules/unicase/u8-is-lowercase-tests: Likewise.
15252         * modules/unicase/u8-is-titlecase-tests: Likewise.
15253         * modules/unicase/u8-is-uppercase-tests: Likewise.
15254         * modules/unicase/u8-tolower-tests: Likewise.
15255         * modules/unicase/u8-totitle-tests: Likewise.
15256         * modules/unicase/u8-toupper-tests: Likewise.
15257         * modules/unicase/u16-casecmp-tests: Likewise.
15258         * modules/unicase/u16-casecoll-tests: Likewise.
15259         * modules/unicase/u16-casefold-tests: Likewise.
15260         * modules/unicase/u16-is-cased-tests: Likewise.
15261         * modules/unicase/u16-is-casefolded-tests: Likewise.
15262         * modules/unicase/u16-is-lowercase-tests: Likewise.
15263         * modules/unicase/u16-is-titlecase-tests: Likewise.
15264         * modules/unicase/u16-is-uppercase-tests: Likewise.
15265         * modules/unicase/u16-tolower-tests: Likewise.
15266         * modules/unicase/u16-totitle-tests: Likewise.
15267         * modules/unicase/u16-toupper-tests: Likewise.
15268         * modules/unicase/u32-casecmp-tests: Likewise.
15269         * modules/unicase/u32-casecoll-tests: Likewise.
15270         * modules/unicase/u32-casefold-tests: Likewise.
15271         * modules/unicase/u32-is-cased-tests: Likewise.
15272         * modules/unicase/u32-is-casefolded-tests: Likewise.
15273         * modules/unicase/u32-is-lowercase-tests: Likewise.
15274         * modules/unicase/u32-is-titlecase-tests: Likewise.
15275         * modules/unicase/u32-is-uppercase-tests: Likewise.
15276         * modules/unicase/u32-tolower-tests: Likewise.
15277         * modules/unicase/u32-totitle-tests: Likewise.
15278         * modules/unicase/u32-toupper-tests: Likewise.
15279         * modules/unicase/ulc-casecmp-tests: Likewise.
15280         * modules/unicase/ulc-casecoll-tests: Likewise.
15281         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
15282         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
15283         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
15284         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
15285         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
15286         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
15287         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
15288         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
15289         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
15290         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
15291         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
15292         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
15293         * modules/unictype/bidicategory-byname-tests: Likewise.
15294         * modules/unictype/bidicategory-name-tests: Likewise.
15295         * modules/unictype/bidicategory-of-tests: Likewise.
15296         * modules/unictype/bidicategory-test-tests: Likewise.
15297         * modules/unictype/block-list-tests: Likewise.
15298         * modules/unictype/block-of-tests: Likewise.
15299         * modules/unictype/block-test-tests: Likewise.
15300         * modules/unictype/category-C-tests: Likewise.
15301         * modules/unictype/category-Cc-tests: Likewise.
15302         * modules/unictype/category-Cf-tests: Likewise.
15303         * modules/unictype/category-Cn-tests: Likewise.
15304         * modules/unictype/category-Co-tests: Likewise.
15305         * modules/unictype/category-Cs-tests: Likewise.
15306         * modules/unictype/category-L-tests: Likewise.
15307         * modules/unictype/category-Ll-tests: Likewise.
15308         * modules/unictype/category-Lm-tests: Likewise.
15309         * modules/unictype/category-Lo-tests: Likewise.
15310         * modules/unictype/category-Lt-tests: Likewise.
15311         * modules/unictype/category-Lu-tests: Likewise.
15312         * modules/unictype/category-M-tests: Likewise.
15313         * modules/unictype/category-Mc-tests: Likewise.
15314         * modules/unictype/category-Me-tests: Likewise.
15315         * modules/unictype/category-Mn-tests: Likewise.
15316         * modules/unictype/category-N-tests: Likewise.
15317         * modules/unictype/category-Nd-tests: Likewise.
15318         * modules/unictype/category-Nl-tests: Likewise.
15319         * modules/unictype/category-No-tests: Likewise.
15320         * modules/unictype/category-P-tests: Likewise.
15321         * modules/unictype/category-Pc-tests: Likewise.
15322         * modules/unictype/category-Pd-tests: Likewise.
15323         * modules/unictype/category-Pe-tests: Likewise.
15324         * modules/unictype/category-Pf-tests: Likewise.
15325         * modules/unictype/category-Pi-tests: Likewise.
15326         * modules/unictype/category-Po-tests: Likewise.
15327         * modules/unictype/category-Ps-tests: Likewise.
15328         * modules/unictype/category-S-tests: Likewise.
15329         * modules/unictype/category-Sc-tests: Likewise.
15330         * modules/unictype/category-Sk-tests: Likewise.
15331         * modules/unictype/category-Sm-tests: Likewise.
15332         * modules/unictype/category-So-tests: Likewise.
15333         * modules/unictype/category-Z-tests: Likewise.
15334         * modules/unictype/category-Zl-tests: Likewise.
15335         * modules/unictype/category-Zp-tests: Likewise.
15336         * modules/unictype/category-Zs-tests: Likewise.
15337         * modules/unictype/category-and-not-tests: Likewise.
15338         * modules/unictype/category-and-tests: Likewise.
15339         * modules/unictype/category-byname-tests: Likewise.
15340         * modules/unictype/category-name-tests: Likewise.
15341         * modules/unictype/category-none-tests: Likewise.
15342         * modules/unictype/category-of-tests: Likewise.
15343         * modules/unictype/category-or-tests: Likewise.
15344         * modules/unictype/category-test-withtable-tests: Likewise.
15345         * modules/unictype/combining-class-tests: Likewise.
15346         * modules/unictype/ctype-alnum-tests: Likewise.
15347         * modules/unictype/ctype-alpha-tests: Likewise.
15348         * modules/unictype/ctype-blank-tests: Likewise.
15349         * modules/unictype/ctype-cntrl-tests: Likewise.
15350         * modules/unictype/ctype-digit-tests: Likewise.
15351         * modules/unictype/ctype-graph-tests: Likewise.
15352         * modules/unictype/ctype-lower-tests: Likewise.
15353         * modules/unictype/ctype-print-tests: Likewise.
15354         * modules/unictype/ctype-punct-tests: Likewise.
15355         * modules/unictype/ctype-space-tests: Likewise.
15356         * modules/unictype/ctype-upper-tests: Likewise.
15357         * modules/unictype/ctype-xdigit-tests: Likewise.
15358         * modules/unictype/decimal-digit-tests: Likewise.
15359         * modules/unictype/digit-tests: Likewise.
15360         * modules/unictype/mirror-tests: Likewise.
15361         * modules/unictype/numeric-tests: Likewise.
15362         * modules/unictype/property-alphabetic-tests: Likewise.
15363         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
15364         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
15365         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
15366         * modules/unictype/property-bidi-block-separator-tests: Likewise.
15367         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
15368         * modules/unictype/property-bidi-common-separator-tests: Likewise.
15369         * modules/unictype/property-bidi-control-tests: Likewise.
15370         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
15371         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
15372         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
15373         * modules/unictype/property-bidi-european-digit-tests: Likewise.
15374         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
15375         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
15376         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
15377         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
15378         * modules/unictype/property-bidi-pdf-tests: Likewise.
15379         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
15380         * modules/unictype/property-bidi-whitespace-tests: Likewise.
15381         * modules/unictype/property-byname-tests: Likewise.
15382         * modules/unictype/property-combining-tests: Likewise.
15383         * modules/unictype/property-composite-tests: Likewise.
15384         * modules/unictype/property-currency-symbol-tests: Likewise.
15385         * modules/unictype/property-dash-tests: Likewise.
15386         * modules/unictype/property-decimal-digit-tests: Likewise.
15387         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
15388         * modules/unictype/property-deprecated-tests: Likewise.
15389         * modules/unictype/property-diacritic-tests: Likewise.
15390         * modules/unictype/property-extender-tests: Likewise.
15391         * modules/unictype/property-format-control-tests: Likewise.
15392         * modules/unictype/property-grapheme-base-tests: Likewise.
15393         * modules/unictype/property-grapheme-extend-tests: Likewise.
15394         * modules/unictype/property-grapheme-link-tests: Likewise.
15395         * modules/unictype/property-hex-digit-tests: Likewise.
15396         * modules/unictype/property-hyphen-tests: Likewise.
15397         * modules/unictype/property-id-continue-tests: Likewise.
15398         * modules/unictype/property-id-start-tests: Likewise.
15399         * modules/unictype/property-ideographic-tests: Likewise.
15400         * modules/unictype/property-ids-binary-operator-tests: Likewise.
15401         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
15402         * modules/unictype/property-ignorable-control-tests: Likewise.
15403         * modules/unictype/property-iso-control-tests: Likewise.
15404         * modules/unictype/property-join-control-tests: Likewise.
15405         * modules/unictype/property-left-of-pair-tests: Likewise.
15406         * modules/unictype/property-line-separator-tests: Likewise.
15407         * modules/unictype/property-logical-order-exception-tests: Likewise.
15408         * modules/unictype/property-lowercase-tests: Likewise.
15409         * modules/unictype/property-math-tests: Likewise.
15410         * modules/unictype/property-non-break-tests: Likewise.
15411         * modules/unictype/property-not-a-character-tests: Likewise.
15412         * modules/unictype/property-numeric-tests: Likewise.
15413         * modules/unictype/property-other-alphabetic-tests: Likewise.
15414         * modules/unictype/property-other-default-ignorable-code-point-tests:
15415         Likewise.
15416         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
15417         * modules/unictype/property-other-id-continue-tests: Likewise.
15418         * modules/unictype/property-other-id-start-tests: Likewise.
15419         * modules/unictype/property-other-lowercase-tests: Likewise.
15420         * modules/unictype/property-other-math-tests: Likewise.
15421         * modules/unictype/property-other-uppercase-tests: Likewise.
15422         * modules/unictype/property-paired-punctuation-tests: Likewise.
15423         * modules/unictype/property-paragraph-separator-tests: Likewise.
15424         * modules/unictype/property-pattern-syntax-tests: Likewise.
15425         * modules/unictype/property-pattern-white-space-tests: Likewise.
15426         * modules/unictype/property-private-use-tests: Likewise.
15427         * modules/unictype/property-punctuation-tests: Likewise.
15428         * modules/unictype/property-quotation-mark-tests: Likewise.
15429         * modules/unictype/property-radical-tests: Likewise.
15430         * modules/unictype/property-sentence-terminal-tests: Likewise.
15431         * modules/unictype/property-soft-dotted-tests: Likewise.
15432         * modules/unictype/property-space-tests: Likewise.
15433         * modules/unictype/property-terminal-punctuation-tests: Likewise.
15434         * modules/unictype/property-test-tests: Likewise.
15435         * modules/unictype/property-titlecase-tests: Likewise.
15436         * modules/unictype/property-unassigned-code-value-tests: Likewise.
15437         * modules/unictype/property-unified-ideograph-tests: Likewise.
15438         * modules/unictype/property-uppercase-tests: Likewise.
15439         * modules/unictype/property-variation-selector-tests: Likewise.
15440         * modules/unictype/property-white-space-tests: Likewise.
15441         * modules/unictype/property-xid-continue-tests: Likewise.
15442         * modules/unictype/property-xid-start-tests: Likewise.
15443         * modules/unictype/property-zero-width-tests: Likewise.
15444         * modules/unictype/scripts-tests: Likewise.
15445         * modules/unictype/syntax-c-ident-tests: Likewise.
15446         * modules/unictype/syntax-c-whitespace-tests: Likewise.
15447         * modules/unictype/syntax-java-ident-tests: Likewise.
15448         * modules/unictype/syntax-java-whitespace-tests: Likewise.
15449         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
15450         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
15451         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
15452         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
15453         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
15454         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
15455         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
15456         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
15457         * modules/uniname/uniname-tests: Likewise.
15458         * modules/uninorm/canonical-decomposition-tests: Likewise.
15459         * modules/uninorm/compat-decomposition-tests: Likewise.
15460         * modules/uninorm/composition-tests: Likewise.
15461         * modules/uninorm/decomposing-form-tests: Likewise.
15462         * modules/uninorm/decomposition-tests: Likewise.
15463         * modules/uninorm/filter-tests: Likewise.
15464         * modules/uninorm/nfc-tests: Likewise.
15465         * modules/uninorm/nfd-tests: Likewise.
15466         * modules/uninorm/nfkc-tests: Likewise.
15467         * modules/uninorm/nfkd-tests: Likewise.
15468         * modules/uninorm/u8-normcmp-tests: Likewise.
15469         * modules/uninorm/u8-normcoll-tests: Likewise.
15470         * modules/uninorm/u16-normcmp-tests: Likewise.
15471         * modules/uninorm/u16-normcoll-tests: Likewise.
15472         * modules/uninorm/u32-normcmp-tests: Likewise.
15473         * modules/uninorm/u32-normcoll-tests: Likewise.
15474         * modules/unistdio/u8-asnprintf-tests: Likewise.
15475         * modules/unistdio/u8-vasnprintf-tests: Likewise.
15476         * modules/unistdio/u8-vasprintf-tests: Likewise.
15477         * modules/unistdio/u8-vsnprintf-tests: Likewise.
15478         * modules/unistdio/u8-vsprintf-tests: Likewise.
15479         * modules/unistdio/u16-asnprintf-tests: Likewise.
15480         * modules/unistdio/u16-vasnprintf-tests: Likewise.
15481         * modules/unistdio/u16-vasprintf-tests: Likewise.
15482         * modules/unistdio/u16-vsnprintf-tests: Likewise.
15483         * modules/unistdio/u16-vsprintf-tests: Likewise.
15484         * modules/unistdio/u32-asnprintf-tests: Likewise.
15485         * modules/unistdio/u32-vasnprintf-tests: Likewise.
15486         * modules/unistdio/u32-vasprintf-tests: Likewise.
15487         * modules/unistdio/u32-vsnprintf-tests: Likewise.
15488         * modules/unistdio/u32-vsprintf-tests: Likewise.
15489         * modules/unistdio/ulc-asnprintf-tests: Likewise.
15490         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
15491         * modules/unistdio/ulc-vasprintf-tests: Likewise.
15492         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
15493         * modules/unistdio/ulc-vsprintf-tests: Likewise.
15494         * modules/unistr/u8-check-tests: Likewise.
15495         * modules/unistr/u8-chr-tests: Likewise.
15496         * modules/unistr/u8-cmp-tests: Likewise.
15497         * modules/unistr/u8-cmp2-tests: Likewise.
15498         * modules/unistr/u8-cpy-alloc-tests: Likewise.
15499         * modules/unistr/u8-cpy-tests: Likewise.
15500         * modules/unistr/u8-mblen-tests: Likewise.
15501         * modules/unistr/u8-mbsnlen-tests: Likewise.
15502         * modules/unistr/u8-mbtouc-tests: Likewise.
15503         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
15504         * modules/unistr/u8-mbtoucr-tests: Likewise.
15505         * modules/unistr/u8-move-tests: Likewise.
15506         * modules/unistr/u8-next-tests: Likewise.
15507         * modules/unistr/u8-prev-tests: Likewise.
15508         * modules/unistr/u8-set-tests: Likewise.
15509         * modules/unistr/u8-stpcpy-tests: Likewise.
15510         * modules/unistr/u8-stpncpy-tests: Likewise.
15511         * modules/unistr/u8-strcat-tests: Likewise.
15512         * modules/unistr/u8-strcmp-tests: Likewise.
15513         * modules/unistr/u8-strcoll-tests: Likewise.
15514         * modules/unistr/u8-strcpy-tests: Likewise.
15515         * modules/unistr/u8-strdup-tests: Likewise.
15516         * modules/unistr/u8-strlen-tests: Likewise.
15517         * modules/unistr/u8-strmblen-tests: Likewise.
15518         * modules/unistr/u8-strmbtouc-tests: Likewise.
15519         * modules/unistr/u8-strncat-tests: Likewise.
15520         * modules/unistr/u8-strncmp-tests: Likewise.
15521         * modules/unistr/u8-strncpy-tests: Likewise.
15522         * modules/unistr/u8-strnlen-tests: Likewise.
15523         * modules/unistr/u8-to-u16-tests: Likewise.
15524         * modules/unistr/u8-to-u32-tests: Likewise.
15525         * modules/unistr/u8-uctomb-tests: Likewise.
15526         * modules/unistr/u16-check-tests: Likewise.
15527         * modules/unistr/u16-chr-tests: Likewise.
15528         * modules/unistr/u16-cmp-tests: Likewise.
15529         * modules/unistr/u16-cmp2-tests: Likewise.
15530         * modules/unistr/u16-cpy-alloc-tests: Likewise.
15531         * modules/unistr/u16-cpy-tests: Likewise.
15532         * modules/unistr/u16-mblen-tests: Likewise.
15533         * modules/unistr/u16-mbsnlen-tests: Likewise.
15534         * modules/unistr/u16-mbtouc-tests: Likewise.
15535         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
15536         * modules/unistr/u16-mbtoucr-tests: Likewise.
15537         * modules/unistr/u16-move-tests: Likewise.
15538         * modules/unistr/u16-next-tests: Likewise.
15539         * modules/unistr/u16-prev-tests: Likewise.
15540         * modules/unistr/u16-set-tests: Likewise.
15541         * modules/unistr/u16-stpcpy-tests: Likewise.
15542         * modules/unistr/u16-stpncpy-tests: Likewise.
15543         * modules/unistr/u16-strcat-tests: Likewise.
15544         * modules/unistr/u16-strcmp-tests: Likewise.
15545         * modules/unistr/u16-strcoll-tests: Likewise.
15546         * modules/unistr/u16-strcpy-tests: Likewise.
15547         * modules/unistr/u16-strdup-tests: Likewise.
15548         * modules/unistr/u16-strlen-tests: Likewise.
15549         * modules/unistr/u16-strmblen-tests: Likewise.
15550         * modules/unistr/u16-strmbtouc-tests: Likewise.
15551         * modules/unistr/u16-strncat-tests: Likewise.
15552         * modules/unistr/u16-strncmp-tests: Likewise.
15553         * modules/unistr/u16-strncpy-tests: Likewise.
15554         * modules/unistr/u16-strnlen-tests: Likewise.
15555         * modules/unistr/u16-to-u32-tests: Likewise.
15556         * modules/unistr/u16-to-u8-tests: Likewise.
15557         * modules/unistr/u16-uctomb-tests: Likewise.
15558         * modules/unistr/u32-check-tests: Likewise.
15559         * modules/unistr/u32-chr-tests: Likewise.
15560         * modules/unistr/u32-cmp-tests: Likewise.
15561         * modules/unistr/u32-cmp2-tests: Likewise.
15562         * modules/unistr/u32-cpy-alloc-tests: Likewise.
15563         * modules/unistr/u32-cpy-tests: Likewise.
15564         * modules/unistr/u32-mblen-tests: Likewise.
15565         * modules/unistr/u32-mbsnlen-tests: Likewise.
15566         * modules/unistr/u32-mbtouc-tests: Likewise.
15567         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
15568         * modules/unistr/u32-mbtoucr-tests: Likewise.
15569         * modules/unistr/u32-move-tests: Likewise.
15570         * modules/unistr/u32-next-tests: Likewise.
15571         * modules/unistr/u32-prev-tests: Likewise.
15572         * modules/unistr/u32-set-tests: Likewise.
15573         * modules/unistr/u32-stpcpy-tests: Likewise.
15574         * modules/unistr/u32-stpncpy-tests: Likewise.
15575         * modules/unistr/u32-strcat-tests: Likewise.
15576         * modules/unistr/u32-strcmp-tests: Likewise.
15577         * modules/unistr/u32-strcoll-tests: Likewise.
15578         * modules/unistr/u32-strcpy-tests: Likewise.
15579         * modules/unistr/u32-strdup-tests: Likewise.
15580         * modules/unistr/u32-strlen-tests: Likewise.
15581         * modules/unistr/u32-strmblen-tests: Likewise.
15582         * modules/unistr/u32-strmbtouc-tests: Likewise.
15583         * modules/unistr/u32-strncat-tests: Likewise.
15584         * modules/unistr/u32-strncmp-tests: Likewise.
15585         * modules/unistr/u32-strncpy-tests: Likewise.
15586         * modules/unistr/u32-strnlen-tests: Likewise.
15587         * modules/unistr/u32-to-u16-tests: Likewise.
15588         * modules/unistr/u32-to-u8-tests: Likewise.
15589         * modules/unistr/u32-uctomb-tests: Likewise.
15590         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
15591         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
15592         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
15593         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
15594         * modules/uniwidth/u8-strwidth-tests: Likewise.
15595         * modules/uniwidth/u8-width-tests: Likewise.
15596         * modules/uniwidth/u16-strwidth-tests: Likewise.
15597         * modules/uniwidth/u16-width-tests: Likewise.
15598         * modules/uniwidth/u32-strwidth-tests: Likewise.
15599         * modules/uniwidth/u32-width-tests: Likewise.
15600         * modules/uniwidth/width-tests: Likewise.
15601
15602 2010-05-18  Richard Jones  <rjones@redhat.com>
15603
15604         doc: users.txt: list hivex
15605         * users.txt: Add hivex.
15606
15607 2010-05-18  Richard Jones  <rjones@redhat.com>
15608
15609         doc: users.txt: list febootstrap
15610         * users.txt: Add febootstrap.
15611
15612 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
15613
15614         bootstrap: fix an error when gnulib is not used as a git submodule
15615         * build-aux/bootstrap (gnulib_path): If its length is zero then
15616         assign "gnulib" to it.
15617         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
15618
15619 2010-05-16  Bruno Haible  <bruno@clisp.org>
15620
15621         Avoid autoconf warnings about AM_ICONV.
15622         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
15623         2.64.
15624
15625 2010-05-16  Bruno Haible  <bruno@clisp.org>
15626
15627         absolute-header: Make the macro usable in more situations.
15628         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
15629         from gl_ABSOLUTE_HEADER.
15630         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
15631
15632 2010-05-16  James Youngman  <jay@gnu.org>
15633
15634         doc: update users.txt
15635         * users.txt: Add CSSC.
15636
15637 2010-05-16  Jim Meyering  <meyering@redhat.com>
15638
15639         init.sh: fix an error in the previous change; add more comments
15640         * tests/init.sh: Compare exit code in loop against 9, not 2.
15641         Patch by Bruno Haible.
15642         Make the two tests more similar by adding an empty "then" clause.
15643         Add comments.
15644
15645         init.sh: avoid unnecessary shell re-exec
15646         * tests/init.sh: Improve the re-exec-required check to first test the
15647         current shell.  If it passes the test, do not search for a shell that
15648         does pass, and do not re-exec.  This test is particularly contorted to
15649         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
15650         of $(...) evokes a syntax error and causes immediate shell exit with
15651         status 2.  Bruno Haible reported that the re-exec made it impossible
15652         to single-step through any init.sh-using script.
15653
15654 2010-05-16  Bruno Haible  <bruno@clisp.org>
15655
15656         Fix collision between gnulib's and libintl's printf replacements.
15657         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
15658         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
15659         (printf): When using GNU C, map the __printf__ function to rpl_printf
15660         via __asm__. When not using GNU C, define rpl_printf instead of
15661         __printf__.
15662         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
15663         commit.
15664         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
15665         commit.
15666         * m4/asm-underscore.m4: New file.
15667         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
15668         * modules/stdio (Files): Add m4/asm-underscore.m4.
15669         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
15670         Reported by Ben Pfaff.
15671
15672 2010-05-16  Bruno Haible  <bruno@clisp.org>
15673
15674         verify: Avoid skipping the test on openSUSE 11.0.
15675         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
15676
15677 2010-05-13  Bruno Haible  <bruno@clisp.org>
15678
15679         Avoid useless warnings from G++.
15680         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
15681         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
15682         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15683
15684 2010-05-11  Jim Meyering  <meyering@redhat.com>
15685
15686         maint.mk: tweak preceding change
15687         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
15688         regexps tighter by anchoring at EOL, and make the new group "shy"
15689         for slightly decreased overhead.
15690
15691 2010-05-11  Eric Blake  <eblake@redhat.com>
15692
15693         maint.mk: gnulib doesn't guarantee NSIG
15694         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
15695
15696 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
15697
15698         test-pwrite.c: Remove unused variable declaration.
15699         * tests/test-pwrite.c (main): Remove read_buf declaration.
15700
15701         Remove useless test-pwrite.sh file.
15702         * tests/test-pwrite.sh: Delete file.
15703         * modules/pwrite-tests: Remove references.
15704         Reported by Bruno Haible.
15705
15706 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
15707
15708         init.sh: fix a typo
15709         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
15710
15711 2010-05-10  Jim Meyering  <meyering@redhat.com>
15712
15713         maint.mk: avoid using a temporary file in the always-defined-macros check
15714         * top/maint.mk (.re-defmac): Remove rule.
15715         (gl_trap_): Remove definition.
15716         (sc_prohibit_always-defined_macros): Rewrite not to create and
15717         depend on a temporary file.  Instead, depend on GNU grep's ability
15718         to read a list of regular expressions from stdin when given "-f -".
15719
15720 2010-05-09  Bruno Haible  <bruno@clisp.org>
15721
15722         Update to GNU gettext 0.18, part 1.
15723         * m4/gettext.m4: Update to GNU gettext 0.18.
15724         * m4/intl.m4: Likewise.
15725         * m4/po.m4: Likewise.
15726         * modules/gettext (Files): Add m4/fcntl-o.m4.
15727         (configure.ac): Require gettext infrastructure from version 0.18.
15728
15729 2010-05-09  Jim Meyering  <meyering@redhat.com>
15730
15731         init.sh: enable MALLOC_PERTURB_
15732         * tests/init.sh: Enable glibc's malloc-perturbing option.
15733
15734         maint.mk: improve sc_cross_check_PATH_usage_in_tests
15735         With my recent change in init.sh from the two-line form:
15736             -#   : ${srcdir=.}
15737             -#   . "$srcdir/init.sh"; path_prepend_ .
15738             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
15739         I noticed that using the one-line form would cause this test
15740         to fail with a false-positive, or to stop working altogether,
15741         depending on whether help-version changed or all the tests did.
15742         * top/maint.mk (_hv_regex): Remove this definition.
15743         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
15744         (_hv_regex_strong): Use a stronger regex to check for conformance.
15745         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
15746         Give a separate diagnostic for lack of conforming use.
15747
15748         maint.mk: prohibit definition of symbols defined by gnulib
15749         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
15750         definition of symbols defined by gnulib.
15751
15752 2010-05-09  Bruno Haible  <bruno@clisp.org>
15753
15754         acl: Avoid test failure on Cygwin-hosted mingw.
15755         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
15756
15757 2010-05-09  Bruno Haible  <bruno@clisp.org>
15758
15759         error: Use system's fcntl function.
15760         * lib/error.c (fcntl): Undefine.
15761
15762 2010-05-09  Jim Meyering  <meyering@redhat.com>
15763
15764         verify: adjust formatting to be more consistent
15765         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
15766         argument-list '('s, and after one comma.
15767
15768 2010-05-09  Bruno Haible  <bruno@clisp.org>
15769
15770         error: More reliable output on mingw.
15771         * lib/error.c: Include <windows.h>.
15772         (is_open): New function.
15773         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
15774         defined.
15775
15776 2010-05-09  Bruno Haible  <bruno@clisp.org>
15777
15778         vasnprintf: Fix syntax errors in libintl build on mingw.
15779         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
15780         pad_ourselves and prec_ourselves after use.
15781
15782 2010-05-08  Bruno Haible  <bruno@clisp.org>
15783
15784         * lib/config.charset: Update comments for Cygwin 1.7.
15785         * lib/localcharset.c: Likewise.
15786
15787 2010-05-07  Jim Meyering  <meyering@redhat.com>
15788
15789         init.sh: improve comments
15790         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
15791         . "${srcdir=.}/init.sh"; path_prepend_ .
15792         Add a note about path_prepend_ and the alternative of using
15793         TESTS_ENVIRONMENT.
15794
15795 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
15796
15797         exclude: Unescape hashed patterns in wildcard mode.
15798         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
15799         to the hash list.
15800         * tests/test-exclude8.sh: New test case.
15801         * modules/exclude-tests: Add new test.
15802
15803 2010-05-05  Eric Blake  <eblake@redhat.com>
15804
15805         verify: automate tests
15806         * modules/verify-tests: New module.
15807         * tests/test-verify.sh: New file.
15808         * tests/test-verify.c: Guard each negative test with a unique id.
15809         Also avoid warning about unused left hand of comma expressions.
15810
15811 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15812
15813         Further improvements to verify.h, suggested by Eric Blake.
15814         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
15815         the GL_* versions, to avoid collision with OpenGL.
15816         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
15817         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
15818         than testing merely whether it's defined.
15819
15820         Modify verify.h to pacify gcc -Wredundant_decls.
15821         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
15822         These use the prefix "GL_" since they're likely to be useful elsewhere.
15823         We may need to break them out into a different .h file.
15824         (__COUNTER__): Define to 0 if the compiler doesn't support it.
15825         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
15826         of verify_function__.
15827
15828 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
15829
15830         Tests for module pwrite.
15831         * modules/pwrite-tests: New file.
15832         * tests/test-pwrite.sh: New file.
15833         * tests/test-pwrite.c: New file.
15834
15835         New module pwrite.
15836         * lib/unistd.in.h (pwrite): New declaration.
15837         * lib/pwrite.c: New file, from glibc with modifications.
15838         * m4/pwrite.m4: New file.
15839         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
15840         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
15841         REPLACE_PWRITE.
15842         * modules/pwrite: New file.
15843         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
15844         REPLACE_PWRITE.
15845         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
15846         * doc/posix-functions/pwrite.texi: Mention the new module.
15847
15848 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
15849
15850         pread: Update documentation.
15851         * doc/posix-functions/pread.texi: Mention the 'pread' module.
15852
15853 2010-05-04  Eric Blake  <eblake@redhat.com>
15854
15855         docs: update cygwin progress
15856         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
15857         this bug.
15858         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
15859         Added in cygwin 1.7.2.
15860         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
15861         Likewise.
15862         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
15863         Likewise.
15864         * doc/glibc-functions/dup3.texi (dup3): Likewise.
15865         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
15866         * doc/glibc-functions/accept4.texi (accept4): Likewise.
15867         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
15868         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
15869         Mention nproc module.
15870         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
15871         bug in cygwin 1.7.5 addition.
15872         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
15873         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
15874         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
15875         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
15876         1.7.5.
15877         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
15878         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
15879         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
15880         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
15881         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
15882         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
15883         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
15884         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
15885         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
15886         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
15887         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
15888         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
15889         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
15890         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
15891         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
15892         Likewise.
15893         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
15894         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
15895         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
15896         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
15897         Likewise.
15898         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
15899         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
15900         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
15901         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
15902         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
15903         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
15904         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
15905         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
15906         Likewise.
15907         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
15908         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
15909         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
15910         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
15911         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
15912         Likewise.
15913         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
15914         Likewise.
15915         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
15916         Likewise.
15917         * doc/glibc-functions/xdrrec_endofrecord.texi
15918         (xdrrec_endofrecord): Likewise.
15919         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
15920         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
15921         Likewise.
15922         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
15923         Likewise.
15924
15925 2010-05-04  Jim Meyering  <meyering@redhat.com>
15926
15927         gendocs.sh: make its "-s FILE" option more useful
15928         * build-aux/gendocs.sh: When honoring the -s FILE option, update
15929         $PACKAGE to reflect the probably-different basename of "FILE".
15930
15931 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
15932
15933         bootstrap: don't ignore download_po_files failure
15934         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
15935         failure.
15936
15937 2010-05-03  Jim Meyering  <meyering@redhat.com>
15938
15939         maint.mk: allow to pass options to gendocs.sh
15940         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
15941         (gendocs_options_): New overridable variable.
15942
15943         gnu-web-doc-update: don't ignore configure or build failure
15944         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
15945
15946         announce-gen: backslash-escape '@'s in --help output
15947         * build-aux/announce-gen: Fix syntax errors.
15948
15949         maint.mk, announce-gen: allow project-specific announcement mail headers
15950         * top/maint.mk (translation_project_): Define default.
15951         (announcement_Cc_, announcement_mail_headers_): Likewise.
15952         (announcement): Invoke announce-gen with new --mail-headers option.
15953         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
15954
15955         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
15956         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
15957         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
15958         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
15959         line in the "err2" output file when running "make check" in verbose
15960         mode (i.e., with set -x enabled).
15961
15962 2010-05-03  Bruno Haible  <bruno@clisp.org>
15963
15964         wctob: Fix for weird platforms.
15965         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
15966         argument value.
15967
15968 2010-05-03  Jim Meyering  <meyering@redhat.com>
15969
15970         maint.mk: prohibit unwarranted use of <strings.h>
15971         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
15972         strings.h in a file that does not also use strcasecmp, strncasecmp,
15973         ffs or ffsll.
15974
15975         maint.mk: remove obsolete comments
15976         * top/maint.mk: Remove stale, commented-out rules.
15977
15978 2010-05-02  Bruno Haible  <bruno@clisp.org>
15979
15980         wcwidth: Declare also when it's aliased.
15981         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
15982         macro.
15983
15984 2010-05-02  Bruno Haible  <bruno@clisp.org>
15985
15986         Fix regression from 2010-04-25.
15987         * gnulib-tool (func_modules_transitive_closure): Check the status of
15988         all modules, not only of the tests that are of the form foo-tests where
15989         foo is a module.
15990
15991 2010-05-02  Bruno Haible  <bruno@clisp.org>
15992
15993         wctob: Work around nasty Cygwin 1.7.2 bug.
15994         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
15995         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
15996
15997 2010-05-01  Bruno Haible  <bruno@clisp.org>
15998
15999         fpurge: Sharper test.
16000         * tests/test-fpurge.c (main): Add one more ftell check.
16001         * modules/fpurge-tests (Depends-on): Add ftell.
16002         Suggested by Eric Blake.
16003
16004 2010-05-01  Bruno Haible  <bruno@clisp.org>
16005
16006         ftello: Another test.
16007         * tests/test-ftello3.c: New file.
16008         * modules/ftello-tests (Files): Add it.
16009         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
16010         MOSTLYCLEANFILES.
16011
16012         ftell: Another test.
16013         * tests/test-ftell3.c: New file.
16014         * modules/ftell-tests (Files): Add it.
16015         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
16016         MOSTLYCLEANFILES.
16017
16018 2010-05-01  Bruno Haible  <bruno@clisp.org>
16019
16020         ftell, ftello: Work around Solaris bug.
16021         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
16022         * lib/ftello.c: Include stdio-impl.h.
16023         (ftello): On Solaris, when _IOWRT is set, compute the result without
16024         looking at _IOREAD.
16025         * modules/ftello (Files): Add lib/stdio-impl.h.
16026         * doc/posix-functions/ftell.texi: Mention Solaris bug.
16027         * doc/posix-functions/ftello.texi: Likewise.
16028         Reported by Eric Blake.
16029
16030 2010-05-01  Bruno Haible  <bruno@clisp.org>
16031
16032         freading: Adapt to special meaning of _IOREAD flag on Solaris.
16033         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
16034         the _IOWRT flag is also set.
16035
16036 2010-05-01  Bruno Haible  <bruno@clisp.org>
16037
16038         Fix doc about a HP-UX stdio bug.
16039         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
16040         * doc/posix-functions/ftello.texi: Likewise.
16041
16042 2010-05-01  Bruno Haible  <bruno@clisp.org>
16043
16044         lseek test: Fix failure on Solaris.
16045         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
16046         output.
16047
16048 2010-04-30  Jim Meyering  <meyering@redhat.com>
16049
16050         bootstrap: don't ignore failure to generate po*/Makevars
16051         * build-aux/bootstrap (with_gettext): Don't ignore failure
16052         to create po/Makevars or runtime-po/Makevars.
16053
16054 2010-04-29  Eric Blake  <eblake@redhat.com>
16055
16056         headers: relax license to LGPLv2+
16057         * modules/fcntl-h (License): Relax license.
16058         * modules/getopt-posix (License): Likewise.
16059         * modules/locale (License): Likewise.
16060         * modules/math (License): Likewise.
16061         * modules/pty (License): Likewise.
16062         * modules/sched (License): Likewise.
16063         * modules/search (License): Likewise.
16064         * modules/spawn (License): Likewise.
16065         * modules/stdarg (License): Likewise.
16066         * modules/sysexits (License): Likewise.
16067
16068 2010-04-29  Jim Meyering  <meyering@redhat.com>
16069
16070         inttypes: relax license to LGPLv2+
16071         * modules/inttypes (License): Relax license.
16072
16073 2010-04-29  Simon Josefsson  <simon@josefsson.org>
16074
16075         * top/maint.mk (indent): Run twice to produce idempotent results.
16076
16077 2010-04-28  Bruno Haible  <bruno@clisp.org>
16078
16079         getdate: Generate getdate.c in the source directory.
16080         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
16081         MOSTLYCLEANFILES.
16082         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
16083
16084 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
16085
16086         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
16087         is not declared as a const *; avoid warnings in that case.
16088
16089 2010-04-28  Eric Blake  <eblake@redhat.com>
16090
16091         canonicalize-lgpl: avoid compiler warning
16092         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
16093         declaration' / 'extraneous semicolon' warning with some compilers.
16094         Reported by Andreas Gruenbacher.
16095
16096 2010-04-28  Jim Meyering  <meyering@redhat.com>
16097
16098         init.sh: ensure a more reliable exit status when exiting via trap
16099         * tests/init.sh (setup_): Don't rely on $? in signal handler.
16100         Inspired by patches from Dmitry V. Levin.
16101         Also trap on signal 3 (SIGQUIT).
16102
16103 2010-04-27  Bruno Haible  <bruno@clisp.org>
16104
16105         Update doc about utimes().
16106         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
16107         'utimens' module.
16108         Reported by Andreas Gruenbacher <agruen@suse.de>.
16109
16110 2010-04-27  Eric Blake  <eblake@redhat.com>
16111
16112         full-read, full-write: relax license
16113         * modules/full-read (License): Drop to LGPLv2+.
16114         * modules/full-write (License): Likewise.
16115         * modules/safe-read (License): Likewise.
16116         * modules/safe-write (License): Likewise.
16117
16118         pthread: mention library for linking
16119         * modules/pthread (Link): Mention $(LIB_PTHREAD).
16120
16121 2010-04-27  Jim Meyering  <meyering@redhat.com>
16122
16123         maint.mk: fix a bug introduced in last change
16124         * top/maint.mk (gl_assured_headers_): Now that all names are on
16125         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
16126         is not anchored to end of word, it should be adequate.
16127
16128         maint.mk: avoid side-effect in latest syntax-check
16129         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
16130         to run commands via $(shell...), and hence to incur cost only when
16131         the new rule is actually run.
16132
16133         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
16134         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
16135         and use that to create a regexp used to detect all #if HAVE_..._H uses.
16136         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
16137         (gl_assured_headers_, az_, AZ_): Define.
16138         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
16139
16140 2010-04-26  Jim Meyering  <jim@meyering.net>
16141             Bruno Haible  <bruno@clisp.org>
16142
16143         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
16144         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
16145         Prompted by an exchange with Gilles Espinasse.
16146
16147 2010-04-26  Jim Meyering  <meyering@redhat.com>
16148
16149         git-version-gen: aesthetic tweak
16150         * build-aux/git-version-gen: Use "$nl" rather than a literal,
16151         so that the command remains on a single line.
16152
16153 2010-04-26  Eric Blake  <eblake@redhat.com>
16154
16155         git-version-gen: allow use on EBCDIC hosts
16156         * build-aux/git-version-gen (dirty): Use literal rather than tying
16157         ourselves to ascii.
16158         Reported by Steve Goetze.
16159
16160 2010-04-25  Bruno Haible  <bruno@clisp.org>
16161
16162         netdb: Add support for GNULIB_POSIXCHECK.
16163         * lib/netdb.in.h: Include warn-on-use.h.
16164         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
16165         functions are used when GNULIB_POSIXCHECK is defined and the
16166         getaddrinfo module is not in use.
16167         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
16168         freeaddrinfo, gai_strerror, getnameinfo are declared.
16169         * modules/netdb (Depends-on): Add warn-on-use.
16170         (Makefile.am): Include warn-on-use.h in netdb.h.
16171
16172 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
16173
16174         build: avoid "make check" failure without .git/ directory
16175         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
16176         there is no .git/ directory.
16177
16178 2010-04-25  Bruno Haible  <bruno@clisp.org>
16179
16180         ptsname: Fix misuse of ttyname_r.
16181         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
16182         of errno.
16183
16184 2010-04-25  Bruno Haible  <bruno@clisp.org>
16185
16186         ttyname_r: Make it work on Solaris 10.
16187         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
16188         if the system function has the POSIX declaration. Test whether the
16189         function fails if the buffer is less than 128 bytes large.
16190         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
16191         system's ttyname_r function. Provide a reasonably large buffer.
16192         * modules/ttyname_r (Depends-on): Add extensions.
16193         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
16194
16195 2010-04-25  Bruno Haible  <bruno@clisp.org>
16196
16197         Use the 'extensions' module for some more functions on Solaris.
16198         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
16199         module.
16200         * doc/posix-functions/ctime_r.texi: Likewise.
16201         * doc/posix-functions/getgrgid_r.texi: Likewise.
16202         * doc/posix-functions/getgrnam_r.texi: Likewise.
16203         * doc/posix-functions/getpwnam_r.texi: Likewise.
16204         * doc/posix-functions/getpwuid_r.texi: Likewise.
16205         * doc/posix-functions/readdir_r.texi: Likewise.
16206         * doc/posix-functions/sigwait.texi: Likewise.
16207         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
16208         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
16209
16210 2010-04-25  Bruno Haible  <bruno@clisp.org>
16211
16212         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
16213         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
16214         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
16215         * lib/ttyname_r.c: Include <limits.h>.
16216         (ttyname_r): Define using the system's ttyname_r function, if it exists
16217         and not on Solaris.
16218         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
16219         set.
16220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
16221         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
16222         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
16223         Reported by Simon Josefsson.
16224
16225 2010-04-25  Bruno Haible  <bruno@clisp.org>
16226
16227         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
16228         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
16229         * doc/posix-functions/ctime_r.texi: Likewise.
16230         * doc/posix-functions/getgrgid_r.texi: Likewise.
16231         * doc/posix-functions/getgrnam_r.texi: Likewise.
16232         * doc/posix-functions/getlogin_r.texi: Likewise.
16233         * doc/posix-functions/getpwnam_r.texi: Likewise.
16234         * doc/posix-functions/getpwuid_r.texi: Likewise.
16235         * doc/posix-functions/readdir_r.texi: Likewise.
16236         * doc/posix-functions/sigwait.texi: Likewise.
16237         * doc/posix-functions/ttyname_r.texi: Likewise.
16238         Reported by Simon Josefsson.
16239
16240 2010-04-25  Bruno Haible  <bruno@clisp.org>
16241
16242         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
16243         * gnulib-tool (func_usage): Document that --with-*-tests options apply
16244         also to --create-testdir.
16245         (func_acceptable): Don't consider the status of *-tests modules here.
16246         (func_modules_transitive_closure): Consider it here, before including a
16247         test module.
16248         (func_import, func_create_testdir): Set inc_all_direct_tests,
16249         inc_all_indirect_tests.
16250         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
16251         --create-testdir and --create-megatestdir.
16252
16253 2010-04-25  Bruno Haible  <bruno@clisp.org>
16254
16255         gnulib-tool: Add --without-*-tests options.
16256         * gnulib-tool (func_usage): Document the --without-*-tests options.
16257         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
16258         excl_unportable_tests): New variables.
16259         Fail if they are specified with --import or --update.
16260         (func_acceptable): Respect the excl_*_tests variables.
16261         (func_import): Set the excl_*_tests variables to empty.
16262
16263 2010-04-25  Simon Josefsson  <simon@josefsson.org>
16264             Bruno Haible  <bruno@clisp.org>
16265
16266         Work around a MacOS X 10.4 bug with openpty.
16267         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
16268         * tests/test-openpty.c (main): Close the master side explicitly.
16269
16270 2010-04-25  Bruno Haible  <bruno@clisp.org>
16271
16272         strnlen: Fix a C++ test error on MacOS X and Solaris.
16273         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
16274         the function is not declared.
16275         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
16276         Simon Josefsson.
16277
16278 2010-04-24  Bruno Haible  <bruno@clisp.org>
16279
16280         Avoid a gcc warning.
16281         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
16282         of correct type for %08lx directive.
16283         Reported by Eric Blake.
16284
16285 2010-04-24  Bruno Haible  <bruno@clisp.org>
16286
16287         vasnprintf: Correct errno value in case of out-of-memory.
16288         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
16289         or sprintf. Use the errno value from SNPRINTF or sprintf.
16290         Reported by Ian Beckwith <ianb@erislabs.net>.
16291
16292 2010-04-24  Bruno Haible  <bruno@clisp.org>
16293
16294         ansi-c++-opt: Find correct compiler when cross-compiling.
16295         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
16296         AC_CHECK_PROGS.
16297         Reported by Simon Josefsson.
16298
16299 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
16300
16301         vc-list-files: Add support for subversion
16302         * build-aux/vc-list-files: Use "svn list" to generate the list of
16303         files controlled by subversion.
16304
16305 2010-04-23  Jim Meyering  <meyering@redhat.com>
16306
16307         vc-list-files tests: convert to use init.sh
16308         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
16309         path_prepend_.
16310         Use Exit, not exit.
16311         Use skip_ rather than open coding it.
16312         Remove trap set-up and compare definitions.
16313         * tests/test-vc-list-files-git.sh: Likewise.
16314         * modules/vc-list-files-tests (Files): Add tests/init.sh.
16315
16316 2010-04-22  Simon Josefsson  <simon@josefsson.org>
16317
16318         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
16319         backup files.
16320
16321 2010-04-21  Simon Josefsson  <simon@josefsson.org>
16322
16323         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
16324
16325 2010-04-20  Eric Blake  <eblake@redhat.com>
16326
16327         tests: be robust to ignored SIGPIPE
16328         * tests/test-select-in.sh: Consume all output.
16329         * tests/test-lseek.sh: Check correct exit status, while avoiding
16330         EPIPE.
16331
16332 2010-04-20  Simon Josefsson  <simon@josefsson.org>
16333             Bruno Haible  <bruno@clisp.org>
16334
16335         visibility: Don't use -fvisibility if it leads to a warning.
16336         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
16337         yes, don't pretend that visibility works if it leads to a warning.
16338         Reported by Mike Gran <spk121@yahoo.com>.
16339
16340 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
16341
16342         * build-aux/bootstrap: Use "git -h" for testing for supported options
16343         instead of "git --help".  The short-form option only shows a summary,
16344         and doesn't layout the full man page.  Grep for the full option name
16345         in the summary, too.
16346
16347 2010-04-19  Bruno Haible  <bruno@clisp.org>
16348
16349         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
16350         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
16351         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
16352         mention of RELOCATABLE_STRIP.
16353         Reported by Sylvain Beucler <beuc@beuc.net>.
16354
16355 2010-04-19  Bruno Haible  <bruno@clisp.org>
16356
16357         * lib/diffseq.h: Fix typo in comment.
16358         Reported by Eric Blake.
16359
16360 2010-04-19  Bruno Haible  <bruno@clisp.org>
16361
16362         ioctl: Move autoconf macro to a .m4 file.
16363         * m4/ioctl.m4: New file, extracted from modules/ioctl.
16364         * modules/ioctl (Files): Add it.
16365         (configure.ac): Simply invoke gl_FUNC_IOCTL.
16366         Reported by Ian Beckwith <ianb@erislabs.net>.
16367
16368 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
16369             Bruno Haible  <bruno@clisp.org>
16370
16371         diffseq: Accommodate use-case with abstract arrays.
16372         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
16373         is not defined.
16374         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
16375         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
16376
16377 2010-04-18  Bruno Haible  <bruno@clisp.org>
16378
16379         * doc/posix-headers/stdbool.texi: More precise wording.
16380
16381 2010-04-17  Jim Meyering  <meyering@redhat.com>
16382
16383         maint.mk: use gnu-style indentation in an embedded perl script
16384         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
16385         Rename variable: s/two/last_two_bytes/
16386
16387 2010-04-16  Eric Blake  <eblake@redhat.com>
16388
16389         test-stdbool: skip test that fails with Solaris CC
16390         * tests/test-stdbool.c (f): Skip test that causes compilation
16391         error under buggy C++ compiler.
16392         * lib/stdbool.in.h: Document the limitation.
16393         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
16394
16395         setenv: allow compilation with C++
16396         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
16397         register keyword.
16398
16399         stdint: allow test to pass with C++
16400         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
16401
16402         getopt: allow compilation with C++
16403         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
16404         struct.
16405         * lib/getopt.c (_getopt_internal_r): Use correct type.
16406         Reported by Dagobert Michelson, via Joel E. Denny.
16407
16408 2010-04-16  Bruno Haible  <bruno@clisp.org>
16409
16410         Override netdb.h always.
16411         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
16412         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
16413         Reported by Ludovic Courtès <ludo@gnu.org>.
16414
16415 2010-04-15  Bruno Haible  <bruno@clisp.org>
16416
16417         openpty: Fix mistake from 2010-03-21.
16418         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
16419         Reported by Simon Josefsson.
16420
16421 2010-04-15  Eric Blake  <eblake@redhat.com>
16422
16423         test-forkpty: fix expected signature
16424         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
16425         Reported by Simon Josefsson.
16426
16427 2010-04-15  Jim Meyering  <meyering@redhat.com>
16428
16429         maint.mk: texinfo_suffix_re_: correct the default regexp
16430         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
16431
16432         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
16433         make it configurable via texinfo_suffix_re_.
16434
16435 2010-04-14  Eric Blake  <eblake@redhat.com>
16436
16437         strtok_r: relax license to LGPLv2+
16438         * modules/strtok_r (License): Relax license.
16439         Reported by Matthias Bolte.
16440
16441 2010-04-14  Simon Josefsson  <simon@josefsson.org>
16442
16443         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
16444         version 1.4.4 by default instead of requiring the libgcrypt
16445         version used during build.  This makes it possible to use the
16446         application with older but still binary compatible libgcrypt
16447         versions.
16448
16449 2010-04-13  Eric Blake  <eblake@redhat.com>
16450
16451         getopt-gnu: match recent glibc fixes and posix ruling
16452         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
16453         '+' handling, when requesting extensions.
16454         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
16455         'W;' handling.
16456         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
16457         * doc/posix-functions/getopt.texi (getopt): Document this.
16458         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16459         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16460         Likewise.
16461
16462         getopt: merge bug fixes from glibc
16463         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
16464         diagnostics.  Honor '+:' correctly.  Reject ';'.
16465
16466         getopt-posix: detect MacOS bug
16467         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
16468         optind when missing a required argument.
16469         * doc/posix-functions/getopt.texi (getopt): Document the bug.
16470         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16471         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16472         Likewise.
16473
16474         getopt-posix: avoid spurious failure on Solaris
16475         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
16476         an indicator that setting optind=1 is sufficient for reset.
16477
16478         getopt-posix: avoid spurious failure on FreeBSD
16479         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
16480         in POSIX mode, since the m4 test uses it.
16481
16482         gnulib-tool: silence warning on BSD sh
16483         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
16484
16485 2010-04-13  Jim Meyering  <meyering@redhat.com>
16486
16487         doc: users.txt: GNU patch now uses gnulib
16488         * users.txt: Add patch.
16489
16490 2010-04-12  Jim Meyering  <meyering@redhat.com>
16491
16492         maint.mk: generate more concise timing data for syntax-check rules
16493         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
16494         " done" from each line that reports a syntax-check test duration.
16495
16496 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
16497
16498         git-version-gen: use "git update-index..." rather than "git status"
16499         * build-aux/git-version-gen: Use git update-index --refresh, not
16500         "git status".  With some versions of git, "git status" would fail
16501         to update the index and result in an unwarranted "-dirty" suffix.
16502
16503 2010-04-11  Jim Meyering  <meyering@redhat.com>
16504
16505         openat: correct formatting (no semantic change)
16506         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
16507         Suggested by Bruno Haible.
16508
16509 2010-04-11  Bruno Haible  <bruno@clisp.org>
16510
16511         Stricter declaration checking in testdirs.
16512         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16513         If for_tests is true, augment AM_CPPFLAGS to define
16514         GNULIB_STRICT_CHECKING.
16515         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
16516         GNULIB_STRICT_CHECKING is defined, verify that the function is
16517         declared.
16518
16519 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
16520             Bruno Haible  <bruno@clisp.org>
16521
16522         libunistring: Improve configure output.
16523         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
16524         Don't say "consider installing GNU libunistring" when checking again
16525         with libiconv.
16526
16527 2010-04-11  Bruno Haible  <bruno@clisp.org>
16528
16529         libunistring: Correct value of $LTLIBUNISTRING.
16530         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
16531         correct the value of $LTLIBUNISTRING.
16532
16533 2010-04-11  Bruno Haible  <bruno@clisp.org>
16534
16535         havelib: Add static libraries to LIBS in the right order.
16536         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
16537         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
16538
16539 2010-04-11  Bruno Haible  <bruno@clisp.org>
16540
16541         libunistring: Detect libunistring also when it depends on libiconv.
16542         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
16543         the second AC_LIB_HAVE_LINKFLAGS invocation.
16544
16545 2010-04-11  James Youngman  <jay@gnu.org>
16546
16547         close-stream: declare local scalars to be "const"
16548         * lib/close-stream.c (close_stream): Make boolean variables const
16549         to document the fact that we set but do not change them.
16550
16551 2010-04-11  Bruno Haible  <bruno@clisp.org>
16552
16553         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
16554
16555 2010-04-11  Jim Meyering  <meyering@redhat.com>
16556
16557         maint.mk: don't include dist-check.mk
16558         * top/maint.mk: Remove bogus include directive.
16559
16560         maint.mk: improve empty-line-at-EOF check
16561         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
16562         solution, rather than tail+Perl-based one.  The latter would read
16563         a few kilobytes from the end of each file, and did not handle empty
16564         files properly.
16565
16566         maint.mk: print the elapsed time for each syntax-check rule
16567         * top/maint.mk (sc_m_rules_): Save start time in a file.
16568         (sc_z_rules_): New rules: remove temp file and print elapsed time.
16569         (local-check): Interpose the .z rules
16570
16571 2010-04-11  Jim Meyering  <meyering@redhat.com>
16572
16573         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
16574         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
16575         empty file with one that ends in an empty line.
16576
16577 2010-04-10  Bruno Haible  <bruno@clisp.org>
16578
16579         mkdir: Make it work on mingw64.
16580         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
16581         * lib/mkdir.c: Update comment.
16582         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
16583
16584 2010-04-10  Bruno Haible  <bruno@clisp.org>
16585
16586         Don't override improved macro from newer autoconf.
16587         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
16588         autoconf >= 2.62.
16589         Reported by Joel E. Denny <jdenny@clemson.edu>.
16590
16591 2010-04-10  Jim Meyering  <meyering@redhat.com>
16592
16593         maint.mk: new syntax-check rule: prohibit empty lines at end of file
16594         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
16595
16596         maint.mk: correct a diagnostic
16597         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
16598         in diagnostic; now use $prohibit.
16599
16600 2010-04-10  Bruno Haible  <address@hidden>
16601
16602         fchownat: Fix a C++ test error on Solaris 8.
16603         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
16604         the function does not exist.
16605
16606 2010-04-10  Bruno Haible  <bruno@clisp.org>
16607
16608         vasnprintf: Add more tests.
16609         * tests/test-vasnprintf-posix.c: Include <errno.h>.
16610         (test_function): Test converting an invalid wide string.
16611
16612         vasnprintf: Correct handling of unconvertible wide string arguments.
16613         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
16614         VASNPRINTF.
16615         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
16616         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
16617         smaller than the expected maximum need for the directive. Set errno to
16618         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
16619         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
16620         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
16621         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
16622         * modules/vasnprintf (Files): Add m4/printf.m4.
16623         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16624
16625 2010-04-10  Bruno Haible  <bruno@clisp.org>
16626
16627         vasnprintf: Fix crash in %ls directive.
16628         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
16629         string is passed as argument to %ls, with no precision and no width.
16630         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16631
16632 2010-04-10  Bruno Haible  <bruno@clisp.org>
16633
16634         vasnprintf: Fix multiple test failures on mingw.
16635         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
16636         _snprintf, or snwprintf, not _snwprintf.
16637
16638 2010-04-10  Bruno Haible  <bruno@clisp.org>
16639
16640         write: Fix a C++ test error on mingw.
16641         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
16642
16643 2010-04-10  Bruno Haible  <bruno@clisp.org>
16644
16645         vasnprintf test: Reduce code duplication.
16646         * tests/test-vasnprintf.c (test_function): New function, extracted from
16647         test_vasnprintf.
16648         (test_vasnprintf, test_asnprintf): Invoke it.
16649
16650 2010-04-10  Bruno Haible  <bruno@clisp.org>
16651
16652         strnlen: Fix warning in C++ mode on MacOS X.
16653         * lib/string.in.h (strnlen): Use the modern idiom.
16654         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
16655         defining strnlen as a macro already in <config.h>.
16656         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16657         REPLACE_STRNLEN.
16658         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
16659         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16660
16661 2010-04-08  James Youngman  <jay@gnu.org>
16662
16663         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
16664         the example.
16665
16666 2010-04-09  Jim Meyering  <meyering@redhat.com>
16667
16668         maint.mk: print better diagnostic when there is no $(_hv_file)
16669         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
16670         announce that when $(_hv_file) (aka help-version) does not exist.
16671
16672         init.sh: run tr in the "C" locale to avoid multibyte interpretation
16673         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
16674         not try to interpret its random input bytes.  Jarno Rajahalme reported
16675         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
16676         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
16677         (mktempd_): Likewise, just in case.
16678
16679         ftruncate: add two years to projected module removal date: 2012
16680         * m4/ftruncate.m4: Adjust comments.
16681
16682         ftruncate: mark module as obsolete; even MinGW provides it, now
16683         * modules/ftruncate (Status): Obsolete.
16684         (Notice): Say that.
16685         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
16686         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
16687
16688 2010-04-08  Bruno Haible  <bruno@clisp.org>
16689
16690         Fix side effects from tests-related modules.
16691         * modules/dprintf-posix (Comment): New section.
16692         * modules/fprintf-posix (Comment): Likewise.
16693         * modules/obstack-printf-posix (Comment): Likewise.
16694         * modules/printf-posix (Comment): Likewise.
16695         * modules/snprintf-posix (Comment): Likewise.
16696         * modules/sprintf-posix (Comment): Likewise.
16697         * modules/vasnprintf-posix (Comment): Likewise.
16698         * modules/vasprintf-posix (Comment): Likewise.
16699         * modules/vdprintf-posix (Comment): Likewise.
16700         * modules/vfprintf-posix (Comment): Likewise.
16701         * modules/vprintf-posix (Comment): Likewise.
16702         * modules/vsnprintf-posix (Comment): Likewise.
16703         * modules/vsprintf-posix (Comment): Likewise.
16704         * modules/xprintf-posix (Comment): Likewise.
16705         * modules/xvasprintf-posix (Comment): Likewise.
16706         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
16707         * modules/floorf-tests (Depends-on): Likewise.
16708         * modules/round-tests (Depends-on): Likewise.
16709         * modules/roundf-tests (Depends-on): Likewise.
16710         * modules/trunc-tests (Depends-on): Likewise.
16711         * modules/truncf-tests (Depends-on): Likewise.
16712         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
16713         'fprintf-posix' module is not present.
16714         * tests/test-floorf2.c (check): Likewise.
16715         * tests/test-trunc2.c (check): Likewise.
16716         * tests/test-truncf2.c (check): Likewise.
16717         * tests/test-round2.c (equal): Likewise.
16718         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16719
16720 2010-04-07  Karl Berry  <karl@gnu.org>
16721
16722         * config/srclist.txt,
16723         * config/srclistvars.sh,
16724         * config/srclist-update: doc fixes.
16725
16726 2010-04-07  Jim Meyering  <meyering@redhat.com>
16727
16728         maint.mk: add a PATH crosschecking syntax-check rule
16729         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
16730         Useful if you use a test like the one in help-version (coreutils,
16731         diffutils, grep, gzip) that ensures $(VERSION) matches what is
16732         printed by prog --version.
16733
16734 2010-04-06  Bruno Haible  <bruno@clisp.org>
16735
16736         Fix link error on mingw.
16737         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
16738         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
16739
16740 2010-04-06  Bruno Haible  <bruno@clisp.org>
16741
16742         Assume rmdir exists.
16743         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
16744
16745 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
16746
16747         doc: update users.txt
16748         * users.txt: Add gcal.
16749
16750 2010-04-06  Jim Meyering  <meyering@redhat.com>
16751
16752         init.sh: simply unset TMPDIR rather than risking env -i
16753         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
16754         although it probably works fine on all Unix-based systems, some
16755         systems (Cygwin?) cannot tolerate a totally cleared environment.
16756         Suggestion from Eric Blake.
16757
16758 2010-04-06  Jim Meyering  <meyering@redhat.com>
16759
16760         init.sh: portability fix: use env's POSIX-specified -i option not -u
16761         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
16762         than unportable env -u.  Solaris 5.11's env lacks support for -u.
16763
16764 2010-04-05  Bruno Haible  <bruno@clisp.org>
16765
16766         btowc: Work around Cygwin 1.7.2 bug.
16767         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
16768         does not map NUL to 0.
16769         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
16770
16771 2010-04-05  Bruno Haible  <bruno@clisp.org>
16772
16773         Make the multithread modules work on Cygwin 1.7.2.
16774         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
16775         imported symbols can be declared weak, so that it returns "no" on
16776         Cygwin 1.7.2.
16777
16778 2010-04-05  Bruno Haible  <bruno@clisp.org>
16779
16780         Use the module 'strncat'.
16781         * modules/unistr/u8-strncat (Depends-on): Add strncat.
16782
16783         Tests for module 'strncat'.
16784         * modules/strncat-tests: New file.
16785         * tests/test-strncat.c: New file.
16786
16787         New module 'strncat'.
16788         * lib/string.in.h (strncat): New declaration.
16789         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
16790         * m4/strncat.m4: New file, based on m4/memchr.m4.
16791         * modules/strncat: New file.
16792         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
16793         is declared.
16794         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
16795         REPLACE_STRNCAT.
16796         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
16797         REPLACE_STRNCAT.
16798         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
16799         module.
16800         * tests/test-string-c++.cc: Check signature of strncat.
16801
16802 2010-04-05  Jim Meyering  <meyering@redhat.com>
16803
16804         xstrtoumax-tests: convert to use init.sh
16805         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
16806         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16807         Use Exit, not exit.
16808         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16809
16810         xstrtoimax-tests: convert to use init.sh
16811         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
16812         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16813         Use Exit, not exit.
16814         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16815
16816 2010-04-05  Bruno Haible  <bruno@clisp.org>
16817
16818         sys_socket: Avoid #define replacements in C++ mode.
16819         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
16820         warning to the function if possible, rather than #defining the symbol
16821         to a dysfunctional alias.
16822
16823 2010-04-05  Bruno Haible  <bruno@clisp.org>
16824
16825         fseeko: Fix C++ test error on mingw.
16826         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
16827         gl_FUNC_FSEEKO.
16828         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
16829         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
16830         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
16831         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
16832
16833 2010-04-05  Bruno Haible  <bruno@clisp.org>
16834
16835         duplocale: Improve test output.
16836         * tests/test-duplocale.c (main): Print reason for skipped test.
16837
16838 2010-04-05  Bruno Haible  <bruno@clisp.org>
16839
16840         Assume rmdir exists.
16841         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
16842         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
16843
16844 2010-04-05  Bruno Haible  <bruno@clisp.org>
16845
16846         Fix link error on Solaris 8 with cc.
16847         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
16848
16849 2010-04-05  Bruno Haible  <bruno@clisp.org>
16850
16851         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
16852         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
16853
16854 2010-04-05  Bruno Haible  <bruno@clisp.org>
16855
16856         vasprintf: Update documentation.
16857         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
16858
16859 2010-04-05  Bruno Haible  <bruno@clisp.org>
16860
16861         ptsname: Improve test.
16862         * tests/test-ptsname.c (main): Also try the various master names of BSD
16863         systems.
16864
16865 2010-04-05  Bruno Haible  <bruno@clisp.org>
16866
16867         memchr: Avoid a possible C++ test error.
16868         * lib/string.in.h (memchr): Provide declaration if function is missing.
16869         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
16870         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
16871         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
16872         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
16873
16874 2010-04-05  Bruno Haible  <bruno@clisp.org>
16875
16876         strtok_r: Improve idiom.
16877         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
16878         AC_LIBOBJ is used.
16879
16880 2010-04-05  Bruno Haible  <bruno@clisp.org>
16881
16882         strdup: Improve idiom.
16883         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
16884         AC_LIBOBJ is used.
16885         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
16886         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
16887         when AC_LIBOBJ is used.
16888
16889 2010-04-05  Bruno Haible  <bruno@clisp.org>
16890
16891         mbsinit, mbrtowc, wcrtomb: Improve idioms.
16892         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
16893         don't set REPLACE_MBSINIT to 1.
16894         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
16895         don't set REPLACE_MBRTOWC to 1.
16896         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
16897         exist, don't set REPLACE_MBSRTOWCS to 1.
16898         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
16899         exist, don't set REPLACE_MBSNRTOWCS to 1.
16900         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
16901         don't set REPLACE_WCRTOMB to 1.
16902         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
16903         exist, don't set REPLACE_WCSRTOMBS to 1.
16904         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
16905         exist, don't set REPLACE_WCSNRTOMBS to 1.
16906
16907 2010-04-05  Bruno Haible  <bruno@clisp.org>
16908
16909         ldexpl: Improve idiom.
16910         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
16911         make sure to set HAVE_DECL_LDEXPL to 0.
16912
16913 2010-04-05  Jim Meyering  <meyering@redhat.com>
16914
16915         xstrtol-tests: convert to use init.sh
16916         * modules/xstrtol-tests (Files): Add tests/init.sh.
16917         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16918         Use Exit, not exit.
16919         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16920
16921         atexit-tests: convert to use init.sh
16922         * modules/atexit-tests (Files): Add tests/init.sh.
16923         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16924         Use Exit, not exit.
16925         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16926
16927         init.sh: fix typo
16928         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
16929
16930         init.sh: make it easier for a test script to write to the tty, ...
16931         when using automake's parallel-tests mode.
16932         * tests/init.sh (stderr_fileno_): Define overridable variable.
16933         (warn_): New function, to use it.
16934         (fail_, skip_, framework_failure_): Use warn_.
16935
16936 2010-04-04  Bruno Haible  <bruno@clisp.org>
16937
16938         btowc: Avoid warning.
16939         * lib/btowc.c: Include <stdlib.h>.
16940         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
16941
16942 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
16943             Bruno Haible  <bruno@clisp.org>
16944
16945         wchar: Port to NetBSD 1.5.
16946         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
16947         * lib/wctype.in.h (WEOF): Likewise.
16948
16949 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
16950             Bruno Haible  <bruno@clisp.org>
16951
16952         Port extended stdio to NetBSD 1.5.
16953         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
16954         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
16955         older.
16956
16957 2010-04-04  Bruno Haible  <bruno@clisp.org>
16958
16959         string: Remove unused substitution.
16960         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
16961         HAVE_DECL_STRERROR.
16962         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
16963
16964 2010-04-04  Bruno Haible  <bruno@clisp.org>
16965
16966         strtod: Avoid a possible C++ test error.
16967         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
16968         set REPLACE_STRTOD.
16969
16970 2010-04-04  Bruno Haible  <bruno@clisp.org>
16971
16972         strerror: Update documentation.
16973         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
16974
16975 2010-04-04  Bruno Haible  <bruno@clisp.org>
16976
16977         stdio: Fix some C++ test errors on Solaris 8 with GCC.
16978         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
16979         _GL_CXXALIAS_SYS_CAST.
16980
16981 2010-04-04  Bruno Haible  <bruno@clisp.org>
16982
16983         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
16984         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
16985         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
16986         REPLACE_FREXPL to 1.
16987         * doc/posix-functions/frexpl.texi: Update documentation.
16988
16989 2010-04-04  Bruno Haible  <bruno@clisp.org>
16990
16991         math: Fix some C++ test errors on Solaris 8 and Cygwin.
16992         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
16993
16994 2010-04-04  Bruno Haible  <bruno@clisp.org>
16995
16996         Implement nanosleep for native Windows.
16997         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
16998
16999 2010-04-04  Bruno Haible  <bruno@clisp.org>
17000
17001         math: Fix some C++ test errors on Solaris 8.
17002         * lib/math.in.h (truncf, trunc): Use simpler idiom.
17003
17004 2010-04-04  Bruno Haible  <bruno@clisp.org>
17005
17006         math: Fix some C++ test errors on Cygwin.
17007         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
17008         truncl): Provide declaration if the system does not have it.
17009         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
17010         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
17011         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
17012         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
17013         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
17014         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
17015         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
17016         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
17017         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
17018         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
17019         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
17020         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
17021         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
17022         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
17023         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
17024         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
17025         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
17026         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
17027         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
17028         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
17029         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
17030         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
17031
17032 2010-04-04  Bruno Haible  <bruno@clisp.org>
17033
17034         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
17035         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
17036         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
17037         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
17038         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
17039         * m4/isinf.m4 (gl_ISINF): Likewise.
17040         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17041
17042 2010-04-04  Bruno Haible  <bruno@clisp.org>
17043
17044         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
17045         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17046
17047 2010-04-04  Bruno Haible  <bruno@clisp.org>
17048
17049         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
17050         * modules/tmpfile (configure.ac): Update.
17051
17052         tmpfile: Fix C++ test error on mingw.
17053         * lib/stdio.in.h (tmpfile): New declaration.
17054         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
17055         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
17056         * modules/tmpfile (Depends-on): Add stdio.
17057         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
17058         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
17059         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
17060         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
17061         REPLACE_TMPFILE.
17062         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
17063
17064 2010-04-04  Bruno Haible  <bruno@clisp.org>
17065
17066         ioctl: Fix C++ test error on mingw.
17067         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
17068         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
17069         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
17070
17071 2010-04-03  Bruno Haible  <bruno@clisp.org>
17072
17073         wcwidth: Fix C++ test error on mingw.
17074         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
17075         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
17076         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
17077
17078 2010-04-03  Bruno Haible  <bruno@clisp.org>
17079
17080         nanosleep: Fix C++ test error on mingw.
17081         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
17082         * lib/time.in.h (nanosleep): Use modern idiom.
17083         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
17084         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
17085         REPLACE_NANOSLEEP to 1.
17086         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
17087         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
17088
17089 2010-04-03  Bruno Haible  <bruno@clisp.org>
17090
17091         strptime: Fix C++ test error on mingw.
17092         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
17093         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
17094         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
17095         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
17096         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
17097         not REPLACE_STRPTIME.
17098         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
17099         REPLACE_STRPTIME.
17100
17101 2010-04-03  Bruno Haible  <bruno@clisp.org>
17102
17103         timegm: Fix C++ test error on mingw.
17104         * lib/time.in.h (timegm): Use modern idiom.
17105         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
17106         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
17107         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
17108         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
17109
17110 2010-04-03  Bruno Haible  <bruno@clisp.org>
17111
17112         timegm: Assume declaration if function exists.
17113         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
17114         if it exists. Don't clobber ac_cv_func_timegm.
17115
17116 2010-04-03  Bruno Haible  <bruno@clisp.org>
17117
17118         time_r: Fix C++ test error on mingw.
17119         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
17120         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
17121         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
17122         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
17123         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
17124
17125 2010-04-03  Bruno Haible  <bruno@clisp.org>
17126
17127         time_r: Minor updates.
17128         * modules/time_r (Description): Mention the provided functions.
17129         * lib/time_r.c: Don't include <string.h>.
17130         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
17131         * doc/posix-functions/localtime_r.texi: Likewise.
17132
17133 2010-04-03  Bruno Haible  <bruno@clisp.org>
17134
17135         time: Fix regression introduced on 2010-03-08.
17136         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
17137         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
17138
17139 2010-04-03  Jim Meyering  <meyering@redhat.com>
17140
17141         maint.mk: don't silently disable project-specific syntax-check rules
17142         * top/maint.mk (_prohibit_regexp): Define, to help people realize
17143         that they need to convert their project-specific syntax-check rules
17144         to use the new _sc_search_regexp.
17145
17146 2010-04-03  Bruno Haible  <bruno@clisp.org>
17147
17148         fchdir: Fix regression introduced on 2010-03-08.
17149         * lib/unistd.in.h (fchdir): Fix declaration.
17150         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
17151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
17152         REPLACE_FCHDIR.
17153         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
17154         REPLACE_FCHDIR.
17155
17156 2010-04-03  Bruno Haible  <bruno@clisp.org>
17157
17158         getpagesize: Fix C++ test error on mingw.
17159         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
17160         system does not declare the function.
17161         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
17162         declared.
17163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17164         HAVE_DECL_GETPAGESIZE.
17165         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
17166
17167 2010-04-03  Bruno Haible  <bruno@clisp.org>
17168
17169         stdio: Make C++ tests work on mingw.
17170         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
17171         does not declare the function.
17172
17173 2010-04-03  Bruno Haible  <bruno@clisp.org>
17174
17175         ftello: Fix C++ test error on mingw.
17176         * lib/stdio.in.h (ftello): Use modern idiom.
17177         * lib/ftello.c (ftello): Renamed from rpl_ftello.
17178         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
17179         is missing and that it needs to be replaced.
17180         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
17181         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
17182         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
17183
17184 2010-04-03  Bruno Haible  <bruno@clisp.org>
17185
17186         fseeko: Fix C++ test error on mingw.
17187         * lib/stdio.in.h (fseeko): Use modern idiom.
17188         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
17189         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
17190         is missing and that it needs to be replaced.
17191         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
17192         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
17193         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
17194
17195 2010-04-03  Bruno Haible  <bruno@clisp.org>
17196
17197         mkstemp: Fix C++ test error on mingw.
17198         * lib/stdlib.in.h (mkstemp): Use modern idiom.
17199         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
17200         function is missing and that it needs to be replaced.
17201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
17202         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
17203
17204 2010-04-03  Bruno Haible  <bruno@clisp.org>
17205
17206         stpncpy: Fix C++ test error on mingw.
17207         * lib/string.in.h (stpncpy): Use modern idiom.
17208         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
17209         function is missing and that it needs to be replaced.
17210         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17211         REPLACE_STPNCPY.
17212         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
17213
17214 2010-04-03  Bruno Haible  <bruno@clisp.org>
17215
17216         sys_stat: Fix C++ test error on mingw.
17217         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
17218         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
17219
17220 2010-04-03  Bruno Haible  <bruno@clisp.org>
17221
17222         pty: Update doc.
17223         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
17224
17225 2010-04-03  Bruno Haible  <bruno@clisp.org>
17226
17227         unistd: Fix C++ test error on mingw.
17228         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
17229
17230 2010-04-03  Bruno Haible  <bruno@clisp.org>
17231
17232         Update doc regarding mingw.
17233         * doc/glibc-functions/openpty.texi: Update regarding mingw.
17234         * doc/glibc-functions/login_tty.texi: Likewise.
17235         * doc/glibc-functions/forkpty.texi: Likewise.
17236
17237 2010-04-03  Bruno Haible  <bruno@clisp.org>
17238
17239         stdlib: Avoid compilation failure of c-strtold on mingw.
17240         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
17241
17242 2010-04-03  Bruno Haible  <bruno@clisp.org>
17243
17244         locale: Make C++ tests work on Cygwin and mingw.
17245         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
17246         cannot provide the function.
17247         Reported by Simon Josefsson.
17248
17249 2010-04-03  Bruno Haible  <bruno@clisp.org>
17250
17251         localename: Port to MacOS X 10.6.
17252         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
17253         memory layout of the locales in MacOS X 10.6 as well.
17254         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
17255
17256 2010-04-02  Bruno Haible  <bruno@clisp.org>
17257
17258         gnulib-tool: Ensure that long-running tests are executed last.
17259         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
17260         running tests after the one for the other tests.
17261
17262 2010-04-02  Bruno Haible  <bruno@clisp.org>
17263
17264         gnulib-tool: Ensure the tests in the main directory are executed first.
17265         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
17266         start with the current directory.
17267
17268 2010-04-02  Bruno Haible  <bruno@clisp.org>
17269
17270         Tests for module 'havelib', moved here from GNU gettext.
17271         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
17272         modifications.
17273         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
17274         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
17275         with modifications.
17276         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
17277         modifications.
17278         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
17279         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
17280         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
17281         with modifications.
17282         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
17283         with modifications.
17284         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
17285         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
17286         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
17287         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
17288         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
17289         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
17290         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
17291         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
17292         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
17293         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
17294         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
17295         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
17296         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
17297         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
17298         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
17299         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
17300         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
17301         with modifications.
17302         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
17303         with modifications.
17304         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
17305         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
17306         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
17307         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
17308         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
17309         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
17310         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
17311         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
17312         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
17313         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
17314         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
17315         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
17316         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
17317         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
17318         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
17319         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
17320         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
17321         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
17322         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
17323         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
17324         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
17325         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
17326         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
17327         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
17328         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
17329         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
17330         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
17331         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
17332         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
17333         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
17334         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
17335         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
17336         * tests/havelib/rpathx/rpathx.c: New file, from
17337         gettext/autoconf-lib-link.
17338         * tests/havelib/rpathx/Makefile.am: New file, from
17339         gettext/autoconf-lib-link.
17340         * tests/havelib/rpathx/configure.ac: New file, from
17341         gettext/autoconf-lib-link with modifications.
17342         * tests/havelib/rpathy/rpathy.c: New file, from
17343         gettext/autoconf-lib-link.
17344         * tests/havelib/rpathy/Makefile.am: New file, from
17345         gettext/autoconf-lib-link.
17346         * tests/havelib/rpathy/configure.ac: New file, from
17347         gettext/autoconf-lib-link with modifications.
17348         * tests/havelib/rpathz/rpathz.c: New file, from
17349         gettext/autoconf-lib-link.
17350         * tests/havelib/rpathz/Makefile.am: New file, from
17351         gettext/autoconf-lib-link.
17352         * tests/havelib/rpathz/configure.ac: New file, from
17353         gettext/autoconf-lib-link with modifications.
17354         * tests/havelib/rpathlx/usex.c: New file, from
17355         gettext/autoconf-lib-link.
17356         * tests/havelib/rpathlx/Makefile.am: New file, from
17357         gettext/autoconf-lib-link.
17358         * tests/havelib/rpathlx/configure.ac: New file, from
17359         gettext/autoconf-lib-link with modifications.
17360         * tests/havelib/rpathly/usey.c: New file, from
17361         gettext/autoconf-lib-link.
17362         * tests/havelib/rpathly/Makefile.am: New file, from
17363         gettext/autoconf-lib-link.
17364         * tests/havelib/rpathly/configure.ac: New file, from
17365         gettext/autoconf-lib-link with modifications.
17366         * tests/havelib/rpathlz/usez.c: New file, from
17367         gettext/autoconf-lib-link.
17368         * tests/havelib/rpathlz/Makefile.am: New file, from
17369         gettext/autoconf-lib-link.
17370         * tests/havelib/rpathlz/configure.ac: New file, from
17371         gettext/autoconf-lib-link with modifications.
17372         * tests/havelib/rpathlyx/usey.c: New file, from
17373         gettext/autoconf-lib-link.
17374         * tests/havelib/rpathlyx/Makefile.am: New file, from
17375         gettext/autoconf-lib-link.
17376         * tests/havelib/rpathlyx/configure.ac: New file, from
17377         gettext/autoconf-lib-link with modifications.
17378         * tests/havelib/rpathlzyx/usez.c: New file, from
17379         gettext/autoconf-lib-link.
17380         * tests/havelib/rpathlzyx/Makefile.am: New file, from
17381         gettext/autoconf-lib-link.
17382         * tests/havelib/rpathlzyx/configure.ac: New file, from
17383         gettext/autoconf-lib-link with modifications.
17384         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
17385         with modifications.
17386
17387 2010-04-02  Bruno Haible  <bruno@clisp.org>
17388
17389         gnulib-tool: Create distributed built sources also for the tests.
17390         * gnulib-tool (func_create_testdir): Also generate distributed built
17391         sources in the tests directory.
17392
17393 2010-04-02  Bruno Haible  <bruno@clisp.org>
17394
17395         gnulib-tool: Obey user's environment variables.
17396         * gnulib-tool (func_create_testdir): When creating built sources,
17397         respect the environment variables for autoconf, automake, etc. given by
17398         the user.
17399
17400 2010-04-02  Bruno Haible  <bruno@clisp.org>
17401
17402         gnulib-tool: Provide the value of --m4-base to modules.
17403         * gnulib-tool (func_import, func_create_testdir): Emit a definition
17404         of gl_m4_base.
17405
17406 2010-04-02  Eric Blake  <eblake@redhat.com>
17407
17408         maint.mk: fix some fallout
17409         * NEWS: Document the incompatible change, and its effect on cfg.mk.
17410         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
17411
17412 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
17413
17414         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
17415         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
17416         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
17417         (sc_cast_of_x_alloc_return_value): Likewise.
17418         (sc_cast_of_alloca_return_value): Likewise.
17419         (sc_space_tab): Likewise.
17420         (sc_prohibit_atoi_atof): Likewise.
17421         (sc_prohibit_magic_number_exit): Likewise.
17422         (sc_error_exit_success): Likewise.
17423         (sc_file_system): Likewise.
17424         (sc_prohibit_have_config_h): Likewise.
17425         (sc_require_config_h): Likewise.
17426         (sc_prohibit_HAVE_MBRTOWC): Likewise.
17427         (sc_obsolete_symbols): Likewise.
17428         (sc_changelog): Likewise.
17429         (sc_program_name): Likewise.
17430         (sc_the_the): Likewise.
17431         (sc_trailing_blank): Likewise.
17432         (sc_two_space_separator_in_usage): Likewise.
17433         (sc_useless_cpp_parens): Likewise.
17434         (sc_GPL_version): Likewise.
17435         (sc_GFDL_version): Likewise.
17436         (sc_texinfo_acronym): Likewise.
17437         (sc_prohibit_cvs_keyword): Likewise.
17438         (sc_prohibit_stat_st_blocks): Likewise.
17439         (sc_prohibit_S_IS_definition): Likewise.
17440         (sc_redundant_const): Likewise.
17441         (sc_makefile_TAB_only_indentation): Likewise.
17442         (sc_m4_quote_check): Likewise.
17443         (sc_makefile_path_separator_check): Likewise.
17444         (sc_copyright_check): Likewise.
17445         (sc_Wundef_boolean): Likewise.
17446         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
17447
17448         maint.mk: match 0 or more whitespace-before-function-call '('
17449         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
17450         that have zero or two-and-more spaces between the function name
17451         and the open parenthesis.
17452         (sc_error_message_warn_fatal): Likewise.
17453         (sc_error_message_uppercase): Likewise.
17454         (sc_error_message_period): Likewise.
17455
17456 2010-03-31  Eric Blake  <eblake@redhat.com>
17457
17458         maint.mk: check for [ as well as test
17459         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
17460         Based on a libvirt report by Matthias Bolte.
17461
17462         gnumakefile: don't squelch _version output
17463         * top/GNUmakefile (_version): Create one-shot dependency rather
17464         than using $(shell) when version must be regenerated.
17465         (_autoreconf): Run verbosely, by default.
17466
17467         sys_time: avoid compiler warnings
17468         * lib/sys_time.in.h (includes): Ensure gcc pragma is
17469         unconditional, fixing regression from 2010-03-29.
17470         Reported by Simon Josefsson.
17471
17472 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
17473
17474         maint.mk: s/_header_without_use/_sc_header_without_use/
17475         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
17476         (sc_prohibit_assert_without_use): Use the new name.
17477         (sc_prohibit_close_stream_without_use): Likewise.
17478         (sc_prohibit_getopt_without_use): Likewise.
17479         (sc_prohibit_quotearg_without_use): Likewise.
17480         (sc_prohibit_quote_without_use): Likewise.
17481         (sc_prohibit_long_options_without_use): Likewise.
17482         (sc_prohibit_inttostr_without_use): Likewise.
17483         (sc_prohibit_ignore_value_without_use): Likewise.
17484         (sc_prohibit_error_without_use): Likewise.
17485         (sc_prohibit_xalloc_without_use): Likewise.
17486         (sc_prohibit_hash_without_use): Likewise.
17487         (sc_prohibit_hash_pjw_without_use): Likewise.
17488         (sc_prohibit_safe_read_without_use): Likewise.
17489         (sc_prohibit_argmatch_without_use): Likewise.
17490         (sc_prohibit_canonicalize_without_use): Likewise.
17491         (sc_prohibit_root_dev_ino_without_use): Likewise.
17492         (sc_prohibit_openat_without_use): Likewise.
17493         (sc_prohibit_c_ctype_without_use): Likewise.
17494         (sc_prohibit_signal_without_use): Likewise.
17495         (sc_prohibit_intprops_without_use): Likewise.
17496
17497 2010-03-30  Eric Blake  <eblake@redhat.com>
17498
17499         maint: improve module indicators
17500         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
17501         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
17502         columns, and avoid extra macro expansion.
17503
17504         fdopendir: work around FreeBSD bug
17505         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
17506         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
17507         * modules/dirent (Makefile.am): Substitute it.
17508         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
17509         declaration.
17510         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
17511         fix.
17512         Reported by Christian Weisgerber <naddy@mips.inka.de>.
17513
17514 2010-03-29  Bruno Haible  <bruno@clisp.org>
17515
17516         Emit #pragma system_header after the inclusion guard, not before.
17517         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
17518         guard that spans the entire file, not before. This enables an
17519         optimization in GCC's preprocessor.
17520         * lib/ctype.in.h: Likewise.
17521         * lib/dirent.in.h: Likewise.
17522         * lib/errno.in.h: Likewise.
17523         * lib/float.in.h: Likewise.
17524         * lib/getopt.in.h: Likewise.
17525         * lib/iconv.in.h: Likewise.
17526         * lib/langinfo.in.h: Likewise.
17527         * lib/locale.in.h: Likewise.
17528         * lib/math.in.h: Likewise.
17529         * lib/netdb.in.h: Likewise.
17530         * lib/netinet_in.in.h: Likewise.
17531         * lib/pty.in.h: Likewise.
17532         * lib/sched.in.h: Likewise.
17533         * lib/se-selinux.in.h: Likewise.
17534         * lib/search.in.h: Likewise.
17535         * lib/spawn.in.h: Likewise.
17536         * lib/stdarg.in.h: Likewise.
17537         * lib/stdint.in.h: Likewise.
17538         * lib/string.in.h: Likewise.
17539         * lib/strings.in.h: Likewise.
17540         * lib/sys_file.in.h: Likewise.
17541         * lib/sys_ioctl.in.h: Likewise.
17542         * lib/sys_time.in.h: Likewise.
17543         * lib/sys_times.in.h: Likewise.
17544         * lib/sys_utsname.in.h: Likewise.
17545         * lib/sys_wait.in.h: Likewise.
17546         * lib/sysexits.in.h: Likewise.
17547         * lib/wctype.in.h: Likewise.
17548
17549 2010-03-28  James Youngman  <jay@gnu.org>
17550
17551         save-cwd: don't leak a file descriptor when the caller execs.
17552         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
17553         saved file descriptor.
17554         * modules/save-cwd (Depends-on): Depend on cloexec.
17555
17556 2010-03-29  Bruno Haible  <bruno@clisp.org>
17557
17558         Remove vestiges of fts-lgpl module.
17559         * lib/fts_.h: Assume GNULIB_FTS is 1.
17560         * lib/fts.c: Likewise.
17561         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
17562
17563 2010-03-28  Bruno Haible  <bruno@clisp.org>
17564
17565         Fix definition of tests witness macro.
17566         * gnulib-tool (func_import): Fix definition of witness macro.
17567
17568 2010-03-28  Bruno Haible  <bruno@clisp.org>
17569
17570         Fix ioctl's protoype on glibc systems.
17571         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
17572         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
17573         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
17574         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
17575         signature. If not, arrange to replace the ioctl function.
17576         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
17577         REPLACE_IOCTL.
17578         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
17579         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
17580         Reported by Ludovic Courtès <ludo@gnu.org>.
17581
17582 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
17583
17584         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
17585         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
17586         made it so grep -r --include=GLOB* ... did not work.
17587
17588 2010-03-26  Jim Meyering  <meyering@redhat.com>
17589             Eric Blake  <eblake@redhat.com>
17590
17591         maint.mk: prohibit use of test's -o and -a operators
17592         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
17593
17594 2010-03-28  Bruno Haible  <bruno@clisp.org>
17595
17596         Remove unused GNULIB_XYZ macro definitions.
17597         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
17598         invocation.
17599
17600 2010-03-28  Bruno Haible  <bruno@clisp.org>
17601
17602         Mark privileged tests modules.
17603         * modules/idpriv-drop-tests (Status): New section.
17604         * modules/idpriv-droptemp-tests (Status): New section.
17605
17606 2010-03-28  Bruno Haible  <bruno@clisp.org>
17607
17608         Split C++ tests into separate tests modules.
17609         * modules/dirent-c++-tests: New file, extracted from
17610         modules/dirent-tests.
17611         * modules/dirent-tests: Depend on it.
17612         * modules/fcntl-h-c++-tests: New file, extracted from
17613         modules/fcntl-h-tests.
17614         * modules/fcntl-h-tests: Depend on it.
17615         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
17616         * modules/glob-tests: Depend on it.
17617         * modules/iconv-h-c++-tests: New file, extracted from
17618         modules/iconv-h-tests.
17619         * modules/iconv-h-tests: Depend on it.
17620         * modules/langinfo-c++-tests: New file, extracted from
17621         modules/langinfo-tests.
17622         * modules/langinfo-tests: Depend on it.
17623         * modules/locale-c++-tests: New file, extracted from
17624         modules/locale-tests.
17625         * modules/locale-tests: Depend on it.
17626         * modules/math-c++-tests: New file, extracted from modules/math-tests.
17627         * modules/math-tests: Depend on it.
17628         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
17629         * modules/pty-tests: Depend on it.
17630         * modules/search-c++-tests: New file, extracted from
17631         modules/search-tests.
17632         * modules/search-tests: Depend on it.
17633         * modules/signal-c++-tests: New file, extracted from
17634         modules/signal-tests.
17635         * modules/signal-tests: Depend on it.
17636         * modules/spawn-c++-tests: New file, extracted from
17637         modules/spawn-tests.
17638         * modules/spawn-tests: Depend on it.
17639         * modules/stdio-c++-tests: New file, extracted from
17640         modules/stdio-tests.
17641         * modules/stdio-tests: Depend on it.
17642         * modules/stdlib-c++-tests: New file, extracted from
17643         modules/stdlib-tests.
17644         * modules/stdlib-tests: Depend on it.
17645         * modules/string-c++-tests: New file, extracted from
17646         modules/string-tests.
17647         * modules/string-tests: Depend on it.
17648         * modules/sys_ioctl-c++-tests: New file, extracted from
17649         modules/sys_ioctl-tests.
17650         * modules/sys_ioctl-tests: Depend on it.
17651         * modules/sys_select-c++-tests: New file, extracted from
17652         modules/sys_select-tests.
17653         * modules/sys_select-tests: Depend on it.
17654         * modules/sys_socket-c++-tests: New file, extracted from
17655         modules/sys_socket-tests.
17656         * modules/sys_socket-tests: Depend on it.
17657         * modules/sys_stat-c++-tests: New file, extracted from
17658         modules/sys_stat-tests.
17659         * modules/sys_stat-tests: Depend on it.
17660         * modules/sys_time-c++-tests: New file, extracted from
17661         modules/sys_time-tests.
17662         * modules/sys_time-tests: Depend on it.
17663         * modules/time-c++-tests: New file, extracted from modules/time-tests.
17664         * modules/time-tests: Depend on it.
17665         * modules/unistd-c++-tests: New file, extracted from
17666         modules/unistd-tests.
17667         * modules/unistd-tests: Depend on it.
17668         * modules/wchar-c++-tests: New file, extracted from
17669         modules/wchar-tests.
17670         * modules/wchar-tests: Depend on it.
17671         * modules/wctype-c++-tests: New file, extracted from
17672         modules/wctype-tests.
17673         * modules/wctype-tests: Depend on it.
17674         Reported by Simon Josefsson.
17675
17676 2010-03-28  Bruno Haible  <bruno@clisp.org>
17677
17678         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
17679         * gnulib-tool (func_exists_module): New function, extracted from
17680         func_verify_module.
17681         (func_verify_module): Use it.
17682         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
17683         'foo' only if 'foo' exists.
17684         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
17685         module.
17686
17687 2010-03-28  Bruno Haible  <bruno@clisp.org>
17688
17689         gnulib-tool: Add support for special categories of tests.
17690         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
17691         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
17692         (func_usage): Document them.
17693         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
17694         inc_unportable_tests, inc_all_tests): New variables.
17695         (func_acceptable): Consider these variables.
17696         (func_modules_transitive_closure): Make it work when the 'Status' field
17697         consists of multiple words.
17698         (func_import): Store and restore the values of inc_cxx_tests,
17699         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
17700         inc_all_tests in gnulib-comp.m4.
17701         (func_create_testdir): Set inc_all_tests to true.
17702         * doc/gnulib.texi (Extra tests modules): New section.
17703         Suggested by Jim Meyering.
17704
17705 2010-03-28  Bruno Haible  <bruno@clisp.org>
17706
17707         ansi-c++-opt: Allow turning off the C++ build by default.
17708         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
17709         gl_CXX_CHOICE_DEFAULT_NO is defined.
17710         Requested by Eric Blake.
17711
17712 2010-03-28  Bruno Haible  <bruno@clisp.org>
17713
17714         unistd: Avoid #define replacements in C++ mode.
17715         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
17716         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
17717         setsockopt, shutdown, select): In C++, attach a warning to the function
17718         if possible, rather than #defining the symbol to a dysfunctional alias.
17719         Reported by John W. Eaton <jwe@gnu.org>.
17720
17721 2010-03-28  Bruno Haible  <bruno@clisp.org>
17722
17723         Fix link errors on mingw.
17724         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
17725         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
17726         $(LIBSOCKET).
17727         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
17728         $(LIBSOCKET).
17729
17730 2010-03-28  Bruno Haible  <bruno@clisp.org>
17731             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17732
17733         lib-ignore: Determine different options for different compilers.
17734         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
17735         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
17736         Add comments.
17737         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
17738         * NEWS: Mention the change.
17739
17740 2010-03-27  Bruno Haible  <bruno@clisp.org>
17741
17742         Remove unused GNULIB_XYZ macro definitions.
17743         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
17744         * modules/fseek (configure.ac): Likewise.
17745         * modules/ioctl (configure.ac): Likewise.
17746         * modules/open (configure.ac): Likewise.
17747         * modules/stdlib-safer (configure.ac): Likewise.
17748
17749 2010-03-27  Bruno Haible  <bruno@clisp.org>
17750
17751         Add a remark about certain modules.
17752         * modules/malloc (Comment): New section.
17753         * modules/realloc (Comment): Likewise.
17754         * modules/sigpipe (Comment): Likewise.
17755
17756 2010-03-27  Bruno Haible  <bruno@clisp.org>
17757
17758         Resolve conflict between the two kinds of module indicators.
17759         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
17760         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
17761         * modules/canonicalize (configure.ac): Invoke
17762         gl_MODULE_INDICATOR_FOR_TESTS.
17763         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
17764         GNULIB_XYZ.
17765         * tests/test-dirent-c++.cc: Likewise.
17766         * tests/test-dirent-safer.c: Likewise.
17767         * tests/test-dup2.c: Likewise.
17768         * tests/test-fchdir.c: Likewise.
17769         * tests/test-fcntl-h-c++.cc: Likewise.
17770         * tests/test-getopt.c: Likewise.
17771         * tests/test-getopt.h: Likewise.
17772         * tests/test-langinfo-c++.cc: Likewise.
17773         * tests/test-locale-c++.cc: Likewise.
17774         * tests/test-math-c++.cc: Likewise.
17775         * tests/test-pty-c++.cc: Likewise.
17776         * tests/test-search-c++.cc: Likewise.
17777         * tests/test-signal-c++.cc: Likewise.
17778         * tests/test-spawn-c++.cc: Likewise.
17779         * tests/test-stdio-c++.cc: Likewise.
17780         * tests/test-stdlib-c++.cc: Likewise.
17781         * tests/test-string-c++.cc: Likewise.
17782         * tests/test-sys_ioctl-c++.cc: Likewise.
17783         * tests/test-sys_select-c++.cc: Likewise.
17784         * tests/test-sys_socket-c++.cc: Likewise.
17785         * tests/test-sys_stat-c++.cc: Likewise.
17786         * tests/test-sys_time-c++.cc: Likewise.
17787         * tests/test-time-c++.cc: Likewise.
17788         * tests/test-unistd-c++.cc: Likewise.
17789         * tests/test-wchar-c++.cc: Likewise.
17790         * tests/uninorm/test-u8-nfc.c: Likewise.
17791         * tests/uninorm/test-u8-nfd.c: Likewise.
17792         * tests/uninorm/test-u8-nfkc.c: Likewise.
17793         * tests/uninorm/test-u8-nfkd.c: Likewise.
17794         * tests/uninorm/test-u16-nfc.c: Likewise.
17795         * tests/uninorm/test-u16-nfd.c: Likewise.
17796         * tests/uninorm/test-u16-nfkc.c: Likewise.
17797         * tests/uninorm/test-u16-nfkd.c: Likewise.
17798         * tests/uninorm/test-u32-nfc.c: Likewise.
17799         * tests/uninorm/test-u32-nfc-big.c: Likewise.
17800         * tests/uninorm/test-u32-nfd.c: Likewise.
17801         * tests/uninorm/test-u32-nfd-big.c: Likewise.
17802         * tests/uninorm/test-u32-nfkc.c: Likewise.
17803         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
17804         * tests/uninorm/test-u32-nfkd.c: Likewise.
17805         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
17806         * tests/uninorm/test-u32-normalize-big.c: Likewise.
17807
17808 2010-03-27  Bruno Haible  <bruno@clisp.org>
17809
17810         Distinguish two kinds of module indicators.
17811         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
17812         gl_MODULE_INDICATOR.
17813         (gl_MODULE_INDICATOR): New macro.
17814         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
17815         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
17816         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
17817         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
17818         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
17819         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
17820         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
17821         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
17822         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
17823         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
17824         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
17825         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
17826         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
17827         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
17828         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
17829         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
17830         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
17831         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
17832         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
17833         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
17834         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
17835         * modules/cloexec (configure.ac): Likewise.
17836         * modules/getopt-gnu (configure.ac): Likewise.
17837         * modules/uninorm/u8-normalize (configure.ac): Likewise.
17838         * modules/uninorm/u16-normalize (configure.ac): Likewise.
17839         * modules/uninorm/u32-normalize (configure.ac): Likewise.
17840         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
17841
17842 2010-03-27  Bruno Haible  <bruno@clisp.org>
17843
17844         New module description field 'Comment'.
17845         * gnulib-tool: New option --extract-comment.
17846         (func_usage): Document it.
17847         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
17848         (func_get_comment): New function.
17849         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
17850
17851 2010-03-27  Bruno Haible  <bruno@clisp.org>
17852
17853         Addendum to 2010-02-07 commit.
17854         * gnulib-tool (func_usage): Document --extract-applicability option.
17855
17856 2010-03-27  Bruno Haible  <bruno@clisp.org>
17857
17858         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
17859         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
17860         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
17861         rather than link errors.
17862
17863 2010-03-27  Bruno Haible  <bruno@clisp.org>
17864
17865         Avoid side effects from tests-related modules on the compilation of lib.
17866         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
17867         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
17868         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
17869         parameter. Emit into AM_CPPFLAGS a definition of the designated C
17870         macro.
17871         (func_import): Define a witness macro. Assign it a value that depends
17872         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
17873         tests-related modules.
17874         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
17875         Reported by Jim Meyering.
17876
17877 2010-03-27  Bruno Haible  <bruno@clisp.org>
17878
17879         Factorize common .m4 code.
17880         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
17881         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
17882         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
17883         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
17884         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
17885         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
17886         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
17887         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
17888         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
17889         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
17890         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
17891         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
17892         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
17893         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
17894         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
17895         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
17896         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
17897         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
17898         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
17899         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
17900         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
17901         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
17902         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
17903         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
17904         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
17905         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
17906         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
17907         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
17908         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
17909         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
17910         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
17911         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
17912
17913 2010-03-27  Bruno Haible  <bruno@clisp.org>
17914
17915         Fix a compilation error on Cygwin with g++ >= 4.3.
17916         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
17917         if it is undefined or if we alias it to chmod.
17918         (lstat): Don't warn about the use of this function if it is undefined
17919         or if we alias it to stat.
17920         Reported by Simon Josefsson.
17921
17922 2010-03-27  Bruno Haible  <bruno@clisp.org>
17923
17924         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
17925         * modules/getlogin (configure.ac): Update.
17926
17927         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
17928         * modules/getlogin_r (configure.ac): Update.
17929
17930         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
17931         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
17932         * modules/inet_ntop (configure.ac): Update.
17933
17934         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
17935         * modules/inet_pton (configure.ac): Update.
17936
17937         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
17938         * modules/mbslen (configure.ac): Update.
17939
17940         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
17941         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
17942         * modules/forkpty (configure.ac): Update.
17943         * modules/openpty (configure.ac): Update.
17944
17945 2010-03-26  Simon Josefsson  <simon@josefsson.org>
17946
17947         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
17948         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
17949
17950 2010-03-25  Eric Blake  <eblake@redhat.com>
17951
17952         maint: use pragma consistently across replacement headers
17953         * lib/ctype.in.h (system_header): Hoist for consistent placement.
17954         * lib/dirent.in.h (system_header): Likewise.
17955         * lib/errno.in.h (system_header): Likewise.
17956         * lib/float.in.h (system_header): Likewise.
17957         * lib/getopt.in.h (system_header): Likewise.
17958         * lib/iconv.in.h (system_header): Likewise.
17959         * lib/inttypes.in.h (system_header): Likewise.
17960         * lib/langinfo.in.h (system_header): Likewise.
17961         * lib/locale.in.h (system_header): Likewise.
17962         * lib/math.in.h (system_header): Likewise.
17963         * lib/netdb.in.h (system_header): Likewise.
17964         * lib/netinet_in.in.h (system_header): Likewise.
17965         * lib/pty.in.h (system_header): Likewise.
17966         * lib/sched.in.h (system_header): Likewise.
17967         * lib/se-selinux.in.h (system_header): Likewise.
17968         * lib/search.in.h (system_header): Likewise.
17969         * lib/spawn.in.h (system_header): Likewise.
17970         * lib/stdarg.in.h (system_header): Likewise.
17971         * lib/stdint.in.h (system_header): Likewise.
17972         * lib/string.in.h (system_header): Likewise.
17973         * lib/strings.in.h (system_header): Likewise.
17974         * lib/sys_file.in.h (system_header): Likewise.
17975         * lib/sys_ioctl.in.h (system_header): Likewise.
17976         * lib/sys_socket.in.h (system_header): Likewise.
17977         * lib/sys_times.in.h (system_header): Likewise.
17978         * lib/sys_utsname.in.h (system_header): Likewise.
17979         * lib/sys_wait.in.h (system_header): Likewise.
17980         * lib/sysexits.in.h (system_header): Likewise.
17981         * lib/unistd.in.h (system_header): Likewise.
17982         * lib/wctype.in.h (system_header): Likewise.
17983
17984         arpa/inet: fix mingw compilation warning
17985         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
17986         Reported by Matthew Bolte.
17987
17988 2010-03-25  Bruno Haible  <bruno@clisp.org>
17989
17990         Avoid collision between gnulib wrapper and libintl wrapper.
17991         * lib/printf.c (printf): Don't define if a printf wrapper is already
17992         defined in intl/printf.c.
17993         Reported by Michel Boaventura <michel@michelboaventura.com>.
17994
17995 2010-03-25  Bruno Haible  <bruno@clisp.org>
17996
17997         Use ANSI C.
17998         * lib/readutmp.h (getutent): Provide ANSI C prototype.
17999
18000 2010-03-25  Bruno Haible  <bruno@clisp.org>
18001
18002         Minor formatting changes.
18003         * lib/acosl.c: Insert space before function argument list.
18004         * lib/argz.c: Likewise.
18005         * lib/asinl.c: Likewise.
18006         * lib/expl.c: Likewise.
18007         * lib/gen-uni-tables.c: Likewise.
18008         * lib/gettext.h: Likewise.
18009         * lib/glthread/lock.h: Likewise.
18010         * lib/tanl.c: Likewise.
18011         * lib/uniname/uniname.c: Likewise.
18012         * tests/test-idpriv-drop.c: Likewise.
18013         * tests/test-idpriv-droptemp.c: Likewise.
18014         * tests/test-lock.c: Likewise.
18015         * tests/test-tls.c: Likewise.
18016         * lib/argp-help.c: Insert space before function-like macro argument
18017         list.
18018         * lib/memcmp.c: Likewise.
18019         * tests/test-base64.c: Likewise.
18020         * lib/localename.c: Insert space before sizeof's argument list.
18021         * lib/safe-alloc.h: Likewise.
18022         * lib/file-set.h: Insert space before macro argument list.
18023         * tests/test-argp.c: Likewise.
18024         * lib/argp-namefrob.h: Insert space before function parameter list.
18025         * lib/getaddrinfo.c: Likewise.
18026         * lib/netdb.in.h: Likewise.
18027         * lib/parse-duration.h: Likewise.
18028         * lib/parse-duration.c: Likewise.
18029         * lib/poll.c: Likewise.
18030         * lib/select.c: Likewise.
18031         * lib/trim.h: Likewise.
18032         * tests/test-usleep.c: Likewise.
18033         * lib/ldexpl.c: Insert space before function parameter list and before
18034         function argument list.
18035         * lib/logl.c: Likewise.
18036         * lib/sqrtl.c: Likewise.
18037         * lib/trim.c: Likewise.
18038         * lib/cosl.c: Use GNU style indentation. Insert space before function
18039         argument list.
18040         * lib/sinl.c: Likewise.
18041         * lib/tsearch.c: Insert space after 'for'.
18042         Reported by Jim Meyering.
18043
18044 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
18045
18046         * maint.mk (sc_Wundef_boolean): Check for the presence of the
18047         config header before grepping, as it's not present before
18048         autoreconf/configure are run.  Reported by Simon Josefsson.
18049
18050 2010-03-23  Bruno Haible  <bruno@clisp.org>
18051
18052         pt_chown: Make it work with automake < 1.11.
18053         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
18054         Reported by Simon Josefsson.
18055
18056 2010-03-23  Bruno Haible  <bruno@clisp.org>
18057
18058         pt_chown: Don't depend on GPLed modules.
18059         * lib/pt_chown.c: Don't include idpriv.h.
18060         (main): Don't drop privileges.
18061         * modules/pt_chown (Depends-on): Remove idpriv-drop.
18062         Reported by Simon Josefsson.
18063
18064 2010-03-24  Simon Josefsson  <simon@josefsson.org>
18065
18066         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
18067         suggestions from karl@freefriends.org (Karl Berry).
18068
18069 2010-03-22  Eric Blake  <eblake@redhat.com>
18070
18071         gethostname: further tweaks
18072         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
18073         are overriding gethostname.
18074         Suggested by Bruno Haible.
18075
18076 2010-03-21  Bruno Haible  <bruno@clisp.org>
18077
18078         Fix comments.
18079         * lib/forkpty.c (rpl_forkpty): Fix comment.
18080         * lib/openpty.c (rpl_openpty): Likewise.
18081         Reported by Eric Blake.
18082
18083 2010-03-22  Eric Blake  <eblake@redhat.com>
18084
18085         gethostname: fix build on mingw
18086         * lib/unistd.in.h (includes): Work around fact that mingw
18087         <winsock2.h> re-includes <unistd.h>, by avoiding any
18088         redeclarations if we are being included by <winsock2.h>.
18089         Reported by Matthias Bolte.
18090
18091 2010-03-21  Bruno Haible  <bruno@clisp.org>
18092
18093         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
18094         * lib/forkpty.c (forkpty): New replacement function, from glibc with
18095         modifications.
18096         * lib/pty.in.h (forkpty): Update declaration. Add comments.
18097         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
18098         provide the replacement.
18099         * modules/forkpty (Depends-on): Add openpty, login_tty.
18100         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
18101         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
18102         * doc/glibc-functions/forkpty.texi: More supported platforms.
18103         * config/srclist.txt: Add forkpty.c (commented).
18104
18105 2010-03-21  Bruno Haible  <bruno@clisp.org>
18106
18107         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
18108         (Makefile.am): Verify that PTY_LIB is defined.
18109
18110         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
18111
18112 2010-03-21  Bruno Haible  <bruno@clisp.org>
18113
18114         Tests for module 'login_tty'.
18115         * modules/login_tty-tests: New file.
18116         * tests/test-login_tty.c: New file.
18117
18118         New module 'login_tty'.
18119         * lib/login_tty.c: New file.
18120         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
18121         * modules/login_tty: New file.
18122         * doc/glibc-functions/login_tty.texi: Mention the new module.
18123
18124 2010-03-21  Bruno Haible  <bruno@clisp.org>
18125
18126         login_tty: Documentation.
18127         * doc/glibc-functions/login_tty.texi: New file.
18128         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
18129
18130 2010-03-21  Bruno Haible  <bruno@clisp.org>
18131
18132         pty: Consistent macro naming.
18133         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
18134         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
18135         * modules/pty (configure.ac): Update.
18136
18137 2010-03-21  Bruno Haible  <bruno@clisp.org>
18138
18139         Tests for openpty: Make stricter.
18140         * tests/test-openpty.c (main): Add test of canonical processing and
18141         erase.
18142         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
18143
18144         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
18145         * lib/openpty.c (openpty): New replacement function.
18146         * lib/pty.in.h: Include <termios.h>.
18147         (openpty): Update declaration. Add comments.
18148         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
18149         is not declared, arrange to provide the replacement. Check for _getpty
18150         and posix_openpt.
18151         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
18152         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
18153         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
18154         * modules/pty-tests (test_pty_c___LDADD): New variable.
18155         * doc/glibc-functions/openpty.texi: More supported platforms.
18156
18157 2010-03-21  Bruno Haible  <bruno@clisp.org>
18158
18159         setenv: Tweaks.
18160         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
18161         the test program.
18162         * doc/posix-functions/setenv.texi: Update platforms list.
18163
18164 2010-03-21  Bruno Haible  <bruno@clisp.org>
18165
18166         New module 'unlockpt'.
18167         * lib/unlockpt.c: New file, from glibc with modifications.
18168         * m4/unlockpt.m4: New file.
18169         * modules/unlockpt: New file.
18170         * lib/stdlib.in.h (unlockpt): New declaration.
18171         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
18172         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
18173         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
18174         HAVE_UNLOCKPT.
18175         * doc/posix-functions/unlockpt.texi: Mention the new module.
18176         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
18177         * config/srclist.txt: Add unlockpt.c (commented).
18178
18179 2010-03-21  Jim Meyering  <meyering@redhat.com>
18180
18181         maint.mk: prohibit inclusion of "intprops.h" without use
18182         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
18183
18184 2010-03-21  Bruno Haible  <bruno@clisp.org>
18185
18186         New module 'grantpt'.
18187         * lib/grantpt.c: New file, from glibc with modifications.
18188         * m4/grantpt.m4: New file.
18189         * modules/grantpt: New file.
18190         * lib/stdlib.in.h (grantpt): New declaration.
18191         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
18192         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
18193         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
18194         HAVE_GRANTPT.
18195         * doc/posix-functions/grantpt.texi: Mention the new module.
18196         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
18197         * config/srclist.txt: Add grantpt.c (commented).
18198
18199 2010-03-21  Bruno Haible  <bruno@clisp.org>
18200
18201         New module 'pt_chown'.
18202         * lib/pt_chown.c: New file, from glibc with modifications.
18203         * lib/pty-private.h: New file, from glibc with modifications.
18204         * modules/pt_chown: New file.
18205         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
18206
18207 2010-03-21  Bruno Haible  <bruno@clisp.org>
18208
18209         Tests for module 'ptsname'.
18210         * modules/ptsname-tests: New file.
18211         * tests/test-ptsname.c: New file.
18212
18213         New module 'ptsname'.
18214         * lib/ptsname.c: New file, from glibc with modifications.
18215         * m4/ptsname.m4: New file.
18216         * modules/ptsname: New file.
18217         * lib/stdlib.in.h (ptsname): New declaration.
18218         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
18219         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
18220         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
18221         HAVE_PTSNAME.
18222         * doc/posix-functions/ptsname.texi: Mention the new module.
18223         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
18224         * config/srclist.txt: Add ptsname.c (commented).
18225
18226 2010-03-21  Bruno Haible  <bruno@clisp.org>
18227
18228         Tests for module 'ttyname_r'.
18229         * modules/ttyname_r-tests: New file.
18230         * tests/test-ttyname_r.c: New file.
18231
18232         New module 'ttyname_r'.
18233         * lib/ttyname_r.c: New file.
18234         * m4/ttyname_r.m4: New file.
18235         * modules/ttyname_r: New file.
18236         * lib/unistd.in.h (ttyname_r): New declaration.
18237         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
18238         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
18239         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
18240         HAVE_TTYNAME_R.
18241         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
18242         * doc/posix-functions/ttyname_r.texi: Mention the new module.
18243
18244 2010-03-20  Bruno Haible  <bruno@clisp.org>
18245
18246         signal: Undefine macro definitions in C++ mode.
18247         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
18248         sigfillset): Undefine macro definitions from the system header in C++
18249         mode.
18250         Reported by John W. Eaton <jwe@gnu.org>.
18251
18252 2010-03-20  Bruno Haible  <bruno@clisp.org>
18253
18254         Ensure no #include statements inside extern "C" { ... }.
18255         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
18256         contain #include statements.
18257         * lib/time.in.h: Likewise.
18258
18259 2010-03-20  Bruno Haible  <bruno@clisp.org>
18260
18261         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
18262         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
18263         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
18264         Reported by John W. Eaton <jwe@gnu.org>.
18265
18266 2010-03-20  Bruno Haible  <bruno@clisp.org>
18267
18268         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
18269         Reported by Jim Meyering.
18270
18271 2010-03-20  Bruno Haible  <bruno@clisp.org>
18272
18273         pipe: Set errno upon failure.
18274         * lib/pipe.h: Specify that when -1 is returned, errno is set.
18275         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
18276         errno value in error message.
18277
18278 2010-03-20  Bruno Haible  <bruno@clisp.org>
18279             Jim Meyering  <meyering@redhat.com>
18280
18281         lchown: Avoid "unused variable" warning.
18282         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
18283
18284 2010-03-20  Bruno Haible  <bruno@clisp.org>
18285
18286         Work around unlink() bug on MacOS X 10.5.6.
18287         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
18288         attempting to unlink a parent directory.
18289         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
18290         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
18291         activate for the replacement function.
18292         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
18293
18294 2010-03-20  Bruno Haible  <bruno@clisp.org>
18295
18296         Fix link errors on Solaris 8.
18297         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
18298         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
18299
18300 2010-03-19  Jim Meyering  <meyering@redhat.com>
18301
18302         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
18303         The _LIBC implementation of build_range_exp correctly honors the
18304         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
18305         However, the non-_LIBC implementation would ignore that syntax-bit
18306         flag and return REG_ERANGE unconditionally.
18307         This change makes it honor that flag.
18308         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
18309         Make two pointer parameters "const".
18310         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
18311         (parse_bracket_exp): Update caller.
18312
18313         regex.m4: correct the reversed range endpoint ([b-a]) test
18314         * m4/regex.m4: When requiring that [b-a] evoke failure,
18315         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
18316         test pass once again for x86-based systems.
18317
18318 2010-03-19  Bruno Haible  <bruno@clisp.org>
18319
18320         scandir: Fix link error on Solaris 8.
18321         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
18322         macros.
18323
18324 2010-03-19  Bruno Haible  <bruno@clisp.org>
18325
18326         getusershell: Fix documentation.
18327         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
18328         module.
18329         * doc/glibc-functions/setusershell.texi: Likewise.
18330
18331         getusershell: Provide declaration, missing on Solaris 9.
18332         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
18333         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
18334         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
18335         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
18336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18337         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
18338         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
18339         HAVE_GETUSERSHELL.
18340         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
18341
18342 2010-03-19  Bruno Haible  <bruno@clisp.org>
18343
18344         wctype: Provide iswblank function.
18345         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
18346         exists and is fine.
18347         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
18348         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
18349         * tests/test-wctype.c (main): Re-enable the iswblank tests.
18350         * doc/posix-functions/iswblank.texi: Update.
18351
18352 2010-03-19  Bruno Haible  <bruno@clisp.org>
18353
18354         Tests of module 'pty' in C++ mode.
18355         * modules/pty-tests: New file.
18356         * tests/test-pty-c++.cc: New file.
18357         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18358
18359 2010-03-19  Eric Blake  <eblake@redhat.com>
18360
18361         logb: fix documentation
18362         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
18363         1.5 declaration bug.
18364
18365         forkpty, openpty: prefer glibc's const-safe prototype
18366         * lib/forkpty.c (rpl_forkpty): New file.
18367         * lib/openpty.c (rpl_openpty): Likewise.
18368         * modules/forkpty (Files): Distribute it.
18369         * modules/openpty (Files): Likewise.
18370         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
18371         check...
18372         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
18373         replacement for for non-const BSD signature.
18374         * modules/pty (Makefile.am): Substitute witnesses.
18375         * lib/pty.in.h (forkpty, openpty): Declare replacements.
18376         * tests/test-forkpty.c: Update signature check.
18377         * tests/test-openpty.c: Likewise.
18378         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
18379         * doc/glibc-functions/openpty.texi (openpty): Likewise.
18380
18381         forkpty, openpty: split functions into new modules
18382         * modules/pty (Makefile.am): Substitute new witnesses.
18383         (Libraries): Move library detection...
18384         * modules/forkpty: ...into new module.
18385         * modules/openpty: Another new module.
18386         * modules/pty-tests: Rename and split...
18387         * modules/forkpty-tests: ...to this...
18388         * modules/openpty-tests: ...and this.
18389         * tests/test-pty.c: Rename and split...
18390         * tests/test-forkpty.c: ...to this...
18391         * tests/test-openpty.c: ...and this.
18392         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
18393         (gl_PTY): Split library searching...
18394         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
18395         (gl_FORKPTY, gl_OPENPTY): New macros.
18396         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
18397         * NEWS: Mention the split.
18398         * MODULES.html.sh (Misc): Document the modules.
18399         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
18400         * doc/glibc-functions/openpty.texi (openpty): Likewise.
18401
18402         pty: improve replacement header
18403         * lib/pty.in.h: New file.
18404         * modules/pty (Files): Ship it.
18405         (Makefile.am): Always build replacement.
18406         * m4/pty.m4: Rename...
18407         * m4/pty_h.m4: ...to this.
18408         (gl_PTY): Modernize setting of witness macros; update check of
18409         forkpty to take proper advantage of cache.
18410         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
18411
18412         getopt: avoid compiler warning
18413         * lib/getopt.c (attribute_hidden): Remove unused macro.
18414
18415 2010-03-18  Bruno Haible  <bruno@clisp.org>
18416
18417         Fix link errors on Solaris 8.
18418         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
18419         * modules/search-tests (test_search_c___LDADD): Likewise.
18420         * modules/signal-tests (test_signal_c___LDADD): Likewise.
18421         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
18422         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
18423         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
18424         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
18425         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
18426         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
18427
18428 2010-03-18  Bruno Haible  <bruno@clisp.org>
18429
18430         Fix bug introduced on 2010-03-14.
18431         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
18432         (gl_SPAWN_H): Require it.
18433         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
18434         Reported by Simon Josefsson.
18435
18436 2010-03-18  Bruno Haible  <bruno@clisp.org>
18437
18438         Fix typo introduced on 2009-12-31.
18439         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
18440         posix_spawn_file_actions_adddup2.
18441
18442 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
18443         and Eric Blake  <eblake@redhat.com>
18444
18445         test-vc-list-files-git: make more robust
18446         * tests/test-vc-list-files-git.sh: Unset problematic environment
18447         variables.  Chain commands together.
18448
18449 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
18450
18451         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
18452         `AC_CHECK_DECL' invocation.
18453
18454 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
18455
18456         * lib/inttostr.c (inttostr): Make sure the invocation of verify
18457         appears before executable statements. Suggested by Petr Sumbera
18458         <Petr.Sumbera@Sun.COM>.
18459
18460 2010-03-14  Bruno Haible  <bruno@clisp.org>
18461
18462         * tests/test-flock.c (test_exclusive): Comment out a test that causes
18463         portability problems. Instead use a simpler test.
18464         (main): Check that invalid arguments are rejected only on Linux.
18465
18466 2010-03-14  Bruno Haible  <bruno@clisp.org>
18467
18468         Fix bug introduced on 2009-12-31.
18469         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
18470         gl_PREREQ_SYS_H_WINSOCK2 always.
18471         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
18472         SYS_SOCKET_H variable.
18473         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
18474         Update comments.
18475         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
18476         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18477         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18478         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18479         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
18480
18481 2010-03-14  Bruno Haible  <bruno@clisp.org>
18482
18483         Fix values returned by sinl, cosl.
18484         * lib/trigl.h: Add specification comments.
18485         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
18486         that combines the values from the precomputed table with the values of
18487         the Chebyshev polynomials.
18488
18489 2010-03-14  Bruno Haible  <bruno@clisp.org>
18490
18491         Fix compilation error when modules 'posix_spawn[p]' are not used.
18492         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
18493         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
18494
18495 2010-03-14  Bruno Haible  <bruno@clisp.org>
18496
18497         Fix compilation error on mingw when module 'time_r' is not used.
18498         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
18499         is 1.
18500         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
18501         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
18502         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
18503         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
18504
18505 2010-03-14  Bruno Haible  <bruno@clisp.org>
18506
18507         Fix compilation error with Sun C.
18508         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
18509         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
18510         instead of GCC specific ULONG_LONG_MAX.
18511         * lib/xstrtoll.c: Likewise.
18512         * lib/xstrtoull.c: Likewise.
18513
18514 2010-03-13  Bruno Haible  <bruno@clisp.org>
18515
18516         Allow the user to disable C++ code and tests.
18517         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
18518         (gl_PROG_ANSI_CXX): Require it.
18519
18520 2010-03-13  Bruno Haible  <bruno@clisp.org>
18521
18522         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
18523         cases.
18524
18525 2010-03-13  Bruno Haible  <bruno@clisp.org>
18526
18527         Test that gnulib does not break the standard C++ headers.
18528         * tests/test-locale-c++2.cc: New file.
18529         * modules/locale-tests (Files): Add it.
18530         (Makefile.am): Compile it for test-locale-c++.
18531         * tests/test-math-c++2.cc: New file.
18532         * modules/math-tests (Files): Add it.
18533         (Makefile.am): Compile it for test-math-c++.
18534         * tests/test-signal-c++2.cc: New file.
18535         * modules/signal-tests (Files): Add it.
18536         (Makefile.am): Compile it for test-signal-c++.
18537         * tests/test-stdio-c++2.cc: New file.
18538         * modules/stdio-tests (Files): Add it.
18539         (Makefile.am): Compile it for test-stdio-c++.
18540         * tests/test-stdlib-c++2.cc: New file.
18541         * modules/stdlib-tests (Files): Add it.
18542         (Makefile.am): Compile it for test-stdlib-c++.
18543         * tests/test-string-c++2.cc: New file.
18544         * modules/string-tests (Files): Add it.
18545         (Makefile.am): Compile it for test-string-c++.
18546         * tests/test-time-c++2.cc: New file.
18547         * modules/time-tests (Files): Add it.
18548         (Makefile.am): Compile it for test-time-c++.
18549         Reported by John W. Eaton <jwe@gnu.org>.
18550
18551 2010-03-13  Bruno Haible  <bruno@clisp.org>
18552
18553         * gnulib-tool (func_usage): Clarify which options are available for
18554         --create-testdir and --create-megatestdir.
18555
18556 2010-03-13  Bruno Haible  <bruno@clisp.org>
18557
18558         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
18559         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
18560         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
18561         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
18562         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
18563         when appropriate.
18564         Reported by Jim Meyering.
18565
18566 2010-03-12  Simon Josefsson  <simon@josefsson.org>
18567
18568         * gnulib-tool (func_import): Explain origin of code.
18569
18570 2010-03-12  Bruno Haible  <bruno@clisp.org>
18571
18572         Fix problem with automake's definition of CXXLINK.
18573         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
18574         Reported by Simon Josefsson and Ludovic Courtès.
18575
18576 2010-03-12  Bruno Haible  <bruno@clisp.org>
18577
18578         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
18579         stable releases.
18580
18581 2010-03-11  Bruno Haible  <bruno@clisp.org>
18582
18583         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
18584         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
18585         whether the system provides one variant or multiple variants of the
18586         function.
18587         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
18588         C++ compilers.
18589         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
18590         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
18591         Reported by Jim Meyering.
18592
18593 2010-03-09  Simon Josefsson  <simon@josefsson.org>
18594
18595         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
18596
18597 2010-03-08  Bruno Haible  <bruno@clisp.org>
18598
18599         gnulib-tool: Add support for --libtool in --create-testdir.
18600         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
18601         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
18602
18603 2010-03-08  Eric Blake  <eblake@redhat.com>
18604
18605         gnulib-tool.texi: mention possibility of git submodule
18606         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
18607         submodules.
18608         * doc/.gitignore: Ignore another generated file.
18609
18610 2010-03-08  Karl Berry  <karl@gnu.org>
18611
18612         * doc/gnulib-tool.texi (VCS Issues): Mention third option
18613         of committing gnulib files while skipping others.
18614
18615 2010-03-07  Bruno Haible  <bruno@clisp.org>
18616
18617         Tests of module 'wctype' in C++ mode.
18618         * tests/test-wctype-c++.cc: New file.
18619         * modules/wctype-tests (Files): Add it and tests/signature.h.
18620         (Depends-on): Add ansi-c++-opt.
18621         (Makefile.am): Arrange to compile and run test-wctype-c++.
18622
18623         Tests of module 'wchar' in C++ mode.
18624         * tests/test-wchar-c++.cc: New file.
18625         * modules/wchar-tests (Files): Add it and tests/signature.h.
18626         (Depends-on): Add ansi-c++-opt.
18627         (Makefile.am): Arrange to compile and run test-wchar-c++.
18628         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
18629         gl_MODULE_INDICATOR.
18630
18631         Tests of module 'unistd' in C++ mode.
18632         * tests/test-unistd-c++.cc: New file.
18633         * modules/unistd-tests (Files): Add it and tests/signature.h.
18634         (Depends-on): Add ansi-c++-opt.
18635         (Makefile.am): Arrange to compile and run test-unistd-c++.
18636         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
18637         gl_MODULE_INDICATOR.
18638
18639         Tests of module 'time' in C++ mode.
18640         * tests/test-time-c++.cc: New file.
18641         * modules/time-tests (Files): Add it and tests/signature.h.
18642         (Depends-on): Add ansi-c++-opt.
18643         (Makefile.am): Arrange to compile and run test-time-c++.
18644         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18645
18646         Tests of module 'sys_time' in C++ mode.
18647         * tests/test-sys_time-c++.cc: New file.
18648         * modules/sys_time-tests (Files): Add it and tests/signature.h.
18649         (Depends-on): Add ansi-c++-opt.
18650         (Makefile.am): Arrange to compile and run test-sys_time-c++.
18651         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
18652         gl_MODULE_INDICATOR.
18653
18654         Tests of module 'sys_stat' in C++ mode.
18655         * tests/test-sys_stat-c++.cc: New file.
18656         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
18657         (Depends-on): Add ansi-c++-opt.
18658         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
18659         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
18660         gl_MODULE_INDICATOR.
18661
18662         Tests of module 'sys_socket' in C++ mode.
18663         * tests/test-sys_socket-c++.cc: New file.
18664         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
18665         (Depends-on): Add ansi-c++-opt.
18666         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
18667         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
18668         gl_MODULE_INDICATOR.
18669
18670         Tests of module 'sys_select' in C++ mode.
18671         * tests/test-sys_select-c++.cc: New file.
18672         * modules/sys_select-tests (Files): Add it and tests/signature.h.
18673         (Depends-on): Add ansi-c++-opt.
18674         (Makefile.am): Arrange to compile and run test-sys_select-c++.
18675         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
18676         gl_MODULE_INDICATOR.
18677
18678         Tests of module 'sys_ioctl' in C++ mode.
18679         * tests/test-sys_ioctl-c++.cc: New file.
18680         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
18681         (Depends-on): Add ansi-c++-opt.
18682         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
18683         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
18684         gl_MODULE_INDICATOR.
18685
18686         Tests of module 'string' in C++ mode.
18687         * tests/test-string-c++.cc: New file.
18688         * modules/string-tests (Files): Add it and tests/signature.h.
18689         (Depends-on): Add ansi-c++-opt.
18690         (Makefile.am): Arrange to compile and run test-string-c++.
18691         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
18692         gl_MODULE_INDICATOR.
18693
18694         Tests of module 'stdlib' in C++ mode.
18695         * tests/test-stdlib-c++.cc: New file.
18696         * modules/stdlib-tests (Files): Add it and tests/signature.h.
18697         (Depends-on): Add ansi-c++-opt.
18698         (Makefile.am): Arrange to compile and run test-stdlib-c++.
18699         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
18700         gl_MODULE_INDICATOR.
18701
18702         Tests of module 'stdio' in C++ mode.
18703         * tests/test-stdio-c++.cc: New file.
18704         * modules/stdio-tests (Files): Add it and tests/signature.h.
18705         (Depends-on): Add ansi-c++-opt.
18706         (Makefile.am): Arrange to compile and run test-stdio-c++.
18707         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
18708         gl_MODULE_INDICATOR.
18709
18710         Tests of module 'spawn' in C++ mode.
18711         * tests/test-spawn-c++.cc: New file.
18712         * modules/spawn-tests (Files): Add it and tests/signature.h.
18713         (Depends-on): Add ansi-c++-opt.
18714         (Makefile.am): Arrange to compile and run test-spawn-c++.
18715         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
18716         gl_MODULE_INDICATOR.
18717
18718         Tests of module 'signal' in C++ mode.
18719         * tests/test-signal-c++.cc: New file.
18720         * modules/signal-tests (Files): Add it and tests/signature.h.
18721         (Depends-on): Add ansi-c++-opt.
18722         (Makefile.am): Arrange to compile and run test-signal-c++.
18723         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
18724         gl_MODULE_INDICATOR.
18725
18726         Tests of module 'search' in C++ mode.
18727         * tests/test-search-c++.cc: New file.
18728         * modules/search-tests (Files): Add it and tests/signature.h.
18729         (Depends-on): Add ansi-c++-opt.
18730         (Makefile.am): Arrange to compile and run test-search-c++.
18731         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
18732         gl_MODULE_INDICATOR.
18733
18734         Tests of module 'math' in C++ mode.
18735         * tests/test-math-c++.cc: New file.
18736         * modules/math-tests (Files): Add it and tests/signature.h.
18737         (Depends-on): Add ansi-c++-opt.
18738         (Makefile.am): Arrange to compile and run test-math-c++.
18739         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18740
18741         Tests of module 'locale' in C++ mode.
18742         * tests/test-locale-c++.cc: New file.
18743         * modules/locale-tests (Files): Add it and tests/signature.h.
18744         (Depends-on): Add ansi-c++-opt.
18745         (Makefile.am): Arrange to compile and run test-locale-c++.
18746         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
18747         gl_MODULE_INDICATOR.
18748
18749         Tests of module 'langinfo' in C++ mode.
18750         * tests/test-langinfo-c++.cc: New file.
18751         * modules/langinfo-tests (Files): Add it and tests/signature.h.
18752         (Depends-on): Add ansi-c++-opt.
18753         (Makefile.am): Arrange to compile and run test-langinfo-c++.
18754         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
18755         gl_MODULE_INDICATOR.
18756
18757         Tests of module 'iconv-h' in C++ mode.
18758         * tests/test-iconv-h-c++.cc: New file.
18759         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
18760         (Depends-on): Add ansi-c++-opt.
18761         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
18762
18763         Tests of module 'glob' in C++ mode.
18764         * tests/test-glob-c++.cc: New file.
18765         * modules/glob-tests (Files): Add it.
18766         (Depends-on): Add ansi-c++-opt.
18767         (Makefile.am): Arrange to compile and run test-glob-c++.
18768
18769         Tests of module 'fcntl-h' in C++ mode.
18770         * tests/test-fcntl-h-c++.cc: New file.
18771         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
18772         (Depends-on): Add ansi-c++-opt.
18773         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
18774         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
18775         gl_MODULE_INDICATOR.
18776
18777         Tests of module 'dirent' in C++ mode.
18778         * tests/test-dirent-c++.cc: New file.
18779         * modules/dirent-tests (Files): Add it and tests/signature.h.
18780         (Depends-on): Add ansi-c++-opt.
18781         (Makefile.am): Arrange to compile and run test-dirent-c++.
18782         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
18783         gl_MODULE_INDICATOR.
18784
18785         New module 'ansi-c++-opt'.
18786         * modules/ansi-c++-opt: New file.
18787         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
18788
18789         Document C++ namespace mode.
18790         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
18791
18792         wctype: Avoid #define replacements in C++ mode.
18793         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
18794         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
18795         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
18796         In C++, define a namespaced alias symbol.
18797         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
18798         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
18799         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
18800         rule.
18801
18802         wchar: Avoid #define replacements in C++ mode.
18803         * lib/wchar.in.h: Include c++defs.h.
18804         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
18805         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
18806         symbol.
18807         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
18808         * modules/wchar (Depends-on): Add c++defs.
18809         (Makefile.am): Update wchar.h rule.
18810
18811         unistd: Avoid #define replacements in C++ mode.
18812         * lib/unistd.in.h: Include c++defs.h.
18813         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
18814         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
18815         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
18816         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
18817         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
18818         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
18819         symbol.
18820         (environ): Update.
18821         * modules/unistd (Depends-on): Add c++defs.
18822         (Makefile.am): Update unistd.h rule.
18823
18824         time: Avoid #define replacements in C++ mode.
18825         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
18826         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
18827         define a namespaced alias symbol.
18828         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
18829         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
18830         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
18831         * modules/time (Depends-on): Add c++defs, warn-on-use.
18832         (Makefile.am): Update time.h rule.
18833         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
18834         * modules/nanosleep (configure.ac): Likewise.
18835         * modules/strptime (configure.ac): Likewise.
18836         * modules/timegm (configure.ac): Likewise.
18837
18838         sys_time: Avoid #define replacements in C++ mode.
18839         * lib/sys_time.in.h: Include c++defs.h.
18840         (gettimeofday): In C++, define a namespaced alias symbol.
18841         * modules/sys_time (Depends-on): Add c++defs.
18842         (Makefile.am): Update sys/time.h rule.
18843
18844         sys_stat: Avoid #define replacements in C++ mode.
18845         * lib/sys_stat.in.h: Include c++defs.h.
18846         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
18847         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
18848         namespaced alias symbol.
18849         In C++, define a namespaced alias symbol.
18850         * modules/sys_stat (Depends-on): Add c++defs.
18851         (Makefile.am): Update sys/stat.h rule.
18852
18853         sys_socket: Avoid #define replacements in C++ mode.
18854         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
18855         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
18856         definitions also when the system has a <sys/socket.h>.
18857         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
18858         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
18859         In C++, define a namespaced alias symbol.
18860         * modules/sys_socket (Depends-on): Add c++defs.
18861         (Makefile.am): Update sys/socket.h rule.
18862
18863         sys_select: Avoid #define replacements in C++ mode.
18864         * lib/sys_select.in.h: Include c++defs.h. Enable the function
18865         definitions also when the system has a <sys/select.h>.
18866         (select): In C++, define a namespaced alias symbol.
18867         * modules/sys_select (Depends-on): Add c++defs.
18868         (Makefile.am): Update sys/select.h rule.
18869
18870         sys_ioctl: Avoid #define replacements in C++ mode.
18871         * lib/sys_ioctl.in.h: Include c++defs.h.
18872         (ioctl): In C++, define a namespaced alias symbol.
18873         * modules/sys_ioctl (Depends-on): Add c++defs.
18874         (Makefile.am): Update sys/ioctl.h rule.
18875
18876         string: Avoid #define replacements in C++ mode.
18877         * lib/string.in.h: Include c++defs.h.
18878         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
18879         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
18880         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
18881         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
18882         strsignal, strverscmp): In C++, define a namespaced alias symbol.
18883         * modules/string (Depends-on): Add c++defs.
18884         (Makefile.am): Update string.h rule.
18885
18886         stdlib: Avoid #define replacements in C++ mode.
18887         * lib/stdlib.in.h: Include c++defs.h.
18888         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
18889         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
18890         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
18891         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
18892         symbol.
18893         * modules/stdlib (Depends-on): Add c++defs.
18894         (Makefile.am): Update stdlib.h rule.
18895
18896         stdio: Avoid #define replacements in C++ mode.
18897         * lib/stdio.in.h: Include c++defs.h.
18898         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
18899         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
18900         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
18901         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
18902         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
18903         namespaced alias symbol.
18904         * modules/stdio (Depends-on): Add c++defs.
18905         (Makefile.am): Update stdio.h rule.
18906
18907         spawn: Avoid #define replacements in C++ mode.
18908         * lib/spawn.in.h: Include c++defs.h.
18909         (posix_spawn, posix_spawnp, posix_spawnattr_init,
18910         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
18911         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
18912         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
18913         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
18914         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
18915         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
18916         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
18917         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
18918         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
18919         In C++, define a namespaced alias symbol.
18920         * modules/spawn (Depends-on): Add c++defs.
18921         (Makefile.am): Update spawn.h rule.
18922
18923         signal: Avoid #define replacements in C++ mode.
18924         * lib/signal.in.h: Include c++defs.h.
18925         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
18926         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
18927         namespaced alias symbol.
18928         * modules/signal (Depends-on): Add c++defs.
18929         (Makefile.am): Update signal.h rule.
18930
18931         search: Avoid #define replacements in C++ mode.
18932         * lib/search.in.h: Include c++defs.h.
18933         (_gl_search_compar_fn, _gl_search_action_fn): New types.
18934         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
18935         symbol.
18936         * modules/search (Depends-on): Add c++defs.
18937         (Makefile.am): Update search.h rule.
18938
18939         math: Avoid #define replacements in C++ mode.
18940         * lib/math.in.h: Include c++defs.h.
18941         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
18942         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
18943         trunc, truncl): In C++, define a namespaced alias symbol.
18944         * modules/math (Depends-on): Add c++defs.
18945         (Makefile.am): Update math.h rule.
18946
18947         locale: Avoid #define replacements in C++ mode.
18948         * lib/locale.in.h: Include c++defs.h.
18949         (duplocale): In C++, define a namespaced alias symbol.
18950         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
18951         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
18952         * modules/locale (Depends-on): Add c++defs.
18953         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
18954
18955         langinfo: Avoid #define replacements in C++ mode.
18956         * lib/langinfo.in.h: Include c++defs.h.
18957         (nl_langinfo): In C++, define a namespaced alias symbol.
18958         * modules/langinfo (Depends-on): Add c++defs.
18959         (Makefile.am): Update langinfo.h rule.
18960
18961         iconv-h: Avoid #define replacements in C++ mode.
18962         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
18963         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
18964         symbol.
18965         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
18966         whenever iconv is present.
18967         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
18968         (Makefile.am): Update iconv.h rule.
18969
18970         glob: Avoid #define replacements in C++ mode.
18971         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
18972         (_gl_glob_errfunc_fn): New type.
18973         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
18974         symbol.
18975         * modules/glob (Depends-on): Add c++defs, warn-on-use.
18976         (Makefile.am): Update glob.h rule.
18977
18978         fcntl-h: Avoid #define replacements in C++ mode.
18979         * lib/fcntl.in.h: Include c++defs.h.
18980         (fcntl, open, openat): In C++, define a namespaced alias symbol.
18981         * modules/fcntl-h (Depends-on): Add c++defs.
18982         (Makefile.am): Update fcntl.h rule.
18983
18984         dirent: Avoid #define replacements in C++ mode.
18985         * lib/dirent.in.h: Include c++defs.h.
18986         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
18987         namespaced alias symbol.
18988         (dirfd): Update declaration.
18989         * modules/dirent (Depends-on): Add c++defs.
18990         (Makefile.am): Update dirent.h rule.
18991
18992         ctype: Make it usable in C++ code.
18993         * lib/ctype.in.h: Include c++defs.h.
18994         (isblank): Declare as extern "C".
18995         * modules/ctype (Depends-on): Add c++defs.
18996         (Makefile.am): Update ctype.h rule.
18997
18998         New module 'c++defs'.
18999         * modules/c++defs: New file.
19000         * build-aux/c++defs.h: New file.
19001         Reported by John W. Eaton <jwe@gnu.org>.
19002
19003 2010-03-07  Bruno Haible  <bruno@clisp.org>
19004
19005         logb: Provide missing declaration for Cygwin.
19006         * lib/math.in.h (logb): New declaration.
19007         * m4/logb.m4: New file.
19008         * modules/logb (Files): Add m4/logb.m4.
19009         (Depends-on): Add math.
19010         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
19011         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
19012         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
19013         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
19014         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
19015
19016 2010-03-07  Bruno Haible  <bruno@clisp.org>
19017
19018         Fix test-cond link error.
19019         * tests/test-cond.c: Include <stdio.h>.
19020
19021 2010-03-07  Bruno Haible  <bruno@clisp.org>
19022
19023         Fix test-dirent-safer link error.
19024         * modules/dirent-safer-tests (Makefile.am): Define
19025         test_dirent_safer_LDADD.
19026
19027 2010-03-07  Bruno Haible  <bruno@clisp.org>
19028
19029         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
19030         among default module list.
19031
19032 2010-03-07  Bruno Haible  <bruno@clisp.org>
19033
19034         Fix link error on platforms with GNU libiconv.
19035         * modules/unistr/u8-strcoll-tests (Makefile): Define
19036         test_u8_strcoll_LDADD.
19037         * modules/unistr/u16-strcoll-tests (Makefile): Define
19038         test_u16_strcoll_LDADD.
19039         * modules/unistr/u32-strcoll-tests (Makefile): Define
19040         test_u32_strcoll_LDADD.
19041
19042 2010-03-07  Bruno Haible  <bruno@clisp.org>
19043
19044         Use POSIX declarations for socket functions.
19045         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
19046         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
19047         rpl_sendto): Change declaration to match POSIX.
19048         * lib/connect.c (rpl_connect): Likewise.
19049         * lib/accept.c (rpl_accept): Likewise.
19050         * lib/bind.c (rpl_bind): Likewise.
19051         * lib/getpeername.c (rpl_getpeername): Likewise.
19052         * lib/getsockname.c (rpl_getsockname): Likewise.
19053         * lib/recv.c (rpl_recv): Likewise.
19054         * lib/send.c (rpl_send): Likewise.
19055         * lib/recvfrom.c (rpl_recvfrom): Likewise.
19056         * lib/sendto.c (rpl_sendto): Likewise.
19057
19058 2010-03-06  Bruno Haible  <bruno@clisp.org>
19059
19060         Clarify access, euidaccess, faccessat.
19061         * doc/posix-functions/faccessat.texi: Mention security problem under
19062         "Other problems", not "Portability problems".
19063         * doc/posix-functions/access.texi: Likewise. Mention a related security
19064         problem.
19065         * doc/glibc-functions/euidaccess.texi: Mention security problems.
19066         * lib/euidaccess.c: Add comments about platforms.
19067         * lib/unistd.in.h (access, euidaccess): Add warnings.
19068
19069 2010-03-07  Bruno Haible  <bruno@clisp.org>
19070
19071         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
19072         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
19073         (POSIX_SPAWN_SETSCHEDULER): Likewise.
19074         (POSIX_SPAWN_USEVFORK): Define in a way that works when
19075         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
19076         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
19077         declare when POSIX_SPAWN_SETSCHEDULER is zero.
19078         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
19079         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
19080         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
19081         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
19082         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
19083         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
19084         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
19085         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
19086         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
19087         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
19088         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
19089         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
19090         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
19091         Likewise.
19092         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
19093         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
19094         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
19095         Likewise.
19096         * tests/test-spawn.c (main): Make it work when
19097         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
19098
19099 2010-03-07  Bruno Haible  <bruno@clisp.org>
19100
19101         Fix incorrect Makefile.am generation in German locale.
19102         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19103         Execute sed command with character range in C locale.
19104
19105 2010-03-06  Bruno Haible  <bruno@clisp.org>
19106
19107         Tests for module 'iconv-h'.
19108         * modules/iconv-h-tests: New file.
19109         * tests/test-iconv-h.c: New file.
19110
19111         New module 'iconv-h'.
19112         * modules/iconv-h: New file.
19113         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
19114         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
19115         (configure.ac): Remove gl_ICONV_H.
19116         (Makefile.am): Remove rule for iconv.h.
19117
19118 2010-03-06  Bruno Haible  <bruno@clisp.org>
19119
19120         More consistent naming of *.m4 files.
19121         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
19122         * modules/wctype (Files): Update.
19123
19124         More consistent naming of *.m4 files.
19125         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
19126         * modules/wchar (Files): Update.
19127
19128 2010-03-06  Jim Meyering  <meyering@redhat.com>
19129
19130         euidaccess: relax license to LGPLv2+
19131         * modules/euidaccess (License): Relax to LGPLv2+.
19132
19133 2010-03-06  Bruno Haible  <bruno@clisp.org>
19134
19135         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
19136         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
19137         (Makefile.am): Augment lib_SOURCES instead.
19138
19139 2010-03-04  Jim Meyering  <meyering@redhat.com>
19140
19141         utime: remove obsolete module
19142         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
19143         unnecessary for years, and has been marked as obsolete for 10 months.
19144         * modules/utime: Remove file.
19145         * lib/utime.c: Remove file.
19146         * m4/utime.m4: Remove file.
19147         * m4/utimes-null.m4: Remove file.
19148         * doc/posix-functions/utime.texi (utime): Remove reference to
19149         the module.  Move the sole "fixed by gnulib" item into the
19150         "problems not fixed by Gnulib" list.
19151         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
19152
19153 2010-03-05  Simon Josefsson  <simon@josefsson.org>
19154
19155         * modules/exit (License): Relax license to LGPLv2+.
19156         (Status): Mark as obsolete.
19157         * NEWS: Mention deprecated 'exit' module.
19158         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
19159         of now obsolete 'exit'.
19160
19161 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19162
19163         fts-lgpl: remove unused module
19164         * modules/fts-lgpl: Remove.
19165         * MODULES.html.sh (func_all_modules): Adjust.
19166         * check-module (find_included_lib_files): Adjust.
19167         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
19168
19169 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
19170
19171         copy-acl: enhance Solaris ACL error handling
19172         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
19173         * lib/set-mode-acl.c (qset_acl): Likewise.
19174
19175 2010-03-02  Bruno Haible  <bruno@clisp.org>
19176
19177         spawn: Don't override the system defined values on FreeBSD 8.
19178         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
19179         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
19180         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
19181         if HAVE_POSIX_SPAWN is 1.
19182         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
19183
19184 2010-03-01  Bruno Haible  <bruno@clisp.org>
19185
19186         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
19187         regarding Automake.
19188
19189 2010-02-25  Bruno Haible  <bruno@clisp.org>
19190
19191         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
19192         * gnulib-tool: Define 'echo' as a function only before the ksh alias
19193         setting, not afterwards.
19194         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
19195
19196 2010-02-24  Eric Blake  <eblake@redhat.com>
19197
19198         bootstrap, git-version-gen: use timestamp
19199         * build-aux/git-version-gen (scriptversion): Force UTC.
19200         * build-aux/bootstrap (scriptversion): New variable.
19201
19202         bootstrap: allow older git
19203         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
19204         older than 1.6.4.  Requested by the libvirt project.
19205
19206 2010-02-23  Eric Blake  <eblake@redhat.com>
19207
19208         warn-on-use: work with old autoconf
19209         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
19210         AS_VAR semantics of autoconf 2.60.
19211         Reported by Bruno Haible.
19212
19213         bootstrap: improve some comments
19214         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
19215         clarification comments.
19216
19217         gettimeofday: provide correct function
19218         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
19219         when replacement is declared, otherwise provide gettimeofday.
19220         Reported by Michael Goffioul.
19221
19222 2010-02-23  Jim Meyering  <meyering@redhat.com>
19223
19224         lib-ignore: relax license to "unlimited", not LGPLv2+
19225         * modules/lib-ignore (License): Relax to "unlimited".
19226
19227 2010-02-23  Jim Meyering  <meyering@redhat.com>
19228
19229         lib-ignore: relax license to LGPLv2+
19230         * modules/lib-ignore (License): Relax to LGPLv2+.
19231
19232 2010-02-22  Eric Blake  <eblake@redhat.com>
19233
19234         lseek: avoid bash 3.2 broken pipe bug
19235         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
19236         warning from bash 3.2.
19237         Reported by Ben Pfaff, with analysis from Bruno Haible.
19238
19239         bootstrap: support non-FSF copyright holder
19240         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
19241         bootstrap.conf override of COPYRIGHT_HOLDER.
19242         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
19243
19244         bootstrap: interoperate with gettext 0.14.1
19245         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
19246
19247         bootstrap: allow for alternate submodule location
19248         * build-aux/bootstrap (gnulib_path): New variable; use instead of
19249         hardcoding submodule location.
19250         (gnulib_mk): Allow direct use of Makefile.am.
19251
19252         bootstrap: use GNULIB_SRCDIR to reduce disk usage
19253         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
19254         rather than reconfiguring where the submodule points.
19255
19256         gettimeofday: restore support for platforms that lack function
19257         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
19258         replacement if function is missing.
19259         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
19260         * modules/sys_time (Makefile.am): Substitute it.
19261         * lib/sys_time.in.h (gettimeofday): Check it.
19262         Reported by Michael Goffioul.
19263
19264 2010-02-21  Bruno Haible  <bruno@clisp.org>
19265
19266         * lib/stdio.in.h (obstack_printf): Fix typo.
19267
19268 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
19269
19270         vc-list-files: use bzr ls's -R option
19271         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
19272         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
19273
19274 2010-02-21  Jim Meyering  <meyering@redhat.com>
19275
19276         init.sh: fix EXEEXT shims to work also for names like test-prog
19277         * tests/init.sh: Re-exec a better shell, when needed.
19278         If the current shell lacks support for posix $(...), an init.sh-using
19279         test will now try to find a shell that supports that.  If EXEEXT is
19280         nonempty, we also require support for hyphen-in-alias-name and shell
19281         substitutions like ${var#glob}.  Failure to find such a shell results
19282         in a skipped test.
19283
19284 2010-02-21  Bruno Haible  <bruno@clisp.org>
19285
19286         Really work around around "broken pipe" error message from bash 3.2.
19287         * gnulib-tool (func_reset_sigpipe): Remove function.
19288         (echo): In bash 3.2, define to a function that uses printf.
19289         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
19290
19291 2010-02-20  Bruno Haible  <bruno@clisp.org>
19292
19293         Restore support for automake 1.9.6 with autoconf 2.61.
19294         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
19295         Reported by James Youngman <jay@gnu.org>.
19296
19297 2010-02-20  Bruno Haible  <bruno@clisp.org>
19298
19299         Improve *printf warning condition.
19300         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
19301         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
19302         and the function is overridden due to SIGPIPE emulation.
19303
19304 2010-02-20  Bruno Haible  <bruno@clisp.org>
19305
19306         * lib/stdio.in.h: Tweak comments.
19307
19308 2010-02-19  Bruno Haible  <bruno@clisp.org>
19309
19310         Make it easier to find modules. New gnulib-tool option '--find'.
19311         * gnulib-tool: New option --find.
19312         (func_usage): Document it.
19313         (func_sanitize_modulelist): New function, extracted from
19314         func_all_modules.
19315         (func_all_modules): Invoke it.
19316         * doc/gnulib-tool.texi (Which modules?): New node.
19317
19318 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
19319
19320         * lib/sys_select.in.h: Provide select replacement even if
19321         sys/select.h exists on a system, for Interix.
19322
19323 2010-02-18  Jim Meyering  <meyering@redhat.com>
19324
19325         init.sh: don't use $(...) just yet
19326         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
19327         to accommodate e.g., Solaris' /bin/sh.
19328
19329 2010-02-17  Bruno Haible  <bruno@clisp.org>
19330
19331         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
19332         Reported by Ludovic Courtès <ludo@gnu.org>.
19333
19334 2010-02-16  Simon Josefsson  <simon@josefsson.org>
19335
19336         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
19337         linking with -lintl.
19338
19339 2010-02-17  Simon Josefsson  <simon@josefsson.org>
19340
19341         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
19342         if not provided by the system's netdb.h.  Reported by
19343         ludo@gnu.org (Ludovic Courtès).
19344
19345 2010-02-15  Jim Meyering  <meyering@redhat.com>
19346
19347         init.sh: improve portability and efficiency
19348         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
19349         "dummy" in a for loop.
19350         Use '!', not '^' to select the complement of a character set used
19351         in a "case" statement.
19352         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
19353         Suggestions from Eric Blake.
19354
19355         init.sh: automatically accommodate programs with the .exe suffix
19356         Automatically arrange for an invocation of "prog" to execute the
19357         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
19358         may use the simpler "prog", yet still work when built on a system
19359         that requires specifying the added suffix.
19360         Do this by constructing a function named "prog" that invokes
19361         "prog.exe" for each .exe file in selected directories.
19362         * tests/init.sh (find_exe_basenames_): New function.
19363         (create_exe_shim_functions_): New function.
19364         (path_prepend_): Use it.
19365
19366         maint.mk: mark syntax-check sc_*.m rules as .PHONY
19367         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
19368         "make -t syntax-check" doesn't create a ton of sc_*.m files.
19369
19370 2010-02-14  Jim Meyering  <meyering@redhat.com>
19371
19372         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
19373         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
19374         (sc_prohibit_hash_pjw_without_use): New rule.
19375
19376         maint.mk: allow the default upload destination dir to be overridden
19377         * top/maint.mk (upload_dest_dir_): Define with a default that
19378         preserves the status quo.
19379         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
19380         Reported by Peter Simons.
19381
19382         maint.mk: prohibit inclusion of "hash.h" without_use
19383         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
19384
19385 2010-02-10  Jim Meyering  <meyering@redhat.com>
19386
19387         maint.mk: prohibit inclusion of "ignore-value.h" without_use
19388         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
19389
19390 2010-02-09  Eric Blake  <ebb9@byu.net>
19391         and Bruno Haible  <bruno@clisp.org>
19392
19393         obstack-printf-posix: ensure declaration
19394         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
19395         extracted from gl_FUNC_OBSTACK_PRINTF.
19396         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
19397         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
19398         Likewise.
19399         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
19400         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
19401         0.
19402
19403 2010-02-08  Bruno Haible  <bruno@clisp.org>
19404
19405         gnulib-tool: Fix typo in 2010-02-07 commit.
19406         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
19407         Reported by Eric Blake.
19408
19409 2010-02-07  Bruno Haible  <bruno@clisp.org>
19410
19411         gnulib-tool: Fix up caching patches.
19412         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
19413         option --no-cache. Use associative arrays when supported by the shell.
19414         (sed_comments): New variable.
19415         (modcache): Renamed from do_cache.
19416         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
19417         abbreviate unnecessarily.
19418         (have_associative): New variable.
19419         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
19420         way also for ksh and zsh.
19421         (func_init_sed_convert_to_cache_statements): New function, extracted
19422         from func_cache_lookup_module. Add support for associative arrays.
19423         Don't set the c_MODULE_cached variable here. Ignore all lines before
19424         the first field header. Remove only the final newline, not all trailing
19425         newlines. Support empty fields correctly. Limit the use of 'eval' to
19426         assignments.
19427         (func_get_description, func_get_status, func_get_notice,
19428         func_get_applicability, func_get_filelist, func_get_dependencies,
19429         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
19430         func_get_automake_snippet, func_get_include_directive,
19431         func_get_link_directive, func_get_license, func_get_maintainer):
19432         Update documentation. List the unoptimized code first. Add support for
19433         associative arrays. Limit the use of 'eval' to assignments.
19434         (func_get_applicability): Undo stylistic pessimisations.
19435         (func_get_automake_snippet, func_get_include_directive): Reduce code
19436         duplication.
19437         (func_modules_transitive_closure, func_modules_add_dummy,
19438         func_modules_notice, func_modules_to_filelist, func_add_file,
19439         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
19440         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
19441         func_create_testdir, func_create_megatestdir): Update documentation.
19442
19443 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19444
19445         * gnulib-tool (func_cache_lookup_module): Store the module name
19446         belonging to the cache variable; error out if two different
19447         module names map to the same cache variable name.
19448
19449 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19450
19451         gnulib-tool: Make caching optional.
19452         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
19453         Update matching short versions of --no-changelog.
19454         (func_usage): Update.
19455         (sed_extract_cache_prog): Renamed from ...
19456         (sed_extract_prog): ... this; revert to old extraction script.
19457         (func_get_description, func_get_status)
19458         (func_get_notice, func_get_applicability, func_get_filelist)
19459         (func_get_dependencies, func_get_autoconf_early_snippet)
19460         (func_get_autoconf_snippet, func_get_automake_snippet)
19461         (func_get_include_directive, func_get_link_directive)
19462         (func_get_license, func_get_maintainer): If $do_cache is false,
19463         use old, non-caching extraction scripts.
19464         Suggestion by Bruno Haible.
19465
19466 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19467
19468         gnulib-tool: cache module metainformation.
19469         * gnulib-tool (sed_extract_prog): Match newline before each
19470         header, and rewrite header to a shell variable suffix.
19471         (func_cache_var, func_cache_lookup_module): New functions,
19472         to turn a module name into a cache variable prefix, and to
19473         look up and cache module metainformation.
19474         (func_get_description, func_get_status)
19475         (func_get_notice, func_get_applicability, func_get_filelist)
19476         (func_get_dependencies, func_get_autoconf_early_snippet)
19477         (func_get_autoconf_snippet, func_get_automake_snippet)
19478         (func_get_include_directive, func_get_link_directive)
19479         (func_get_license, func_get_maintainer): Use
19480         func_cache_lookup_module.
19481
19482 2010-02-07  Bruno Haible  <bruno@clisp.org>
19483
19484         fnctl: Fix missing dependency.
19485         * modules/fcntl (Depends-on): Add getdtablesize.
19486         Reported by John W. Eaton <jwe@gnu.org>.
19487
19488 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
19489
19490         Argp: fix recognition of short alias options.
19491
19492         * lib/argp-parse.c (convert_options): Fix improper use of
19493         `|' between character values.
19494         * tests/test-argp.c (group1_option): New alias option
19495         --read (-r).
19496         (group1_parser): Special handling for 'r'.
19497         (test15): New test case.
19498         (test_fun): Add test15.
19499         * tests/test-argp-2.sh: Update expected --help and --usage
19500         outputs.
19501
19502 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
19503
19504         * tests/test-argp.c: Fix indentation.
19505
19506 2010-02-04  Eric Blake  <ebb9@byu.net>
19507
19508         gettimeofday: expose type of second argument
19509         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
19510         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
19511         * tests/test-gettimeofday.c: Use it to silence warning.
19512         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
19513         the issue.
19514
19515 2010-02-03  Jim Meyering  <meyering@redhat.com>
19516
19517         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
19518         * lib/regcomp.c (TYPE_SIGNED): Define.
19519         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
19520
19521         regcomp.c: avoid a new -Wshadow warning
19522         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
19523
19524 2010-02-01  Jim Meyering  <meyering@redhat.com>
19525
19526         removing useless parentheses in cpp #define directives
19527         For motivation, see commit c0221df4, "define STREQ(a,b)
19528         consistently, removing useless parentheses"
19529         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
19530         * lib/mountlist.c (MNT_IGNORE): Likewise.
19531         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
19532
19533 2010-02-01  Eric Blake  <ebb9@byu.net>
19534
19535         sys_time: use link-warning
19536         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
19537         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
19538         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
19539         * modules/sys_time (Depends-on): Add warn-on-use.
19540         (Makefile.am): Always build replacement.
19541         (configure.ac): Update substitutions.
19542         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
19543         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
19544         bother with SYS_TIME_H.
19545         * modules/gettimeofday (configure.ac): Declare indicator.
19546         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
19547         in use.
19548
19549         closein-tests: silence compiler warning
19550         * tests/test-closein.c (main): Ignore fread result.
19551         * modules/closein-tests (Depends-on): Add ignore-value.
19552
19553         tests: silence warning about system return
19554         * tests/test-areadlink-with-size.c (main): Ignore system result.
19555         * tests/test-areadlink.c (main): Likewise.
19556         * tests/test-areadlinkat-with-size.c (main): Likewise.
19557         * tests/test-areadlinkat.c (main): Likewise.
19558         * tests/test-canonicalize-lgpl.c (main): Likewise.
19559         * tests/test-canonicalize.c (main): Likewise.
19560         * tests/test-chown.c (main): Likewise.
19561         * tests/test-fchownat.c (main): Likewise.
19562         * tests/test-fdutimensat.c (main): Likewise.
19563         * tests/test-fstatat.c (main): Likewise.
19564         * tests/test-futimens.c (main): Likewise.
19565         * tests/test-lchown.c (main): Likewise.
19566         * tests/test-link.c (main): Likewise.
19567         * tests/test-linkat.c (main): Likewise.
19568         * tests/test-lstat.c (main): Likewise.
19569         * tests/test-mkdir.c (main): Likewise.
19570         * tests/test-mkdirat.c (main): Likewise.
19571         * tests/test-mkfifo.c (main): Likewise.
19572         * tests/test-mkfifoat.c (main): Likewise.
19573         * tests/test-mknod.c (main): Likewise.
19574         * tests/test-readlink.c (main): Likewise.
19575         * tests/test-remove.c (main): Likewise.
19576         * tests/test-rename.c (main): Likewise.
19577         * tests/test-renameat.c (main): Likewise.
19578         * tests/test-rmdir.c (main): Likewise.
19579         * tests/test-symlink.c (main): Likewise.
19580         * tests/test-symlinkat.c (main): Likewise.
19581         * tests/test-unlink.c (main): Likewise.
19582         * tests/test-unlinkat.c (main): Likewise.
19583         * tests/test-utimens.c (main): Likewise.
19584         * tests/test-utimensat.c (main): Likewise.
19585         * modules/areadlink-tests (Depends-on): Add ignore-value.
19586         * modules/areadlink-with-size-tests (Depends-on): Likewise.
19587         * modules/areadlinkat-tests (Depends-on): Likewise.
19588         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
19589         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
19590         * modules/canonicalize-tests (Depends-on): Likewise.
19591         * modules/chown-tests (Depends-on): Likewise.
19592         * modules/fdutimensat-tests (Depends-on): Likewise.
19593         * modules/futimens-tests (Depends-on): Likewise.
19594         * modules/lchown-tests (Depends-on): Likewise.
19595         * modules/link-tests (Depends-on): Likewise.
19596         * modules/linkat-tests (Depends-on): Likewise.
19597         * modules/lstat-tests (Depends-on): Likewise.
19598         * modules/mkdir-tests (Depends-on): Likewise.
19599         * modules/mkfifo-tests (Depends-on): Likewise.
19600         * modules/mkfifoat-tests (Depends-on): Likewise.
19601         * modules/mknod-tests (Depends-on): Likewise.
19602         * modules/openat-tests (Depends-on): Likewise.
19603         * modules/readlink-tests (Depends-on): Likewise.
19604         * modules/remove-tests (Depends-on): Likewise.
19605         * modules/rename-tests (Depends-on): Likewise.
19606         * modules/renameat-tests (Depends-on): Likewise.
19607         * modules/rmdir-tests (Depends-on): Likewise.
19608         * modules/symlink-tests (Depends-on): Likewise.
19609         * modules/symlinkat-tests (Depends-on): Likewise.
19610         * modules/unlink-tests (Depends-on): Likewise.
19611         * modules/utimens-tests (Depends-on): Likewise.
19612         * modules/utimensat-tests (Depends-on): Likewise.
19613
19614 2010-01-31  Bruno Haible  <bruno@clisp.org>
19615
19616         Perform the same test for many <math.h> functions.
19617         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
19618         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
19619         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
19620         of gl_MATHFUNC.
19621         * modules/acos (configure.ac): Likewise.
19622         * modules/asin (configure.ac): Likewise.
19623         * modules/atan (configure.ac): Likewise.
19624         * modules/atan2 (configure.ac): Likewise.
19625         * modules/cbrt (configure.ac): Likewise.
19626         * modules/copysign (configure.ac): Likewise.
19627         * modules/cos (configure.ac): Likewise.
19628         * modules/cosh (configure.ac): Likewise.
19629         * modules/erf (configure.ac): Likewise.
19630         * modules/erfc (configure.ac): Likewise.
19631         * modules/exp (configure.ac): Likewise.
19632         * modules/fmod (configure.ac): Likewise.
19633         * modules/hypot (configure.ac): Likewise.
19634         * modules/j0 (configure.ac): Likewise.
19635         * modules/j1 (configure.ac): Likewise.
19636         * modules/jn (configure.ac): Likewise.
19637         * modules/lgamma (configure.ac): Likewise.
19638         * modules/log (configure.ac): Likewise.
19639         * modules/log10 (configure.ac): Likewise.
19640         * modules/log1p (configure.ac): Likewise.
19641         * modules/pow (configure.ac): Likewise.
19642         * modules/remainder (configure.ac): Likewise.
19643         * modules/sin (configure.ac): Likewise.
19644         * modules/sinh (configure.ac): Likewise.
19645         * modules/tan (configure.ac): Likewise.
19646         * modules/tanh (configure.ac): Likewise.
19647         * modules/y0 (configure.ac): Likewise.
19648         * modules/y1 (configure.ac): Likewise.
19649         * modules/yn (configure.ac): Likewise.
19650         Suggested by Paolo Bonzini.
19651
19652 2010-01-31  Bruno Haible  <bruno@clisp.org>
19653
19654         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
19655
19656 2010-01-31  Bruno Haible  <bruno@clisp.org>
19657
19658         Work around getdelim() bug on FreeBSD 8.0.
19659         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
19660         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
19661         not work.
19662         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
19663         is 1.
19664         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
19665         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
19666         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
19667         a non-zero size.
19668         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
19669
19670 2010-01-31  Bruno Haible  <bruno@clisp.org>
19671
19672         Work around getline() bug on FreeBSD 8.0.
19673         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
19674         and a non-zero size.
19675         * tests/test-getline.c (main): Likewise.
19676         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
19677         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
19678
19679 2010-01-28  Eric Blake  <ebb9@byu.net>
19680
19681         regex: fix build failure
19682         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
19683         platforms.
19684
19685 2010-01-28  Jim Meyering  <meyering@redhat.com>
19686
19687         regex: do not ignore memory allocation failure
19688         * lib/regex_internal.c (create_cd_newstate): Detect
19689         re_node_set_init_copy failure.   Extracted from glibc commit
19690         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
19691
19692         regex: sync more white-space changes from libc
19693         * lib/regex_internal.c: White-space only changes.
19694         * lib/regexec.c: Likewise.
19695
19696         regex: add many uses of __attribute_warn_unused_result__
19697         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
19698         * lib/regexec.c: Likewise.
19699         Extracted from a messy glibc commit.
19700
19701         regcomp.c: spelling and merge-artifact from glibc
19702         * lib/regcomp.c: Merge remainder of glibc's
19703         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
19704
19705         regcomp.c: sync white-space changes from glibc
19706         * lib/regcomp.c: Merge to accommodate white space
19707         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
19708
19709         regcomp.c: do not ignore internal return values
19710         * lib/regcomp.c: Do not ignore internal return values.
19711         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
19712         but without its white-space changes and spelling fixes.
19713
19714         regex_internal.h: define __attribute_warn_unused_result__
19715         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
19716
19717         maint: add a syntax-check rule to check for vulnerable Makefile.in
19718         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
19719
19720 2010-01-27  Jim Meyering  <meyering@redhat.com>
19721
19722         ncftpput-ftp: clean up spaces
19723         * build-aux/ncftpput-ftp: Make Copyright line consistent.
19724         Remove trailing blanks.
19725
19726 2010-01-27  Simon Josefsson  <simon@josefsson.org>
19727
19728         * build-aux/git-version-gen: Fix copyright statement.
19729         * build-aux/gnupload: Likewise.
19730         * tests/test-arcfour.c: Likewise.
19731         * tests/test-arctwo.c: Likewise.
19732         * tests/test-count-one-bits.c: Likewise.
19733         * tests/test-crc.c: Likewise.
19734         * tests/test-des.c: Likewise.
19735         * tests/test-gc-arcfour.c: Likewise.
19736         * tests/test-gc-arctwo.c: Likewise.
19737         * tests/test-gc-des.c: Likewise.
19738         * tests/test-gc-hmac-md5.c: Likewise.
19739         * tests/test-gc-hmac-sha1.c: Likewise.
19740         * tests/test-gc-md2.c: Likewise.
19741         * tests/test-gc-md4.c: Likewise.
19742         * tests/test-gc-md5.c: Likewise.
19743         * tests/test-gc-pbkdf2-sha1.c: Likewise.
19744         * tests/test-gc-rijndael.c: Likewise.
19745         * tests/test-gc-sha1.c: Likewise.
19746         * tests/test-gc.c: Likewise.
19747         * tests/test-gethostname.c: Likewise.
19748         * tests/test-gettimeofday.c: Likewise.
19749         * tests/test-hash.c: Likewise.
19750         * tests/test-hmac-md5.c: Likewise.
19751         * tests/test-hmac-sha1.c: Likewise.
19752         * tests/test-md2.c: Likewise.
19753         * tests/test-md4.c: Likewise.
19754         * tests/test-md5.c: Likewise.
19755         * tests/test-memchr.c: Likewise.
19756         * tests/test-memchr2.c: Likewise.
19757         * tests/test-memcmp.c: Likewise.
19758         * tests/test-memmem.c: Likewise.
19759         * tests/test-memrchr.c: Likewise.
19760         * tests/test-rawmemchr.c: Likewise.
19761         * tests/test-read-file.c: Likewise.
19762         * tests/test-rijndael.c: Likewise.
19763         * tests/test-sockets.c: Likewise.
19764         * tests/test-strchrnul.c: Likewise.
19765         * tests/test-strstr.c: Likewise.
19766         * tests/test-strtod.c: Likewise.
19767         * build-aux/ncftpput-ftp: Likewise.
19768
19769 2010-01-26  Eric Blake  <ebb9@byu.net>
19770
19771         ignore-value: update recommended header name
19772         * modules/ignore-value (Include): Only use <> for headers that
19773         exist in glibc.
19774
19775 2010-01-26  Jim Meyering  <meyering@redhat.com>
19776
19777         test-userspec.c: avoid compiler warnings
19778         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
19779         and "initialization discards qualifiers..." warnings.
19780         Put the first "uid" in its own scope, and make char* members "const".
19781
19782 2010-01-25  Bruno Haible  <bruno@clisp.org>
19783
19784         gnulib-tool: Make warning diagnostics consistent.
19785         * gnulib-tool (func_warning): New function.
19786         Use it everywhere where gnulib-tool produces output to stderr and it is
19787         not a fatal error.
19788
19789 2010-01-25  Bruno Haible  <bruno@clisp.org>
19790
19791         Fix test dependencies.
19792         * modules/xstrtol-tests (Depends-on): Add inttypes.
19793         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
19794
19795 2010-01-25 Pádraig Brady <P@draigBrady.com>
19796
19797         syntax-check: detect incorrect boolean macro values in config.h
19798         * modules/maintainer-makefile (configure.ac): Parameterize the location
19799         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
19800         The logic is from Eric Blake and the location indicated by Jim Meyering.
19801         Note the more natural CONFIG_HEADER name is prohibited by automake
19802         for backwards compatibility reasons.
19803         * top/maint.mk (sc_Wundef_boolean): New rule.
19804
19805 2010-01-25  Jim Meyering  <meyering@redhat.com>
19806
19807         bootstrap: detect MacOS 10.6's shasum, too
19808         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
19809         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
19810
19811 2010-01-23  Jim Meyering  <meyering@redhat.com>
19812
19813         xstrtoll: new module
19814         * modules/xstrtoll: New file.
19815         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
19816         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
19817         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
19818         ./configure fails if you use this module and lack "long long".
19819         * modules/xstrtoll-tests: New module.
19820         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
19821         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
19822         new init.sh-based test framework.
19823
19824 2010-01-24  Bruno Haible  <bruno@clisp.org>
19825
19826         Tests for module 'yn'.
19827         * modules/yn-tests: New file.
19828         * tests/test-yn.c: New file.
19829
19830         Tests for module 'y1'.
19831         * modules/y1-tests: New file.
19832         * tests/test-y1.c: New file.
19833
19834         Tests for module 'y0'.
19835         * modules/y0-tests: New file.
19836         * tests/test-y0.c: New file.
19837
19838         Tests for module 'tanh'.
19839         * modules/tanh-tests: New file.
19840         * tests/test-tanh.c: New file.
19841
19842         Tests for module 'tan'.
19843         * modules/tan-tests: New file.
19844         * tests/test-tan.c: New file.
19845
19846         Tests for module 'sqrt'.
19847         * modules/sqrt-tests: New file.
19848         * tests/test-sqrt.c: New file.
19849
19850         Tests for module 'sinh'.
19851         * modules/sinh-tests: New file.
19852         * tests/test-sinh.c: New file.
19853
19854         Tests for module 'sin'.
19855         * modules/sin-tests: New file.
19856         * tests/test-sin.c: New file.
19857
19858         Tests for module 'rint'.
19859         * modules/rint-tests: New file.
19860         * tests/test-rint.c: New file.
19861
19862         Tests for module 'remainder'.
19863         * modules/remainder-tests: New file.
19864         * tests/test-remainder.c: New file.
19865
19866         Tests for module 'pow'.
19867         * modules/pow-tests: New file.
19868         * tests/test-pow.c: New file.
19869
19870         Tests for module 'nextafter'.
19871         * modules/nextafter-tests: New file.
19872         * tests/test-nextafter.c: New file.
19873
19874         Tests for module 'modf'.
19875         * modules/modf-tests: New file.
19876         * tests/test-modf.c: New file.
19877
19878         Tests for module 'logb'.
19879         * modules/logb-tests: New file.
19880         * tests/test-logb.c: New file.
19881
19882         Tests for module 'log1p'.
19883         * modules/log1p-tests: New file.
19884         * tests/test-log1p.c: New file.
19885
19886         Tests for module 'log10'.
19887         * modules/log10-tests: New file.
19888         * tests/test-log10.c: New file.
19889
19890         Tests for module 'log'.
19891         * modules/log-tests: New file.
19892         * tests/test-log.c: New file.
19893
19894         Tests for module 'lgamma'.
19895         * modules/lgamma-tests: New file.
19896         * tests/test-lgamma.c: New file.
19897
19898         Tests for module 'ldexp'.
19899         * modules/ldexp-tests: New file.
19900         * tests/test-ldexp.c: New file.
19901
19902         Tests for module 'jn'.
19903         * modules/jn-tests: New file.
19904         * tests/test-jn.c: New file.
19905
19906         Tests for module 'j1'.
19907         * modules/j1-tests: New file.
19908         * tests/test-j1.c: New file.
19909
19910         Tests for module 'j0'.
19911         * modules/j0-tests: New file.
19912         * tests/test-j0.c: New file.
19913
19914         Tests for module 'hypot'.
19915         * modules/hypot-tests: New file.
19916         * tests/test-hypot.c: New file.
19917
19918         Tests for module 'fmod'.
19919         * modules/fmod-tests: New file.
19920         * tests/test-fmod.c: New file.
19921
19922         Tests for module 'fabs'.
19923         * modules/fabs-tests: New file.
19924         * tests/test-fabs.c: New file.
19925
19926         Tests for module 'exp'.
19927         * modules/exp-tests: New file.
19928         * tests/test-exp.c: New file.
19929
19930         Tests for module 'erfc'.
19931         * modules/erfc-tests: New file.
19932         * tests/test-erfc.c: New file.
19933
19934         Tests for module 'erf'.
19935         * modules/erf-tests: New file.
19936         * tests/test-erf.c: New file.
19937
19938         Tests for module 'cosh'.
19939         * modules/cosh-tests: New file.
19940         * tests/test-cosh.c: New file.
19941
19942         Tests for module 'cos'.
19943         * modules/cos-tests: New file.
19944         * tests/test-cos.c: New file.
19945
19946         Tests for module 'copysign'.
19947         * modules/copysign-tests: New file.
19948         * tests/test-copysign.c: New file.
19949
19950         Tests for module 'cbrt'.
19951         * modules/cbrt-tests: New file.
19952         * tests/test-cbrt.c: New file.
19953
19954         Tests for module 'atan2'.
19955         * modules/atan2-tests: New file.
19956         * tests/test-atan2.c: New file.
19957
19958         Tests for module 'atan'.
19959         * modules/atan-tests: New file.
19960         * tests/test-atan.c: New file.
19961
19962         Tests for module 'asin'.
19963         * modules/asin-tests: New file.
19964         * tests/test-asin.c: New file.
19965
19966         Tests for module 'acos'.
19967         * modules/acos-tests: New file.
19968         * tests/test-acos.c: New file.
19969
19970 2010-01-24  Bruno Haible  <bruno@clisp.org>
19971
19972         Fix tests for common <math.h> functions.
19973         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
19974         code snippet that references the function pointer, rather than merely
19975         calling the function. Substitute the FUNC_LIBM variable.
19976         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
19977         * modules/acos (configure.ac): Likewise.
19978         * modules/asin (configure.ac): Likewise.
19979         * modules/atan (configure.ac): Likewise.
19980         * modules/atan2 (configure.ac): Likewise.
19981         * modules/cbrt (configure.ac): Likewise.
19982         * modules/copysign (configure.ac): Likewise.
19983         * modules/cos (configure.ac): Likewise.
19984         * modules/cosh (configure.ac): Likewise.
19985         * modules/erf (configure.ac): Likewise.
19986         * modules/erfc (configure.ac): Likewise.
19987         * modules/exp (configure.ac): Likewise.
19988         * modules/fabs (configure.ac): Likewise.
19989         * modules/fmod (configure.ac): Likewise.
19990         * modules/hypot (configure.ac): Likewise.
19991         * modules/j0 (configure.ac): Likewise.
19992         * modules/j1 (configure.ac): Likewise.
19993         * modules/jn (configure.ac): Likewise.
19994         * modules/ldexp (configure.ac): Likewise.
19995         * modules/lgamma (configure.ac): Likewise.
19996         * modules/log (configure.ac): Likewise.
19997         * modules/log10 (configure.ac): Likewise.
19998         * modules/log1p (configure.ac): Likewise.
19999         * modules/logb (configure.ac): Likewise.
20000         * modules/modf (configure.ac): Likewise.
20001         * modules/nextafter (configure.ac): Likewise.
20002         * modules/pow (configure.ac): Likewise.
20003         * modules/remainder (configure.ac): Likewise.
20004         * modules/rint (configure.ac): Likewise.
20005         * modules/sin (configure.ac): Likewise.
20006         * modules/sinh (configure.ac): Likewise.
20007         * modules/tan (configure.ac): Likewise.
20008         * modules/tanh (configure.ac): Likewise.
20009         * modules/y0 (configure.ac): Likewise.
20010         * modules/y1 (configure.ac): Likewise.
20011         * modules/yn (configure.ac): Likewise.
20012
20013 2010-01-24  Bruno Haible  <bruno@clisp.org>
20014
20015         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
20016         * tests/test-acosl.c (x): New variable.
20017         (main): Store argument in x and fetch it from x.
20018         * tests/test-asinl.c (x): New variable.
20019         (main): Store argument in x and fetch it from x.
20020         * tests/test-atanl.c (x): New variable.
20021         (main): Store argument in x and fetch it from x.
20022         * tests/test-cosl.c (x): New variable.
20023         (main): Store argument in x and fetch it from x.
20024         * tests/test-expl.c (x): New variable.
20025         (main): Store argument in x and fetch it from x.
20026         * tests/test-logl.c (x): New variable.
20027         (main): Store argument in x and fetch it from x.
20028         * tests/test-sinl.c (x): New variable.
20029         (main): Store argument in x and fetch it from x.
20030         * tests/test-sqrtl.c (x): New variable.
20031         (main): Store argument in x and fetch it from x.
20032         * tests/test-tanl.c (x): New variable.
20033         (main): Store argument in x and fetch it from x.
20034
20035 2010-01-24  Bruno Haible  <bruno@clisp.org>
20036
20037         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
20038         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
20039         assignments to the initial TESTS_ENVIRONMENT.
20040         * doc/gnulib.texi (Unit test modules): Document it.
20041         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
20042         TESTS_ENVIRONMENT.
20043         * modules/btowc-tests (Makefile.am): Likewise.
20044         * modules/c-stack-tests (Makefile.am): Likewise.
20045         * modules/c-strcase-tests (Makefile.am): Likewise.
20046         * modules/copy-file-tests (Makefile.am): Likewise.
20047         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
20048         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
20049         * modules/mbrtowc-tests (Makefile.am): Likewise.
20050         * modules/mbscasecmp-tests (Makefile.am): Likewise.
20051         * modules/mbscasestr-tests (Makefile.am): Likewise.
20052         * modules/mbschr-tests (Makefile.am): Likewise.
20053         * modules/mbscspn-tests (Makefile.am): Likewise.
20054         * modules/mbsinit-tests (Makefile.am): Likewise.
20055         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
20056         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
20057         * modules/mbspbrk-tests (Makefile.am): Likewise.
20058         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
20059         * modules/mbsrchr-tests (Makefile.am): Likewise.
20060         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
20061         * modules/mbsspn-tests (Makefile.am): Likewise.
20062         * modules/mbsstr-tests (Makefile.am): Likewise.
20063         * modules/nl_langinfo-tests (Makefile.am): Likewise.
20064         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
20065         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
20066         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
20067         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
20068         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
20069         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
20070         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
20071         * modules/wcrtomb-tests (Makefile.am): Likewise.
20072         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
20073         * modules/wcsrtombs-tests (Makefile.am): Likewise.
20074         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
20075         assignments from TESTS_ENVIRONMENT.
20076         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
20077         augmentation.
20078         * modules/argp-version-etc-tests (Makefile.am): Likewise.
20079         * modules/atexit-tests (Makefile.am): Likewise.
20080         * modules/binary-io-tests (Makefile.am): Likewise.
20081         * modules/closein-tests (Makefile.am): Likewise.
20082         * modules/dprintf-posix-tests (Makefile.am): Likewise.
20083         * modules/exclude-tests (Makefile.am): Likewise.
20084         * modules/fflush-tests (Makefile.am): Likewise.
20085         * modules/fpending-tests (Makefile.am): Likewise.
20086         * modules/fprintf-posix-tests (Makefile.am): Likewise.
20087         * modules/freadahead-tests (Makefile.am): Likewise.
20088         * modules/freadptr-tests (Makefile.am): Likewise.
20089         * modules/freadseek-tests (Makefile.am): Likewise.
20090         * modules/fseek-tests (Makefile.am): Likewise.
20091         * modules/fseeko-tests (Makefile.am): Likewise.
20092         * modules/ftell-tests (Makefile.am): Likewise.
20093         * modules/ftello-tests (Makefile.am): Likewise.
20094         * modules/idpriv-drop-tests (Makefile.am): Likewise.
20095         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
20096         * modules/lseek-tests (Makefile.am): Likewise.
20097         * modules/parse-duration-tests (Makefile.am): Likewise.
20098         * modules/perror-tests (Makefile.am): Likewise.
20099         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
20100         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
20101         * modules/pipe-tests (Makefile.am): Likewise.
20102         * modules/pread-tests (Makefile.am): Likewise.
20103         * modules/printf-posix-tests (Makefile.am): Likewise.
20104         * modules/select-tests (Makefile.am): Likewise.
20105         * modules/sigpipe-tests (Makefile.am): Likewise.
20106         * modules/tsearch-tests (Makefile.am): Likewise.
20107         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
20108         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
20109         * modules/uniname/uniname-tests (Makefile.am): Likewise.
20110         * modules/uniwidth/width-tests (Makefile.am): Likewise.
20111         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
20112         * modules/version-etc-tests (Makefile.am): Likewise.
20113         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
20114         * modules/vprintf-posix-tests (Makefile.am): Likewise.
20115         * modules/xalloc-die-tests (Makefile.am): Likewise.
20116         * modules/xprintf-posix-tests (Makefile.am): Likewise.
20117         * modules/xstrtoimax-tests (Makefile.am): Likewise.
20118         * modules/xstrtol-tests (Makefile.am): Likewise.
20119         * modules/xstrtoumax-tests (Makefile.am): Likewise.
20120         * modules/yesno-tests (Makefile.am): Likewise.
20121         Suggested by Jim Meyering.
20122
20123 2010-01-24  Bruno Haible  <bruno@clisp.org>
20124
20125         More documentation.
20126         * doc/gnulib.texi (Writing modules): New chapter.
20127         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
20128         the new chapter.
20129
20130 2010-01-24  Jim Meyering  <meyering@redhat.com>
20131
20132         maint.mk: do not prepend "./" after filtering
20133         * top/maint.mk (_prepend_srcdir_prefix): New variable
20134         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
20135         "./" when $(srcdir) is ".".
20136
20137         define STREQ(a,b) consistently, removing useless parentheses
20138         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
20139         since the only risk is that "a" or "b" contains an unparenthesized
20140         comma, but if either did that, STREQ would have 3 or more arguments.
20141         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
20142         * lib/fts.c (STREQ): Remove unnecessary parentheses.
20143         * lib/hash-triple.c (STREQ): Likewise.
20144         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
20145         * lib/getugroups.c (STREQ): Likewise.
20146
20147 2010-01-23  Jim Meyering  <meyering@redhat.com>
20148
20149         maint.mk: fix syntax-check in a non-srcdir build directory
20150         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
20151         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
20152
20153 2010-01-22  Jim Meyering  <meyering@redhat.com>
20154
20155         userspec: add unit tests
20156         * tests/test-userspec.c: New file.
20157         * modules/userspec-tests: Likewise.
20158
20159 2010-01-21  Jim Meyering  <meyering@redhat.com>
20160
20161         maint.mk: handle source file names containing "." robustly
20162         * top/maint.mk (_dot_escaped_srcdir): Define.
20163         (VC_LIST): Use it in LHS of sed substitution.
20164
20165 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
20166
20167         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
20168         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
20169         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
20170         from a non-srcdir build.
20171
20172 2010-01-20  Eric Blake  <ebb9@byu.net>
20173
20174         warn-on-use: use instead of link-warning
20175         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
20176         * modules/unistd (Depends-on, Makefile.am): Likewise.
20177         * modules/arpa_inet (Depends-on): Replace link-warning with
20178         warn-on-use.
20179         (Makefile.am): Update rules accordingly.
20180         * modules/ctype (Depends-on, Makefile.am): Likewise.
20181         * modules/dirent (Depends-on, Makefile.am): Likewise.
20182         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
20183         * modules/inttypes (Depends-on, Makefile.am): Likewise.
20184         * modules/langinfo (Depends-on, Makefile.am): Likewise.
20185         * modules/locale (Depends-on, Makefile.am): Likewise.
20186         * modules/math (Depends-on, Makefile.am): Likewise.
20187         * modules/search (Depends-on, Makefile.am): Likewise.
20188         * modules/signal (Depends-on, Makefile.am): Likewise.
20189         * modules/spawn (Depends-on, Makefile.am): Likewise.
20190         * modules/stdlib (Depends-on, Makefile.am): Likewise.
20191         * modules/string (Depends-on, Makefile.am): Likewise.
20192         * modules/strings (Depends-on, Makefile.am): Likewise.
20193         * modules/sys_file (Depends-on, Makefile.am): Likewise.
20194         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
20195         * modules/sys_select (Depends-on, Makefile.am): Likewise.
20196         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
20197         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
20198         * modules/sys_times (Depends-on, Makefile.am): Likewise.
20199         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
20200         * modules/wchar (Depends-on, Makefile.am): Likewise.
20201         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
20202         should be poisoned.
20203         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
20204         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
20205         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
20206         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20207         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
20208         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20209         * m4/math_h.m4 (gl_MATH_H): Likewise.
20210         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20211         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
20212         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20213         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20214         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
20215         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
20216         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
20217         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
20218         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
20219         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20220         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20221         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
20222         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20223         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
20224         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20225         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
20226         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
20227         GL_LINK_WARNING.
20228         * lib/ctype.in.h: Likewise.
20229         * lib/dirent.in.h: Likewise.
20230         * lib/fcntl.in.h: Likewise.
20231         * lib/inttypes.in.h: Likewise.
20232         * lib/langinfo.in.h: Likewise.
20233         * lib/locale.in.h: Likewise.
20234         * lib/math.in.h: Likewise.
20235         * lib/search.in.h: Likewise.
20236         * lib/signal.in.h: Likewise.
20237         * lib/spawn.in.h: Likewise.
20238         * lib/stdio.in.h: Likewise.
20239         * lib/stdlib.in.h: Likewise.
20240         * lib/string.in.h: Likewise.
20241         * lib/strings.in.h: Likewise.
20242         * lib/sys_file.in.h: Likewise.
20243         * lib/sys_ioctl.in.h: Likewise.
20244         * lib/sys_select.in.h: Likewise.
20245         * lib/sys_socket.in.h: Likewise.
20246         * lib/sys_stat.in.h: Likewise.
20247         * lib/sys_times.in.h: Likewise.
20248         * lib/sys_utsname.in.h: Likewise.
20249         * lib/unistd.in.h: Likewise.
20250         * lib/wchar.in.h: Likewise.
20251
20252 2010-01-20  Bruno Haible  <bruno@clisp.org>
20253
20254         Avoid duplicate -lm.
20255         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
20256         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
20257         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
20258         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
20259         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
20260         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
20261         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
20262         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
20263         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
20264         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
20265         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
20266         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20267         Reported by Paolo Bonzini.
20268
20269 2010-01-19  Bruno Haible  <bruno@clisp.org>
20270
20271         langinfo, nl_langinfo: Relicense under LGPLv2+.
20272         * modules/langinfo (License): Change to LGPLv2+.
20273         * modules/nl_langinfo (License): Likewise.
20274         Patch by David Lutterkort <lutter@redhat.com>.
20275
20276 2010-01-19  Bruno Haible  <bruno@clisp.org>
20277
20278         Avoid compilation error with cc on OSF/1 5.1.
20279         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
20280         statement, not before.
20281         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20282
20283 2010-01-18  Bruno Haible  <bruno@clisp.org>
20284
20285         Avoid a link error due to the __printf__ symbol.
20286         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
20287         and 2.6.x.
20288         (__format__, __printf__): Remove definitions.
20289         * lib/argp-fmtstream.h: Likewise.
20290         * lib/argp.h: Likewise.
20291         * lib/error.h: Likewise.
20292         * lib/vasnprintf.h: Likewise.
20293         * lib/xprintf.h: Likewise.
20294         * lib/xvasprintf.h: Likewise.
20295         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20296
20297 2010-01-18  Bruno Haible  <bruno@clisp.org>
20298
20299         Tests for module 'tanl'.
20300         * modules/tanl-tests: New file.
20301         * tests/test-tanl.c: New file.
20302
20303         Tests for module 'sqrtl'.
20304         * modules/sqrtl-tests: New file.
20305         * tests/test-sqrtl.c: New file.
20306
20307         Tests for module 'sinl'.
20308         * modules/sinl-tests: New file.
20309         * tests/test-sinl.c: New file.
20310
20311         Tests for module 'logl'.
20312         * modules/logl-tests: New file.
20313         * tests/test-logl.c: New file.
20314
20315         Tests for module 'expl'.
20316         * modules/expl-tests: New file.
20317         * tests/test-expl.c: New file.
20318
20319         Tests for module 'cosl'.
20320         * modules/cosl-tests: New file.
20321         * tests/test-cosl.c: New file.
20322
20323         Tests for module 'atanl'.
20324         * modules/atanl-tests: New file.
20325         * tests/test-atanl.c: New file.
20326
20327         Tests for module 'asinl'.
20328         * modules/asinl-tests: New file.
20329         * tests/test-asinl.c: New file.
20330
20331         Tests for module 'acosl'.
20332         * modules/acosl-tests: New file.
20333         * tests/test-acosl.c: New file.
20334
20335         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
20336         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
20337         tanl): Use the standard gnulib idiom.
20338         * lib/cosl.c: Don't include trigl.c and sincosl.c.
20339         * lib/sinl.c: Likewise.
20340         * lib/tanl.c: Don't include trigl.c.
20341         (kernel_tanl): Make static.
20342         * lib/sincosl.c: Include trigl.h first.
20343         * lib/trigl.c: Likewise.
20344         * m4/acosl.m4: New file.
20345         * m4/asinl.m4: New file.
20346         * m4/atanl.m4: New file.
20347         * m4/cosl.m4: New file.
20348         * m4/expl.m4: New file.
20349         * m4/logl.m4: New file.
20350         * m4/sinl.m4: New file.
20351         * m4/sqrtl.m4: New file.
20352         * m4/tanl.m4: New file.
20353         * m4/mathl.m4: Remove file.
20354         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
20355         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
20356         Don't initialize GNULIB_MATHL.
20357         * modules/acosl: New file.
20358         * modules/asinl: New file.
20359         * modules/atanl: New file.
20360         * modules/cosl: New file.
20361         * modules/expl: New file.
20362         * modules/logl: New file.
20363         * modules/sinl: New file.
20364         * modules/sqrtl: New file.
20365         * modules/tanl: New file.
20366         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
20367         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
20368         substitute GNULIB_MATHL.
20369         * modules/mathl: Rewritten.
20370         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
20371         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
20372         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
20373         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
20374         * doc/posix-functions/expl.texi: Mention the 'expl' module.
20375         * doc/posix-functions/logl.texi: Mention the 'logl' module.
20376         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
20377         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
20378         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
20379
20380 2010-01-18  Bruno Haible  <bruno@clisp.org>
20381
20382         sqrt: Make gl_FUNC_SQRT requirable.
20383         * m4/sqrt.m4: New file.
20384         * modules/sqrt (Files): Add it.
20385         (configure.ac): Invoke gl_FUNC_SQRT.
20386
20387 2010-01-18  Bruno Haible  <bruno@clisp.org>
20388
20389         New modules for common <math.h> functions.
20390         * m4/mathfunc.m4: New file.
20391         * modules/acos: New file.
20392         * modules/asin: New file.
20393         * modules/atan: New file.
20394         * modules/atan2: New file.
20395         * modules/cbrt: New file.
20396         * modules/copysign: New file.
20397         * modules/cos: New file.
20398         * modules/cosh: New file.
20399         * modules/erf: New file.
20400         * modules/erfc: New file.
20401         * modules/exp: New file.
20402         * modules/fabs: New file.
20403         * modules/fmod: New file.
20404         * modules/hypot: New file.
20405         * modules/j0: New file.
20406         * modules/j1: New file.
20407         * modules/jn: New file.
20408         * modules/ldexp: New file.
20409         * modules/lgamma: New file.
20410         * modules/log: New file.
20411         * modules/log10: New file.
20412         * modules/log1p: New file.
20413         * modules/logb: New file.
20414         * modules/modf: New file.
20415         * modules/nextafter: New file.
20416         * modules/pow: New file.
20417         * modules/remainder: New file.
20418         * modules/rint: New file.
20419         * modules/sin: New file.
20420         * modules/sinh: New file.
20421         * modules/sqrt: New file.
20422         * modules/tan: New file.
20423         * modules/tanh: New file.
20424         * modules/y0: New file.
20425         * modules/y1: New file.
20426         * modules/yn: New file.
20427         * doc/posix-functions/acos.texi: Mention the 'acos' module.
20428         * doc/posix-functions/asin.texi: Mention the 'asin' module.
20429         * doc/posix-functions/atan.texi: Mention the 'atan' module.
20430         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
20431         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
20432         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
20433         * doc/posix-functions/cos.texi: Mention the 'cos' module.
20434         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
20435         * doc/posix-functions/erf.texi: Mention the 'erf' module.
20436         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
20437         * doc/posix-functions/exp.texi: Mention the 'exp' module.
20438         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
20439         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
20440         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
20441         * doc/posix-functions/j0.texi: Mention the 'j0' module.
20442         * doc/posix-functions/j1.texi: Mention the 'j1' module.
20443         * doc/posix-functions/jn.texi: Mention the 'jn' module.
20444         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
20445         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
20446         * doc/posix-functions/log.texi: Mention the 'log' module.
20447         * doc/posix-functions/log10.texi: Mention the 'log10' module.
20448         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
20449         * doc/posix-functions/logb.texi: Mention the 'logb' module.
20450         * doc/posix-functions/modf.texi: Mention the 'modf' module.
20451         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
20452         * doc/posix-functions/pow.texi: Mention the 'pow' module.
20453         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
20454         * doc/posix-functions/rint.texi: Mention the 'rint' module.
20455         * doc/posix-functions/sin.texi: Mention the 'sin' module.
20456         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
20457         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
20458         * doc/posix-functions/tan.texi: Mention the 'tan' module.
20459         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
20460         * doc/posix-functions/y0.texi: Mention the 'y0' module.
20461         * doc/posix-functions/y1.texi: Mention the 'y1' module.
20462         * doc/posix-functions/yn.texi: Mention the 'yn' module.
20463
20464 2010-01-18  Jim Meyering  <meyering@redhat.com>
20465
20466         ignore-value: relax license to LGPLv2+
20467         * modules/ignore-value (License): Relax to LGPLv2+.
20468
20469         getdate: don't leak when TZ contains two or more '"'s
20470         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
20471         double quote in TZ after the first one.
20472
20473         readtokens: do not leak internal token_lengths buffer
20474         * lib/readtokens.c (readtokens): Free the local, lengths,
20475         when the supplied "token_lengths" parameter is NULL.
20476
20477 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20478
20479         Fix a couple of missing LIBTHREAD link failures on AIX.
20480         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
20481         $(LIBTHREAD).
20482         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
20483
20484         Link test-poll against INET_PTON_LIB.
20485         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
20486         for inet_pton on Solaris 10.
20487
20488 2010-01-17  Bruno Haible  <bruno@clisp.org>
20489
20490         unistdio/*-sprintf: Fix typo in module description.
20491         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
20492         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
20493         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
20494         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
20495         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
20496         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
20497         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
20498         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20499
20500 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20501
20502         gnulib-tool: fix filelist for AIX, HP-UX ksh.
20503         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
20504         variables in shell case patterns, for AIX and HP-UX ksh.
20505
20506         Split large sed scripts, for HP-UX sed.
20507         * modules/stdio: Split sed scripts around 50 sed commands,
20508         to avoid HP-UX limit of 99 commands, in the near future.
20509         * modules/string: Likewise.
20510         * modules/unistd: Likewise.
20511
20512         gnulib-tool: avoid writing in the current directory.
20513         * gnulib-tool (func_emit_lib_Makefile_am)
20514         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
20515         not in the current directory, so concurrent gnulib-tool
20516         instances do not interfere.
20517
20518 2010-01-16  Jim Meyering  <meyering@redhat.com>
20519
20520         doc: update users.txt
20521         * users.txt: Add grep.
20522         (diffutils, gzip): Update URLs.
20523
20524 2010-01-12  Bruno Haible  <bruno@clisp.org>
20525
20526         posix_spawn: Avoid test failure on Cygwin.
20527         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
20528         characters.
20529         Reported by Simon Josefsson.
20530
20531 2010-01-12  Bruno Haible  <bruno@clisp.org>
20532
20533         * tests/test-cond.c (main): When skipping the test, show the reason.
20534
20535 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20536
20537         * lib/striconv.c (str_cd_iconv): Avoid if before free.
20538
20539 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20540
20541         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
20542         VC_LIST_ALWAYS_EXCLUDE_REGEX.
20543
20544 2010-01-12  Eric Blake  <ebb9@byu.net>
20545
20546         build: guarantee AS_VAR_IF
20547         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
20548         (gl_AS_VAR_IF): Move...
20549         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
20550         Reported by Simon Josefsson.
20551
20552 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20553
20554         * lib/stdio.in.h: Fix typo.
20555
20556 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20557
20558         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
20559         libgpg-error.
20560
20561 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20562
20563         * tests/test-xalloc-die.sh: Use $EXEEXT.
20564
20565 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20566             Bruno Haible  <bruno@clisp.org>
20567
20568         getlogin, getlogin_r: Avoid test failure.
20569         * tests/test-getlogin.c: Include <stdio.h>.
20570         (main): Skip the test when the function fails because stdin is not a
20571         tty.
20572         * tests/test-getlogin_r.c: Include <stdio.h>.
20573         (main): Skip the test when the function fails because stdin is not a
20574         tty.
20575
20576 2010-01-11  Eric Blake  <ebb9@byu.net>
20577
20578         tests: avoid more large file warnings
20579         * tests/test-fflush.c: Avoid warning about ftell use.
20580         * tests/test-fseek.c: Avoid warning about fseek use.
20581
20582 2010-01-10  Bruno Haible  <bruno@clisp.org>
20583
20584         nproc: Work better on Linux when /proc and /sys are not mounted.
20585         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
20586         as lower bound when, on glibc/Linux systems,
20587         sysconf (_SC_NPROCESSORS_CONF) returns 1.
20588         Suggested by Pádraig Brady <P@draigbrady.com>.
20589         Reported by Dmitry V. Levin <ldv@altlinux.org>.
20590
20591         nproc: Refactor.
20592         * lib/nproc.c (num_processors_via_affinity_mask): New function,
20593         extracted from num_processors.
20594         (num_processors): Call it.
20595
20596 2010-01-11  Jim Meyering  <meyering@redhat.com>
20597
20598         utimecmp: avoid new warning from upcoming gcc-4.5.0
20599         * lib/utimecmp.c (BILLION): Define using #define rather than an
20600         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
20601
20602 2010-01-11  Eric Blake  <ebb9@byu.net>
20603
20604         math: add portability warnings for classification macros
20605         * modules/math (Depends-on): Add warn-on-use.
20606         (Makefile.am): Provide new substitutions.
20607         * m4/math_h.m4 (gl_MATH_H): Require inline.
20608         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
20609         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
20610         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
20611         implement warnings.
20612
20613         unistd: warn on use of environ without module
20614         * modules/unistd (Depends-on): Add warn-on-use.
20615         (Makefile.am): Provide new substitutions.
20616         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
20617         * lib/unistd.in.h (environ): Wrap with a warning helper function.
20618
20619         stdio: warn on suspicious uses
20620         * modules/stdio (Depends-on): Add warn-on-use.
20621         (Makefile.am): Provide new substitutions.
20622         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
20623         fseeko.
20624         * lib/stdio.in.h (gets): Always warn on use.
20625         (fseek, ftell): Adjust when warnings are issued, and honor
20626         _GL_NO_LARGE_FILES as a way to silence the warning.
20627         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
20628         any warning about large file offsets.
20629         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
20630         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
20631         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
20632         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
20633         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
20634         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
20635         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
20636         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
20637
20638         warn-on-use: new module
20639         * modules/warn-on-use: New file.
20640         * build-aux/warn-on-use.h: Likewise.
20641         * m4/warn-on-use.m4: Likewise.
20642         * MODULES.html.sh (Support for building): Mention it.
20643
20644 2010-01-10  Bruno Haible  <bruno@clisp.org>
20645
20646         Tests for module 'unistr/u32-strdup'.
20647         * modules/unistr/u32-strdup-tests: New file.
20648         * tests/unistr/test-u32-strdup.c: New file.
20649
20650         Tests for module 'unistr/u16-strdup'.
20651         * modules/unistr/u16-strdup-tests: New file.
20652         * tests/unistr/test-u16-strdup.c: New file.
20653
20654         Tests for module 'unistr/u8-strdup'.
20655         * modules/unistr/u8-strdup-tests: New file.
20656         * tests/unistr/test-u8-strdup.c: New file.
20657         * tests/unistr/test-strdup.h: New file.
20658
20659         Tests for module 'unistr/u32-strncmp'.
20660         * modules/unistr/u32-strncmp-tests: New file.
20661         * tests/unistr/test-u32-strncmp.c: New file.
20662
20663         Tests for module 'unistr/u16-strncmp'.
20664         * modules/unistr/u16-strncmp-tests: New file.
20665         * tests/unistr/test-u16-strncmp.c: New file.
20666
20667         Tests for module 'unistr/u8-strncmp'.
20668         * modules/unistr/u8-strncmp-tests: New file.
20669         * tests/unistr/test-u8-strncmp.c: New file.
20670         * tests/unistr/test-strncmp.h: New file.
20671
20672         Tests for module 'unistr/u32-strcoll'.
20673         * modules/unistr/u32-strcoll-tests: New file.
20674         * tests/unistr/test-u32-strcoll.c: New file.
20675
20676         Tests for module 'unistr/u16-strcoll'.
20677         * modules/unistr/u16-strcoll-tests: New file.
20678         * tests/unistr/test-u16-strcoll.c: New file.
20679
20680         Tests for module 'unistr/u8-strcoll'.
20681         * modules/unistr/u8-strcoll-tests: New file.
20682         * tests/unistr/test-u8-strcoll.c: New file.
20683
20684         Tests for module 'unistr/u32-strcmp'.
20685         * modules/unistr/u32-strcmp-tests: New file.
20686         * tests/unistr/test-u32-strcmp.c: New file.
20687         * tests/unistr/test-u32-strcmp.h: New file.
20688
20689         Tests for module 'unistr/u16-strcmp'.
20690         * modules/unistr/u16-strcmp-tests: New file.
20691         * tests/unistr/test-u16-strcmp.c: New file.
20692         * tests/unistr/test-u16-strcmp.h: New file.
20693
20694         Tests for module 'unistr/u8-strcmp'.
20695         * modules/unistr/u8-strcmp-tests: New file.
20696         * tests/unistr/test-u8-strcmp.c: New file.
20697         * tests/unistr/test-u8-strcmp.h: New file.
20698         * tests/unistr/test-strcmp.h: New file.
20699
20700         Tests for module 'unistr/u32-strncat'.
20701         * modules/unistr/u32-strncat-tests: New file.
20702         * tests/unistr/test-u32-strncat.c: New file.
20703
20704         Tests for module 'unistr/u16-strncat'.
20705         * modules/unistr/u16-strncat-tests: New file.
20706         * tests/unistr/test-u16-strncat.c: New file.
20707
20708         Tests for module 'unistr/u8-strncat'.
20709         * modules/unistr/u8-strncat-tests: New file.
20710         * tests/unistr/test-u8-strncat.c: New file.
20711         * tests/unistr/test-strncat.h: New file.
20712
20713         Tests for module 'unistr/u32-strcat'.
20714         * modules/unistr/u32-strcat-tests: New file.
20715         * tests/unistr/test-u32-strcat.c: New file.
20716
20717         Tests for module 'unistr/u16-strcat'.
20718         * modules/unistr/u16-strcat-tests: New file.
20719         * tests/unistr/test-u16-strcat.c: New file.
20720
20721         Tests for module 'unistr/u8-strcat'.
20722         * modules/unistr/u8-strcat-tests: New file.
20723         * tests/unistr/test-u8-strcat.c: New file.
20724         * tests/unistr/test-strcat.h: New file.
20725
20726         Tests for module 'unistr/u32-stpncpy'.
20727         * modules/unistr/u32-stpncpy-tests: New file.
20728         * tests/unistr/test-u32-stpncpy.c: New file.
20729
20730         Tests for module 'unistr/u16-stpncpy'.
20731         * modules/unistr/u16-stpncpy-tests: New file.
20732         * tests/unistr/test-u16-stpncpy.c: New file.
20733
20734         Tests for module 'unistr/u8-stpncpy'.
20735         * modules/unistr/u8-stpncpy-tests: New file.
20736         * tests/unistr/test-u8-stpncpy.c: New file.
20737         * tests/unistr/test-stpncpy.h: New file.
20738
20739         Tests for module 'unistr/u32-strncpy'.
20740         * modules/unistr/u32-strncpy-tests: New file.
20741         * tests/unistr/test-u32-strncpy.c: New file.
20742
20743         Tests for module 'unistr/u16-strncpy'.
20744         * modules/unistr/u16-strncpy-tests: New file.
20745         * tests/unistr/test-u16-strncpy.c: New file.
20746
20747         Tests for module 'unistr/u8-strncpy'.
20748         * modules/unistr/u8-strncpy-tests: New file.
20749         * tests/unistr/test-u8-strncpy.c: New file.
20750         * tests/unistr/test-strncpy.h: New file.
20751
20752         Tests for module 'unistr/u32-stpcpy'.
20753         * modules/unistr/u32-stpcpy-tests: New file.
20754         * tests/unistr/test-u32-stpcpy.c: New file.
20755
20756         Tests for module 'unistr/u16-stpcpy'.
20757         * modules/unistr/u16-stpcpy-tests: New file.
20758         * tests/unistr/test-u16-stpcpy.c: New file.
20759
20760         Tests for module 'unistr/u8-stpcpy'.
20761         * modules/unistr/u8-stpcpy-tests: New file.
20762         * tests/unistr/test-u8-stpcpy.c: New file.
20763         * tests/unistr/test-stpcpy.h: New file.
20764
20765         Tests for module 'unistr/u32-strcpy'.
20766         * modules/unistr/u32-strcpy-tests: New file.
20767         * tests/unistr/test-u32-strcpy.c: New file.
20768
20769         Tests for module 'unistr/u16-strcpy'.
20770         * modules/unistr/u16-strcpy-tests: New file.
20771         * tests/unistr/test-u16-strcpy.c: New file.
20772
20773         Tests for module 'unistr/u8-strcpy'.
20774         * modules/unistr/u8-strcpy-tests: New file.
20775         * tests/unistr/test-u8-strcpy.c: New file.
20776         * tests/unistr/test-strcpy.h: New file.
20777
20778         Tests for module 'unistr/u32-strnlen'.
20779         * modules/unistr/u32-strnlen-tests: New file.
20780         * tests/unistr/test-u32-strnlen.c: New file.
20781
20782         Tests for module 'unistr/u16-strnlen'.
20783         * modules/unistr/u16-strnlen-tests: New file.
20784         * tests/unistr/test-u16-strnlen.c: New file.
20785
20786         Tests for module 'unistr/u8-strnlen'.
20787         * modules/unistr/u8-strnlen-tests: New file.
20788         * tests/unistr/test-u8-strnlen.c: New file.
20789         * tests/unistr/test-strnlen.h: New file.
20790
20791         Tests for module 'unistr/u32-strlen'.
20792         * modules/unistr/u32-strlen-tests: New file.
20793         * tests/unistr/test-u32-strlen.c: New file.
20794
20795         Tests for module 'unistr/u16-strlen'.
20796         * modules/unistr/u16-strlen-tests: New file.
20797         * tests/unistr/test-u16-strlen.c: New file.
20798
20799         Tests for module 'unistr/u8-strlen'.
20800         * modules/unistr/u8-strlen-tests: New file.
20801         * tests/unistr/test-u8-strlen.c: New file.
20802
20803         Tests for module 'unistr/u32-prev'.
20804         * modules/unistr/u32-prev-tests: New file.
20805         * tests/unistr/test-u32-prev.c: New file.
20806
20807         Tests for module 'unistr/u16-prev'.
20808         * modules/unistr/u16-prev-tests: New file.
20809         * tests/unistr/test-u16-prev.c: New file.
20810
20811         Tests for module 'unistr/u8-prev'.
20812         * modules/unistr/u8-prev-tests: New file.
20813         * tests/unistr/test-u8-prev.c: New file.
20814
20815         Tests for module 'unistr/u32-next'.
20816         * modules/unistr/u32-next-tests: New file.
20817         * tests/unistr/test-u32-next.c: New file.
20818
20819         Tests for module 'unistr/u16-next'.
20820         * modules/unistr/u16-next-tests: New file.
20821         * tests/unistr/test-u16-next.c: New file.
20822
20823         Tests for module 'unistr/u8-next'.
20824         * modules/unistr/u8-next-tests: New file.
20825         * tests/unistr/test-u8-next.c: New file.
20826
20827         Tests for module 'unistr/u32-strmbtouc'.
20828         * modules/unistr/u32-strmbtouc-tests: New file.
20829         * tests/unistr/test-u32-strmbtouc.c: New file.
20830
20831         Tests for module 'unistr/u16-strmbtouc'.
20832         * modules/unistr/u16-strmbtouc-tests: New file.
20833         * tests/unistr/test-u16-strmbtouc.c: New file.
20834
20835         Tests for module 'unistr/u8-strmbtouc'.
20836         * modules/unistr/u8-strmbtouc-tests: New file.
20837         * tests/unistr/test-u8-strmbtouc.c: New file.
20838
20839         Tests for module 'unistr/u32-strmblen'.
20840         * modules/unistr/u32-strmblen-tests: New file.
20841         * tests/unistr/test-u32-strmblen.c: New file.
20842
20843         Tests for module 'unistr/u16-strmblen'.
20844         * modules/unistr/u16-strmblen-tests: New file.
20845         * tests/unistr/test-u16-strmblen.c: New file.
20846
20847         Tests for module 'unistr/u8-strmblen'.
20848         * modules/unistr/u8-strmblen-tests: New file.
20849         * tests/unistr/test-u8-strmblen.c: New file.
20850
20851         Tests for module 'unistr/u32-cpy-alloc'.
20852         * modules/unistr/u32-cpy-alloc-tests: New file.
20853         * tests/unistr/test-u32-cpy-alloc.c: New file.
20854
20855         Tests for module 'unistr/u16-cpy-alloc'.
20856         * modules/unistr/u16-cpy-alloc-tests: New file.
20857         * tests/unistr/test-u16-cpy-alloc.c: New file.
20858
20859         Tests for module 'unistr/u8-cpy-alloc'.
20860         * modules/unistr/u8-cpy-alloc-tests: New file.
20861         * tests/unistr/test-u8-cpy-alloc.c: New file.
20862         * tests/unistr/test-cpy-alloc.h: New file.
20863
20864         Tests for module 'unistr/u32-mbsnlen'.
20865         * modules/unistr/u32-mbsnlen-tests: New file.
20866         * tests/unistr/test-u32-mbsnlen.c: New file.
20867
20868         Tests for module 'unistr/u16-mbsnlen'.
20869         * modules/unistr/u16-mbsnlen-tests: New file.
20870         * tests/unistr/test-u16-mbsnlen.c: New file.
20871
20872         Tests for module 'unistr/u8-mbsnlen'.
20873         * modules/unistr/u8-mbsnlen-tests: New file.
20874         * tests/unistr/test-u8-mbsnlen.c: New file.
20875
20876         Tests for module 'unistr/u32-chr'.
20877         * modules/unistr/u32-chr-tests: New file.
20878         * tests/unistr/test-u32-chr.c: New file.
20879
20880         Tests for module 'unistr/u16-chr'.
20881         * modules/unistr/u16-chr-tests: New file.
20882         * tests/unistr/test-u16-chr.c: New file.
20883
20884         Tests for module 'unistr/u8-chr'.
20885         * modules/unistr/u8-chr-tests: New file.
20886         * tests/unistr/test-u8-chr.c: New file.
20887         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
20888
20889         Tests for module 'unistr/u32-cmp2'.
20890         * modules/unistr/u32-cmp2-tests: New file.
20891         * tests/unistr/test-u32-cmp2.c: New file.
20892
20893         Tests for module 'unistr/u16-cmp2'.
20894         * modules/unistr/u16-cmp2-tests: New file.
20895         * tests/unistr/test-u16-cmp2.c: New file.
20896
20897         Tests for module 'unistr/u8-cmp2'.
20898         * modules/unistr/u8-cmp2-tests: New file.
20899         * tests/unistr/test-u8-cmp2.c: New file.
20900         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
20901
20902         Tests for module 'unistr/u32-cmp'.
20903         * modules/unistr/u32-cmp-tests: New file.
20904         * tests/unistr/test-u32-cmp.c: New file.
20905
20906         Tests for module 'unistr/u16-cmp'.
20907         * modules/unistr/u16-cmp-tests: New file.
20908         * tests/unistr/test-u16-cmp.c: New file.
20909
20910         Tests for module 'unistr/u8-cmp'.
20911         * modules/unistr/u8-cmp-tests: New file.
20912         * tests/unistr/test-u8-cmp.c: New file.
20913         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
20914
20915         Tests for module 'unistr/u32-set'.
20916         * modules/unistr/u32-set-tests: New file.
20917         * tests/unistr/test-u32-set.c: New file.
20918
20919         Tests for module 'unistr/u16-set'.
20920         * modules/unistr/u16-set-tests: New file.
20921         * tests/unistr/test-u16-set.c: New file.
20922
20923         Tests for module 'unistr/u8-set'.
20924         * modules/unistr/u8-set-tests: New file.
20925         * tests/unistr/test-u8-set.c: New file.
20926         * tests/unistr/test-set.h: New file.
20927
20928         Tests for module 'unistr/u32-move'.
20929         * modules/unistr/u32-move-tests: New file.
20930         * tests/unistr/test-u32-move.c: New file.
20931
20932         Tests for module 'unistr/u16-move'.
20933         * modules/unistr/u16-move-tests: New file.
20934         * tests/unistr/test-u16-move.c: New file.
20935
20936         Tests for module 'unistr/u8-move'.
20937         * modules/unistr/u8-move-tests: New file.
20938         * tests/unistr/test-u8-move.c: New file.
20939         * tests/unistr/test-move.h: New file.
20940
20941         Tests for module 'unistr/u32-cpy'.
20942         * modules/unistr/u32-cpy-tests: New file.
20943         * tests/unistr/test-u32-cpy.c: New file.
20944
20945         Tests for module 'unistr/u16-cpy'.
20946         * modules/unistr/u16-cpy-tests: New file.
20947         * tests/unistr/test-u16-cpy.c: New file.
20948
20949         Tests for module 'unistr/u8-cpy'.
20950         * modules/unistr/u8-cpy-tests: New file.
20951         * tests/unistr/test-u8-cpy.c: New file.
20952         * tests/unistr/test-cpy.h: New file.
20953
20954 2010-01-09  Bruno Haible  <bruno@clisp.org>
20955
20956         Tests for module 'unistr/u32-uctomb'.
20957         * modules/unistr/u32-uctomb-tests: New file.
20958         * tests/unistr/test-u32-uctomb.c: New file.
20959
20960         Tests for module 'unistr/u16-uctomb'.
20961         * modules/unistr/u16-uctomb-tests: New file.
20962         * tests/unistr/test-u16-uctomb.c: New file.
20963
20964         Tests for module 'unistr/u8-uctomb'.
20965         * modules/unistr/u8-uctomb-tests: New file.
20966         * tests/unistr/test-u8-uctomb.c: New file.
20967
20968         Tests for module 'unistr/u32-mbtoucr'.
20969         * modules/unistr/u32-mbtoucr-tests: New file.
20970         * tests/unistr/test-u32-mbtoucr.c: New file.
20971
20972         Tests for module 'unistr/u16-mbtoucr'.
20973         * modules/unistr/u16-mbtoucr-tests: New file.
20974         * tests/unistr/test-u16-mbtoucr.c: New file.
20975
20976         Tests for module 'unistr/u8-mbtoucr'.
20977         * modules/unistr/u8-mbtoucr-tests: New file.
20978         * tests/unistr/test-u8-mbtoucr.c: New file.
20979
20980         Tests for module 'unistr/u32-mbtouc'.
20981         * modules/unistr/u32-mbtouc-tests: New file.
20982         * tests/unistr/test-u32-mbtouc.c: New file.
20983
20984         Tests for module 'unistr/u16-mbtouc'.
20985         * modules/unistr/u16-mbtouc-tests: New file.
20986         * tests/unistr/test-u16-mbtouc.c: New file.
20987
20988         Tests for module 'unistr/u8-mbtouc'.
20989         * modules/unistr/u8-mbtouc-tests: New file.
20990         * tests/unistr/test-u8-mbtouc.c: New file.
20991
20992         Tests for module 'unistr/u32-mbtouc-unsafe'.
20993         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
20994         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
20995         * tests/unistr/test-u32-mbtouc.h: New file.
20996
20997         Tests for module 'unistr/u16-mbtouc-unsafe'.
20998         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
20999         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
21000         * tests/unistr/test-u16-mbtouc.h: New file.
21001
21002         Tests for module 'unistr/u8-mbtouc-unsafe'.
21003         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
21004         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
21005         * tests/unistr/test-u8-mbtouc.h: New file.
21006
21007         Tests for module 'unistr/u32-mblen'.
21008         * modules/unistr/u32-mblen-tests: New file.
21009         * tests/unistr/test-u32-mblen.c: New file.
21010
21011         Tests for module 'unistr/u16-mblen'.
21012         * modules/unistr/u16-mblen-tests: New file.
21013         * tests/unistr/test-u16-mblen.c: New file.
21014
21015         Tests for module 'unistr/u8-mblen'.
21016         * modules/unistr/u8-mblen-tests: New file.
21017         * tests/unistr/test-u8-mblen.c: New file.
21018
21019         Tests for module 'unistr/u32-to-u16'.
21020         * modules/unistr/u32-to-u16-tests: New file.
21021         * tests/unistr/test-u32-to-u16.c: New file.
21022
21023         Tests for module 'unistr/u32-to-u8'.
21024         * modules/unistr/u32-to-u8-tests: New file.
21025         * tests/unistr/test-u32-to-u8.c: New file.
21026
21027         Tests for module 'unistr/u16-to-u32'.
21028         * modules/unistr/u16-to-u32-tests: New file.
21029         * tests/unistr/test-u16-to-u32.c: New file.
21030
21031         Tests for module 'unistr/u16-to-u8'.
21032         * modules/unistr/u16-to-u8-tests: New file.
21033         * tests/unistr/test-u16-to-u8.c: New file.
21034
21035         Tests for module 'unistr/u8-to-u32'.
21036         * modules/unistr/u8-to-u32-tests: New file.
21037         * tests/unistr/test-u8-to-u32.c: New file.
21038
21039         Tests for module 'unistr/u8-to-u16'.
21040         * modules/unistr/u8-to-u16-tests: New file.
21041         * tests/unistr/test-u8-to-u16.c: New file.
21042
21043         Tests for module 'unistr/u32-check'.
21044         * modules/unistr/u32-check-tests: New file.
21045         * tests/unistr/test-u32-check.c: New file.
21046
21047         Tests for module 'unistr/u16-check'.
21048         * modules/unistr/u16-check-tests: New file.
21049         * tests/unistr/test-u16-check.c: New file.
21050
21051         Tests for module 'unistr/u8-check'.
21052         * modules/unistr/u8-check-tests: New file.
21053         * tests/unistr/test-u8-check.c: New file.
21054
21055         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
21056         (category_equals): New function.
21057         (main): Add more tests.
21058         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
21059
21060         * tests/unictype/test-bidi_byname.c (main): Add more tests.
21061
21062 2010-01-10  Bruno Haible  <bruno@clisp.org>
21063
21064         unistr/u*-strcoll: Try harder to distinguish different strings.
21065         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
21066         compare s1 and s2 to see if they are different.
21067
21068 2010-01-10  Bruno Haible  <bruno@clisp.org>
21069
21070         unistr/u*-stpncpy: Fix the return value.
21071         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
21072         description of the return value consistent with stpncpy in glibc.
21073         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
21074         written non-NUL unit.
21075
21076 2010-01-10  Bruno Haible  <bruno@clisp.org>
21077
21078         unistr/u*-next: Add missing dependencies.
21079         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
21080         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
21081         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
21082
21083 2010-01-10  Bruno Haible  <bruno@clisp.org>
21084
21085         unistr/u8-mbsnlen: Fix return value for incomplete character.
21086         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
21087         u8_mblen.
21088         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
21089         Remove unistr/u8-mblen.
21090         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
21091         u16_mblen.
21092         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
21093         Remove unistr/u16-mblen.
21094
21095 2010-01-10  Bruno Haible  <bruno@clisp.org>
21096
21097         wchar: Fix compilation error when <wchar.h> is used from coreutils.
21098         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
21099         Reported by Brian Gough <bjg@gnu.org> and
21100         Chris Clayton <chris2553@googlemail.com> via
21101         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
21102
21103 2010-01-09  Bruno Haible  <bruno@clisp.org>
21104
21105         unistr/u16-to-u32: Reject invalid input.
21106         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
21107         u16_mbtouc.
21108         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
21109         Remove unistr/u16-mbtouc.
21110
21111         unistr/u16-to-u8: Reject invalid input.
21112         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
21113         u16_mbtouc.
21114         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
21115         Remove unistr/u16-mbtouc.
21116
21117         unistr/u8-to-u32: Reject invalid input.
21118         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
21119         u8_mbtouc.
21120         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
21121         Remove unistr/u8-mbtouc.
21122
21123         unistr/u8-to-u16: Reject invalid input.
21124         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
21125         u8_mbtouc.
21126         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
21127         Remove unistr/u8-mbtouc.
21128
21129 2010-01-09  Bruno Haible  <bruno@clisp.org>
21130
21131         Tests for module 'getlogin'.
21132         * modules/getlogin-tests: New file.
21133         * tests/test-getlogin.c: New file.
21134
21135         New module 'getlogin'.
21136         * lib/unistd.in.h (getlogin): New declaration.
21137         * lib/getlogin.c: New file.
21138         * m4/getlogin.m4: New file.
21139         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
21140         HAVE_GETLOGIN.
21141         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
21142         HAVE_GETLOGIN.
21143         * modules/getlogin: New file.
21144         * doc/posix-functions/getlogin.texi: Mention the new module.
21145         Reported by John W. Eaton <jwe@gnu.org>.
21146
21147 2010-01-09  Bruno Haible  <bruno@clisp.org>
21148
21149         getlogin_r: Support for native Windows.
21150         * lib/getlogin_r.c: Include <windows.h>
21151         (getlogin_r): Implement for native Windows.
21152         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
21153         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
21154         via John W. Eaton <jwe@gnu.org>.
21155
21156 2010-01-09  Bruno Haible  <bruno@clisp.org>
21157
21158         getlogin_r: Small fixes.
21159         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
21160         succeeds.
21161         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
21162         before testing whether getlogin_r is declared. No need to set
21163         HAVE_DECL_GETLOGIN_R to 1.
21164         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
21165
21166 2010-01-09  Bruno Haible  <bruno@clisp.org>
21167
21168         * lib/unistd.in.h (getlogin_r): Add comment.
21169
21170 2010-01-09  Bruno Haible  <bruno@clisp.org>
21171
21172         Tests for module 'getlogin_r'.
21173         * modules/getlogin_r-tests: New file.
21174         * tests/test-getlogin_r.c: New file.
21175
21176 2010-01-09  Jim Meyering  <meyering@redhat.com>
21177
21178         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
21179         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
21180         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
21181
21182 2010-01-08  Simon Josefsson  <simon@josefsson.org>
21183
21184         * lib/dup2.c (rpl_dup2): Improve comment.
21185
21186 2010-01-08  Eric Blake  <ebb9@byu.net>
21187
21188         maint.mk: allow packages to add makefile @@ exceptions
21189         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
21190         (sc_makefile_check): Rename...
21191         (sc_makefile_at_at_check): ...to this, and use hook.
21192
21193         dup2: work around mingw bug
21194         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
21195         Reported by Simon Josefsson.
21196
21197 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
21198
21199         glob: Fix C++ compilation.
21200         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
21201         C++.
21202
21203 2010-01-07  Bruno Haible  <bruno@clisp.org>
21204
21205         Fix indentation of wctype.in.h, broken since 2007-01-06.
21206         * lib/wctype.in.h: Fix indentation of preprocessor directives.
21207
21208 2010-01-07  Bruno Haible  <bruno@clisp.org>
21209
21210         mbslen: Avoid collision with system function.
21211         * lib/string.in.h [MirBSD]: Include <wchar.h>.
21212         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
21213         * m4/mbslen.m4: New file.
21214         * modules/mbslen (Files): Add it.
21215         (configure.ac): Invoke gl_MBSLEN.
21216         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
21217         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
21218         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
21219         via Ian Beckwith <ianb@erislabs.net>.
21220
21221 2010-01-07  Bruno Haible  <bruno@clisp.org>
21222
21223         dirent: Document the last fix.
21224         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
21225
21226 2010-01-07  Bruno Haible  <bruno@clisp.org>
21227
21228         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
21229         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
21230         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
21231         va_list are defined.
21232         * doc/posix-headers/stdio.texi: Document the bug of missing types.
21233         Reported by Eric Blake.
21234
21235 2010-01-07  Bruno Haible  <bruno@clisp.org>
21236
21237         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
21238         * modules/xlist (Depends-on): Add 'list',
21239         * modules/xoset (Depends-on): Add 'oset'.
21240         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21241
21242 2010-01-07  Bruno Haible  <bruno@clisp.org>
21243
21244         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
21245         * doc/posix-functions/strncasecmp.texi: Likewise.
21246
21247 2010-01-07  Bruno Haible  <bruno@clisp.org>
21248
21249         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
21250
21251 2010-01-07  John W. Eaton  <jwe@octave.org>
21252
21253         wctype: allow C++ use
21254         * lib/wctype.in.h: Add extern "C" block for C++.
21255
21256 2010-01-06  Eric Blake  <ebb9@byu.net>
21257
21258         maint.mk: detect incorrect GFDL usage
21259         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
21260
21261 2010-01-06  Jim Meyering  <meyering@redhat.com>
21262         and Eric Blake  <ebb9@byu.net>
21263
21264         maint.mk: ignore multi-line copyright in NEWS
21265         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
21266
21267 2010-01-06  Eric Blake  <ebb9@byu.net>
21268
21269         select: add missing dependency
21270         * modules/select-tests (Depends-on): Move sockets dependency...
21271         * modules/select (Depends-on): ...here.
21272         Reported by Ian Beckwith.
21273
21274         doc: regenerate INSTALL
21275         * doc/INSTALL: Reflect recent autoconf update.
21276         * doc/INSTALL.ISO: Likewise.
21277         * doc/INSTALL.UTF-8: Likewise.
21278
21279         pread: fix compilation on glibc
21280         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
21281         Reported by Ralf Wildenhues.
21282
21283         dirent: fix test failure
21284         * lib/dirent.in.h (includes): Guarantee ino_t.
21285         Reported by Ralf Wildenhues.
21286
21287 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
21288
21289         linkat, renameat: avoid bad free
21290         * lib/at-func2.c (at_func2): Fix typo.
21291         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
21292
21293 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21294
21295         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
21296         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
21297         to avoid failure of symlink test later.
21298
21299 2010-01-06  Eric Blake  <ebb9@byu.net>
21300
21301         stdio, unistd: guarantee ssize_t
21302         * lib/unistd.in.h (includes): Ensure that types required by POSIX
21303         2008 are exposed when needed.
21304         * lib/stdio.in.h (includes): Likewise.
21305         Reported by Ralf Wildenhues.
21306
21307 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
21308
21309         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
21310         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
21311         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
21312
21313 2010-01-06  Jim Meyering  <meyering@redhat.com>
21314
21315         readtokens: this module *does* require xalloc.h
21316         It uses only functions that were omitted by the old syntax-check rule.
21317         * lib/readtokens.c: Include "xalloc.h" once again.
21318         * modules/readtokens (Depends-on): Add xalloc.
21319         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
21320
21321 2010-01-05  Eric Blake  <ebb9@byu.net>
21322
21323         maint: support 'make announcement' from a VPATH build
21324         * top/maint.mk (announcement): Look for correct NEWS file.
21325
21326 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
21327
21328         utimens (fdutimens): ignore a negative FD, per contract
21329         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
21330         when we have a valid file descriptor.  Otherwise, using a brand
21331         new glibc (with just-patched futimens that now fails with EBADF)
21332         would cause this function to fail with ENOSYS.
21333         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
21334         See also http://bugzilla.redhat.com/552320.
21335
21336 2010-01-05  Eric Blake  <ebb9@byu.net>
21337
21338         strcase: document what it provides
21339         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
21340         gnulib module.
21341         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
21342         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
21343
21344 2010-01-05  Jim Meyering  <meyering@redhat.com>
21345
21346         maint: remove useless inclusions of "xalloc.h"
21347         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
21348         * lib/readtokens.c: Likewise.
21349         * lib/same.c: Likewise.
21350         * modules/getloadavg (Depends-on): Remove xalloc.
21351         * modules/readtokens: Likewise.
21352         * modules/same: Likewise.
21353
21354         maint.mk: include 4 more function names in alloca.h-checking regexp
21355         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
21356         regexp.  Before, we would give a false-positive (saying alloca.h
21357         is included unnecessarily) when the only uses involved omitted symbols.
21358
21359         xalloc.h: use consistent formatting
21360         * lib/xalloc.h: Move declarations to start in the first column.
21361
21362 2010-01-05  Eric Blake  <ebb9@byu.net>
21363
21364         mkdir: avoid xalloc
21365         * lib/mkdir.c (includes): Drop unused header.
21366         Reported by John W. Eaton.
21367
21368 2010-01-04  Jim Meyering  <meyering@redhat.com>
21369
21370         nl_langinfo: avoid configure-time syntax error
21371         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
21372         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
21373         the empty string.  Don't let that provoke a shell syntax error.
21374
21375         regcomp, regexec, fnmatch: avoid array bounds read error
21376         * lib/regcomp.c (build_equiv_class): From glibc:
21377         Use only the low 24 bits of a findidx return value as an index
21378         into the weights array.  Patch by Ulrich Drepper:
21379         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
21380         * lib/regexec.c (check_node_accept_bytes): Likewise.
21381         * lib/fnmatch_loop.c (FCT): Likewise.
21382
21383         regcomp: skip collseq lookup when there are no rules
21384         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
21385         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
21386
21387         regcomp: recognize ill-formed { } expressions
21388         * lib/regcomp.c (parse_dup_op): From glibc:
21389         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
21390
21391         regcomp: fix typo in comment
21392         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
21393         s/satisfy/satisfies/.
21394
21395         regcomp: sync from glibc: remove dead store
21396         * lib/regcomp.c (duplicate_node_closure): Remove useless
21397         search_duplicated_node call and dead store.
21398
21399         regcomp: sync from glibc; always use nl_langinfo
21400         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
21401         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
21402         * modules/regex (Depends-on): Add nl_langinfo.
21403
21404 2010-01-04  Eric Blake  <ebb9@byu.net>
21405
21406         fdopendir: fix configure test
21407         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
21408
21409 2010-01-01  Bruno Haible  <bruno@clisp.org>
21410
21411         wchar: Remove unused configure check.
21412         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
21413
21414 2010-01-01  Eric Blake  <ebb9@byu.net>
21415
21416         headers: make check of system header explicit
21417         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
21418         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
21419         ourselves.
21420         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21421         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21422         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
21423         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
21424         internals.
21425         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
21426         missing.
21427         Suggested by Bruno Haible.
21428
21429 2010-01-01  Jim Meyering  <meyering@redhat.com>
21430
21431         ChangeLog: tweak to eliminate unnecessary copyright line
21432         * ChangeLog: Remove a copyright line that was mistakenly updated
21433         by today's update-copyright run.  Reported by Eric Blake.
21434
21435         test-update-copyright: don't let envvar setting cause test failure
21436         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
21437
21438 2010-01-01  Bruno Haible  <bruno@clisp.org>
21439
21440         localename: Avoid gcc warning.
21441         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
21442         function if it is not used.
21443
21444 2010-01-01  Jim Meyering  <meyering@redhat.com>
21445
21446         update nearly all FSF copyright year lists to include 2010
21447         Use the same procedure as for 2009, outlined in
21448         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
21449
21450         version-etc: set COPYRIGHT_YEAR to 2010
21451         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
21452
21453 2009-12-31  Eric Blake  <ebb9@byu.net>
21454
21455         doc: correct availability of cygwin 1.5.x getopt
21456         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
21457         variables.
21458         * doc/posix-functions/opterr.texi (opterr): Likewise.
21459         * doc/posix-functions/optind.texi (optind): Likewise.
21460         * doc/posix-functions/optopt.texi (optopt): Likewise.
21461         * doc/posix-functions/tzname.texi (tzname): Likewise.
21462
21463         openat: update maintainer
21464         * modules/openat (Maintainer): Add myself.
21465
21466         utimens: avoid shadowing warning
21467         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
21468         buffers into one, to avoid shadowing, as well as avoiding a
21469         redundant stat.
21470         Reported by Jim Meyering.
21471
21472         test-dup2: avoid compiler warning
21473         * tests/test-dup2.c (is_inheritable): Only define if used.
21474
21475 2010-01-01  Bruno Haible  <bruno@clisp.org>
21476
21477         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
21478         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
21479         defined, use wctomb instead of wcrtomb.
21480
21481 2010-01-01  Bruno Haible  <bruno@clisp.org>
21482
21483         iconv: Reject native Solaris iconv.
21484         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
21485         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
21486
21487 2009-12-31  Bruno Haible  <bruno@clisp.org>
21488
21489         * tests/test-signal.c (main): Remove test of 'SIG'.
21490
21491 2009-12-31  Bruno Haible  <bruno@clisp.org>
21492
21493         spawn: Fix incomplete fix.
21494         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
21495         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
21496         warnings for GNULIB_POSIXCHECK again.
21497         Reported by Eric Blake.
21498
21499 2009-12-31  Bruno Haible  <bruno@clisp.org>
21500
21501         Avoid namespace pollution on glibc systems.
21502         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
21503         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
21504         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
21505         glibc systems.
21506
21507 2009-12-31  Bruno Haible  <bruno@clisp.org>
21508
21509         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
21510         (gl_REPLACE_WCHAR_H): Turn into a no-op.
21511         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
21512         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21513         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21514         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21515         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21516
21517 2009-12-31  Bruno Haible  <bruno@clisp.org>
21518
21519         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
21520         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
21521         afterwards.
21522
21523 2009-12-31  Bruno Haible  <bruno@clisp.org>
21524
21525         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
21526         SYS_UTSNAME_H.
21527
21528 2009-12-31  Bruno Haible  <bruno@clisp.org>
21529
21530         spawn: Fix misapplied patch.
21531         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
21532         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
21533         warnings for GNULIB_POSIXCHECK.
21534
21535 2009-12-31  Bruno Haible  <bruno@clisp.org>
21536
21537         times: Update after sys_times changed.
21538         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
21539         * modules/times (Files): Add it.
21540         (configure.ac): Invoke gl_FUNC_TIMES.
21541
21542 2009-12-31  Bruno Haible  <bruno@clisp.org>
21543
21544         Use AC_C_INLINE where necessary.
21545         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
21546         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21547         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
21548         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
21549         * m4/mbfile.m4 (gl_MBFILE): Likewise.
21550         * m4/mbiter.m4 (gl_MBITER): Likewise.
21551         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
21552         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21553         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
21554         * modules/u64 (configure.ac): Likewise.
21555
21556 2009-12-31  Bruno Haible  <bruno@clisp.org>
21557
21558         Use AC_C_INLINE instead of module 'inline' where possible.
21559         * modules/inline (Description): Clarify purpose.
21560         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
21561         * modules/count-one-bits (Depends-on): Remove inline.
21562         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
21563         * modules/openat (Depends-on): Remove inline.
21564         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
21565         instead of depending on module 'inline'.
21566         * modules/filevercmp (Depends-on, configure.ac): Likewise.
21567         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
21568         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
21569         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
21570         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
21571         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
21572         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
21573         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
21574         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
21575         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
21576         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
21577         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
21578         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
21579         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
21580         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
21581         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
21582         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
21583         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
21584         Likewise.
21585         * modules/unictype/property-ascii-hex-digit (Depends-on,
21586         configure.ac): Likewise.
21587         * modules/unictype/property-bidi-arabic-digit (Depends-on,
21588         configure.ac): Likewise.
21589         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
21590         configure.ac): Likewise.
21591         * modules/unictype/property-bidi-block-separator (Depends-on,
21592         configure.ac): Likewise.
21593         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
21594         configure.ac): Likewise.
21595         * modules/unictype/property-bidi-common-separator (Depends-on,
21596         configure.ac): Likewise.
21597         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
21598         Likewise.
21599         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
21600         configure.ac): Likewise.
21601         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
21602         configure.ac): Likewise.
21603         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
21604         configure.ac): Likewise.
21605         * modules/unictype/property-bidi-european-digit (Depends-on,
21606         configure.ac): Likewise.
21607         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
21608         configure.ac): Likewise.
21609         * modules/unictype/property-bidi-left-to-right (Depends-on,
21610         configure.ac): Likewise.
21611         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
21612         configure.ac): Likewise.
21613         * modules/unictype/property-bidi-other-neutral (Depends-on,
21614         configure.ac): Likewise.
21615         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
21616         Likewise.
21617         * modules/unictype/property-bidi-segment-separator (Depends-on,
21618         configure.ac): Likewise.
21619         * modules/unictype/property-bidi-whitespace (Depends-on,
21620         configure.ac): Likewise.
21621         * modules/unictype/property-combining (Depends-on, configure.ac):
21622         Likewise.
21623         * modules/unictype/property-composite (Depends-on, configure.ac):
21624         Likewise.
21625         * modules/unictype/property-currency-symbol (Depends-on,
21626         configure.ac): Likewise.
21627         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
21628         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
21629         Likewise.
21630         * modules/unictype/property-default-ignorable-code-point (Depends-on,
21631         configure.ac): Likewise.
21632         * modules/unictype/property-deprecated (Depends-on, configure.ac):
21633         Likewise.
21634         * modules/unictype/property-diacritic (Depends-on, configure.ac):
21635         Likewise.
21636         * modules/unictype/property-extender (Depends-on, configure.ac):
21637         Likewise.
21638         * modules/unictype/property-format-control (Depends-on, configure.ac):
21639         Likewise.
21640         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
21641         Likewise.
21642         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
21643         Likewise.
21644         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
21645         Likewise.
21646         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
21647         Likewise.
21648         * modules/unictype/property-hyphen (Depends-on, configure.ac):
21649         Likewise.
21650         * modules/unictype/property-id-continue (Depends-on, configure.ac):
21651         Likewise.
21652         * modules/unictype/property-id-start (Depends-on, configure.ac):
21653         Likewise.
21654         * modules/unictype/property-ideographic (Depends-on, configure.ac):
21655         Likewise.
21656         * modules/unictype/property-ids-binary-operator (Depends-on,
21657         configure.ac): Likewise.
21658         * modules/unictype/property-ids-trinary-operator (Depends-on,
21659         configure.ac): Likewise.
21660         * modules/unictype/property-ignorable-control (Depends-on,
21661         configure.ac): Likewise.
21662         * modules/unictype/property-iso-control (Depends-on, configure.ac):
21663         Likewise.
21664         * modules/unictype/property-join-control (Depends-on, configure.ac):
21665         Likewise.
21666         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
21667         Likewise.
21668         * modules/unictype/property-line-separator (Depends-on, configure.ac):
21669         Likewise.
21670         * modules/unictype/property-logical-order-exception (Depends-on,
21671         configure.ac): Likewise.
21672         * modules/unictype/property-lowercase (Depends-on, configure.ac):
21673         Likewise.
21674         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
21675         * modules/unictype/property-non-break (Depends-on, configure.ac):
21676         Likewise.
21677         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
21678         Likewise.
21679         * modules/unictype/property-numeric (Depends-on, configure.ac):
21680         Likewise.
21681         * modules/unictype/property-other-alphabetic (Depends-on,
21682         configure.ac): Likewise.
21683         * modules/unictype/property-other-default-ignorable-code-point
21684         (Depends-on, configure.ac): Likewise.
21685         * modules/unictype/property-other-grapheme-extend (Depends-on,
21686         configure.ac): Likewise.
21687         * modules/unictype/property-other-id-continue (Depends-on,
21688         configure.ac): Likewise.
21689         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
21690         Likewise.
21691         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
21692         Likewise.
21693         * modules/unictype/property-other-math (Depends-on, configure.ac):
21694         Likewise.
21695         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
21696         Likewise.
21697         * modules/unictype/property-paired-punctuation (Depends-on,
21698         configure.ac): Likewise.
21699         * modules/unictype/property-paragraph-separator (Depends-on,
21700         configure.ac): Likewise.
21701         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
21702         Likewise.
21703         * modules/unictype/property-pattern-white-space (Depends-on,
21704         configure.ac): Likewise.
21705         * modules/unictype/property-private-use (Depends-on, configure.ac):
21706         Likewise.
21707         * modules/unictype/property-punctuation (Depends-on, configure.ac):
21708         Likewise.
21709         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
21710         Likewise.
21711         * modules/unictype/property-radical (Depends-on, configure.ac):
21712         Likewise.
21713         * modules/unictype/property-sentence-terminal (Depends-on,
21714         configure.ac): Likewise.
21715         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
21716         Likewise.
21717         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
21718         * modules/unictype/property-terminal-punctuation (Depends-on,
21719         configure.ac): Likewise.
21720         * modules/unictype/property-titlecase (Depends-on, configure.ac):
21721         Likewise.
21722         * modules/unictype/property-unassigned-code-value (Depends-on,
21723         configure.ac): Likewise.
21724         * modules/unictype/property-unified-ideograph (Depends-on,
21725         configure.ac): Likewise.
21726         * modules/unictype/property-uppercase (Depends-on, configure.ac):
21727         Likewise.
21728         * modules/unictype/property-variation-selector (Depends-on,
21729         configure.ac): Likewise.
21730         * modules/unictype/property-white-space (Depends-on, configure.ac):
21731         Likewise.
21732         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
21733         Likewise.
21734         * modules/unictype/property-xid-start (Depends-on, configure.ac):
21735         Likewise.
21736         * modules/unictype/property-zero-width (Depends-on, configure.ac):
21737         Likewise.
21738         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
21739         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
21740         Likewise.
21741
21742 2009-12-31  Bruno Haible  <bruno@clisp.org>
21743
21744         Remove unnecessary AC_C_INLINE invocation.
21745         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
21746         since 2009-08-21.
21747
21748 2009-12-31  Jim Meyering  <meyering@redhat.com>
21749
21750         maint.mk: don't require explicit gpg_key_ID in cfg.mk
21751         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
21752         With this change, we can all remove the gpg_key_ID = ... definition
21753         from our respective cfg.mk files.
21754
21755         maint.mk: create announcement template in ~/, not in /tmp
21756         * top/maint.mk (emit_upload_commands): Adjust.
21757         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
21758         Remove temporary file, .ci-msg.
21759
21760 2009-12-31  Eric Blake  <ebb9@byu.net>
21761
21762         link-warning: always build headers with link warnings
21763         * modules/arpa_inet (Makefile.am): Always build replacement
21764         header.
21765         * modules/ctype (Makefile.am): Likewise.
21766         * modules/dirent (Makefile.am): Likewise.
21767         * modules/inttypes (Makefile.am): Likewise.
21768         * modules/langinfo (Makefile.am): Likewise.
21769         * modules/locale (Makefile.am): Likewise.
21770         * modules/spawn (Makefile.am): Likewise.
21771         * modules/sys_file (Makefile.am): Likewise.
21772         * modules/sys_ioctl (Makefile.am): Likewise.
21773         * modules/sys_select (Makefile.am): Likewise.
21774         * modules/sys_socket (Makefile.am): Likewise.
21775         * modules/sys_times (Makefile.am): Likewise.
21776         * modules/sys_utsname (Makefile.am): Likewise.
21777         * modules/sys_wait (Makefile.am): Likewise.
21778         * modules/wchar (Makefile.am): Likewise.
21779         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
21780         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
21781         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
21782         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
21783         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
21784         Likewise.
21785         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
21786         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
21787         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
21788         Likewise.
21789         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
21790         Likewise.
21791         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21792         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
21793         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
21794         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21795         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21796         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
21797         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
21798         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
21799         (gl_WCHAR_H_DEFAULTS): Likewise.
21800
21801 2009-12-31  Eric Blake  <ebb9@byu.net>
21802
21803         signal, spawn: use link warnings
21804         * lib/signal.in.h (sigset_t): Make unconditional.
21805         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
21806         (sigpending, sigprocmask, sigaction): Add link warnings.
21807         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
21808         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
21809         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
21810         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
21811         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
21812         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
21813         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
21814         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
21815         (posix_spawn_file_actions_destroy)
21816         (posix_spawn_file_actions_addopen)
21817         (posix_spawn_file_actions_addclose)
21818         (posix_spawn_file_actions_adddup2): Likewise.
21819         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
21820         * tests/test-signal.c (main): Enhance test.
21821
21822         spawn: improve wrapper support
21823         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
21824         (gl_SPAWN_H_DEFAULTS): New defaults.
21825         * modules/spawn (Makefile.am): Substitute them.
21826         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
21827         Only declare if missing or broken.
21828
21829         sys_times, sys_utsname: use include_next
21830         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
21831         header.
21832         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
21833         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
21834         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
21835         * modules/sys_times (Depends-on): Add include_next.
21836         (Makefile.am): Substitute additional values.
21837         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
21838         * lib/sys_times.in.h (includes): Include native header, if
21839         available.
21840         * lib/sys_utsname.in.h (includes): Likewise.
21841         * tests/test-sys_times.c (main): Enhance test.
21842
21843         fdutimensat: revert prior patch
21844         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
21845         utimens.h.
21846         Reported by Bruno Haible.
21847
21848 2009-12-30  Eric Blake  <ebb9@byu.net>
21849
21850         sys_wait: drop link-warning dependency
21851         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
21852         link-warning efforts.
21853         * lib/sys_wait.in.h: Likewise.
21854
21855         fdutimensat: remove bogus dependency
21856         * modules/fdutimensat (Depends-on): Drop inline.
21857
21858         unistd: fix typo
21859         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
21860
21861 2009-12-30  Bruno Haible  <bruno@clisp.org>
21862
21863         Fix compilation error with Solaris cc.
21864         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
21865         * lib/unicase/u16-is-invariant.c: Likewise.
21866         * lib/unicase/u32-is-invariant.c: Likewise.
21867         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
21868
21869 2009-12-30  Bruno Haible  <bruno@clisp.org>
21870
21871         Fix test crash.
21872         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
21873         locales.
21874         Reported by Simon Josefsson <simon@josefsson.org>.
21875
21876 2009-12-30  Bruno Haible  <bruno@clisp.org>
21877
21878         Fix compilation error on most platforms.
21879         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
21880         Reported by Simon Josefsson <simon@josefsson.org>
21881         and Nelson H. F. Beebe <beebe@math.utah.edu>.
21882
21883 2009-12-30  Eric Blake  <ebb9@byu.net>
21884
21885         futimens, utimensat: work around ntfs-3g bug
21886         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
21887         a ctime bug is present, and expand workaround to cover ntfs-3g.
21888         * lib/utimens.c (fdutimens, lutimens): Likewise.
21889         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
21890         (validate_timespec): Adjust return value.
21891         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
21892         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21893         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
21894
21895 2009-12-29  Eric Blake  <ebb9@byu.net>
21896
21897         link-warning: make usage consistent
21898         * modules/ctype (Depends-on): Add link-warning.
21899         (Makefile.am): Update rules accordingly.
21900         * modules/langinfo (Depends-on, Makefile.am): Likewise.
21901         * modules/locale (Depends-on, Makefile.am): Likewise.
21902         * modules/sys_file (Makefile.am): Likewise.
21903         * modules/getopt-posix (Makefile.am): Delete unused link warning
21904         efforts.
21905         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
21906         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
21907         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
21908         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
21909
21910         stdio: remove unused variables
21911         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
21912         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
21913         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21914
21915         tests: test more substitute headers
21916         * modules/ctype-tests: New file.
21917         * modules/dirent-tests: Likewise.
21918         * modules/spawn-tests: Likewise.
21919         * modules/sys_file-tests: Likewise.
21920         * modules/sys_ioctl-tests: Likewise.
21921         * modules/sys_wait-tests: Likewise.
21922         * tests/test-ctype.c: Likewise.
21923         * tests/test-dirent.c: Likewise.
21924         * tests/test-spawn.c: Likewise.
21925         * tests/test-sys_file.c: Likewise.
21926         * tests/test-sys_ioctl.c: Likewise.
21927         * tests/test-sys_wait.c: Likewise.
21928         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
21929         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
21930         whether or not flock is in use.
21931
21932         tests: remove License section from module
21933         * modules/arpa_inet-tests: Remove unneeded section.
21934         * modules/byteswap-tests: Likewise.
21935         * modules/ceilf-tests: Likewise.
21936         * modules/ceill-tests: Likewise.
21937         * modules/crypto/des-tests: Likewise.
21938         * modules/crypto/gc-arcfour-tests: Likewise.
21939         * modules/crypto/gc-arctwo-tests: Likewise.
21940         * modules/crypto/gc-des-tests: Likewise.
21941         * modules/crypto/gc-hmac-md5-tests: Likewise.
21942         * modules/crypto/gc-hmac-sha1-tests: Likewise.
21943         * modules/crypto/gc-md2-tests: Likewise.
21944         * modules/crypto/gc-md4-tests: Likewise.
21945         * modules/crypto/gc-md5-tests: Likewise.
21946         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
21947         * modules/crypto/gc-rijndael-tests: Likewise.
21948         * modules/crypto/gc-sha1-tests: Likewise.
21949         * modules/crypto/gc-tests: Likewise.
21950         * modules/crypto/md2-tests: Likewise.
21951         * modules/crypto/md4-tests: Likewise.
21952         * modules/fcntl-h-tests: Likewise.
21953         * modules/floorf-tests: Likewise.
21954         * modules/floorl-tests: Likewise.
21955         * modules/frexp-nolibm-tests: Likewise.
21956         * modules/frexp-tests: Likewise.
21957         * modules/frexpl-nolibm-tests: Likewise.
21958         * modules/frexpl-tests: Likewise.
21959         * modules/getaddrinfo-tests: Likewise.
21960         * modules/inttypes-tests: Likewise.
21961         * modules/isfinite-tests: Likewise.
21962         * modules/isinf-tests: Likewise.
21963         * modules/ldexpl-tests: Likewise.
21964         * modules/locale-tests: Likewise.
21965         * modules/math-tests: Likewise.
21966         * modules/netdb-tests: Likewise.
21967         * modules/netinet_in-tests: Likewise.
21968         * modules/printf-frexp-tests: Likewise.
21969         * modules/printf-frexpl-tests: Likewise.
21970         * modules/priv-set-tests: Likewise.
21971         * modules/random_r-tests: Likewise.
21972         * modules/round-tests: Likewise.
21973         * modules/roundf-tests: Likewise.
21974         * modules/roundl-tests: Likewise.
21975         * modules/search-tests: Likewise.
21976         * modules/select-tests: Likewise.
21977         * modules/signal-tests: Likewise.
21978         * modules/stdbool-tests: Likewise.
21979         * modules/stddef-tests: Likewise.
21980         * modules/stdint-tests: Likewise.
21981         * modules/stdio-tests: Likewise.
21982         * modules/stdlib-tests: Likewise.
21983         * modules/string-tests: Likewise.
21984         * modules/strings-tests: Likewise.
21985         * modules/sys_select-tests: Likewise.
21986         * modules/sys_socket-tests: Likewise.
21987         * modules/sys_stat-tests: Likewise.
21988         * modules/sys_time-tests: Likewise.
21989         * modules/sys_utsname-tests: Likewise.
21990         * modules/sysexits-tests: Likewise.
21991         * modules/time-tests: Likewise.
21992         * modules/trunc-tests: Likewise.
21993         * modules/truncf-tests: Likewise.
21994         * modules/truncl-tests: Likewise.
21995         * modules/tsearch-tests: Likewise.
21996         * modules/unistd-tests: Likewise.
21997         * modules/wchar-tests: Likewise.
21998         * modules/wctype-tests: Likewise.
21999
22000         tests: fix license on several tests
22001         * tests/test-des.c: Update to GPLv3+.
22002         * tests/test-flock.c: Likewise.
22003         * tests/test-fsync.c: Likewise.
22004         * tests/test-futimens.h: Likewise.
22005         * tests/test-gc-arcfour.c: Likewise.
22006         * tests/test-gc-arctwo.c: Likewise.
22007         * tests/test-gc-des.c: Likewise.
22008         * tests/test-gc-hmac-md5.c: Likewise.
22009         * tests/test-gc-hmac-sha1.c: Likewise.
22010         * tests/test-gc-md2.c: Likewise.
22011         * tests/test-gc-md4.c: Likewise.
22012         * tests/test-gc-md5.c: Likewise.
22013         * tests/test-gc-pbkdf2-sha1.c: Likewise.
22014         * tests/test-gc-rijndael.c: Likewise.
22015         * tests/test-gc-sha1.c: Likewise.
22016         * tests/test-gc.c: Likewise.
22017         * tests/test-getcwd.c: Likewise.
22018         * tests/test-link.c: Likewise.
22019         * tests/test-link.h: Likewise.
22020         * tests/test-lutimens.h: Likewise.
22021         * tests/test-md2.c: Likewise.
22022         * tests/test-md4.c: Likewise.
22023         * tests/test-mkdir.h: Likewise.
22024         * tests/test-rename.c: Likewise.
22025         * tests/test-rename.h: Likewise.
22026         * tests/test-safe-alloc.c: Likewise.
22027         * tests/test-utimens-common.h: Likewise.
22028         * tests/test-utimens.h: Likewise.
22029
22030         maint: sync license texts
22031         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
22032         * doc/gpl-3.0.texi: Revert copyright year update.
22033         * doc/lgpl-3.0.texi: Likewise.
22034
22035 2009-12-29  Jim Meyering  <meyering@redhat.com>
22036
22037         update nearly all FSF copyright year lists to include 2009
22038         The files named by the following are exempted:
22039             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
22040               test -f "$dst" && { echo "$dst"; continue; }
22041               test -d "$dst" || continue
22042               echo "$dst"/$(basename "$src")
22043             done > exempt
22044             git ls-files tests/unictype >> exempt
22045         In the remaining files, convert to all-interval notation if
22046         - there is already at least one year interval like 2000-2003
22047         - the file is maintained by me
22048         - the file is in lib/uni*/, where that style already prevails
22049         Otherwise, use update-copyright's default.
22050
22051 2009-12-29  Simon Josefsson  <simon@josefsson.org>
22052         and Eric Blake  <ebb9@byu.net>
22053
22054         tests: don't require debug system() to pass
22055         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
22056         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22057         * tests/test-unlink.h (test_unlink_func): Likewise.
22058         * tests/test-fstatat.c (main): ...into callers.
22059         * tests/test-lstat.c (main): Likewise.
22060         * tests/test-rmdir.c (main): Likewise.
22061         * tests/test-unlink.c (main): Likewise.
22062         * tests/test-unlinkat.c (main): Likewise.
22063         * tests/test-areadlink-with-size.c (main): Don't require a
22064         debug-only system call to pass, aiding cross-testing to mingw.
22065         * tests/test-areadlink.c (main): Likewise.
22066         * tests/test-areadlinkat-with-size.c (main): Likewise.
22067         * tests/test-areadlinkat.c (main): Likewise.
22068         * tests/test-canonicalize-lgpl.c (main): Likewise.
22069         * tests/test-canonicalize.c (main): Likewise.
22070         * tests/test-chown.c (main): Likewise.
22071         * tests/test-fchownat.c (main): Likewise.
22072         * tests/test-lchown.c (main): Likewise.
22073         * tests/test-fdutimensat.c (main): Likewise.
22074         * tests/test-futimens.c (main): Likewise.
22075         * tests/test-link.c (main): Likewise.
22076         * tests/test-linkat.c (main): Likewise.
22077         * tests/test-mkdir.c (main): Likewise.
22078         * tests/test-mkdirat.c (main): Likewise.
22079         * tests/test-mkfifo.c (main): Likewise.
22080         * tests/test-mkfifoat.c (main): Likewise.
22081         * tests/test-mknod.c (main): Likewise.
22082         * tests/test-readlink.c (main): Likewise.
22083         * tests/test-remove.c (main): Likewise.
22084         * tests/test-rename.c (main): Likewise.
22085         * tests/test-renameat.c (main): Likewise.
22086         * tests/test-symlink.c (main): Likewise.
22087         * tests/test-symlinkat.c (main): Likewise.
22088         * tests/test-utimens.c (main): Likewise.
22089         * tests/test-utimensat.c (main): Likewise.
22090
22091 2009-12-29  Simon Josefsson  <simon@josefsson.org>
22092
22093         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
22094         on $(UNUSED_PARAMETER_H) to avoid build failure.
22095
22096 2009-12-28  Jim Meyering  <meyering@redhat.com>
22097
22098         update-copyright: you may specify a max. line length other than 72
22099         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
22100
22101         maint: use consistent FSF copyright line syntax
22102         * lib/posixtm.c: Add missing comma in FSF copyright line.
22103         * lib/posixtm.h: Likewise.
22104         * lib/getugroups.c: Add missing ", Inc.".
22105
22106         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
22107         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
22108         FSF copyright line.  Remove trailing blanks.
22109
22110 2009-12-28  Eric Blake  <ebb9@byu.net>
22111
22112         test-dup2: reduce dependencies
22113         * modules/cloexec (Configure.ac): Set witness.
22114         * modules/dup2-tests (Depends-on): Drop cloexec.
22115         * tests/test-dup2.c (main): Skip portion of test if cloexec module
22116         not present.
22117         Suggested by Bruno Haible.
22118
22119 2009-12-26  Bruno Haible  <bruno@clisp.org>
22120
22121         Remove an unneeded dependency.
22122         * modules/fseterr (Depends-on): Remove dup2.
22123
22124 2009-12-26  Eric Blake  <ebb9@byu.net>
22125
22126         tests: use macros.h in more places
22127         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
22128         (ASSERT_STREAM): Provide default of stderr.
22129         * tests/test-dirent-safer.c: Include macros.h, using alternate
22130         stream for assertions.
22131         * tests/test-dup-safer.c: Likewise.
22132         * tests/test-freopen-safer.c: Likewise.
22133         * tests/test-getopt.c: Likewise.
22134         * tests/test-openat-safer.c: Likewise.
22135         * tests/test-pipe.c: Likewise.
22136         * tests/test-popen-safer.c: Likewise.
22137         * modules/dirent-safer-tests (Files): Include macros.h.
22138         * modules/unistd-safer-tests (Files): Likewise.
22139         * modules/freopen-safer-tests (Files): Likewise.
22140         * modules/getopt-posix-tests (Files): Likewise.
22141         * modules/openat-safer-tests (Files): Likewise.
22142         * modules/pipe-tests (Files): Likewise.
22143
22144 2009-12-26  Bruno Haible  <bruno@clisp.org>
22145
22146         javacomp: Portability fix.
22147         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
22148         that it also works on Solaris.
22149
22150 2009-12-26  Bruno Haible  <bruno@clisp.org>
22151
22152         localename: Fix storage allocation of gl_locale_name_thread's result.
22153         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
22154         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
22155         all platforms that have 'uselocale'.
22156         (gl_locale_name_thread_unsafe): New function, extracted from
22157         gl_locale_name_thread.
22158         (gl_locale_name_thread): Call struniq on all platforms that have
22159         'uselocale'.
22160         * tests/test-localename.c (test_locale_name_thread): Check that the
22161         resulting strings are permanently allocated.
22162         * modules/localename-tests (Depends-on): Add strdup.
22163
22164 2009-12-26  Bruno Haible  <bruno@clisp.org>
22165
22166         * tests/test-localename.c (categories): Fill in the strings.
22167
22168 2009-12-26  Jim Meyering  <meyering@redhat.com>
22169
22170         isdir: complete the removal of m4/isdir.m4
22171         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
22172
22173         isdir: clean up, since at least grep still uses it
22174         * lib/isdir.c: Include "isdir.h".
22175         (S_ISDIR): Remove now-unneeded definition.
22176         * modules/isdir (Files): Add lib/isdir.h.
22177         * lib/isdir.h: New file, with declaration.
22178         * m4/isdir.m4: Remove file -- unneeded.
22179
22180 2009-12-25  Bruno Haible  <bruno@clisp.org>
22181
22182         selinux-h: Make generated .h files standalone.
22183         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
22184         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
22185         * lib/se-selinux.in.h: Likewise.
22186         * modules/selinux-h (Depends-on): Add unused-parameter.
22187         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
22188         selinux/selinux.h and selinux/context.h.
22189         Suggested by Eric Blake.
22190
22191 2009-12-25  Bruno Haible  <bruno@clisp.org>
22192
22193         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
22194         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
22195         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
22196         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
22197         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
22198
22199 2009-12-24  Bruno Haible  <bruno@clisp.org>
22200
22201         openat: Fix warning.
22202         * lib/openat-proc.c: Include <unistd.h>.
22203
22204 2009-12-24  Bruno Haible  <bruno@clisp.org>
22205
22206         New module 'unused-parameter'.
22207         * build-aux/unused-parameter.h: New file, extracted from earlier
22208         gnulib-common.m4.
22209         * modules/unused-parameter: New file.
22210         * lib/unistr.h: Include unused-parameter.h.
22211         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
22212         _GL_UNUSED.
22213         * modules/unistr/base (Depends-on): Add unused-parameter.
22214
22215 2009-12-24  Bruno Haible  <bruno@clisp.org>
22216
22217         Add missing dependencies to 'extensions' module.
22218         * m4/extensions.m4: Add comment.
22219         * modules/accept4 (Depends-on): Add extensions.
22220         * modules/dup3 (Depends-on): Likewise.
22221         * modules/fcntl (Depends-on): Likewise.
22222         * modules/futimens (Depends-on): Likewise.
22223         * modules/mknod (Depends-on): Likewise.
22224         * modules/pipe2 (Depends-on): Likewise.
22225         * modules/stat-time (Depends-on): Likewise.
22226         * modules/strcasestr-simple (Depends-on): Likewise.
22227         * modules/strsignal (Depends-on): Likewise.
22228         * modules/utimensat (Depends-on): Likewise.
22229         * modules/localcharset (Depends-on): Likewise. Needed because of
22230         gl_FCNTL_O_FLAGS.
22231         * modules/wcrtomb (Depends-on): Likewise. Needed because of
22232         AC_TYPE_MBSTATE_T.
22233         * modules/wcsnrtombs (Depends-on): Likewise.
22234         * modules/wcsrtombs (Depends-on): Likewise.
22235
22236 2009-12-24  Bruno Haible  <bruno@clisp.org>
22237
22238         binary-io: Avoid gcc warning due to SET_BINARY.
22239         * lib/binary-io.h (SET_BINARY): Cast the result to void.
22240         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
22241
22242 2009-12-24  Bruno Haible  <bruno@clisp.org>
22243
22244         Avoid future namespace pollution on glibc systems.
22245         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
22246         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
22247         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
22248         glibc systems.
22249
22250 2009-12-24  Bruno Haible  <bruno@clisp.org>
22251
22252         Refactor common macros used in tests.
22253         * tests/macros.h: New file.
22254         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
22255         and/or <stdlib.h>, if appropriate.
22256         (ASSERT, SIZEOF): Remove macros.
22257         * tests/test-areadlink-with-size.c: Likewise.
22258         * tests/test-areadlinkat.c: Likewise.
22259         * tests/test-areadlinkat-with-size.c: Likewise.
22260         * tests/test-argmatch.c: Likewise.
22261         * tests/test-argv-iter.c: Likewise.
22262         * tests/test-array-mergesort.c: Likewise.
22263         * tests/test-array_list.c: Likewise.
22264         * tests/test-array_oset.c: Likewise.
22265         * tests/test-avltree_list.c: Likewise.
22266         * tests/test-avltree_oset.c: Likewise.
22267         * tests/test-avltreehash_list.c: Likewise.
22268         * tests/test-base64.c: Likewise.
22269         * tests/test-binary-io.c: Likewise.
22270         * tests/test-bitrotate.c: Likewise.
22271         * tests/test-btowc.c: Likewise.
22272         * tests/test-byteswap.c: Likewise.
22273         * tests/test-c-ctype.c: Likewise.
22274         * tests/test-c-stack.c: Likewise.
22275         * tests/test-c-strcasecmp.c: Likewise.
22276         * tests/test-c-strcasestr.c: Likewise.
22277         * tests/test-c-strncasecmp.c: Likewise.
22278         * tests/test-c-strstr.c: Likewise.
22279         * tests/test-canonicalize-lgpl.c: Likewise.
22280         * tests/test-canonicalize.c: Likewise.
22281         * tests/test-carray_list.c: Likewise.
22282         * tests/test-ceilf1.c: Likewise.
22283         * tests/test-ceilf2.c: Likewise.
22284         * tests/test-ceill.c: Likewise.
22285         * tests/test-chown.c: Likewise.
22286         * tests/test-cloexec.c: Likewise.
22287         * tests/test-copy-acl.c: Likewise.
22288         * tests/test-copy-file.c: Likewise.
22289         * tests/test-count-one-bits.c: Likewise.
22290         * tests/test-dprintf-posix.c: Likewise.
22291         * tests/test-dup2.c: Likewise.
22292         * tests/test-dup3.c: Likewise.
22293         * tests/test-duplocale.c: Likewise.
22294         * tests/test-fbufmode.c: Likewise.
22295         * tests/test-fchdir.c: Likewise.
22296         * tests/test-fchownat.c: Likewise.
22297         * tests/test-fcntl-safer.c: Likewise.
22298         * tests/test-fcntl.c: Likewise.
22299         * tests/test-fdopendir.c: Likewise.
22300         * tests/test-fdutimensat.c: Likewise.
22301         * tests/test-fflush2.c: Likewise.
22302         * tests/test-file-has-acl.c: Likewise.
22303         * tests/test-filevercmp.c: Likewise.
22304         * tests/test-flock.c: Likewise.
22305         * tests/test-floorf1.c: Likewise.
22306         * tests/test-floorf2.c: Likewise.
22307         * tests/test-floorl.c: Likewise.
22308         * tests/test-fnmatch.c: Likewise.
22309         * tests/test-fopen.h: Likewise.
22310         * tests/test-fpending.c: Likewise.
22311         * tests/test-fprintf-posix.c: Likewise.
22312         * tests/test-fpurge.c: Likewise.
22313         * tests/test-freadable.c: Likewise.
22314         * tests/test-freadahead.c: Likewise.
22315         * tests/test-freading.c: Likewise.
22316         * tests/test-freadptr.c: Likewise.
22317         * tests/test-freadptr2.c: Likewise.
22318         * tests/test-freadseek.c: Likewise.
22319         * tests/test-freopen.c: Likewise.
22320         * tests/test-frexp.c: Likewise.
22321         * tests/test-frexpl.c: Likewise.
22322         * tests/test-fseek.c: Likewise.
22323         * tests/test-fseeko.c: Likewise.
22324         * tests/test-fstatat.c: Likewise.
22325         * tests/test-fstrcmp.c: Likewise.
22326         * tests/test-fsync.c: Likewise.
22327         * tests/test-ftell.c: Likewise.
22328         * tests/test-ftello.c: Likewise.
22329         * tests/test-func.c: Likewise.
22330         * tests/test-futimens.c: Likewise.
22331         * tests/test-fwritable.c: Likewise.
22332         * tests/test-fwriting.c: Likewise.
22333         * tests/test-getcwd.c: Likewise.
22334         * tests/test-getdate.c: Likewise.
22335         * tests/test-getdelim.c: Likewise.
22336         * tests/test-getdtablesize.c: Likewise.
22337         * tests/test-getgroups.c: Likewise.
22338         * tests/test-getline.c: Likewise.
22339         * tests/test-getndelim2.c: Likewise.
22340         * tests/test-glob.c: Likewise.
22341         * tests/test-hash.c: Likewise.
22342         * tests/test-i-ring.c: Likewise.
22343         * tests/test-iconv-utf.c: Likewise.
22344         * tests/test-iconv.c: Likewise.
22345         * tests/test-idpriv-drop.c: Likewise.
22346         * tests/test-idpriv-droptemp.c: Likewise.
22347         * tests/test-inet_ntop.c: Likewise.
22348         * tests/test-inet_pton.c: Likewise.
22349         * tests/test-isblank.c: Likewise.
22350         * tests/test-isfinite.c: Likewise.
22351         * tests/test-isinf.c: Likewise.
22352         * tests/test-isnan.c: Likewise.
22353         * tests/test-isnand.h: Likewise.
22354         * tests/test-isnanf.h: Likewise.
22355         * tests/test-isnanl.h: Likewise.
22356         * tests/test-lchown.c: Likewise.
22357         * tests/test-ldexpl.c: Likewise.
22358         * tests/test-link.c: Likewise.
22359         * tests/test-linkat.c: Likewise.
22360         * tests/test-linked_list.c: Likewise.
22361         * tests/test-linkedhash_list.c: Likewise.
22362         * tests/test-localename.c: Likewise.
22363         * tests/test-lseek.c: Likewise.
22364         * tests/test-lstat.c: Likewise.
22365         * tests/test-mbmemcasecmp.c: Likewise.
22366         * tests/test-mbmemcasecoll.c: Likewise.
22367         * tests/test-mbrtowc.c: Likewise.
22368         * tests/test-mbscasecmp.c: Likewise.
22369         * tests/test-mbscasestr1.c: Likewise.
22370         * tests/test-mbscasestr2.c: Likewise.
22371         * tests/test-mbscasestr3.c: Likewise.
22372         * tests/test-mbscasestr4.c: Likewise.
22373         * tests/test-mbschr.c: Likewise.
22374         * tests/test-mbscspn.c: Likewise.
22375         * tests/test-mbsinit.c: Likewise.
22376         * tests/test-mbsncasecmp.c: Likewise.
22377         * tests/test-mbsnrtowcs.c: Likewise.
22378         * tests/test-mbspbrk.c: Likewise.
22379         * tests/test-mbspcasecmp.c: Likewise.
22380         * tests/test-mbsrchr.c: Likewise.
22381         * tests/test-mbsrtowcs.c: Likewise.
22382         * tests/test-mbsspn.c: Likewise.
22383         * tests/test-mbsstr1.c: Likewise.
22384         * tests/test-mbsstr2.c: Likewise.
22385         * tests/test-mbsstr3.c: Likewise.
22386         * tests/test-memchr.c: Likewise.
22387         * tests/test-memchr2.c: Likewise.
22388         * tests/test-memcmp.c: Likewise.
22389         * tests/test-memmem.c: Likewise.
22390         * tests/test-memrchr.c: Likewise.
22391         * tests/test-mkdir.c: Likewise.
22392         * tests/test-mkdirat.c: Likewise.
22393         * tests/test-mkfifo.c: Likewise.
22394         * tests/test-mkfifoat.c: Likewise.
22395         * tests/test-mknod.c: Likewise.
22396         * tests/test-nanosleep.c: Likewise.
22397         * tests/test-nl_langinfo.c: Likewise.
22398         * tests/test-obstack-printf.c: Likewise.
22399         * tests/test-open.c: Likewise.
22400         * tests/test-openat.c: Likewise.
22401         * tests/test-pipe-filter-gi1.c: Likewise.
22402         * tests/test-pipe-filter-gi2-main.c: Likewise.
22403         * tests/test-pipe-filter-ii1.c: Likewise.
22404         * tests/test-pipe-filter-ii2-main.c: Likewise.
22405         * tests/test-pipe2.c: Likewise.
22406         * tests/test-popen.h: Likewise.
22407         * tests/test-posixtm.c: Likewise.
22408         * tests/test-pread.c: Likewise.
22409         * tests/test-printf-frexp.c: Likewise.
22410         * tests/test-printf-frexpl.c: Likewise.
22411         * tests/test-printf-posix.c: Likewise.
22412         * tests/test-priv-set.c: Likewise.
22413         * tests/test-quotearg.c: Likewise.
22414         * tests/test-random_r.c: Likewise.
22415         * tests/test-rawmemchr.c: Likewise.
22416         * tests/test-rbtree_list.c: Likewise.
22417         * tests/test-rbtree_oset.c: Likewise.
22418         * tests/test-rbtreehash_list.c: Likewise.
22419         * tests/test-readlink.c: Likewise.
22420         * tests/test-remove.c: Likewise.
22421         * tests/test-rename.c: Likewise.
22422         * tests/test-renameat.c: Likewise.
22423         * tests/test-rmdir.c: Likewise.
22424         * tests/test-round1.c: Likewise.
22425         * tests/test-roundf1.c: Likewise.
22426         * tests/test-roundl.c: Likewise.
22427         * tests/test-safe-alloc.c: Likewise.
22428         * tests/test-sameacls.c: Likewise.
22429         * tests/test-set-mode-acl.c: Likewise.
22430         * tests/test-setenv.c: Likewise.
22431         * tests/test-sigaction.c: Likewise.
22432         * tests/test-signbit.c: Likewise.
22433         * tests/test-sleep.c: Likewise.
22434         * tests/test-snprintf-posix.c: Likewise.
22435         * tests/test-snprintf.c: Likewise.
22436         * tests/test-sprintf-posix.c: Likewise.
22437         * tests/test-stat-time.c: Likewise.
22438         * tests/test-stat.c: Likewise.
22439         * tests/test-strcasestr.c: Likewise.
22440         * tests/test-strchrnul.c: Likewise.
22441         * tests/test-strerror.c: Likewise.
22442         * tests/test-striconv.c: Likewise.
22443         * tests/test-striconveh.c: Likewise.
22444         * tests/test-striconveha.c: Likewise.
22445         * tests/test-strsignal.c: Likewise.
22446         * tests/test-strstr.c: Likewise.
22447         * tests/test-strtod.c: Likewise.
22448         * tests/test-strverscmp.c: Likewise.
22449         * tests/test-symlink.c: Likewise.
22450         * tests/test-symlinkat.c: Likewise.
22451         * tests/test-trunc1.c: Likewise.
22452         * tests/test-trunc2.c: Likewise.
22453         * tests/test-truncf1.c: Likewise.
22454         * tests/test-truncf2.c: Likewise.
22455         * tests/test-truncl.c: Likewise.
22456         * tests/test-uname.c: Likewise.
22457         * tests/test-unlink.c: Likewise.
22458         * tests/test-unlinkat.c: Likewise.
22459         * tests/test-unsetenv.c: Likewise.
22460         * tests/test-usleep.c: Likewise.
22461         * tests/test-utimens.c: Likewise.
22462         * tests/test-utimensat.c: Likewise.
22463         * tests/test-vasnprintf-posix.c: Likewise.
22464         * tests/test-vasnprintf-posix2.c: Likewise.
22465         * tests/test-vasnprintf.c: Likewise.
22466         * tests/test-vasprintf-posix.c: Likewise.
22467         * tests/test-vasprintf.c: Likewise.
22468         * tests/test-vdprintf-posix.c: Likewise.
22469         * tests/test-vfprintf-posix.c: Likewise.
22470         * tests/test-vprintf-posix.c: Likewise.
22471         * tests/test-vsnprintf-posix.c: Likewise.
22472         * tests/test-vsnprintf.c: Likewise.
22473         * tests/test-vsprintf-posix.c: Likewise.
22474         * tests/test-wcrtomb.c: Likewise.
22475         * tests/test-wcsnrtombs.c: Likewise.
22476         * tests/test-wcsrtombs.c: Likewise.
22477         * tests/test-wctype.c: Likewise.
22478         * tests/test-wcwidth.c: Likewise.
22479         * tests/test-xfprintf-posix.c: Likewise.
22480         * tests/test-xmemdup0.c: Likewise.
22481         * tests/test-xprintf-posix.c: Likewise.
22482         * tests/test-xvasprintf.c: Likewise.
22483         * tests/unicase/test-locale-language.c: Likewise.
22484         * tests/unicase/test-mapping-part1.h: Likewise.
22485         * tests/unicase/test-predicate-part1.h: Likewise.
22486         * tests/unicase/test-u8-casecmp.c: Likewise.
22487         * tests/unicase/test-u8-casecoll.c: Likewise.
22488         * tests/unicase/test-u8-casefold.c: Likewise.
22489         * tests/unicase/test-u8-is-cased.c: Likewise.
22490         * tests/unicase/test-u8-is-casefolded.c: Likewise.
22491         * tests/unicase/test-u8-is-lowercase.c: Likewise.
22492         * tests/unicase/test-u8-is-titlecase.c: Likewise.
22493         * tests/unicase/test-u8-is-uppercase.c: Likewise.
22494         * tests/unicase/test-u8-tolower.c: Likewise.
22495         * tests/unicase/test-u8-totitle.c: Likewise.
22496         * tests/unicase/test-u8-toupper.c: Likewise.
22497         * tests/unicase/test-u16-casecmp.c: Likewise.
22498         * tests/unicase/test-u16-casecoll.c: Likewise.
22499         * tests/unicase/test-u16-casefold.c: Likewise.
22500         * tests/unicase/test-u16-is-cased.c: Likewise.
22501         * tests/unicase/test-u16-is-casefolded.c: Likewise.
22502         * tests/unicase/test-u16-is-lowercase.c: Likewise.
22503         * tests/unicase/test-u16-is-titlecase.c: Likewise.
22504         * tests/unicase/test-u16-is-uppercase.c: Likewise.
22505         * tests/unicase/test-u16-tolower.c: Likewise.
22506         * tests/unicase/test-u16-totitle.c: Likewise.
22507         * tests/unicase/test-u16-toupper.c: Likewise.
22508         * tests/unicase/test-u32-casecmp.c: Likewise.
22509         * tests/unicase/test-u32-casecoll.c: Likewise.
22510         * tests/unicase/test-u32-casefold.c: Likewise.
22511         * tests/unicase/test-u32-is-cased.c: Likewise.
22512         * tests/unicase/test-u32-is-casefolded.c: Likewise.
22513         * tests/unicase/test-u32-is-lowercase.c: Likewise.
22514         * tests/unicase/test-u32-is-titlecase.c: Likewise.
22515         * tests/unicase/test-u32-is-uppercase.c: Likewise.
22516         * tests/unicase/test-u32-tolower.c: Likewise.
22517         * tests/unicase/test-u32-totitle.c: Likewise.
22518         * tests/unicase/test-u32-toupper.c: Likewise.
22519         * tests/unicase/test-ulc-casecmp.c: Likewise.
22520         * tests/unicase/test-ulc-casecoll.c: Likewise.
22521         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
22522         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
22523         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
22524         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
22525         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
22526         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
22527         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
22528         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
22529         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
22530         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
22531         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
22532         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
22533         * tests/unictype/test-bidi_byname.c: Likewise.
22534         * tests/unictype/test-bidi_name.c: Likewise.
22535         * tests/unictype/test-bidi_of.c: Likewise.
22536         * tests/unictype/test-bidi_test.c: Likewise.
22537         * tests/unictype/test-block_list.c: Likewise.
22538         * tests/unictype/test-block_of.c: Likewise.
22539         * tests/unictype/test-block_test.c: Likewise.
22540         * tests/unictype/test-categ_and.c: Likewise.
22541         * tests/unictype/test-categ_and_not.c: Likewise.
22542         * tests/unictype/test-categ_byname.c: Likewise.
22543         * tests/unictype/test-categ_name.c: Likewise.
22544         * tests/unictype/test-categ_none.c: Likewise.
22545         * tests/unictype/test-categ_of.c: Likewise.
22546         * tests/unictype/test-categ_or.c: Likewise.
22547         * tests/unictype/test-categ_test_withtable.c: Likewise.
22548         * tests/unictype/test-combining.c: Likewise.
22549         * tests/unictype/test-decdigit.c: Likewise.
22550         * tests/unictype/test-digit.c: Likewise.
22551         * tests/unictype/test-mirror.c: Likewise.
22552         * tests/unictype/test-numeric.c: Likewise.
22553         * tests/unictype/test-pr_byname.c: Likewise.
22554         * tests/unictype/test-pr_test.c: Likewise.
22555         * tests/unictype/test-predicate-part1.h: Likewise.
22556         * tests/unictype/test-scripts.c: Likewise.
22557         * tests/unictype/test-sy_c_ident.c: Likewise.
22558         * tests/unictype/test-sy_java_ident.c: Likewise.
22559         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
22560         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
22561         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
22562         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
22563         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
22564         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
22565         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
22566         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
22567         * tests/uninorm/test-canonical-decomposition.c: Likewise.
22568         * tests/uninorm/test-compat-decomposition.c: Likewise.
22569         * tests/uninorm/test-composition.c: Likewise.
22570         * tests/uninorm/test-decomposing-form.c: Likewise.
22571         * tests/uninorm/test-decomposition.c: Likewise.
22572         * tests/uninorm/test-u8-nfc.c: Likewise.
22573         * tests/uninorm/test-u8-nfd.c: Likewise.
22574         * tests/uninorm/test-u8-nfkc.c: Likewise.
22575         * tests/uninorm/test-u8-nfkd.c: Likewise.
22576         * tests/uninorm/test-u8-normcmp.c: Likewise.
22577         * tests/uninorm/test-u8-normcoll.c: Likewise.
22578         * tests/uninorm/test-u16-nfc.c: Likewise.
22579         * tests/uninorm/test-u16-nfd.c: Likewise.
22580         * tests/uninorm/test-u16-nfkc.c: Likewise.
22581         * tests/uninorm/test-u16-nfkd.c: Likewise.
22582         * tests/uninorm/test-u16-normcmp.c: Likewise.
22583         * tests/uninorm/test-u16-normcoll.c: Likewise.
22584         * tests/uninorm/test-u32-nfc.c: Likewise.
22585         * tests/uninorm/test-u32-nfd.c: Likewise.
22586         * tests/uninorm/test-u32-nfkc.c: Likewise.
22587         * tests/uninorm/test-u32-nfkd.c: Likewise.
22588         * tests/uninorm/test-u32-normalize-big.c: Likewise.
22589         * tests/uninorm/test-u32-normcmp.c: Likewise.
22590         * tests/uninorm/test-u32-normcoll.c: Likewise.
22591         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
22592         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
22593         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
22594         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
22595         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
22596         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
22597         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
22598         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
22599         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
22600         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
22601         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
22602         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
22603         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
22604         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
22605         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
22606         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
22607         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
22608         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
22609         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
22610         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
22611         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
22612         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
22613         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
22614         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
22615         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
22616         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
22617         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
22618         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
22619         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
22620         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
22621         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
22622         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
22623         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
22624         * tests/uniwidth/test-u8-strwidth.c: Likewise.
22625         * tests/uniwidth/test-u8-width.c: Likewise.
22626         * tests/uniwidth/test-u16-strwidth.c: Likewise.
22627         * tests/uniwidth/test-u16-width.c: Likewise.
22628         * tests/uniwidth/test-u32-strwidth.c: Likewise.
22629         * tests/uniwidth/test-u32-width.c: Likewise.
22630         * tests/uniwidth/test-uc_width.c: Likewise.
22631         * tests/uniwidth/test-uc_width2.c: Likewise.
22632         * modules/acl-tests (Files): Add tests/macros.h.
22633         * modules/areadlink-tests (Files): Likewise.
22634         * modules/areadlink-with-size-tests (Files): Likewise.
22635         * modules/areadlinkat-tests (Files): Likewise.
22636         * modules/areadlinkat-with-size-tests (Files): Likewise.
22637         * modules/argmatch-tests (Files): Likewise.
22638         * modules/argv-iter-tests (Files): Likewise.
22639         * modules/array-list-tests (Files): Likewise.
22640         * modules/array-mergesort-tests (Files): Likewise.
22641         * modules/array-oset-tests (Files): Likewise.
22642         * modules/avltree-list-tests (Files): Likewise.
22643         * modules/avltree-oset-tests (Files): Likewise.
22644         * modules/avltreehash-list-tests (Files): Likewise.
22645         * modules/base64-tests (Files): Likewise.
22646         * modules/binary-io-tests (Files): Likewise.
22647         * modules/bitrotate-tests (Files): Likewise.
22648         * modules/btowc-tests (Files): Likewise.
22649         * modules/byteswap-tests (Files): Likewise.
22650         * modules/c-ctype-tests (Files): Likewise.
22651         * modules/c-stack-tests (Files): Likewise.
22652         * modules/c-strcase-tests (Files): Likewise.
22653         * modules/c-strcasestr-tests (Files): Likewise.
22654         * modules/c-strstr-tests (Files): Likewise.
22655         * modules/canonicalize-lgpl-tests (Files): Likewise.
22656         * modules/canonicalize-tests (Files): Likewise.
22657         * modules/carray-list-tests (Files): Likewise.
22658         * modules/ceilf-tests (Files): Likewise.
22659         * modules/ceill-tests (Files): Likewise.
22660         * modules/chown-tests (Files): Likewise.
22661         * modules/cloexec-tests (Files): Likewise.
22662         * modules/copy-file-tests (Files): Likewise.
22663         * modules/count-one-bits-tests (Files): Likewise.
22664         * modules/dprintf-posix-tests (Files): Likewise.
22665         * modules/dup2-tests (Files): Likewise.
22666         * modules/dup3-tests (Files): Likewise.
22667         * modules/duplocale-tests (Files): Likewise.
22668         * modules/fbufmode-tests (Files): Likewise.
22669         * modules/fchdir-tests (Files): Likewise.
22670         * modules/fcntl-safer-tests (Files): Likewise.
22671         * modules/fcntl-tests (Files): Likewise.
22672         * modules/fdopendir-tests (Files): Likewise.
22673         * modules/fdutimensat-tests (Files): Likewise.
22674         * modules/fflush-tests (Files): Likewise.
22675         * modules/filevercmp-tests (Files): Likewise.
22676         * modules/flock-tests (Files): Likewise.
22677         * modules/floorf-tests (Files): Likewise.
22678         * modules/floorl-tests (Files): Likewise.
22679         * modules/fnmatch-tests (Files): Likewise.
22680         * modules/fopen-safer-tests (Files): Likewise.
22681         * modules/fopen-tests (Files): Likewise.
22682         * modules/fpending-tests (Files): Likewise.
22683         * modules/fprintf-posix-tests (Files): Likewise.
22684         * modules/fpurge-tests (Files): Likewise.
22685         * modules/freadable-tests (Files): Likewise.
22686         * modules/freadahead-tests (Files): Likewise.
22687         * modules/freading-tests (Files): Likewise.
22688         * modules/freadptr-tests (Files): Likewise.
22689         * modules/freadseek-tests (Files): Likewise.
22690         * modules/freopen-tests (Files): Likewise.
22691         * modules/frexp-nolibm-tests (Files): Likewise.
22692         * modules/frexp-tests (Files): Likewise.
22693         * modules/frexpl-nolibm-tests (Files): Likewise.
22694         * modules/frexpl-tests (Files): Likewise.
22695         * modules/fseek-tests (Files): Likewise.
22696         * modules/fseeko-tests (Files): Likewise.
22697         * modules/fstrcmp-tests (Files): Likewise.
22698         * modules/fsync-tests (Files): Likewise.
22699         * modules/ftell-tests (Files): Likewise.
22700         * modules/ftello-tests (Files): Likewise.
22701         * modules/func-tests (Files): Likewise.
22702         * modules/futimens-tests (Files): Likewise.
22703         * modules/fwritable-tests (Files): Likewise.
22704         * modules/fwriting-tests (Files): Likewise.
22705         * modules/getcwd-tests (Files): Likewise.
22706         * modules/getdate-tests (Files): Likewise.
22707         * modules/getdelim-tests (Files): Likewise.
22708         * modules/getdtablesize-tests (Files): Likewise.
22709         * modules/getgroups-tests (Files): Likewise.
22710         * modules/getline-tests (Files): Likewise.
22711         * modules/getndelim2-tests (Files): Likewise.
22712         * modules/glob-tests (Files): Likewise.
22713         * modules/hash-tests (Files): Likewise.
22714         * modules/i-ring-tests (Files): Likewise.
22715         * modules/iconv-tests (Files): Likewise.
22716         * modules/iconv_open-utf-tests (Files): Likewise.
22717         * modules/idpriv-drop-tests (Files): Likewise.
22718         * modules/idpriv-droptemp-tests (Files): Likewise.
22719         * modules/inet_ntop-tests (Files): Likewise.
22720         * modules/inet_pton-tests (Files): Likewise.
22721         * modules/isblank-tests (Files): Likewise.
22722         * modules/isfinite-tests (Files): Likewise.
22723         * modules/isinf-tests (Files): Likewise.
22724         * modules/isnan-tests (Files): Likewise.
22725         * modules/isnand-nolibm-tests (Files): Likewise.
22726         * modules/isnand-tests (Files): Likewise.
22727         * modules/isnanf-nolibm-tests (Files): Likewise.
22728         * modules/isnanf-tests (Files): Likewise.
22729         * modules/isnanl-nolibm-tests (Files): Likewise.
22730         * modules/isnanl-tests (Files): Likewise.
22731         * modules/lchown-tests (Files): Likewise.
22732         * modules/ldexpl-tests (Files): Likewise.
22733         * modules/link-tests (Files): Likewise.
22734         * modules/linkat-tests (Files): Likewise.
22735         * modules/linked-list-tests (Files): Likewise.
22736         * modules/linkedhash-list-tests (Files): Likewise.
22737         * modules/localename-tests (Files): Likewise.
22738         * modules/lseek-tests (Files): Likewise.
22739         * modules/lstat-tests (Files): Likewise.
22740         * modules/mbmemcasecmp-tests (Files): Likewise.
22741         * modules/mbmemcasecoll-tests (Files): Likewise.
22742         * modules/mbrtowc-tests (Files): Likewise.
22743         * modules/mbscasecmp-tests (Files): Likewise.
22744         * modules/mbscasestr-tests (Files): Likewise.
22745         * modules/mbschr-tests (Files): Likewise.
22746         * modules/mbscspn-tests (Files): Likewise.
22747         * modules/mbsinit-tests (Files): Likewise.
22748         * modules/mbsncasecmp-tests (Files): Likewise.
22749         * modules/mbsnrtowcs-tests (Files): Likewise.
22750         * modules/mbspbrk-tests (Files): Likewise.
22751         * modules/mbspcasecmp-tests (Files): Likewise.
22752         * modules/mbsrchr-tests (Files): Likewise.
22753         * modules/mbsrtowcs-tests (Files): Likewise.
22754         * modules/mbsspn-tests (Files): Likewise.
22755         * modules/mbsstr-tests (Files): Likewise.
22756         * modules/memchr-tests (Files): Likewise.
22757         * modules/memchr2-tests (Files): Likewise.
22758         * modules/memcmp-tests (Files): Likewise.
22759         * modules/memmem-tests (Files): Likewise.
22760         * modules/memrchr-tests (Files): Likewise.
22761         * modules/mkdir-tests (Files): Likewise.
22762         * modules/mkfifo-tests (Files): Likewise.
22763         * modules/mkfifoat-tests (Files): Likewise.
22764         * modules/mknod-tests (Files): Likewise.
22765         * modules/nanosleep-tests (Files): Likewise.
22766         * modules/nl_langinfo-tests (Files): Likewise.
22767         * modules/obstack-printf-tests (Files): Likewise.
22768         * modules/open-tests (Files): Likewise.
22769         * modules/openat-tests (Files): Likewise.
22770         * modules/pipe-filter-gi-tests (Files): Likewise.
22771         * modules/pipe-filter-ii-tests (Files): Likewise.
22772         * modules/pipe2-tests (Files): Likewise.
22773         * modules/popen-safer-tests (Files): Likewise.
22774         * modules/popen-tests (Files): Likewise.
22775         * modules/posixtm-tests (Files): Likewise.
22776         * modules/pread-tests (Files): Likewise.
22777         * modules/printf-frexp-tests (Files): Likewise.
22778         * modules/printf-frexpl-tests (Files): Likewise.
22779         * modules/printf-posix-tests (Files): Likewise.
22780         * modules/priv-set-tests (Files): Likewise.
22781         * modules/quotearg-tests (Files): Likewise.
22782         * modules/random_r-tests (Files): Likewise.
22783         * modules/rawmemchr-tests (Files): Likewise.
22784         * modules/rbtree-list-tests (Files): Likewise.
22785         * modules/rbtree-oset-tests (Files): Likewise.
22786         * modules/rbtreehash-list-tests (Files): Likewise.
22787         * modules/readlink-tests (Files): Likewise.
22788         * modules/remove-tests (Files): Likewise.
22789         * modules/rename-tests (Files): Likewise.
22790         * modules/renameat-tests (Files): Likewise.
22791         * modules/rmdir-tests (Files): Likewise.
22792         * modules/round-tests (Files): Likewise.
22793         * modules/roundf-tests (Files): Likewise.
22794         * modules/roundl-tests (Files): Likewise.
22795         * modules/safe-alloc-tests (Files): Likewise.
22796         * modules/setenv-tests (Files): Likewise.
22797         * modules/sigaction-tests (Files): Likewise.
22798         * modules/signbit-tests (Files): Likewise.
22799         * modules/sleep-tests (Files): Likewise.
22800         * modules/snprintf-posix-tests (Files): Likewise.
22801         * modules/snprintf-tests (Files): Likewise.
22802         * modules/sprintf-posix-tests (Files): Likewise.
22803         * modules/stat-tests (Files): Likewise.
22804         * modules/stat-time-tests (Files): Likewise.
22805         * modules/strcasestr-tests (Files): Likewise.
22806         * modules/strchrnul-tests (Files): Likewise.
22807         * modules/strerror-tests (Files): Likewise.
22808         * modules/striconv-tests (Files): Likewise.
22809         * modules/striconveh-tests (Files): Likewise.
22810         * modules/striconveha-tests (Files): Likewise.
22811         * modules/strsignal-tests (Files): Likewise.
22812         * modules/strstr-tests (Files): Likewise.
22813         * modules/strtod-tests (Files): Likewise.
22814         * modules/strverscmp-tests (Files): Likewise.
22815         * modules/symlink-tests (Files): Likewise.
22816         * modules/symlinkat-tests (Files): Likewise.
22817         * modules/trunc-tests (Files): Likewise.
22818         * modules/truncf-tests (Files): Likewise.
22819         * modules/truncl-tests (Files): Likewise.
22820         * modules/uname-tests (Files): Likewise.
22821         * modules/unicase/cased-tests (Files): Likewise.
22822         * modules/unicase/ignorable-tests (Files): Likewise.
22823         * modules/unicase/locale-language-tests (Files): Likewise.
22824         * modules/unicase/tolower-tests (Files): Likewise.
22825         * modules/unicase/totitle-tests (Files): Likewise.
22826         * modules/unicase/toupper-tests (Files): Likewise.
22827         * modules/unicase/u8-casecmp-tests (Files): Likewise.
22828         * modules/unicase/u8-casecoll-tests (Files): Likewise.
22829         * modules/unicase/u8-casefold-tests (Files): Likewise.
22830         * modules/unicase/u8-is-cased-tests (Files): Likewise.
22831         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
22832         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
22833         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
22834         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
22835         * modules/unicase/u8-tolower-tests (Files): Likewise.
22836         * modules/unicase/u8-totitle-tests (Files): Likewise.
22837         * modules/unicase/u8-toupper-tests (Files): Likewise.
22838         * modules/unicase/u16-casecmp-tests (Files): Likewise.
22839         * modules/unicase/u16-casecoll-tests (Files): Likewise.
22840         * modules/unicase/u16-casefold-tests (Files): Likewise.
22841         * modules/unicase/u16-is-cased-tests (Files): Likewise.
22842         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
22843         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
22844         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
22845         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
22846         * modules/unicase/u16-tolower-tests (Files): Likewise.
22847         * modules/unicase/u16-totitle-tests (Files): Likewise.
22848         * modules/unicase/u16-toupper-tests (Files): Likewise.
22849         * modules/unicase/u32-casecmp-tests (Files): Likewise.
22850         * modules/unicase/u32-casecoll-tests (Files): Likewise.
22851         * modules/unicase/u32-casefold-tests (Files): Likewise.
22852         * modules/unicase/u32-is-cased-tests (Files): Likewise.
22853         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
22854         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
22855         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
22856         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
22857         * modules/unicase/u32-tolower-tests (Files): Likewise.
22858         * modules/unicase/u32-totitle-tests (Files): Likewise.
22859         * modules/unicase/u32-toupper-tests (Files): Likewise.
22860         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
22861         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
22862         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
22863         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
22864         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
22865         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
22866         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
22867         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
22868         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
22869         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
22870         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
22871         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
22872         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
22873         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
22874         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
22875         * modules/unictype/bidicategory-name-tests (Files): Likewise.
22876         * modules/unictype/bidicategory-of-tests (Files): Likewise.
22877         * modules/unictype/bidicategory-test-tests (Files): Likewise.
22878         * modules/unictype/block-list-tests (Files): Likewise.
22879         * modules/unictype/block-of-tests (Files): Likewise.
22880         * modules/unictype/block-test-tests (Files): Likewise.
22881         * modules/unictype/category-C-tests (Files): Likewise.
22882         * modules/unictype/category-Cc-tests (Files): Likewise.
22883         * modules/unictype/category-Cf-tests (Files): Likewise.
22884         * modules/unictype/category-Cn-tests (Files): Likewise.
22885         * modules/unictype/category-Co-tests (Files): Likewise.
22886         * modules/unictype/category-Cs-tests (Files): Likewise.
22887         * modules/unictype/category-L-tests (Files): Likewise.
22888         * modules/unictype/category-Ll-tests (Files): Likewise.
22889         * modules/unictype/category-Lm-tests (Files): Likewise.
22890         * modules/unictype/category-Lo-tests (Files): Likewise.
22891         * modules/unictype/category-Lt-tests (Files): Likewise.
22892         * modules/unictype/category-Lu-tests (Files): Likewise.
22893         * modules/unictype/category-M-tests (Files): Likewise.
22894         * modules/unictype/category-Mc-tests (Files): Likewise.
22895         * modules/unictype/category-Me-tests (Files): Likewise.
22896         * modules/unictype/category-Mn-tests (Files): Likewise.
22897         * modules/unictype/category-N-tests (Files): Likewise.
22898         * modules/unictype/category-Nd-tests (Files): Likewise.
22899         * modules/unictype/category-Nl-tests (Files): Likewise.
22900         * modules/unictype/category-No-tests (Files): Likewise.
22901         * modules/unictype/category-P-tests (Files): Likewise.
22902         * modules/unictype/category-Pc-tests (Files): Likewise.
22903         * modules/unictype/category-Pd-tests (Files): Likewise.
22904         * modules/unictype/category-Pe-tests (Files): Likewise.
22905         * modules/unictype/category-Pf-tests (Files): Likewise.
22906         * modules/unictype/category-Pi-tests (Files): Likewise.
22907         * modules/unictype/category-Po-tests (Files): Likewise.
22908         * modules/unictype/category-Ps-tests (Files): Likewise.
22909         * modules/unictype/category-S-tests (Files): Likewise.
22910         * modules/unictype/category-Sc-tests (Files): Likewise.
22911         * modules/unictype/category-Sk-tests (Files): Likewise.
22912         * modules/unictype/category-Sm-tests (Files): Likewise.
22913         * modules/unictype/category-So-tests (Files): Likewise.
22914         * modules/unictype/category-Z-tests (Files): Likewise.
22915         * modules/unictype/category-Zl-tests (Files): Likewise.
22916         * modules/unictype/category-Zp-tests (Files): Likewise.
22917         * modules/unictype/category-Zs-tests (Files): Likewise.
22918         * modules/unictype/category-and-not-tests (Files): Likewise.
22919         * modules/unictype/category-and-tests (Files): Likewise.
22920         * modules/unictype/category-byname-tests (Files): Likewise.
22921         * modules/unictype/category-name-tests (Files): Likewise.
22922         * modules/unictype/category-none-tests (Files): Likewise.
22923         * modules/unictype/category-of-tests (Files): Likewise.
22924         * modules/unictype/category-or-tests (Files): Likewise.
22925         * modules/unictype/category-test-withtable-tests (Files): Likewise.
22926         * modules/unictype/combining-class-tests (Files): Likewise.
22927         * modules/unictype/ctype-alnum-tests (Files): Likewise.
22928         * modules/unictype/ctype-alpha-tests (Files): Likewise.
22929         * modules/unictype/ctype-blank-tests (Files): Likewise.
22930         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
22931         * modules/unictype/ctype-digit-tests (Files): Likewise.
22932         * modules/unictype/ctype-graph-tests (Files): Likewise.
22933         * modules/unictype/ctype-lower-tests (Files): Likewise.
22934         * modules/unictype/ctype-print-tests (Files): Likewise.
22935         * modules/unictype/ctype-punct-tests (Files): Likewise.
22936         * modules/unictype/ctype-space-tests (Files): Likewise.
22937         * modules/unictype/ctype-upper-tests (Files): Likewise.
22938         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
22939         * modules/unictype/decimal-digit-tests (Files): Likewise.
22940         * modules/unictype/digit-tests (Files): Likewise.
22941         * modules/unictype/mirror-tests (Files): Likewise.
22942         * modules/unictype/numeric-tests (Files): Likewise.
22943         * modules/unictype/property-alphabetic-tests (Files): Likewise.
22944         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
22945         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
22946         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
22947         Likewise.
22948         * modules/unictype/property-bidi-block-separator-tests (Files):
22949         Likewise.
22950         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
22951         Likewise.
22952         * modules/unictype/property-bidi-common-separator-tests (Files):
22953         Likewise.
22954         * modules/unictype/property-bidi-control-tests (Files): Likewise.
22955         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
22956         Likewise.
22957         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
22958         Likewise.
22959         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
22960         Likewise.
22961         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
22962         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
22963         Likewise.
22964         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
22965         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
22966         Likewise.
22967         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
22968         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
22969         * modules/unictype/property-bidi-segment-separator-tests (Files):
22970         Likewise.
22971         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
22972         * modules/unictype/property-byname-tests (Files): Likewise.
22973         * modules/unictype/property-combining-tests (Files): Likewise.
22974         * modules/unictype/property-composite-tests (Files): Likewise.
22975         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
22976         * modules/unictype/property-dash-tests (Files): Likewise.
22977         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
22978         * modules/unictype/property-default-ignorable-code-point-tests (Files):
22979         Likewise.
22980         * modules/unictype/property-deprecated-tests (Files): Likewise.
22981         * modules/unictype/property-diacritic-tests (Files): Likewise.
22982         * modules/unictype/property-extender-tests (Files): Likewise.
22983         * modules/unictype/property-format-control-tests (Files): Likewise.
22984         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
22985         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
22986         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
22987         * modules/unictype/property-hex-digit-tests (Files): Likewise.
22988         * modules/unictype/property-hyphen-tests (Files): Likewise.
22989         * modules/unictype/property-id-continue-tests (Files): Likewise.
22990         * modules/unictype/property-id-start-tests (Files): Likewise.
22991         * modules/unictype/property-ideographic-tests (Files): Likewise.
22992         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
22993         * modules/unictype/property-ids-trinary-operator-tests (Files):
22994         Likewise.
22995         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
22996         * modules/unictype/property-iso-control-tests (Files): Likewise.
22997         * modules/unictype/property-join-control-tests (Files): Likewise.
22998         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
22999         * modules/unictype/property-line-separator-tests (Files): Likewise.
23000         * modules/unictype/property-logical-order-exception-tests (Files):
23001         Likewise.
23002         * modules/unictype/property-lowercase-tests (Files): Likewise.
23003         * modules/unictype/property-math-tests (Files): Likewise.
23004         * modules/unictype/property-non-break-tests (Files): Likewise.
23005         * modules/unictype/property-not-a-character-tests (Files): Likewise.
23006         * modules/unictype/property-numeric-tests (Files): Likewise.
23007         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
23008         * modules/unictype/property-other-default-ignorable-code-point-tests
23009         (Files): Likewise.
23010         * modules/unictype/property-other-grapheme-extend-tests (Files):
23011         Likewise.
23012         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
23013         * modules/unictype/property-other-id-start-tests (Files): Likewise.
23014         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
23015         * modules/unictype/property-other-math-tests (Files): Likewise.
23016         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
23017         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
23018         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
23019         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
23020         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
23021         * modules/unictype/property-private-use-tests (Files): Likewise.
23022         * modules/unictype/property-punctuation-tests (Files): Likewise.
23023         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
23024         * modules/unictype/property-radical-tests (Files): Likewise.
23025         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
23026         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
23027         * modules/unictype/property-space-tests (Files): Likewise.
23028         * modules/unictype/property-terminal-punctuation-tests (Files):
23029         Likewise.
23030         * modules/unictype/property-test-tests (Files): Likewise.
23031         * modules/unictype/property-titlecase-tests (Files): Likewise.
23032         * modules/unictype/property-unassigned-code-value-tests (Files):
23033         Likewise.
23034         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
23035         * modules/unictype/property-uppercase-tests (Files): Likewise.
23036         * modules/unictype/property-variation-selector-tests (Files): Likewise.
23037         * modules/unictype/property-white-space-tests (Files): Likewise.
23038         * modules/unictype/property-xid-continue-tests (Files): Likewise.
23039         * modules/unictype/property-xid-start-tests (Files): Likewise.
23040         * modules/unictype/property-zero-width-tests (Files): Likewise.
23041         * modules/unictype/scripts-tests (Files): Likewise.
23042         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
23043         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
23044         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
23045         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
23046         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
23047         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
23048         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
23049         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
23050         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
23051         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
23052         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
23053         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
23054         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
23055         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
23056         * modules/uninorm/composition-tests (Files): Likewise.
23057         * modules/uninorm/decomposing-form-tests (Files): Likewise.
23058         * modules/uninorm/decomposition-tests (Files): Likewise.
23059         * modules/uninorm/filter-tests (Files): Likewise.
23060         * modules/uninorm/nfc-tests (Files): Likewise.
23061         * modules/uninorm/nfd-tests (Files): Likewise.
23062         * modules/uninorm/nfkc-tests (Files): Likewise.
23063         * modules/uninorm/nfkd-tests (Files): Likewise.
23064         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
23065         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
23066         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
23067         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
23068         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
23069         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
23070         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
23071         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
23072         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
23073         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
23074         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
23075         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
23076         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
23077         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
23078         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
23079         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
23080         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
23081         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
23082         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
23083         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
23084         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
23085         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
23086         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
23087         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
23088         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
23089         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
23090         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
23091         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
23092         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
23093         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
23094         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
23095         * modules/uniwidth/u8-width-tests (Files): Likewise.
23096         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
23097         * modules/uniwidth/u16-width-tests (Files): Likewise.
23098         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
23099         * modules/uniwidth/u32-width-tests (Files): Likewise.
23100         * modules/uniwidth/width-tests (Files): Likewise.
23101         * modules/unlink-tests (Files): Likewise.
23102         * modules/unsetenv-tests (Files): Likewise.
23103         * modules/usleep-tests (Files): Likewise.
23104         * modules/utimens-tests (Files): Likewise.
23105         * modules/utimensat-tests (Files): Likewise.
23106         * modules/vasnprintf-posix-tests (Files): Likewise.
23107         * modules/vasnprintf-tests (Files): Likewise.
23108         * modules/vasprintf-posix-tests (Files): Likewise.
23109         * modules/vasprintf-tests (Files): Likewise.
23110         * modules/vdprintf-posix-tests (Files): Likewise.
23111         * modules/vfprintf-posix-tests (Files): Likewise.
23112         * modules/vprintf-posix-tests (Files): Likewise.
23113         * modules/vsnprintf-posix-tests (Files): Likewise.
23114         * modules/vsnprintf-tests (Files): Likewise.
23115         * modules/vsprintf-posix-tests (Files): Likewise.
23116         * modules/wcrtomb-tests (Files): Likewise.
23117         * modules/wcsnrtombs-tests (Files): Likewise.
23118         * modules/wcsrtombs-tests (Files): Likewise.
23119         * modules/wctype-tests (Files): Likewise.
23120         * modules/wcwidth-tests (Files): Likewise.
23121         * modules/xmemdup0-tests (Files): Likewise.
23122         * modules/xprintf-posix-tests (Files): Likewise.
23123         * modules/xvasprintf-tests (Files): Likewise.
23124
23125 2009-12-24  Eric Blake  <ebb9@byu.net>
23126
23127         test-nanosleep: fix typo
23128         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
23129         patch.
23130         Reported by Bruno Haible.
23131
23132 2009-12-24  Bruno Haible  <bruno@clisp.org>
23133
23134         Reduce namespace pollution on glibc systems.
23135         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
23136         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
23137         systems.
23138         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
23139         <getopt.h> on glibc systems.
23140         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
23141         systems.
23142         * lib/fcntl.c: Include <unistd.h> here instead.
23143
23144 2009-12-24  Bruno Haible  <bruno@clisp.org>
23145
23146         * lib/stdlib.in.h (includes): Fix typo in today's commit.
23147
23148 2009-12-24  Eric Blake  <ebb9@byu.net>
23149
23150         tests: add signature checks
23151         * tests/signature.h (SIGNATURE_CHECK): New file.
23152         * modules/atexit-tests (Files): Use it.
23153         * modules/btowc-tests (Files): Likewise.
23154         * modules/canonicalize-lgpl-tests (Files): Likewise.
23155         * modules/ceilf-tests (Files): Likewise.
23156         * modules/ceill-tests (Files): Likewise.
23157         * modules/chown-tests (Files): Likewise.
23158         * modules/dprintf-posix-tests (Files): Likewise.
23159         * modules/dup2-tests (Files): Likewise.
23160         * modules/dup3-tests (Files): Likewise.
23161         * modules/duplocale-tests (Files): Likewise.
23162         * modules/fchdir-tests (Files): Likewise.
23163         * modules/fcntl-tests (Files): Likewise.
23164         * modules/fdopendir-tests (Files): Likewise.
23165         * modules/fflush-tests (Files): Likewise.
23166         * modules/flock-tests (Files): Likewise.
23167         * modules/floorf-tests (Files): Likewise.
23168         * modules/floorl-tests (Files): Likewise.
23169         * modules/fnmatch-tests (Files): Likewise.
23170         * modules/fopen-tests (Files): Likewise.
23171         * modules/fprintf-posix-tests (Files): Likewise.
23172         * modules/freopen-tests (Files): Likewise.
23173         * modules/frexp-nolibm-tests (Files): Likewise.
23174         * modules/frexp-tests (Files): Likewise.
23175         * modules/frexpl-nolibm-tests (Files): Likewise.
23176         * modules/frexpl-tests (Files): Likewise.
23177         * modules/fseek-tests (Files): Likewise.
23178         * modules/fseeko-tests (Files): Likewise.
23179         * modules/fsync-tests (Files): Likewise.
23180         * modules/ftell-tests (Files): Likewise.
23181         * modules/ftello-tests (Files): Likewise.
23182         * modules/futimens-tests (Files): Likewise.
23183         * modules/getaddrinfo-tests (Files): Likewise.
23184         * modules/getcwd-tests (Files): Likewise.
23185         * modules/getdelim-tests (Files): Likewise.
23186         * modules/getdtablesize-tests (Files): Likewise.
23187         * modules/getgroups-tests (Files): Likewise.
23188         * modules/gethostname-tests (Files): Likewise.
23189         * modules/getline-tests (Files): Likewise.
23190         * modules/getopt-posix-tests (Files): Likewise.
23191         * modules/gettimeofday-tests (Files): Likewise.
23192         * modules/glob-tests (Files): Likewise.
23193         * modules/iconv-tests (Files): Likewise.
23194         * modules/inet_ntop-tests (Files): Likewise.
23195         * modules/inet_pton-tests (Files): Likewise.
23196         * modules/isblank-tests (Files): Likewise.
23197         * modules/lchown-tests (Files): Likewise.
23198         * modules/ldexpl-tests (Files): Likewise.
23199         * modules/link-tests (Files): Likewise.
23200         * modules/linkat-tests (Files): Likewise.
23201         * modules/lseek-tests (Files): Likewise.
23202         * modules/lstat-tests (Files): Likewise.
23203         * modules/mbrtowc-tests (Files): Likewise.
23204         * modules/mbsinit-tests (Files): Likewise.
23205         * modules/mbsnrtowcs-tests (Files): Likewise.
23206         * modules/mbsrtowcs-tests (Files): Likewise.
23207         * modules/memchr-tests (Files): Likewise.
23208         * modules/memcmp-tests (Files): Likewise.
23209         * modules/memmem-tests (Files): Likewise.
23210         * modules/memrchr-tests (Files): Likewise.
23211         * modules/mkdir-tests (Files): Likewise.
23212         * modules/mkfifo-tests (Files): Likewise.
23213         * modules/mkfifoat-tests (Files): Likewise.
23214         * modules/mknod-tests (Files): Likewise.
23215         * modules/nanosleep-tests (Files): Likewise.
23216         * modules/nl_langinfo-tests (Files): Likewise.
23217         * modules/obstack-printf-tests (Files): Likewise.
23218         * modules/open-tests (Files): Likewise.
23219         * modules/openat-tests (Files): Likewise.
23220         * modules/perror-tests (Files): Likewise.
23221         * modules/pipe2-tests (Files): Likewise.
23222         * modules/poll-tests (Files): Likewise.
23223         * modules/popen-tests (Files): Likewise.
23224         * modules/posix_spawn-tests (Files): Likewise.
23225         * modules/posix_spawnp-tests (Files): Likewise.
23226         * modules/pread-tests (Files): Likewise.
23227         * modules/printf-posix-tests (Files): Likewise.
23228         * modules/pty-tests (Files): Likewise.
23229         * modules/random_r-tests (Files): Likewise.
23230         * modules/rawmemchr-tests (Files): Likewise.
23231         * modules/readlink-tests (Files): Likewise.
23232         * modules/remove-tests (Files): Likewise.
23233         * modules/rename-tests (Files): Likewise.
23234         * modules/renameat-tests (Files): Likewise.
23235         * modules/rmdir-tests (Files): Likewise.
23236         * modules/round-tests (Files): Likewise.
23237         * modules/roundf-tests (Files): Likewise.
23238         * modules/roundl-tests (Files): Likewise.
23239         * modules/select-tests (Files): Likewise.
23240         * modules/setenv-tests (Files): Likewise.
23241         * modules/sigaction-tests (Files): Likewise.
23242         * modules/sleep-tests (Files): Likewise.
23243         * modules/snprintf-posix-tests (Files): Likewise.
23244         * modules/snprintf-tests (Files): Likewise.
23245         * modules/sprintf-posix-tests (Files): Likewise.
23246         * modules/stat-tests (Files): Likewise.
23247         * modules/strcasestr-tests (Files): Likewise.
23248         * modules/strchrnul-tests (Files): Likewise.
23249         * modules/strerror-tests (Files): Likewise.
23250         * modules/strsignal-tests (Files): Likewise.
23251         * modules/strstr-tests (Files): Likewise.
23252         * modules/strtod-tests (Files): Likewise.
23253         * modules/strverscmp-tests (Files): Likewise.
23254         * modules/symlink-tests (Files): Likewise.
23255         * modules/symlinkat-tests (Files): Likewise.
23256         * modules/times-tests (Files): Likewise.
23257         * modules/trunc-tests (Files): Likewise.
23258         * modules/truncf-tests (Files): Likewise.
23259         * modules/truncl-tests (Files): Likewise.
23260         * modules/tsearch-tests (Files): Likewise.
23261         * modules/uname-tests (Files): Likewise.
23262         * modules/unlink-tests (Files): Likewise.
23263         * modules/unsetenv-tests (Files): Likewise.
23264         * modules/usleep-tests (Files): Likewise.
23265         * modules/utimensat-tests (Files): Likewise.
23266         * modules/vasprintf-tests (Files): Likewise.
23267         * modules/vdprintf-posix-tests (Files): Likewise.
23268         * modules/vfprintf-posix-tests (Files): Likewise.
23269         * modules/vprintf-posix-tests (Files): Likewise.
23270         * modules/vsnprintf-posix-tests (Files): Likewise.
23271         * modules/vsnprintf-tests (Files): Likewise.
23272         * modules/vsprintf-posix-tests (Files): Likewise.
23273         * modules/wcrtomb-tests (Files): Likewise.
23274         * modules/wcsnrtombs-tests (Files): Likewise.
23275         * modules/wcsrtombs-tests (Files): Likewise.
23276         * modules/wcwidth-tests (Files): Likewise.
23277         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
23278         * tests/test-isinf.c (isinf): Likewise.
23279         * tests/test-isnan.c (isnan): Likewise.
23280         * tests/test-signbit.c (signbit): Likewise.
23281         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
23282         declaration, either as macro or with correct signature.
23283         (select): Ensure function under test is declared with correct
23284         signature in correct header.
23285         * tests/test-atexit.c (atexit): Likewise.
23286         * tests/test-btowc.c (btowc): Likewise.
23287         * tests/test-canonicalize-lgpl.c (realpath)
23288         (canonicalize_file_name): Likewise.
23289         * tests/test-ceilf1.c (ceilf): Likewise.
23290         * tests/test-ceill.c (ceill): Likewise.
23291         * tests/test-chown.c (chown): Likewise.
23292         * tests/test-dprintf-posix.c (dprintf): Likewise.
23293         * tests/test-dup2.c (dup2): Likewise.
23294         * tests/test-dup3.c (dup3): Likewise.
23295         * tests/test-duplocale.c (duplocale): Likewise.
23296         * tests/test-fchdir.c (fchdir): Likewise.
23297         * tests/test-fchownat.c (fchownat): Likewise.
23298         * tests/test-fcntl.c (fcntl): Likewise.
23299         * tests/test-fdopendir.c (fdopendir): Likewise.
23300         * tests/test-fflush.c (fflush): Likewise.
23301         * tests/test-flock.c (flock): Likewise.
23302         * tests/test-floorf1.c (floorf): Likewise.
23303         * tests/test-floorl.c (floorl): Likewise.
23304         * tests/test-fnmatch.c (fnmatch): Likewise.
23305         * tests/test-fopen.c (fopen): Likewise.
23306         * tests/test-fprintf-posix.c (fprintf): Likewise.
23307         * tests/test-freopen.c (freopen): Likewise.
23308         * tests/test-frexp.c (frexp): Likewise.
23309         * tests/test-frexpl.c (frexpl): Likewise.
23310         * tests/test-fseek.c (fseek): Likewise.
23311         * tests/test-fseeko.c (fseeko): Likewise.
23312         * tests/test-fstatat.c (fstatat): Likewise.
23313         * tests/test-fsync.c (fsync): Likewise.
23314         * tests/test-ftell.c (ftell): Likewise.
23315         * tests/test-ftello.c (ftello): Likewise.
23316         * tests/test-futimens.c (futimens): Likewise.
23317         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
23318         (gai_strerror): Likewise.
23319         * tests/test-getcwd.c (getcwd): Likewise.
23320         * tests/test-getdelim.c (getdelim): Likewise.
23321         * tests/test-getdtablesize.c (getdtablesize): Likewise.
23322         * tests/test-getgroups.c (getgroups): Likewise.
23323         * tests/test-gethostname.c (gethostname): Likewise.
23324         * tests/test-getline.c (getline): Likewise.
23325         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
23326         Likewise.
23327         * tests/test-gettimeofday.c (gettimeofday): Likewise.
23328         * tests/test-glob.c (glob, globfree): Likewise.
23329         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
23330         * tests/test-inet_ntop.c (inet_ntop): Likewise.
23331         * tests/test-inet_pton.c (inet_pton): Likewise.
23332         * tests/test-isblank.c (isblank): Likewise.
23333         * tests/test-lchown.c (lchown): Likewise.
23334         * tests/test-ldexpl.c (ldexpl): Likewise.
23335         * tests/test-link.c (link): Likewise.
23336         * tests/test-linkat.c (linkat): Likewise.
23337         * tests/test-lseek.c (lseek): Likewise.
23338         * tests/test-lstat.c (lstat): Likewise.
23339         * tests/test-mbrtowc.c (mbrtowc): Likewise.
23340         * tests/test-mbsinit.c (mbsinit): Likewise.
23341         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
23342         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
23343         * tests/test-memchr.c (memchr): Likewise.
23344         * tests/test-memcmp.c (memcmp): Likewise.
23345         * tests/test-memmem.c (memmem): Likewise.
23346         * tests/test-memrchr.c (memrchr): Likewise.
23347         * tests/test-mkdir.c (mkdir): Likewise.
23348         * tests/test-mkdirat.c (mkdirat): Likewise.
23349         * tests/test-mkfifo.c (mkfifo): Likewise.
23350         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
23351         * tests/test-mknod.c (mknod): Likewise.
23352         * tests/test-nanosleep.c (nanosleep): Likewise.
23353         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
23354         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
23355         Likewise.
23356         * tests/test-open.c (open): Likewise.
23357         * tests/test-openat.c (openat): Likewise.
23358         * tests/test-perror.c (perror): Likewise.
23359         * tests/test-pipe2.c (pipe2): Likewise.
23360         * tests/test-poll.c (poll): Likewise.
23361         * tests/test-popen.c (popen, pclose): Likewise.
23362         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
23363         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
23364         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
23365         (posix_spawn_file_actions_destroy)
23366         (posix_spawn_file_actions_addclose)
23367         (posix_spawn_file_actions_addopen)
23368         (posix_spawn_file_actions_adddup2): Likewise.
23369         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
23370         * tests/test-pread.c (pread): Likewise.
23371         * tests/test-printf-posix.c (printf): Likewise.
23372         * tests/test-pty.c (openpty, forkpty): Likewise.
23373         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
23374         (random_r): Likewise.
23375         * tests/test-rawmemchr.c (rawmemchr): Likewise.
23376         * tests/test-readlink.c (readlink): Likewise.
23377         * tests/test-remove.c (remove): Likewise.
23378         * tests/test-rename.c (rename): Likewise.
23379         * tests/test-renameat.c (renameat): Likewise.
23380         * tests/test-rmdir.c (rmdir): Likewise.
23381         * tests/test-round1.c (round): Likewise.
23382         * tests/test-roundf1.c (roundf): Likewise.
23383         * tests/test-roundl.c (roundl): Likewise.
23384         * tests/test-setenv.c (setenv): Likewise.
23385         * tests/test-sigaction.c (sigaction): Likewise.
23386         * tests/test-sleep.c (sleep): Likewise.
23387         * tests/test-snprintf.c (snprintf): Likewise.
23388         * tests/test-sprintf-posix.c (sprintf): Likewise.
23389         * tests/test-stat.c (stat): Likewise.
23390         * tests/test-stpncpy.c (stpncpy): Likewise.
23391         * tests/test-strcasestr.c (strcasestr): Likewise.
23392         * tests/test-strchrnul.c (strchrnul): Likewise.
23393         * tests/test-strerror.c (strerror): Likewise.
23394         * tests/test-strsignal.c (strsignal): Likewise.
23395         * tests/test-strstr.c (strstr): Likewise.
23396         * tests/test-strtod.c (strtod): Likewise.
23397         * tests/test-strverscmp.c (strverscmp): Likewise.
23398         * tests/test-symlink.c (symlink): Likewise.
23399         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
23400         * tests/test-times.c (times): Likewise.
23401         * tests/test-trunc1.c (trunc): Likewise.
23402         * tests/test-truncf1.c (truncf): Likewise.
23403         * tests/test-truncl.c (truncl): Likewise.
23404         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
23405         Likewise.
23406         * tests/test-uname.c (uname): Likewise.
23407         * tests/test-unlink.c (unlink): Likewise.
23408         * tests/test-unlinkat.c (unlinkat): Likewise.
23409         * tests/test-unsetenv.c (unsetenv): Likewise.
23410         * tests/test-usleep.c (usleep): Likewise.
23411         * tests/test-utimensat.c (utimensat): Likewise.
23412         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
23413         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
23414         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
23415         * tests/test-vprintf-posix.c (vprintf): Likewise.
23416         * tests/test-vsnprintf.c (vsnprintf): Likewise.
23417         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
23418         * tests/test-wcrtomb.c (wcrtomb): Likewise.
23419         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
23420         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
23421         * tests/test-wcwidth.c (wcwidth): Likewise.
23422
23423         build: pull in conditional headers during GNULIB_POSIXCHECK
23424         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
23425         definitions from any conditionally-included headers.
23426         * lib/stdlib.in.h (includes): Likewise.
23427         * lib/unistd.in.h (includes): Likewise.
23428
23429 2009-12-24  Bruno Haible  <bruno@clisp.org>
23430
23431         * tests/test-argv-iter.c: Include header file being tested immediately
23432         after config.h.
23433         * tests/test-base64.c: Likewise.
23434         * tests/test-flock.c: Likewise.
23435         * tests/test-fsync.c: Likewise.
23436         * tests/test-getdate.c: Likewise.
23437         * tests/test-getndelim2.c: Likewise.
23438         * tests/test-isfinite.c: Likewise.
23439         * tests/test-isinf.c: Likewise.
23440         * tests/test-strerror.c: Likewise.
23441         * tests/test-strsignal.c: Likewise.
23442
23443 2009-12-23  Eric Blake  <ebb9@byu.net>
23444
23445         unistd: work around cygwin bug
23446         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
23447         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
23448         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23449
23450 2009-12-23  Bruno Haible  <bruno@clisp.org>
23451
23452         localename: More tests.
23453         * tests/test-localename.c (SIZEOF): New macro.
23454         (categories): New variable.
23455         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
23456         test_locale_name_default): Add test w.r.t. thread locale.
23457         (test_locale_name_thread): New function.
23458         (main): Invoke it.
23459
23460         localename: Make aware of thread locale.
23461         * lib/localename.h (gl_locale_name_thread): New declaration.
23462         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
23463         behaviour with respect to thread locale.
23464         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
23465         <langinfo.h>, glthread/lock.h.
23466         (SIZE_BITS): New macro.
23467         (string_hash): New function.
23468         (struct hash_node): New type.
23469         (HASH_TABLE_SIZE): New macro.
23470         (struniq_hash_table, struniq_lock): New variables.
23471         (struniq): New function.
23472         (gl_locale_name_thread): New function.
23473         (gl_locale_name): Invoke it.
23474         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
23475         * modules/localename (Depends-on): Add lock.
23476         Reported by Mike Gran <spk121@yahoo.com>.
23477
23478 2009-12-23  Eric Blake  <ebb9@byu.net>
23479
23480         va-args: new module
23481         * modules/va-args: New file.
23482         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
23483         * MODULES.html.sh (Core language properties): Mention it.
23484
23485         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
23486         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
23487         named alias for __attribute__((__unused__)).
23488         * lib/chown.c: Update client.
23489         * lib/fchmodat.c: Likewise.
23490         * lib/fts.c: Likewise.
23491         * lib/getdate.y: Likewise.
23492         * lib/getgroups.c: Likewise.
23493         * lib/getopt.c: Likewise.
23494         * lib/getugroups.c: Likewise.
23495         * lib/mkdir.c: Likewise.
23496         * lib/mkfifo.c: Likewise.
23497         * lib/mkfifoat.c: Likewise.
23498         * lib/mknod.c: Likewise.
23499         * lib/mknodat.c: Likewise.
23500         * lib/readlink.c: Likewise.
23501         * lib/se-context.in.h: Likewise.
23502         * lib/se-selinux.in.h: Likewise.
23503         * lib/sockets.c: Likewise.
23504         * lib/symlink.c: Likewise.
23505         * lib/symlinkat.c: Likewise.
23506         * lib/unicodeio.c: Likewise.
23507         * lib/unistr.h: Likewise.
23508         * tests/test-areadlink.c: Likewise.
23509         * tests/test-areadlinkat.c: Likewise.
23510         * tests/test-filenamecat.c: Likewise.
23511         * tests/test-fseeko.c: Likewise.
23512         * tests/test-ftello.c: Likewise.
23513         * tests/test-getdate.c: Likewise.
23514         * tests/test-getgroups.c: Likewise.
23515         * tests/test-gethostname.c: Likewise.
23516         * tests/test-quotearg.c: Likewise.
23517         * tests/test-version-etc.c: Likewise.
23518         * tests/test-xalloc-die.c: Likewise.
23519         * tests/test-xfprintf-posix.c: Likewise.
23520         * tests/test-xprintf-posix.c: Likewise.
23521         * tests/test-xvasprintf.c: Likewise.
23522
23523         tests: avoid compiler warnings
23524         * tests/test-fcntl.c (main): Delete unused parameters.
23525         * tests/test-freopen-safer.c (main): Likewise.
23526         * tests/test-xalloc-die.c (main): Mark unused parameters.
23527         * tests/test-fseeko.c (main): Likewise.
23528         * tests/test-ftello.c (main): Likewise.
23529         * tests/test-nanosleep.c (main): Avoid declaration warning.
23530         * tests/test-sleep.c (main): Likewise.
23531         * tests/test-unsetenv.c (main): Silence warning about string
23532         literal.
23533         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23534
23535 2009-12-23  Bruno Haible  <bruno@clisp.org>
23536
23537         * tests/test-localename.c (test_locale_name): New function, extracted
23538         from main. Also test mixed situations.
23539         (test_locale_name_posix, test_locale_name_environ,
23540         test_locale_name_default): New functions.
23541         (main): Invoke them all.
23542         * modules/localename-tests (configure.ac): Test for newlocale.
23543
23544 2009-12-23  Bruno Haible  <bruno@clisp.org>
23545
23546         unistd: Ensure getcwd gets declared before being overridden.
23547         * lib/unistd.in.h: Conditionally include <io.h>.
23548
23549 2009-12-22  Bruno Haible  <bruno@clisp.org>
23550
23551         wchar: Diagnose broken combination of glibc and gcc versions and flags.
23552         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
23553         (gl_WCHAR_H): Invoke it.
23554         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
23555         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
23556         Reported by Karl Berry <karl@freefriends.org>.
23557
23558 2009-12-22  Eric Blake  <ebb9@byu.net>
23559
23560         math, unistd: avoid redundant includes
23561         * lib/math.in.h (isnan): No need to re-include <math.h>.
23562         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
23563
23564         getsubopt: work around cygwin bug
23565         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
23566         avoid conflicting with system getsubopt.
23567         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
23568         bug.
23569
23570         getopt: synchronize from glibc
23571         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
23572         parameter order.  Adjust all callers.
23573         (_getopt_internal_r, main): Adjust quoting in error messages.
23574         Drop considerations for outdated POSIX 1003.2 error message.
23575         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
23576         callers.
23577         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
23578
23579         test-getopt: test stderr behavior
23580         * modules/getopt-posix-tests (Depends-on): Add dup2.
23581         * tests/test-getopt.c (ASSERT): Avoid stderr.
23582         (main): Move stderr to a temporary file.
23583         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
23584         Instead, add parameter to inform caller if output occurred.
23585         (test_getopt): Adjust all existing tests to expect silence, and
23586         add new tests of leading ":".
23587         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
23588         glibc shortcomings with leading "-:" or "+:" in optstring.
23589         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23590         Likewise.
23591         * doc/posix-functions/getopt.texi (getopt): Likewise.
23592
23593         test-getopt: enhance test
23594         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
23595         supports optind=0.
23596         * tests/test-getopt.c (OPTIND_MIN): Move...
23597         * tests/test-getopt.h (OPTIND_MIN): ...here.
23598         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
23599         Require that optind=0 works, since modern BSD supports it in
23600         addition to optreset, and since coreutils expects it.
23601         (test_getopt_long_only): New test.
23602         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
23603         glibc shortcomings with 'W;', and enforcement of optind=0.
23604         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23605         Likewise.
23606
23607 2009-12-21  Bruno Haible  <bruno@clisp.org>
23608
23609         localename: Improvements for MacOS X and Cygwin.
23610         * lib/localename.h (gl_locale_name_environ): New declaration.
23611         * lib/localename.c (gl_locale_name_environ): New function, extracted from
23612         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
23613         (gl_locale_name_posix): Invoke it.
23614         (gl_locale_name_default): Add comments. Use Windows native API also on
23615         Cygwin.
23616
23617 2009-12-21  Bruno Haible  <bruno@clisp.org>
23618
23619         Update list of Win32 locale ids.
23620         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
23621         (LANG_SAMI): Renamed from LANG_SAAMI.
23622         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
23623         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
23624         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
23625         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
23626         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
23627         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
23628         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
23629         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
23630         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
23631         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
23632         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
23633         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
23634         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
23635         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
23636         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
23637         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
23638         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
23639         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
23640         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
23641         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
23642         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
23643         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
23644         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
23645         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
23646         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
23647         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
23648         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
23649         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
23650         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
23651         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
23652         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
23653         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
23654         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
23655         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
23656         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
23657         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
23658         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
23659         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
23660         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
23661         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
23662         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
23663         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
23664         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
23665         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
23666         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
23667         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
23668         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
23669         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
23670         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
23671         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
23672         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
23673         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
23674         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
23675         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
23676         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
23677         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
23678         Add more languages and countries for Sami, Sorbian. Add more countries
23679         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
23680         for Pashto. Change country for Syriac, Tswana.
23681
23682 2009-12-21  Eric Blake  <ebb9@byu.net>
23683
23684         test-utimens: avoid spurious failure
23685         * tests/test-chown.h (nap): Factor...
23686         * tests/nap.h: ...into new file.
23687         * tests/test-lchown.h (nap): Avoid duplication.
23688         * tests/test-utimens-common.h (nap): Use shared implementation,
23689         necessary on file systems with 1-second resolution.
23690         * modules/chown-tests (Files): Include new file.
23691         * modules/fdutimensat-tests (Files): Likewise.
23692         * modules/futimens-tests (Files): Likewise.
23693         * modules/lchown-tests (Files): Likewise.
23694         * modules/openat-tests (Files): Likewise.
23695         * modules/utimens-tests (Files): Likewise.
23696         * modules/utimensat-tests (Files): Likewise.
23697
23698 2009-12-19  Eric Blake  <ebb9@byu.net>
23699
23700         futimens, utimensat: work around Linux bug
23701         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
23702         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23703         * lib/utimensat.c (rpl_utimensat): Work around it.
23704         * lib/futimens.c (rpl_futimens): Adjust comment.
23705
23706         utimens: work around Linux ctime bug
23707         * lib/utimens.c (detect_ctime_bug): New helper function.
23708         (update_timespec): Differentiate between workaround needed for
23709         this bug vs. what is needed for systems that lack utimensat.
23710         (fdutimens, lutimens): Work around bug.
23711
23712         utimens: check for ctime update
23713         * tests/test-utimens-common.h (check_ctime): Define.
23714         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
23715         * tests/test-futimens.h (test_futimens): Likewise.
23716         * tests/test-lutimens.h (test_lutimens): Likewise.
23717         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23718         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23719
23720 2009-12-19  Bruno Haible  <bruno@clisp.org>
23721
23722         dprintf-posix: Check against memory leak fixed on 2009-12-15.
23723         * tests/test-dprintf-posix2.sh: New file.
23724         * tests/test-dprintf-posix2.c: New file.
23725         * modules/dprintf-posix-tests (Files): Add them.
23726         (configure.ac): Check for getrlimit and setrlimit.
23727         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
23728
23729 2009-12-19  Bruno Haible  <bruno@clisp.org>
23730
23731         fprintf-posix: Check against memory leak fixed on 2009-12-15.
23732         * tests/test-fprintf-posix3.sh: New file.
23733         * tests/test-fprintf-posix3.c: New file.
23734         * modules/fprintf-posix-tests (Files): Add them.
23735         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
23736
23737 2009-12-19  Eric Blake  <ebb9@byu.net>
23738
23739         dirfd: fix prototype
23740         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
23741         * lib/dirfd.c (dirfd): Likewise.
23742
23743         canonicalize: reduce memory usage
23744         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
23745         allocation to size.
23746         Reported by Solar Designer <solar@openwall.com>.
23747
23748 2009-12-19  Bruno Haible  <bruno@clisp.org>
23749
23750         New module attribute 'Applicability'.
23751         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
23752         * gnulib-tool: New option --extract-applicability.
23753         (func_usage): Document it.
23754         (sed_extract_prog): Recognize it.
23755         (func_get_applicability): New function.
23756         (func_import): Generalize handling of 'link-warning' module.
23757         * modules/link-warning (Applicability): New section.
23758         * modules/arg-nonnull (Applicability): New section.
23759         Repoted by Simon Josefsson <simon@josefsson.org>.
23760
23761 2009-12-19  Bruno Haible  <bruno@clisp.org>
23762
23763         fflush: tweak
23764         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
23765         * lib/fseeko.c (rpl_fseeko): Likewise.
23766
23767 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
23768
23769         * lib/gl_list.h: Fix typo in comment.
23770
23771 2009-12-16  Eric Blake  <ebb9@byu.net>
23772
23773         fcntl: use to simplify other modules
23774         * modules/cloexec (Depends-on): Add fcntl.
23775         * modules/fchdir (Depends-on): Likewise.
23776         * modules/fd-safer-flag (Depends-on): Likewise.
23777         * modules/unistd-safer (Depends-on): Likewise.
23778         * modules/dup3 (configure.ac): Set module indicator.
23779         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
23780         missing.
23781         * lib/fchdir.c (_gl_register_dup): Fix comment.
23782         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
23783         * lib/dup-safer.c (dup_safer): Likewise.
23784         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
23785         * lib/dup3.c (dup3): Likewise.
23786         * tests/test-fchdir.c (main): Enhance test.
23787         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
23788
23789         fcntl: port portions of fcntl to mingw
23790         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
23791         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
23792         replacement for mingw.
23793         * modules/fcntl (Description): Update.
23794         (Depends-on): Add dup2.
23795         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
23796         * modules/fcntl-h (Makefile.am): Substitute it.
23797         * lib/fcntl.in.h (fcntl): Update declaration.
23798         (F_DUPFD, F_GETFD): New macros, when needed.
23799         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
23800         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
23801         * tests/test-fcntl.c (check_flags, main): Enhance test for items
23802         we now guarantee.
23803
23804         fcntl: work around cygwin bug in F_DUPFD
23805         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
23806         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
23807         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
23808         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
23809         * doc/posix-functions/fcntl.texi (fcntl): Document it.
23810
23811         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
23812         * modules/fcntl (Files): List new files.
23813         (configure.ac): Run a test.
23814         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
23815         * lib/fcntl.c (rpl_fcntl): Likewise.
23816         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
23817         (gl_FCNTL_H): Always replace fcntl.h.
23818         * modules/fcntl-h (Makefile.am): Substitute witnesses.
23819         * lib/fcntl.in.h (fcntl): Declare replacement.
23820         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
23821         needed, plus a witness.
23822         * doc/posix-functions/fcntl.texi (fcntl): Document this.
23823         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
23824         * tests/test-fcntl.c: New file.
23825         * modules/fcntl-tests: Likewise.
23826
23827         binary-io: avoid potential compilation warning
23828         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
23829         directives.
23830
23831         fflush: avoid compilation error on NetBSD
23832         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
23833         between off_t and fpos_t, since the latter is sometimes a struct.
23834         * lib/fseeko.c (rpl_fseeko): Likewise.
23835         Reported by Alexander Nasonov <alnsn@yandex.ru>.
23836
23837 2009-12-15  Eric Blake  <ebb9@byu.net>
23838
23839         fcntl-h, stdio, sys_ioctl: fix declarations
23840         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
23841         function must not take arguments.
23842         * lib/sys_ioctl.in.h (ioctl): Likewise.
23843         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
23844         (open): Add a link warning.
23845
23846 2009-12-15  Jim Meyering  <meyering@redhat.com>
23847
23848         areadlink, areadlink-with-size: relax license to LGPLv2+
23849         * modules/areadlink (License): Relax to LGPLv2+.
23850         * modules/areadlink-with-size (License): Likewise.
23851
23852 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
23853             Bruno Haible  <bruno@clisp.org>
23854
23855         *printf: Fix memory leak.
23856         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
23857         * lib/vfprintf.c (vfprintf): Likewise.
23858         * lib/dprintf.c (dprintf): Likewise.
23859         * lib/vdprintf.c (vdprintf): Likewise.
23860
23861 2009-12-14  Eric Blake  <ebb9@byu.net>
23862
23863         accept4: adjust module dependencies
23864         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
23865
23866         utimens: one more try at avoiding compiler warning
23867         * lib/utimens.c (lutimens): Lower scope of result.
23868
23869 2009-12-13  Bruno Haible  <bruno@clisp.org>
23870
23871         Move the malloc checking from module 'list' to new module 'xlist'.
23872         * modules/xlist: New file.
23873         * lib/gl_xlist.h: New file.
23874         * lib/gl_xlist.c: New file.
23875         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
23876         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
23877         gl_list_add_last, gl_list_add_before, gl_list_add_after,
23878         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
23879         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
23880         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
23881         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
23882         gl_sortedlist_nx_add): New declarations.
23883         (struct gl_list_implementation): Rename and change methods accordingly.
23884         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
23885         (gl_list_nx_create): Renamed from gl_list_create.
23886         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
23887         (gl_list_nx_set_at): Renamed from gl_list_set_at.
23888         (gl_list_nx_add_first): Renamed from gl_list_add_first.
23889         (gl_list_nx_add_last): Renamed from gl_list_add_last.
23890         (gl_list_nx_add_before): Renamed from gl_list_add_before.
23891         (gl_list_nx_add_after): Renamed from gl_list_add_after.
23892         (gl_list_nx_add_at): Renamed from gl_list_add_at.
23893         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
23894         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
23895         gl_list_create_empty.
23896         (gl_list_nx_create): Renamed from gl_list_create.
23897         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
23898         (gl_list_nx_set_at): Renamed from gl_list_set_at.
23899         (gl_list_nx_add_first): Renamed from gl_list_add_first.
23900         (gl_list_nx_add_last): Renamed from gl_list_add_last.
23901         (gl_list_nx_add_before): Renamed from gl_list_add_before.
23902         (gl_list_nx_add_after): Renamed from gl_list_add_after.
23903         (gl_list_nx_add_at): Renamed from gl_list_add_at.
23904         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
23905         * lib/gl_array_list.c: Don't include xalloc.h.
23906         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
23907         NULL upon out-of-memory.
23908         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
23909         out-of-memory.
23910         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
23911         Change return type to 'int'.
23912         (gl_array_nx_set_at): Renamed from gl_array_set_at.
23913         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
23914         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
23915         upon out-of-memory.
23916         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
23917         upon out-of-memory.
23918         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
23919         upon out-of-memory.
23920         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
23921         upon out-of-memory.
23922         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
23923         out-of-memory.
23924         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
23925         Update.
23926         (gl_array_list_implementation): Update.
23927         * lib/gl_carray_list.c: Don't include xalloc.h.
23928         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
23929         Return NULL upon out-of-memory.
23930         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
23931         out-of-memory.
23932         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
23933         Change return type to 'int'.
23934         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
23935         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
23936         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
23937         upon out-of-memory.
23938         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
23939         upon out-of-memory.
23940         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
23941         out-of-memory.
23942         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
23943         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
23944         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
23945         Update.
23946         (gl_carray_list_implementation): Update.
23947         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
23948         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
23949         gl_linked_create_empty. Return NULL upon out-of-memory.
23950         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
23951         out-of-memory.
23952         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
23953         Change return type to 'int'. Return -1 upon out-of-memory.
23954         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
23955         out-of-memory.
23956         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
23957         upon out-of-memory.
23958         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
23959         upon out-of-memory.
23960         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
23961         NULL upon out-of-memory.
23962         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
23963         upon out-of-memory.
23964         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
23965         out-of-memory.
23966         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
23967         Update.
23968         * lib/gl_linked_list.c: Don't include xalloc.h.
23969         (gl_linked_list_implementation): Update.
23970         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
23971         (add_to_bucket): Change return type to 'int'.
23972         (gl_linkedhash_list_implementation): Update.
23973         * lib/gl_anytree_list1.h (free_subtree): New function.
23974         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
23975         gl_tree_create_empty. Return NULL upon out-of-memory.
23976         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
23977         Change return type to 'int'. Return -1 upon out-of-memory.
23978         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
23979         out-of-memory.
23980         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
23981         (gl_tree_remove_node): New function, moved here from
23982         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
23983         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
23984         Update.
23985         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
23986         malloc, not xmalloc. Return NULL upon out-of-memory.
23987         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
23988         out-of-memory.
23989         (gl_tree_remove_node_from_tree): New function, extracted from
23990         gl_tree_remove_node.
23991         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
23992         upon out-of-memory.
23993         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
23994         out-of-memory.
23995         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
23996         upon out-of-memory.
23997         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
23998         upon out-of-memory.
23999         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
24000         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
24001         not xmalloc. Return NULL upon out-of-memory.
24002         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
24003         out-of-memory.
24004         (gl_tree_remove_node_from_tree): New function, extracted from
24005         gl_tree_remove_node.
24006         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
24007         upon out-of-memory.
24008         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
24009         out-of-memory.
24010         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
24011         upon out-of-memory.
24012         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
24013         upon out-of-memory.
24014         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
24015         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
24016         gl_anytree_list1.h before gl_anyavltree_list2.h.
24017         (gl_avltree_list_implementation): Update.
24018         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
24019         gl_anytree_list1.h before gl_anyavltree_list2.h.
24020         (gl_rbtree_list_implementation): Update.
24021         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
24022         Change return type to 'int'. Return -1 upon out-of-memory. Use
24023         __builtin_expect.
24024         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
24025         (gl_avltreehash_list_implementation): Update.
24026         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
24027         (gl_rbtreehash_list_implementation): Update.
24028         * modules/array-list (Depends-on): Remove xalloc.
24029         * modules/carray-list (Depends-on): Likewise.
24030         * modules/linked-list (Depends-on): Likewise.
24031         * modules/linkedhash-list (Depends-on): Likewise.
24032         * modules/avltree-list (Depends-on): Likewise.
24033         * modules/rbtree-list (Depends-on): Likewise.
24034         * modules/avltreehash-list (Depends-on): Likewise.
24035         * modules/rbtreehash-list (Depends-on): Likewise.
24036
24037         * modules/xsublist: New file.
24038         * lib/gl_xsublist.h: New file.
24039         * lib/gl_xsublist.c: New file.
24040         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
24041         (gl_sublist_nx_create): New declaration.
24042         * lib/gl_sublist.c: Don't include xalloc.h.
24043         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
24044         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
24045         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
24046         Change return type to 'int'. Return -1 upon out-of-memory.
24047         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
24048         upon out-of-memory.
24049         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
24050         NULL upon out-of-memory.
24051         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
24052         upon out-of-memory.
24053         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
24054         NULL upon out-of-memory.
24055         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
24056         NULL upon out-of-memory.
24057         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
24058         upon out-of-memory.
24059         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
24060         (gl_sublist_list_implementation): Update.
24061         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
24062         upon out-of-memory.
24063         * modules/sublist (Depends-on): Remove xalloc.
24064
24065         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
24066         * tests/test-carray_list.c: Likewise.
24067         * tests/test-linked_list.c: Likewise.
24068         * tests/test-linkedhash_list.c: Likewise.
24069         * tests/test-avltree_list.c: Likewise.
24070         * tests/test-rbtree_list.c: Likewise.
24071         * tests/test-avltreehash_list.c: Likewise.
24072         * tests/test-rbtreehash_list.c: Likewise.
24073         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
24074         * modules/carray-list-tests (Makefile.am): Likewise.
24075         * modules/linked-list-tests (Makefile.am): Likewise.
24076         * modules/linkedhash-list-tests (Makefile.am): Likewise.
24077         * modules/avltree-list-tests (Makefile.am): Likewise.
24078         * modules/rbtree-list-tests (Makefile.am): Likewise.
24079         * modules/avltreehash-list-tests (Makefile.am): Likewise.
24080         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
24081
24082         * NEWS: Mention the changes.
24083
24084         * lib/clean-temp.c: Include gl_xlist.h.
24085         * modules/clean-temp (Depends-on): Add xlist.
24086
24087         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
24088         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
24089
24090         * tests/test-array_oset.c: Include gl_xlist.h.
24091         * modules/array-oset-tests (Depends-on): Add xlist.
24092
24093         Reported by José E. Marchesi <jemarch@gnu.org>.
24094
24095 2009-12-13  Bruno Haible  <bruno@clisp.org>
24096
24097         Move the malloc checking from module 'oset' to new module 'xoset'.
24098         * modules/xoset: New file.
24099         * lib/gl_xoset.h: New file.
24100         * lib/gl_xoset.c: New file.
24101         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
24102         declarations.
24103         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
24104         (struct gl_oset_implementation): Rename and change methods accordingly.
24105         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
24106         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
24107         'int'. Mark as __warn_unused_result__.
24108         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
24109         gl_oset_create_empty.
24110         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
24111         'int'.
24112         * lib/gl_array_oset.c: Don't include xalloc.h.
24113         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
24114         malloc, not xmalloc.
24115         (grow): Change return type to 'int'. Don't call xalloc_die.
24116         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
24117         to 'int'.
24118         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
24119         'int'.
24120         (gl_array_oset_implementation): Update.
24121         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
24122         gl_tree_create_empty.
24123         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
24124         'int'.
24125         * lib/gl_avltree_oset.c: Don't include xalloc.h.
24126         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
24127         xmalloc.
24128         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
24129         not xmalloc.
24130         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
24131         xmalloc.
24132         (gl_avltree_oset_implementation): Update.
24133         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
24134         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
24135         xmalloc.
24136         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
24137         not xmalloc.
24138         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
24139         xmalloc.
24140         (gl_rbtree_oset_implementation): Update.
24141         * modules/array-oset (Depends-on): Remove xalloc.
24142         * modules/avltree-oset (Depends-on): Likewise.
24143         * modules/rbtree-oset (Depends-on): Likewise.
24144         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
24145         * tests/test-avltree_oset.c: Likewise.
24146         * tests/test-rbtree_oset.c: Likewise.
24147         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
24148         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
24149         * modules/rbtree-oset-tests (Makefile.am): Likewise.
24150         * NEWS: Mention the change.
24151
24152 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
24153
24154         maint.mk: allow a project to override release-prep commands
24155         * top/maint.mk (alpha, beta, stable): Move release-preparatory
24156         commands into a new rule.
24157         (release-prep): New rule.
24158         (release-prep-hook): New overridable variable.
24159
24160 2009-12-13  Bruno Haible  <bruno@clisp.org>
24161
24162         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
24163
24164 2009-12-13  Jim Meyering  <meyering@redhat.com>
24165
24166         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
24167         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
24168
24169 2009-12-12  Bruno Haible  <bruno@clisp.org>
24170
24171         duplocale: Tweak.
24172         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
24173
24174 2009-12-12  Karl Berry  <karl@gnu.org>
24175
24176         * config/srclist.txt (strtoll.c): tab changes, no more sync.
24177
24178 2009-12-12  Bruno Haible  <bruno@clisp.org>
24179
24180         * m4/po.m4: Undo incorrect untabification.
24181
24182 2009-12-12  Bruno Haible  <bruno@clisp.org>
24183
24184         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
24185         * modules/c-strtod (Depends-on): Add locale.
24186         * modules/c-strtold (Depends-on): Likewise.
24187
24188 2009-12-12  Bruno Haible  <bruno@clisp.org>
24189
24190         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
24191
24192 2009-12-11  Eric Blake  <ebb9@byu.net>
24193
24194         setenv: relax requirement in light of POSIX ruling
24195         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
24196         not NULL.
24197         * tests/test-setenv.c (main): Relax test.
24198         * tests/test-unsetenv.c (main): Likewise.
24199         * doc/posix-functions/setenv.texi (setenv): Document this.
24200         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
24201
24202 2009-12-11  Bruno Haible  <bruno@clisp.org>
24203
24204         New module 'fd-safer-flag'.
24205         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
24206         * lib/dup-safer.c (dup_safer_flag): Remove function.
24207         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
24208         * lib/fd-safer.c (fd_safer_flag): Remove function.
24209         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
24210         * modules/cloexec (configure.ac): Drop indicator macro.
24211         * modules/fd-safer-flag: New file.
24212         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
24213         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
24214         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
24215
24216 2009-12-11  Bruno Haible  <bruno@clisp.org>
24217
24218         Tests for module 'nl_langinfo'.
24219         * modules/nl_langinfo-tests: New file.
24220         * tests/test-nl_langinfo.sh: New file.
24221         * tests/test-nl_langinfo.c: New file.
24222
24223         New module 'nl_langinfo'.
24224         * lib/nl_langinfo.c: New file.
24225         * m4/nl_langinfo.m4: New file.
24226         * modules/nl_langinfo: New file.
24227         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
24228
24229 2009-12-11  Bruno Haible  <bruno@clisp.org>
24230
24231         Tests for module 'langinfo'.
24232         * modules/langinfo-tests: New file.
24233         * tests/test-langinfo.c: New file.
24234
24235         New module 'langinfo'.
24236         * lib/langinfo.in.h: New file.
24237         * m4/langinfo_h.m4: New file.
24238         * modules/langinfo: New file.
24239         * doc/posix-headers/langinfo.texi: Mention the new module.
24240
24241 2009-12-11  Bruno Haible  <bruno@clisp.org>
24242
24243         * lib/config.charset: Untabify.
24244
24245 2009-12-11  Bruno Haible  <bruno@clisp.org>
24246
24247         * modules/unistd-safer (configure.ac): Drop indicator macro.
24248
24249 2009-12-11  Bruno Haible  <bruno@clisp.org>
24250
24251         Move pipe2-safer code to its own file.
24252         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
24253         * lib/pipe-safer.c (pipe2_safer): Remove function.
24254         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
24255         (Makefile.am): Add it to lib_SOURCES.
24256
24257 2009-12-10  Bruno Haible  <bruno@clisp.org>
24258
24259         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
24260
24261 2009-12-10  Bruno Haible  <bruno@clisp.org>
24262
24263         Declare which arguments expect non-NULL values, for GCC and clang.
24264         * build-aux/arg-nonnull.h: New file.
24265         * modules/arg-nonnull: New file.
24266         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
24267         (inet_ntop, inet_pton): Use it.
24268         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
24269         (closedir, dirfd, opendir, scandir, alphasort): Use it.
24270         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
24271         (open, openat): Use it.
24272         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
24273         (fnmatch): Use it.
24274         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
24275         (getopt, getopt_long, getopt_long_only): Use it.
24276         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
24277         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
24278         Use it.
24279         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
24280         (iconv_open): Use it.
24281         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
24282         (strtoimax, strtoumax): Use it.
24283         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
24284         (duplocale): Use it.
24285         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
24286         (frexp, frexpl): Use it.
24287         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
24288         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
24289         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
24290         (tsearch, tfind, tdelete, twalk): Use it.
24291         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
24292         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
24293         sigpending): Use it.
24294         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
24295         (posix_spawn, posix_spawnp, posix_spawnattr_init,
24296         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
24297         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
24298         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
24299         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
24300         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
24301         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
24302         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
24303         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
24304         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
24305         Use it.
24306         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
24307         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
24308         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
24309         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
24310         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
24311         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
24312         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
24313         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
24314         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
24315         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
24316         strtoull, unsetenv): Use it.
24317         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
24318         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
24319         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
24320         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
24321         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
24322         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
24323         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
24324         (strcasecmp, strncasecmp): Use it.
24325         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
24326         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
24327         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
24328         rpl_setsockopt): Use it.
24329         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
24330         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
24331         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
24332         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
24333         (gettimeofday): Use it.
24334         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
24335         (times): Use it.
24336         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
24337         (uname): Use it.
24338         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
24339         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
24340         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
24341         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
24342         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
24343         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
24344         unlinkat, write): Use it.
24345         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
24346         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
24347         * lib/argv-iter.h: Include arg-nonnull.h.
24348         (_ATTRIBUTE_NONNULL_): Remove macro.
24349         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
24350         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
24351         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
24352         optimization.
24353         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
24354         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
24355         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
24356         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
24357         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
24358         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
24359         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
24360         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
24361         * modules/arpa_inet (Depends-on): Add arg-nonnull.
24362         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
24363         * modules/dirent (Depends-on): Add arg-nonnull.
24364         (Makefile.am): Insert arg-nonnull.h into dirent.h.
24365         * modules/fcntl-h (Depends-on): Add arg-nonnull.
24366         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
24367         * modules/fnmatch (Depends-on): Add arg-nonnull.
24368         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
24369         * modules/getopt-posix (Depends-on): Add arg-nonnull.
24370         (Makefile.am): Insert arg-nonnull.h into getopt.h.
24371         * modules/glob (Depends-on): Add arg-nonnull.
24372         (Makefile.am): Insert arg-nonnull.h into glob.h.
24373         * modules/iconv_open (Depends-on): Add arg-nonnull.
24374         (Makefile.am): Insert arg-nonnull.h into iconv.h.
24375         * modules/inttypes (Depends-on): Add arg-nonnull.
24376         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
24377         * modules/locale (Depends-on): Add arg-nonnull.
24378         (Makefile.am): Insert arg-nonnull.h into locale.h.
24379         * modules/math (Depends-on): Add arg-nonnull.
24380         (Makefile.am): Insert arg-nonnull.h into math.h.
24381         * modules/netdb (Depends-on): Add arg-nonnull.
24382         (Makefile.am): Insert arg-nonnull.h into netdb.h.
24383         * modules/search (Depends-on): Add arg-nonnull.
24384         (Makefile.am): Insert arg-nonnull.h into search.h.
24385         * modules/signal (Depends-on): Add arg-nonnull.
24386         (Makefile.am): Insert arg-nonnull.h into signal.h.
24387         * modules/spawn (Depends-on): Add arg-nonnull.
24388         (Makefile.am): Insert arg-nonnull.h into spawn.h.
24389         * modules/stdio (Depends-on): Add arg-nonnull.
24390         (Makefile.am): Insert arg-nonnull.h into stdio.h.
24391         * modules/stdlib (Depends-on): Add arg-nonnull.
24392         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
24393         * modules/string (Depends-on): Add arg-nonnull.
24394         (Makefile.am): Insert arg-nonnull.h into string.h.
24395         * modules/strings (Depends-on): Add arg-nonnull.
24396         (Makefile.am): Insert arg-nonnull.h into strings.h.
24397         * modules/sys_socket (Depends-on): Add arg-nonnull.
24398         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
24399         * modules/sys_stat (Depends-on): Add arg-nonnull.
24400         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
24401         * modules/sys_time (Depends-on): Add arg-nonnull.
24402         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
24403         * modules/sys_times (Depends-on): Add arg-nonnull.
24404         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
24405         * modules/sys_utsname (Depends-on): Add arg-nonnull.
24406         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
24407         * modules/time (Depends-on): Add arg-nonnull.
24408         (Makefile.am): Insert arg-nonnull.h into time.h.
24409         * modules/unistd (Depends-on): Add arg-nonnull.
24410         (Makefile.am): Insert arg-nonnull.h into unistd.h.
24411         * modules/wchar (Depends-on): Add arg-nonnull.
24412         (Makefile.am): Insert arg-nonnull.h into wchar.h.
24413         * modules/argv-iter (Depends-on): Add arg-nonnull.
24414         * tests/test-canonicalize.c (null_ptr): New function.
24415         (main): Use it.
24416         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
24417         (main): Use it.
24418         * tests/test-memmem.c (null_ptr): New function.
24419         (main): Use it.
24420         Reported by Jim Meyering.
24421
24422 2009-12-10  Bruno Haible  <bruno@clisp.org>
24423
24424         Use spaces for indentation, not tabs.
24425         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
24426         * m4/*.m4: Untabify.
24427         * build-aux/*.h: Untabify.
24428         * tests/**/*.[hc]: Untabify.
24429         * README: New section "Indent with spaces, not TABs", based on
24430         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
24431         * NEWS: Mention the change.
24432
24433 2009-12-10  Bruno Haible  <bruno@clisp.org>
24434
24435         pty test: Fix link error.
24436         * modules/pty-tests (Makefile.am): Add the default LDADD value to
24437         test_pty_LDADD.
24438
24439 2009-12-07  Simon Josefsson  <simon@josefsson.org>
24440
24441         * modules/pty: New file.
24442         * modules/pty-tests: New file.
24443         * m4/pty.m4: New file.
24444         * tests/test-pty.c: New file.
24445         * doc/glibc-headers/pty.texi: Modified.
24446         * doc/glibc-functions/forkpty.texi: Modified.
24447         * doc/glibc-functions/openpty.texi: Modified.
24448
24449 2009-12-10  Bruno Haible  <bruno@clisp.org>
24450
24451         Avoid syntax error in C++ mode.
24452         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
24453
24454 2009-12-10  Bruno Haible  <bruno@clisp.org>
24455
24456         Use sed with option -e.
24457         * gnulib-tool (func_version, func_emit_copyright_notice,
24458         func_emit_initmacro_end, func_import, func_create_testdir): Pass
24459         option -e to sed.
24460         * modules/link-warning (Makefile.am): Likewise.
24461
24462 2009-12-10  Jim Meyering  <meyering@redhat.com>
24463
24464         mgetgroups: do not write bytes beyond end of malloc'd buffer
24465         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
24466         username, we call getgroups with a one-element-shorter buffer,
24467         but still told it the length was original, max_n_groups.
24468
24469 2009-12-09  Eric Blake  <ebb9@byu.net>
24470
24471         cloexec: relax license
24472         * modules/cloexec (Maintainer): Add myself.
24473         (License): Use LGPL, not GPL.
24474
24475         link-warning: optimize generation
24476         * modules/link-warning (Makefile.am): Reduce process usage.
24477
24478 2009-12-09  Bruno Haible  <bruno@clisp.org>
24479
24480         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
24481         workaround was added on 2009-11-17.
24482
24483 2009-12-09  Jim Meyering  <meyering@redhat.com>
24484             Bruno Haible  <bruno@clisp.org>
24485
24486         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
24487         * modules/link-warning (Makefile.am): Make the comment-removing sed
24488         command more robust in the face of bootstrap-prepended comment lines.
24489
24490 2009-12-09  Bruno Haible  <bruno@clisp.org>
24491
24492         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
24493         most one group.
24494
24495 2009-12-09  Simon Josefsson <simon@josefsson.org>
24496             Bruno Haible  <bruno@clisp.org>
24497
24498         * build-aux/link-warning.h: Add copyright notice.
24499         * modules/link-warning (Makefile.am): Generate link-warning.h from
24500         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
24501         * NEWS: Mention change in link-warning module.
24502         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
24503         * modules/dirent (Makefile.am): Add dependency to dirent.h.
24504         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
24505         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
24506         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
24507         * modules/math (Makefile.am): Add dependency to math.h.
24508         * modules/search (Makefile.am): Add dependency to search.h.
24509         * modules/signal (Makefile.am): Add dependency to signal.h.
24510         * modules/spawn (Makefile.am): Add dependency to spawn.h.
24511         * modules/stdio (Makefile.am): Add dependency to stdio.h.
24512         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
24513         * modules/string (Makefile.am): Add dependency to string.h.
24514         * modules/strings (Makefile.am): Add dependency to strings.h.
24515         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
24516         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
24517         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
24518         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
24519         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
24520         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
24521         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
24522         * modules/unistd (Makefile.am): Add dependency to unistd.h.
24523         * modules/wchar (Makefile.am): Add dependency to wchar.h.
24524
24525 2009-12-09  Bruno Haible  <bruno@clisp.org>
24526
24527         fchdir: Optimize away rpl_fstat when possible.
24528         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
24529         REPLACE_OPEN_DIRECTORY.
24530         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
24531
24532 2009-12-09  Bruno Haible  <bruno@clisp.org>
24533
24534         * lib/fchdir.c: Update comment.
24535
24536 2009-12-09  Bruno Haible  <bruno@clisp.org>
24537
24538         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
24539
24540 2009-12-08  Eric Blake  <ebb9@byu.net>
24541
24542         fchdir: avoid memory leak on re-registration.
24543         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
24544
24545 2009-12-08  Jim Meyering  <meyering@redhat.com>
24546
24547         init.sh: avoid Solaris 10 /bin/sh portability problem
24548         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
24549         sourced script:
24550           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
24551           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
24552           bar
24553         tests/init.sh relied on that, accepting a --set-path=DIR argument,
24554         and two tests used that idiom.
24555         * tests/init.sh: Update suggested usage comments.
24556         (path_prepend_): New function, to be used in place
24557         of the --src-path=DIR option.
24558         (setup_): Move PATH-prepending code into path_prepend_.
24559         * tests/test-pread.sh: Adapt to new usage.
24560         * tests/test-xalloc-die.sh: Likewise.
24561
24562 2009-12-08  Simon Josefsson  <simon@josefsson.org>
24563
24564         * doc/gnulib.texi (Glibc pty.h): Add.
24565         * doc/glibc-functions/forkpty.texi: Add.
24566         * doc/glibc-functions/openpty.texi: Add.
24567         Suggested by Bruno Haible.
24568
24569 2009-12-08  Eric Blake  <ebb9@byu.net>
24570
24571         fchdir: fix logic bugs
24572         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
24573         * tests/test-fchdir.c (main): Enhance test.
24574         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
24575         is in use.
24576
24577         dup2: fix logic bugs
24578         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
24579         REPLACE_DUP2 to decide when rpl_dup2 is needed.
24580         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
24581         exists.
24582         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
24583
24584 2009-12-07  Eric Blake  <ebb9@byu.net>
24585
24586         unlink: fix m4 detection
24587         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
24588
24589         unistd-safer: add unit test
24590         * modules/unistd-safer-tests: New file.
24591         * tests/test-dup-safer.c: Likewise.
24592         * tests/test-cloexec.c (setmode): Avoid compiler warning.
24593         * tests/test-dup2.c (setmode): Likewise.
24594         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
24595
24596         cloexec: preserve text vs. binary across dup_cloexec
24597         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
24598         mode.
24599         * modules/dup2-tests (Depends-on): Add binary-io.
24600         * modules/cloexec-tests (Depends-on): Likewise.
24601         * tests/test-dup2.c (setmode, is_mode): New helpers.
24602         (main): Add tests that translation mode is preserved.
24603         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
24604         Reported by Bruno Haible.
24605
24606         mgetgroups: reduce duplicate listings
24607         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
24608         resulting array.
24609         * tests/test-chown.h (test_chown): Simplify client.
24610         * tests/test-lchown.h (test_lchown): Likewise.
24611
24612 2009-12-06  Bruno Haible  <bruno@clisp.org>
24613
24614         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
24615         value.
24616
24617 2009-12-06  Bruno Haible  <bruno@clisp.org>
24618
24619         * lib/progname.c: Include stdio.h, stdlib.h.
24620         (set_program_name): Reject a NULL argument.
24621
24622 2009-12-05  Eric Blake  <ebb9@byu.net>
24623
24624         pipe2-safer: new module
24625         * modules/pipe2-safer: New file.
24626         * lib/unistd-safer.h (pipe2_safer): New prototype.
24627         * lib/unistd--.h (pipe2): New wrapper.
24628         * lib/pipe-safer.c (pipe2_safer): New function.
24629         * modules/pipe (Depends-on): Add pipe2-safer.
24630         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
24631
24632         stdlib-safer: preserve cloexec flag for mkostemp[s]
24633         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
24634         fd_safer_flag.
24635
24636         unistd-safer: allow preservation of cloexec status via flag
24637         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
24638         prototypes.
24639         * lib/dup-safer.c (dup_safer_flag): New function.
24640         * lib/fd-safer.c (fd_safer_flag): Likewise.
24641         * modules/cloexec (configure.ac): Set witness.
24642
24643         test-dup2: enhance test
24644         * modules/dup2-tests (Depends-on): Add cloexec.
24645         * tests/test-dup2.c (main): Enhance test.
24646
24647         cloexec: add dup_cloexec
24648         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
24649         header and comments.
24650         * lib/cloexec.c (set_cloexec_flag): Add comments.
24651         (dup_cloexec): New function, with mingw implementation borrowed
24652         from...
24653         * lib/w32spawn.h (dup_noinherit): ...here.
24654         * modules/execute (Depends-on): Add cloexec.
24655         * modules/pipe (Depends-on): Likewise.
24656         * modules/cloexec (Depends-on): Add dup2.
24657         * modules/cloexec-tests (Files): New file.
24658         * tests/test-cloexec.c: Likewise.
24659
24660         test-xalloc-die: fix test for mingw
24661         * modules/xalloc-die-tests (Files): Add tests/init.sh.
24662         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
24663         directory and .exe suffix off argv[0] output.
24664
24665         test-fseeko: fix test for mingw
24666         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
24667         than undefining fseek, so test will pass on mingw.
24668
24669 2009-12-05  Bruno Haible  <bruno@clisp.org>
24670
24671         * lib/progname.h (set_program_name): Clarify specification.
24672         * lib/progname.c (set_program_name): Likewise.
24673         Reported by Jim Meyering.
24674
24675 2009-12-05  Jim Meyering  <meyering@redhat.com>
24676
24677         maint.mk: backslash-escape parens in default regexp
24678         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
24679         backslash-escape the literal parentheses.
24680
24681         maint.mk: news-date-check: use grep -E
24682         * top/maint.mk (today): Define a Make variable, not a...
24683         (news-date-check): ...shell variable.
24684         (news-date-regexp): Use the Make variable.
24685         Use grep's -E option.  Change the failing diagnostic to mention
24686         the variable, $(news-date-regexp).
24687
24688 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
24689
24690         maintainer-makefile: allow customization of NEWS entry format
24691         * top/maint.mk (news-date-regexp): New overridable variable.
24692         (news-date-check): Use it.
24693
24694 2009-12-04  Eric Blake  <ebb9@byu.net>
24695
24696         mgetgroups: add xgetgroups, and avoid ENOSYS failures
24697         * lib/mgetgroups.h (xgetgroups): New prototype.
24698         * lib/mgetgroups.c (xgetgroups): New wrapper.
24699         (mgetgroups): Handle ENOSYS.
24700         * modules/mgetgroups (Depends-on): Add realloc.
24701         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
24702
24703         mgetgroups: avoid argument promotion issues with -1
24704         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
24705         for invalid gid_t.
24706         * tests/test-chown.h (getegid, test_chown): Likewise.
24707         * tests/test-lchown.h (getegid, test_lchown): Likewise.
24708
24709 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
24710
24711         exclude: Fix header file problems.
24712         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
24713
24714 2009-12-01  Jim Meyering  <meyering@redhat.com>
24715
24716         fts: fts_open: do not let an empty string cause immediate failure
24717         This is required in support of GNU rm, for which the command
24718         "rm A '' B" must process and remove both A and B, in spite of
24719         the empty string argument.
24720         * lib/fts.c (fts_open): Do not let the presence of an empty string
24721         cause fts_open to fail immediately.  Most fts-using tools must be
24722         able to process all arguments, in order, and can be expected to
24723         diagnose such arguments themselves.
24724
24725 2009-11-30  Eric Blake  <ebb9@byu.net>
24726
24727         utimens: fix compilation error
24728         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
24729         Declare variable at right scope.
24730
24731 2009-11-29  Jim Meyering  <meyering@redhat.com>
24732
24733         bootstrap: handle perl-5.11's changed --version output
24734         * build-aux/bootstrap (get_version): Handle perl separately,
24735         since perl-5.11's --version output is different.
24736
24737 2009-11-28  Jim Meyering  <meyering@redhat.com>
24738
24739         userspec: depend on the inttostr module, too
24740         * modules/userspec (Depends-on): Add inttostr.
24741
24742         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
24743         * lib/userspec.c (parse_with_separator): Do not accept a user ID
24744         number of MAXUID when it evaluates to (uid_t) -1.
24745         Likewise for group ID.  Reported by Matt McCutchen in
24746         <http://savannah.gnu.org/bugs/?28113>
24747
24748         userspec: reformat to use spaces, not TABs
24749         * lib/userspec.c: Expand TABs to spaces.
24750         Add Emacs' "indent-tabs-mode: nil" hint.
24751
24752 2009-11-27  Eric Blake  <ebb9@byu.net>
24753
24754         getopt-gnu: flush out another BSD bug
24755         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
24756         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
24757         flush out BSD bug.
24758         * tests/test-getopt.h (test_getopt): End lists with NULL.
24759         * tests/test-getopt_long.h (test_getopt_long): Likewise.
24760         (test_getopt_long_posix): Enhance test.
24761         * modules/getopt-posix-tests (Depends-on): Add stdbool.
24762         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
24763         getopt-gnu.
24764         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24765         Likewise.
24766
24767 2009-11-27  Simon Josefsson  <simon@josefsson.org>
24768
24769         * modules/idpriv-droptemp-tests (Notice): Fix text.
24770
24771 2009-11-27  Jim Meyering  <meyering@redhat.com>
24772
24773         test-xalloc-die: avoid spurious failure due to libtool argv difference
24774         In a libtool-enabled project, this test would fail due to a difference
24775         in the emitted program name, e.g.,
24776         -test-xalloc-die: memory exhausted
24777         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
24778         Use program to avoid that.
24779         * modules/xalloc-die-tests (Depends-on): Add progname.
24780         * tests/test-xalloc-die.c: Include progname.h".
24781         (program_name): Remove decl.
24782         (main): Call set_program_name.
24783         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
24784
24785 2009-11-26  Richard Jones  <rjones@redhat.com>
24786
24787         w32sock: leave win32 error in place.
24788         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
24789
24790 2009-11-26  Eric Blake  <ebb9@byu.net>
24791
24792         init.sh: suggest to use skip_ and fail_ functions in comments
24793         * tests/init.sh: Add a sentence.
24794
24795 2009-11-25  Bruno Haible  <bruno@clisp.org>
24796
24797         init.sh: add documentation in comments
24798         * tests/init.sh: Add some developer and user documentation.
24799
24800 2009-11-26  Jim Meyering  <meyering@redhat.com>
24801
24802         init.sh: accommodate even those who specify bogus srcdir manually
24803         * tests/init.sh: Normally, srcdir is guaranteed by automake and
24804         configure-time tests to be sanitized, so that there is no need to
24805         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
24806         (with no double quotes) suffices.  However, since tests may be
24807         invoked manually, and since you may explicitly set srcdir to the
24808         name of a directory containing spaces, do quote its uses here.
24809         * tests/test-pread.sh: Likewise.
24810         Suggested by Bruno Haible.
24811
24812         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
24813         * tests/test-pread.sh: Write no data into the pipe, because
24814         test-pread actually reads none.  This avoids a diagnostic,
24815         "bash: echo: write error: Broken pipe", that arises in the unusual
24816         event something is ignoring SIGPIPE, and might be interpreted
24817         as some sort of failure.  Reported by Bruno Haible.
24818
24819 2009-11-25  Jim Meyering  <meyering@redhat.com>
24820
24821         test-pread: cover failure with ESPIPE and EINVAL
24822         * tests/test-pread.c (main): Test for failure, too.
24823         * tests/test-pread.sh: Invoke with stdin on a pipe.
24824         Suggested by Eric Blake.
24825
24826         pread: improvement and fix
24827         * modules/pread (Depends-on): Depend on lseek, for portability to
24828         e.g., mingw.  Suggested by Eric Blake.
24829         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
24830
24831         unistd.in.h: correct declaration of pread
24832         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
24833         Reported by Richard W.M. Jones.
24834
24835         test-pread.sh: distribute the test script
24836         * modules/pread-tests (Files): Include test-pread.sh.
24837
24838         test-pread.sh: clean up
24839         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
24840         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
24841         That is unnecessary, since it's always ".".
24842         Suggestion from Eric Blake.
24843
24844         test-pread.sh: make executable
24845         * tests/test-pread.sh: Set executable bit.
24846         Reported by Eric Blake.
24847
24848         correct typo in test-pread.sh
24849         * tests/test-pread.sh: Add #! line.
24850
24851         test pread
24852         * tests/test-pread.c: New file.
24853         * tests/test-pread.sh: Likewise.
24854         * modules/pread-tests: Likewise.
24855
24856         pread: new module
24857         * modules/pread: New file.
24858         * lib/unistd.in.h (pread): Define/declare.
24859         * lib/pread.c (pread): New file.
24860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
24861         * modules/unistd (Makefile.am): Substitute witnesses.
24862         * doc/posix-functions/pread.texi (pread): Update.
24863         * MODULES.html.sh: Add pread.
24864
24865 2009-11-25  Jim Meyering  <meyering@redhat.com>
24866
24867         tests/init.sh: new file to be used via most *.sh tests
24868         * tests/init.sh: New file.
24869
24870 2009-11-25  Eric Blake  <ebb9@byu.net>
24871
24872         utimens: work around older Linux failure with symlinks
24873         * lib/utimens.c (lutimensat_works_really): New variable.
24874         (fdutimens, lutimens): Use it to manage kernels that support
24875         nanosecond times on files, but not on symlinks.
24876         Reported by OndÅ™ej Vašík.
24877
24878         utimes: fix configure grammar
24879         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
24880
24881 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
24882
24883         regex: Fix fastmap for multibyte character ranges.
24884         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
24885         characters when a multibyte character range is included.
24886
24887 2009-11-22  Andy Wingo  <wingo@pobox.com>
24888
24889         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
24890         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
24891
24892 2009-11-24  Bruno Haible  <bruno@clisp.org>
24893
24894         doc: Most *_l functions exist in MacOS X 10.5.
24895         * doc/posix-functions/duplocale.texi: Update platforms list.
24896         * doc/posix-functions/freelocale.texi: Likewise.
24897         * doc/posix-functions/newlocale.texi: Likewise.
24898         * doc/posix-functions/uselocale.texi: Likewise.
24899         * doc/posix-functions/isalnum_l.texi: Likewise.
24900         * doc/posix-functions/isalpha_l.texi: Likewise.
24901         * doc/posix-functions/isblank_l.texi: Likewise.
24902         * doc/posix-functions/iscntrl_l.texi: Likewise.
24903         * doc/posix-functions/isdigit_l.texi: Likewise.
24904         * doc/posix-functions/isgraph_l.texi: Likewise.
24905         * doc/posix-functions/islower_l.texi: Likewise.
24906         * doc/posix-functions/isprint_l.texi: Likewise.
24907         * doc/posix-functions/ispunct_l.texi: Likewise.
24908         * doc/posix-functions/isspace_l.texi: Likewise.
24909         * doc/posix-functions/isupper_l.texi: Likewise.
24910         * doc/posix-functions/iswalnum_l.texi: Likewise.
24911         * doc/posix-functions/iswalpha_l.texi: Likewise.
24912         * doc/posix-functions/iswblank_l.texi: Likewise.
24913         * doc/posix-functions/iswcntrl_l.texi: Likewise.
24914         * doc/posix-functions/iswctype_l.texi: Likewise.
24915         * doc/posix-functions/iswdigit_l.texi: Likewise.
24916         * doc/posix-functions/iswgraph_l.texi: Likewise.
24917         * doc/posix-functions/iswlower_l.texi: Likewise.
24918         * doc/posix-functions/iswprint_l.texi: Likewise.
24919         * doc/posix-functions/iswpunct_l.texi: Likewise.
24920         * doc/posix-functions/iswspace_l.texi: Likewise.
24921         * doc/posix-functions/iswupper_l.texi: Likewise.
24922         * doc/posix-functions/iswxdigit_l.texi: Likewise.
24923         * doc/posix-functions/isxdigit_l.texi: Likewise.
24924         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
24925         * doc/posix-functions/strcasecmp_l.texi: Likewise.
24926         * doc/posix-functions/strcoll_l.texi: Likewise.
24927         * doc/posix-functions/strfmon_l.texi: Likewise.
24928         * doc/posix-functions/strftime_l.texi: Likewise.
24929         * doc/posix-functions/strncasecmp_l.texi: Likewise.
24930         * doc/posix-functions/strxfrm_l.texi: Likewise.
24931         * doc/posix-functions/tolower_l.texi: Likewise.
24932         * doc/posix-functions/toupper_l.texi: Likewise.
24933         * doc/posix-functions/towctrans_l.texi: Likewise.
24934         * doc/posix-functions/towlower_l.texi: Likewise.
24935         * doc/posix-functions/towupper_l.texi: Likewise.
24936         * doc/posix-functions/wcscoll_l.texi: Likewise.
24937         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
24938         * doc/posix-functions/wctrans_l.texi: Likewise.
24939         * doc/posix-functions/wctype_l.texi: Likewise.
24940         * doc/glibc-functions/strptime_l.texi: Likewise.
24941         * doc/glibc-functions/strtod_l.texi: Likewise.
24942         * doc/glibc-functions/strtof_l.texi: Likewise.
24943         * doc/glibc-functions/strtol_l.texi: Likewise.
24944         * doc/glibc-functions/strtold_l.texi: Likewise.
24945         * doc/glibc-functions/strtoll_l.texi: Likewise.
24946         * doc/glibc-functions/strtoul_l.texi: Likewise.
24947         * doc/glibc-functions/strtoull_l.texi: Likewise.
24948         * doc/glibc-functions/wcsftime_l.texi: Likewise.
24949         * doc/glibc-functions/wcstod_l.texi: Likewise.
24950         * doc/glibc-functions/wcstof_l.texi: Likewise.
24951         * doc/glibc-functions/wcstol_l.texi: Likewise.
24952         * doc/glibc-functions/wcstold_l.texi: Likewise.
24953         * doc/glibc-functions/wcstoll_l.texi: Likewise.
24954         * doc/glibc-functions/wcstoul_l.texi: Likewise.
24955         * doc/glibc-functions/wcstoull_l.texi: Likewise.
24956
24957 2009-11-24  Bruno Haible  <bruno@clisp.org>
24958
24959         duplocale: Fix logic bug.
24960         * lib/duplocale.c: Don't include <langinfo.h>.
24961         (_NL_LOCALE_NAME): Remove macro.
24962         (rpl_duplocale): Use setlocale instead of nl_langinfo.
24963         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
24964
24965 2009-11-23  Jim Meyering  <meyering@redhat.com>
24966
24967         test-update-copyright: don't hard-code /usr/bin/perl
24968         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
24969         perl to print the current year.  Gilles Espinasse reported that
24970         the replaced use of perl was hard-coded as /usr/bin/perl.
24971
24972 2009-11-23  Bruno Haible  <bruno@clisp.org>
24973
24974         duplocale: Add support for glibc 2.3.x.
24975         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
24976
24977 2009-11-22  Bruno Haible  <bruno@clisp.org>
24978
24979         vasnprintf: Tiny optimization.
24980         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
24981         MacOS X.
24982
24983 2009-11-22  Bruno Haible  <bruno@clisp.org>
24984
24985         Tests for module 'duplocale'.
24986         * modules/duplocale-tests: New file.
24987         * tests/test-duplocale.c: New file.
24988
24989         New module 'duplocale'.
24990         * m4/duplocale.m4: New file.
24991         * lib/locale.in.h (duplocale): New declaration.
24992         * lib/duplocale.c: New file.
24993         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
24994         gl_LOCALE_H_DEFAULTS): New macros.
24995         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
24996         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
24997         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
24998         REPLACE_DUPLOCALE.
24999         * modules/duplocale: New file.
25000         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
25001
25002 2009-11-22  Bruno Haible  <bruno@clisp.org>
25003
25004         * modules/locale-tests (configure.ac): Test for newlocale function.
25005         * tests/test-locale.c: When the system has extended locale functions,
25006         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
25007
25008         locale: Make locale_t available when possible.
25009         * lib/locale.in.h: Include <xlocale.h> when it exists.
25010         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
25011         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
25012         * modules/locale (Depends-on): Add extensions.
25013         (Makefile.am): Also substitute HAVE_XLOCALE_H.
25014         * doc/posix-headers/locale.texi: Document the problem with locale_t.
25015
25016 2009-11-22  Bruno Haible  <bruno@clisp.org>
25017
25018         Add comments.
25019         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
25020         invocation.
25021         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
25022         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25023         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25024
25025 2009-11-22  Bruno Haible  <bruno@clisp.org>
25026
25027         error: account for the possibility of freopen (stdout).
25028         * lib/error.c: Include <unistd.h>.
25029         (flush_stdout): New function, extracted from error and error_at_line.
25030         Determine stdout's fd dynamically.
25031         (error, error_at_line): Invoke flush_stdout.
25032         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
25033         * modules/error (Depends-on): Add unistd.
25034
25035 2009-11-22  Bruno Haible  <bruno@clisp.org>
25036
25037         diffseq: Add comment.
25038         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
25039
25040 2009-11-22  Jim Meyering  <meyering@redhat.com>
25041
25042         c-stack: avoid defining an unused static function
25043         * lib/c-stack.c (find_stack_direction): Do not define this function
25044         when it will not be used.
25045
25046         diffseq: avoid spurious gcc warnings
25047         * lib/diffseq.h (IF_LINT2): Define.
25048         (compareseq): Use it to initialize two members of "part".
25049         This avoids two used-uninitialized warnings.
25050
25051 2009-11-21  Jim Meyering  <meyering@redhat.com>
25052
25053         c-stack: avoid "ignoring return value of `write'" warning
25054         * lib/c-stack.c: Include "ignore-value.h".
25055         (die): Explicitly ignore each write return value.
25056         * modules/c-stack (Depends-on): Add ignore-value.
25057
25058 2009-11-21  Bruno Haible  <bruno@clisp.org>
25059
25060         diffseq: reduce scope of variable 'best'.
25061         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
25062         variable, earlier used for two different purposes.
25063
25064 2009-11-21  Jim Meyering  <meyering@redhat.com>
25065
25066         diffseq: remove useless assignment to "best"
25067         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
25068         assignment.  At that point "best" is already guaranteed to be zero.
25069
25070 2009-11-20  Eric Blake  <ebb9@byu.net>
25071
25072         build: mention ftp redirector in release announcements
25073         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
25074         values that used to come from cfg.mk; mention FTP redirect URL.
25075         * build-aux/announce-gen: Mention the mirror list.
25076         Suggested by Karl Berry.
25077
25078         nanosleep: improve port to mingw
25079         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
25080         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
25081         LIB_NANOSLEEP, but only when needed.
25082         * modules/select (Link): Document LIBSOCKET.
25083         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
25084         enough.
25085
25086         nanosleep: work around cygwin bug
25087         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
25088         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
25089         bug.
25090         (getnow): Delete, not needed.
25091         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
25092         LIB_CLOCK_GETTIME.
25093         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
25094         clock-time, gettime.
25095         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
25096         bug.
25097         * modules/nanosleep-tests: New test.
25098         * tests/test-nanosleep.c: New file.
25099
25100         sleep: work around cygwin bug
25101         * lib/sleep.c (rpl_sleep): Work around the bug.
25102         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
25103         (gl_PREREQ_SLEEP): Delete unused macro.
25104         * modules/sleep (Depends-on): Add verify.
25105         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
25106         * modules/unistd (Makefile.am): Substitute witness.
25107         * lib/unistd.in.h (sleep): Update prototype.
25108         * doc/posix-functions/sleep.texi (sleep): Document the bug.
25109         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
25110         * modules/sleep-tests (Depends-on): Check for alarm.
25111
25112 2009-11-20  Jim Meyering  <meyering@redhat.com>
25113
25114         maint.mk: improve sc_prohibit_magic_number_exit
25115         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
25116         so it does not match uses like System.exit(1).
25117         Add comments showing how to correct all offenders.
25118
25119 2009-11-19  Eric Blake  <ebb9@byu.net>
25120
25121         xalloc-die-tests: add missing library
25122         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
25123
25124         test-xvasprintf: silence compiler warnings
25125         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
25126         empty string from gcc.
25127
25128 2009-11-19  Jim Meyering  <meyering@redhat.com>
25129
25130         xfreopen: new module, from coreutils
25131         * modules/xfreopen: New module.
25132         * lib/xfreopen.c: New file.
25133         * lib/xfreopen.h: New file.
25134         * MODULES.html.sh (File stream based Input/Output"): Add it.
25135
25136 2009-11-19  Eric Blake  <ebb9@byu.net>
25137
25138         manywarnings: depend on warnings
25139         * modules/manywarnings (Depends-on): Add warnings.
25140
25141         build: avoid compiler warnings
25142         * lib/select.c (rpl_select): Delete unused variable.
25143         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
25144
25145 2009-11-18  Eric Blake  <ebb9@byu.net>
25146
25147         tests: avoid false negative with --with-packager
25148         * tests/test-version-etc.sh: Discard packager information.
25149         * tests/test-argp-version-etc-1.sh: Likewise.
25150         Reported by Mike Frysinger.
25151
25152         utimens: fix regression on Solaris
25153         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
25154         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
25155         can only change fd timestamps via futimesat.  Instead, use an
25156         additional witness macro to avoid BSD bug.
25157         Reported by Jim Meyering.
25158
25159 2009-11-17  Eric Blake  <ebb9@byu.net>
25160
25161         usleep: use it to simplify tests
25162         * modules/stat-time-tests (Depends-on): Add usleep.
25163         (configure.ac): Drop usleep check.
25164         * modules/chown-tests (Depends-on, configure.ac): Likewise.
25165         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
25166         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
25167         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
25168         * modules/openat-tests (Depends-on, configure.ac): Likewise.
25169         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
25170         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
25171         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
25172         Likewise.
25173         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
25174         * tests/test-lchown.h (nap): Likewise.
25175         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
25176         * tests/test-stat-time.c (nap): Likewise.
25177         * tests/test-utimens-common.h (nap): Update comments.
25178
25179         usleep: new module
25180         * modules/usleep: New file.
25181         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
25182         * lib/usleep.c (usleep): Likewise.
25183         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
25184         * modules/unistd (Makefile.am): Substitute witnesses.
25185         * lib/unistd.in.h (usleep): Add declaration.
25186         * doc/pastposix-functions/usleep.texi (usleep): Document this.
25187         * MODULES.html.sh (Date and time): Likewise.
25188         * modules/usleep-tests (Depends-on): New test.
25189         * tests/test-usleep.c: New file.
25190
25191         chown: work around OpenBSD bug
25192         * lib/chown.c (rpl_chown): Work around the bug.
25193         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
25194         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
25195         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
25196         * modules/chown (Depends-on): Add stdbool.
25197         * modules/lchown (Depends-on): Likewise.
25198         * doc/posix-functions/chown.texi (chown): Document the bug.
25199         * doc/posix-functions/lchown.texi (lchown): Likewise.
25200         * tests/test-lchown.h (test_chown): Relax test.
25201
25202         mkstemp: avoid conflict with C++ keyword template
25203         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
25204         * lib/mkostemp.c (mkostemp): Likewise.
25205         * lib/mkostemps.c (mkostemps): Likewise.
25206         * lib/mkstemp.c (mkstemp): Likewise.
25207         * lib/mkstemps.c (mkstemps): Likewise.
25208
25209         xalloc-die-tests: optimize
25210         * tests/test-xalloc-die.sh: Reduce number of processes.
25211
25212 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25213
25214         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
25215         patch from ludo@gnu.org (Ludovic Courtès).
25216
25217 2009-11-17  Jim Meyering  <meyering@redhat.com>
25218
25219         version-etc: use proper license string
25220         * modules/version-etc (License): Use LGPL, not LGPLv3+.
25221         * modules/version-etc-fsf: Likewise.
25222
25223 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25224
25225         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
25226         printed to stdout.  Deal with EOL differences.
25227
25228 2009-11-17  Eric Blake  <ebb9@byu.net>
25229
25230         unsetenv: work around Solaris bug
25231         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
25232         * lib/unsetenv.c (rpl_unsetenv): Work around it.
25233         Reported by Jim Meyering.
25234
25235         vasnprintf: avoid compiler warnings
25236         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
25237         variables.
25238         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
25239
25240 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25241
25242         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
25243         settings since xalloc-die is no longer the self test,
25244         xalloc-die.sh is.
25245
25246 2009-11-17  Jim Meyering  <meyering@redhat.com>
25247
25248         test-xalloc-die.sh: make the code agree with the commit log
25249         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
25250         at the end, just in case you happen to have a test-xalloc-die
25251         program in some other PATH directory.
25252
25253         test-xalloc-die.sh: fix a portability bug
25254         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
25255         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
25256         Otherwise, argv[0] (as often seen in diagnostics) would be too
25257         system-dependent, sometimes with, and sometimes without the leading "./".
25258
25259         version-etc-fsf: relax license to LGPLv3+
25260         * modules/version-etc-fsf (License): Relax license.
25261
25262 2009-11-16  Eric Blake  <ebb9@byu.net>
25263
25264         xalloc-die-tests: avoid printing null pointer
25265         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
25266         shell script.
25267         * tests/test-xalloc-die.c (program_name): Declare.
25268         * tests/test-xalloc-die.sh (tmpfiles): New file.
25269
25270         setenv, unsetenv: work around various bugs
25271         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
25272         (setenv) [HAVE_SETENV]: Work around bugs.
25273         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
25274         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
25275         for bugs.
25276         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
25277         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
25278         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
25279         * modules/stdlib (Makefile.am): Update substitutions.
25280         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
25281         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
25282         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
25283         * modules/setenv-tests: New test.
25284         * modules/unsetenv-tests: Likewise.
25285         * tests/test-setenv.c: New file.
25286         * tests/test-unsetenv.c: Likewise.
25287
25288 2009-11-16  Jim Meyering  <meyering@redhat.com>
25289
25290         version-etc: relax license to LGPLv3+
25291         * modules/version-etc (License): Relax license.
25292
25293         better AC_REQUIRE expanded-before-required-warning avoidance
25294         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
25295         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
25296         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
25297         which is no longer needed.
25298
25299 2009-11-16  Eric Blake  <ebb9@byu.net>
25300
25301         test-freading: clean up temporary file
25302         * tests/test-freading.c (main): Remove file on success, and use
25303         ASSERT more liberally.
25304         Reported by Jim Meyering.
25305
25306 2009-11-16  Jim Meyering  <meyering@redhat.com>
25307
25308         avoid new AC_REQUIRE expanded-before-required warnings
25309         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
25310         merely using it.
25311         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
25312         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
25313
25314 2009-11-15  Simon Josefsson  <simon@josefsson.org>
25315
25316         * tests/test-xalloc-die.c: New file.
25317         * modules/xalloc-die-tests: New file.
25318         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
25319         XFAIL_TESTS so it can be appended by modules.
25320
25321 2009-11-15  Simon Josefsson  <simon@josefsson.org>
25322
25323         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
25324         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
25325
25326 2009-11-14  Eric Blake  <ebb9@byu.net>
25327
25328         fnmatch: avoid compiler warning
25329         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
25330         to silence compiler warning about mismatch signedness in ?:.
25331         Reported by Robert Millan.
25332
25333         intprops: add double-inclusion guard
25334         * lib/intprops.h: Allow idempotent includes.
25335         Suggested by Bruce Korb.
25336
25337         openat: detect Solaris fchownat bug
25338         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
25339         penalizing glibc chownat when only lchownat is broken.
25340         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
25341         trailing slash bugs.
25342         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
25343         * modules/openat-tests (Files): Include more files.
25344         (Depends-on): Add mgetgroups, sleep, stat-time.
25345         (configure.ac): Add additional checks.
25346         (Makefile.am): Build new test.
25347         * tests/test-fchownat.c: New file.
25348
25349         lchown: detect Solaris and FreeBSD bug
25350         * lib/lchown.c (rpl_lchown): Work around bug.
25351         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
25352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25353         * modules/unistd (Makefile.am): Populate it.
25354         * lib/unistd.in.h (lchown): Update declaration.
25355         * doc/posix-functions/lchown.texi (lchown): Document the bug.
25356         * modules/lchown-tests: New file.
25357         * tests/test-lchown.h (test_lchown): Likewise.
25358         * tests/test-lchown.c (main): Likewise.
25359
25360         chown: detect Solaris and FreeBSD bug
25361         * lib/chown.c (rpl_chown): Work around bug.
25362         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
25363         (gl_PREREQ_CHOWN): Delete.
25364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25365         * modules/unistd (Makefile.am): Populate it.
25366         * lib/unistd.in.h (chown): Update declaration.
25367         * lib/lchown.c (chown): Update client.
25368         * modules/lchown (Depends-on): Add lstat.
25369         * doc/posix-functions/chown.texi (chown): Document the bug.
25370         * doc/posix-functions/getgroups.texi (getgroups): Document
25371         getgroups pitfall.
25372         * modules/chown-tests: New file.
25373         * tests/test-chown.h (test_chown): Likewise.
25374         * tests/test-chown.c (main): Likewise.
25375
25376 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
25377
25378         gnulib-tool: correctly detect absence of m4 directories
25379         * gnulib-tool: Avoid extra newline on data passed to wc -l.
25380
25381 2009-11-14  Jim Meyering  <meyering@redhat.com>
25382
25383         maint.mk: Prohibit inclusion of "xalloc.h" without use.
25384         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
25385
25386 2009-11-14  John W. Eaton  <jwe@gnu.org>
25387
25388         strftime.h: wrap funtion declaration in extern "C" block
25389         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
25390
25391 2009-11-13  Eric Blake  <ebb9@byu.net>
25392
25393         getgroups: avoid compiler warning
25394         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
25395
25396         getgroups: work around FreeBSD bug
25397         * lib/getgroups.c (rpl_getgroups): Work around the bug.
25398         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
25399         * doc/posix-functions/getgroups.texi (getgroups): Document it.
25400         * tests/test-getgroups.c (main): Fix buffer overrun.
25401
25402         getgroups: avoid compilation failure
25403         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
25404         * modules/getgroups (Depends-on): Add stdint.
25405
25406 2009-11-13  Jim Meyering  <meyering@redhat.com>
25407
25408         test-getgroups: avoid compilation failure
25409         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
25410
25411 2009-11-13  Eric Blake  <ebb9@byu.net>
25412
25413         mgetgroups: new module, taken from coreutils
25414         * modules/mgetgroups: New file.
25415         * lib/mgetgroups.h: Likewise.
25416         * lib/mgetgroups.c (mgetgroups): Likewise.
25417         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
25418         * MODULES.html.sh (Users and groups): Mention it.
25419
25420         getgroups: don't expose GETGROUPS_T to user
25421         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
25422         an element at a time if GETGROUPS_T is wrong size.
25423         * lib/getugroups.h (getugroups): Change signature.
25424         * lib/unistd.in.h (getgroups): Likewise.
25425         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
25426         signature needs fixing.
25427         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
25428         AC_TYPE_GETGROUPS.
25429         * modules/group-member (Depends-on): Add getgroups.
25430         * lib/group-member.c (group_info, get_group_info): Use gid_t.
25431         (group_member): Rely on getgroups replacement.
25432         * lib/getugroups.c (getugroups): Use gid_t.
25433         * tests/test-getgroups.c (main): Likewise.
25434         * NEWS: Mention the signature change.
25435         * doc/posix-functions/getgroups.texi (getgroups): Mention the
25436         problem with signature.
25437         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
25438         GETGROUPS_T is still useful for setgroups.
25439
25440         getgroups, getugroups: provide stubs for mingw
25441         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
25442         * lib/getugroups.c (getugroups): Likewise.
25443         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
25444         function.  Modernize replacement scheme.
25445         (gl_PREREQ_GETGROUPS): Delete.
25446         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
25447         * modules/getgroups (configure.ac): Declare witness.
25448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
25449         * modules/unistd (Depends-on): Substitute witness.
25450         * lib/unistd.in.h (getgroups): Declare replacement.
25451
25452         getgroups: avoid calling exit
25453         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
25454         drop xalloc.
25455         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
25456         dependencies.
25457         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
25458         exiting, in the rare case of malloc failure.
25459
25460         getgroups: fix logic error
25461         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
25462         has more than 20 groups.
25463         * modules/getgroups-tests: New test.
25464         * tests/test-getgroups.c: New file.
25465
25466 2009-11-13  Simon Josefsson  <simon@josefsson.org>
25467
25468         * tests/test-base64.c: Improve.
25469
25470 2009-11-13  Simon Josefsson  <simon@josefsson.org>
25471
25472         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
25473         Blake <ebb9@byu.net>.
25474
25475 2009-11-13  Simon Josefsson  <simon@josefsson.org>
25476
25477         * tests/test-xvasprintf.c: Add %s%s related checks.
25478
25479 2009-11-12  Eric Blake  <ebb9@byu.net>
25480
25481         version-etc: match standards.texi style
25482         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
25483         and use <> only for URLs.
25484
25485 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
25486
25487         fts: do not fail on a submount during traversal
25488         * lib/fts.c (fts_build): Read the stat info again after opening
25489         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
25490         Original report at http://bugzilla.redhat.com/501848.
25491
25492 2009-11-12  Jim Meyering  <meyering@redhat.com>
25493
25494         bootstrap: sync from coreutils
25495         * build-aux/bootstrap (bootstrap_epilogue): New function.
25496         Use git_modules_config in one more place.  This make bootstrap's
25497         --gnulib-srcdir option more useful for testing.
25498
25499         bootstrap: generalize autoheader check
25500         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
25501         AC_CONFIG_HEADERS.
25502
25503 2009-11-11  Eric Blake  <ebb9@byu.net>
25504
25505         mkfifoat: use new modules for Solaris and BSD bugs
25506         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
25507         * lib/mkfifoat.c (mknodat): Split...
25508         * lib/mknodat.c (mknodat): ...into new file.
25509         * modules/mkfifoat (Files): Ship new file.
25510         (Depends-on): Add mkfifo, mknod.
25511         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
25512         (Depends-on): Add symlink.
25513         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
25514         redundant with test_mkfifo.h.
25515         (do_mkfifoat, do_mknodat): New helpers.
25516
25517         mknod: new module
25518         * modules/mknod: New file.
25519         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
25520         * lib/mknod.c (mknod): Likewise.
25521         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
25522         defaults.
25523         * modules/sys_stat (Makefile.am): Substitute them.
25524         * lib/sys_stat.in.h (mknod): Declare replacement.
25525         * MODULES.html.sh (Support for systems lacking POSIX:2008):
25526         Document it.
25527         * doc/posix-functions/mknod.texi (mknod): Likewise.
25528         * modules/mknod-tests: New test.
25529         * tests/test-mknod.c: Likewise.
25530
25531         mkfifo: new module
25532         * modules/mkfifo: New file.
25533         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
25534         * lib/mkfifo.c (mkfifo): Likewise.
25535         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
25536         defaults.
25537         * modules/sys_stat (Makefile.am): Substitute them.
25538         * lib/sys_stat.in.h (mkfifo): Declare replacement.
25539         * MODULES.html.sh (Support for systems lacking POSIX:2008):
25540         Document it.
25541         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
25542         * modules/mkfifo-tests: New test.
25543         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
25544         from test-mkfifoat.c.
25545         * tests/test-mkfifo.c: New file.
25546
25547         readlink: detect FreeBSD bug
25548         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
25549         slash on symlink.
25550         * doc/posix-functions/readlink.texi (readlink): Document the bug.
25551         * tests/test-readlink.h (test_readlink): Enhance test.
25552
25553         symlink: detect FreeBSD bug
25554         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
25555         slash on symlink.
25556         * doc/posix-functions/symlink.texi (symlink): Document the bug.
25557         * tests/test-symlink.h (test_symlink): Enhance test.
25558
25559 2009-11-10  Eric Blake  <ebb9@byu.net>
25560
25561         link: detect FreeBSD bug
25562         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
25563         symlink.
25564         * doc/posix-functions/link.texi (link): Document the bug.
25565         * tests/test-link.h (test_link): Enhance test.
25566         * tests/test-linkat.c (main): Update caller.
25567
25568         unlink, remove: detect FreeBSD bug
25569         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
25570         slash on symlink.
25571         * doc/posix-functions/unlink.texi (unlink): Document the bug.
25572         * doc/posix-functions/remove.texi (remove): Likewise.
25573         * tests/test-unlink.h (test_unlink): Enhance test.
25574         * tests/test-remove.c (main): Likewise.
25575
25576 2009-11-09  Eric Blake  <ebb9@byu.net>
25577
25578         rename: detect FreeBSD bug
25579         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
25580         slash on symlink.
25581         * modules/renameat-tests (Depends-on): Add filenamecat.
25582         * tests/test-rename.h (test_rename): Allow one more errno.
25583         * tests/test-renameat.c (main): Likewise.
25584         * doc/posix-functions/rename.texi (rename): Document the bug.
25585
25586         open: detect FreeBSD bug
25587         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
25588         symlink.
25589         * doc/posix-functions/open.texi (open): Document the bug.
25590         * doc/posix-functions/utimes.texi (utimes): Likewise.
25591         * tests/test-open.h (test_open): Add parameters, and test symlink
25592         handling.
25593         * tests/test-open.c (main): Adjust caller.
25594         * tests/test-fcntl-safer.c (main): Likewise.
25595         * modules/open-tests (Depends-on): Add stdbool, symlink.
25596         * modules/fcntl-safer-tests (Depends-on): Likewise.
25597         * tests/test-openat.c (main): Add test-open tests.
25598
25599         stat: detect FreeBSD bug
25600         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
25601         symlink.
25602         * doc/posix-functions/stat.texi (stat): Document the bug.
25603         * tests/test-stat.h (test_stat_func): Add argument.
25604         * tests/test-stat.c (main): Adjust caller.
25605         * tests/test-fstatat.c (main): Likewise.
25606         * modules/stat-tests (Depends-on): Add stdbool, symlink.
25607         Reported by Jim Meyering.
25608
25609 2009-11-09  James Youngman  <jay@gnu.org>
25610
25611         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
25612         * lib/strftime.c: Correct placement of #include "ignore-value.h".
25613
25614 2009-11-08  Jim Meyering  <meyering@redhat.com>
25615
25616         utimens: remove invalid futimesat call
25617         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
25618         It used the file descriptor of the target file as the DIR_FD
25619         parameter and NULL as the file name.  That caused failure with
25620         errno == EFAULT on FreeBSD-8.0-rc2
25621
25622 2009-11-07  Eric Blake  <ebb9@byu.net>
25623
25624         fflush, freadseek: use fseeko, not fseek
25625         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
25626         (clear_ungetc_buffer): Avoid potential problems on large files.
25627         * lib/freadseek.c (freadseek): Likewise.
25628         * modules/freadseek (Depends-on): Add fseeko.
25629         * modules/fseek (configure.ac): Set a witness.
25630         * tests/test-fflush.c (main): Use fseeko.
25631         * tests/test-fpurge.c (fseek): Disable link warning.
25632         * tests/test-freadable.c (fseek): Likewise.
25633         * tests/test-freading.c (fseek): Likewise.
25634         * tests/test-fseeko.c (fseek): Likewise.
25635         * tests/test-ftell.c (fseek): Likewise.
25636         * tests/test-ftello.c (fseek): Likewise.
25637         * tests/test-fwritable.c (fseek): Likewise.
25638         * tests/test-fwriting.c (fseek): Likewise.
25639
25640 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25641
25642         * modules/memchr (Depends-on): Drop getpagesize dependency.
25643
25644 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25645
25646         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
25647         Reported by Ludovic Courtès.
25648         * build-aux/pmccabe2html: Improve example usage.
25649         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
25650
25651 2009-11-06  Jim Meyering  <meyering@redhat.com>
25652
25653         do-release-commit-and-tag: New module.
25654         Automate the release-commit and tag process.
25655         * build-aux/do-release-commit-and-tag: New script, from coreutils.
25656         * modules/do-release-commit-and-tag: New file.
25657         * MODULES.html.sh (Support for maintaining and releasing): Add it.
25658
25659 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25660
25661         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
25662         because test-select.c uses inet_pton.
25663
25664 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25665
25666         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
25667         GETADDRINFO_LIB.  Bump serial number.
25668         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
25669         Suggested by Eric Blake <ebb9@byu.net>.
25670
25671 2009-11-05  Eric Blake  <ebb9@byu.net>
25672
25673         strtod: detect darwin bug
25674         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
25675         Reported by Leo Davis.
25676
25677         freopen-safer: new module
25678         * modules/freopen-safer: New module.
25679         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
25680         * lib/freopen-safer.c (freopen_safer): New file.
25681         * lib/stdio-safer.h (freopen_safer): New declaration.
25682         * lib/stdio--.h (freopen): New override.
25683         * MODULES.html.sh (File stream based Input/Output): Mention it.
25684         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
25685         freopen-safer module.
25686         * doc/posix-functions/stderr.texi (stderr): Likewise.
25687         * doc/posix-functions/stdin.texi (stdin): Likewise.
25688         * doc/posix-functions/stdout.texi (stdout): Likewise.
25689         * modules/freopen-safer-tests: New test.
25690         * tests/test-reopen-safer.c: New file.
25691
25692 2009-11-05  Jim Meyering  <meyering@redhat.com>
25693
25694         maint.mk: Prohibit inclusion of "close-stream.h" without use.
25695         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
25696
25697 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25698
25699         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
25700
25701 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25702
25703         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
25704
25705 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25706
25707         Fix link error.
25708         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
25709         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25710
25711 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25712
25713         * tests/test-func.c: Also test value of __func__.
25714
25715 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25716
25717         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
25718         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
25719
25720 2009-11-05  Bruno Haible  <bruno@clisp.org>
25721
25722         Fix link error.
25723         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
25724         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25725         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
25726
25727 2009-11-05  Bruno Haible  <bruno@clisp.org>
25728
25729         Tests for module 'inet_pton'.
25730         * modules/inet_pton-tests: New file.
25731         * tests/test-inet_pton.c: New file.
25732
25733 2009-11-05  Bruno Haible  <bruno@clisp.org>
25734
25735         Tests for module 'inet_ntop'.
25736         * modules/inet_ntop-tests: New file.
25737         * tests/test-inet_ntop.c: New file.
25738
25739 2009-11-04  Eric Blake  <ebb9@byu.net>
25740
25741         stdlib-safer: wrap all mkstemp variants
25742         * modules/mkostemp (configure.ac): Set witness.
25743         * modules/mkostemps (configure.ac): Likewise.
25744         * modules/mkstemps (configure.ac): Likewise.
25745         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
25746         (mkstemps_safer): Wrap more functions.
25747         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
25748         wrapping.
25749         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
25750         (mkstemps_safer): Implement the wrappers.
25751
25752         mkstemps, mkostemps: new modules
25753         * modules/mkostemps: New module.
25754         * modules/mkstemps: Likewise.
25755         * lib/mkostemps.c (mkostemps): New file.
25756         * lib/mkstemps.c (mkstemps): Likewise.
25757         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
25758         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
25759         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
25760         * modules/stdlib (Makefile.am): Substitute them.
25761         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
25762         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
25763         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25764         * doc/gnulib.texi (Glibc stdlib.h): Include them.
25765         * MODULES.html.sh (File system functions): Mention them.
25766
25767         tempname: resync from glibc
25768         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
25769         same values for __GT_FILE as glibc.  Abort even when assertions
25770         are disabled.
25771         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
25772         match its value otherwise.  Allow idempotent inclusion.
25773         * lib/mkdtemp.c (mkdtemp): Adjust caller.
25774         * lib/mkostemp.c (mkostemp): Likewise.
25775         * lib/mkstemp.c (mkstemp): Likewise.
25776         * lib/tmpfile.c (tmpfile): Likewise.
25777         * NEWS: Document this.
25778
25779         utimens: fix use of futimens on older Linux
25780         * lib/utimens.c (fdutimens): Use updated, rather than original,
25781         timespec to avoid bug in older Linux kernel.
25782         Reported by Simon Josefsson.
25783
25784 2009-11-04  Bruno Haible  <bruno@clisp.org>
25785
25786         Make num_processors more flexible and consistent.
25787         * lib/nproc.h (enum nproc_query): New type.
25788         (num_processors): Add a 'query' argument.
25789         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
25790         (num_processors): Add a 'query' argument. Test the value of the
25791         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
25792         mingw, count the number of CPUs available for the current process.
25793         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
25794         Check for sched_getaffinity and sched_getaffinity_np.
25795         * modules/nproc (Depends-on): Add c-ctype, extensions.
25796         * NEWS: Mention the change.
25797
25798 2009-11-03  Bruno Haible  <bruno@clisp.org>
25799
25800         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
25801
25802 2009-11-03  Jim Meyering  <meyering@redhat.com>
25803
25804         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
25805         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
25806         if it is defined.
25807
25808 2009-11-02  Eric Blake  <ebb9@byu.net>
25809
25810         mktime, timegm: share common declaration
25811         * lib/mktime-internal.h: New file.
25812         * lib/mktime.c: Use it rather than open-coding a declaration.
25813         * lib/timegm.c: Likewise.
25814         * modules/mktime (Files): Ship it.
25815         * modules/timegm (Files): Likewise.
25816         Suggested by Bruno Haible.
25817
25818         test-update-copyright: update test to match script changes
25819         * tests/test-update-copyright.sh: Avoid hard-coding perl
25820         location.  Don't update *.bak created by earlier runs.
25821
25822 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
25823             Simon Josefsson  <simon@josefsson.org>
25824             Bruno Haible  <bruno@clisp.org>
25825
25826         Fix link error on Solaris 8.
25827         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
25828         also in libnsl. Define also INET_PTON_LIB.
25829         * modules/inet_pton (Link): New section.
25830
25831 2009-11-02  Simon Josefsson  <simon@josefsson.org>
25832             Bruno Haible  <bruno@clisp.org>
25833
25834         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
25835         * modules/inet_ntop (Link): New section.
25836         Reported by Boyan Kasarov <bkasarov@gmail.com>.
25837
25838 2009-11-02  Eric Blake  <ebb9@byu.net>
25839
25840         maint: avoid compiler warnings in m4 macros
25841         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
25842         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
25843
25844 2009-11-02  Simon Josefsson  <simon@josefsson.org>
25845
25846         * m4/pmccabe2html.m4: Remove file.
25847         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
25848         function.  Change maintainer.
25849         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
25850         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
25851         Courtès).
25852
25853 2009-10-31  Eric Blake  <ebb9@byu.net>
25854
25855         fseeko: fix m4 regression
25856         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
25857         regression from 2009-10-27.
25858         Reported by Ralf Wildenhues.
25859
25860 2009-10-31  Jim Meyering  <meyering@redhat.com>
25861
25862         inttostr: aesthetics and improved (compile-time) safety
25863         Define inttype_is_signed rather than inttype_is_unsigned,
25864         since the sole use is via "#if inttype_is_signed".
25865         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
25866         inttype_is_unsigned.
25867         * lib/offtostr.c (inttype_is_signed): Likewise.
25868         * lib/uinttostr.c (inttype_is_signed): Likewise.
25869         * lib/umaxtostr.c (inttype_is_signed): Likewise.
25870         * lib/inttostr.c (inttostr): Use verify to cross-check the
25871         inttype_is_signed value and the signedness of the actual type.
25872         * modules/inttostr (Depends-on): Add verify.
25873
25874 2009-10-30  Eric Blake  <ebb9@byu.net>
25875
25876         build: avoid compiler warnings
25877         * lib/fchmodat.c (lchmod): Mark unused variables.
25878         * lib/getopt.c (_getopt_initialize): Likewise.
25879         * lib/mktime.c (__mktime_internal): Provide prototype.
25880         * lib/inttostr.c (inttostr): Avoid compiler warning even with
25881         older gcc that do not understand #pragma GCC diagnostic.
25882         * lib/uinttostr.c (inttype_is_unsigned): Define.
25883         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
25884
25885 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
25886
25887         stat: fix compilation on AIX
25888         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
25889         only see struct stat64.
25890
25891 2009-10-30  Eric Blake  <ebb9@byu.net>
25892
25893         exclude: make more robust
25894         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
25895         rather than masking a coding bug.
25896         Suggested by Bruno Haible.
25897
25898 2009-10-30  Jim Meyering  <meyering@redhat.com>
25899
25900         perl scripts: remove #!/usr/bin/perl in favor of more portable...
25901         Rather than putting #!/usr/bin/perl on the first line,
25902         start with a variant of what's recommended by "man perlrun" that
25903         invokes the first "perl" program from your shell's search path.
25904         * build-aux/gitlog-to-changelog: Replace #!... as above.
25905         Add a "Local Variables" perl mode setting.
25906         Prompted by a patch from Ludovic Courtès.
25907         Improved by Eric Blake.
25908         * build-aux/useless-if-before-free: Likewise.
25909         * build-aux/announce-gen: Likewise.
25910         * build-aux/update-copyright: Likewise.
25911
25912 2009-10-29  Eric Blake  <ebb9@byu.net>
25913
25914         filenamecat-lgpl: adjust clients
25915         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
25916         filenamecat.
25917         * modules/renameat (Depends-on): Likewise.
25918
25919         filenamecat: split into filenamecat-lgpl
25920         * modules/filenamecat-lgpl: New module.
25921         * modules/filenamecat (Files): Move library-safe files into
25922         filenamecat-lgpl.
25923         (Depends-on): Add filenamecat-lgpl.
25924         (configure.ac): Declare witness.
25925         * lib/filenamecat.h (file_name_concat): Only declare when using
25926         GPL module.
25927         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
25928         Move...
25929         * lib/filenamecat-lgpl.c: ...into new file.
25930         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
25931         (gl_FILE_NAME_CONCAT): Use it.
25932         * MODULES.html.sh (File system functions): Mention new module.
25933
25934         argp: avoid memory leak
25935         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
25936         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
25937         base_name, since the latter malloc()s and can call exit().
25938         Leak introduced 2006-07-03.
25939
25940         dirname-lgpl: adjust clients that don't need full dirname
25941         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
25942         * modules/filenamecat (Depends-on): Likewise.
25943         * modules/linkat (Depends-on): Likewise.
25944         * modules/mkancesdirs (Depends-on): Likewise.
25945         * modules/mkdir (Depends-on): Likewise.
25946         * modules/openat (Depends-on): Likewise.
25947         * modules/savewd (Depends-on): Likewise.
25948         * modules/rename (Depends-on): Likewise.
25949         (License): Relax license.
25950         * modules/mkdir-tests (Depends-on): Drop progname.
25951         (Makefile.am): Delete unneeded LDADD.
25952         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
25953
25954         dirname: split into dirname-lgpl
25955         * modules/dirname-lgpl: New module.
25956         * modules/dirname (Files): Move library-safe files into
25957         dirname-lgpl.
25958         (Depends-on): Add dirname-lgpl.
25959         (configure.ac): Declare witness.
25960         * modules/double-slash-root (License): Relax license.
25961         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
25962         module.
25963         * lib/dirname.c (dir_len, mdir_name): Move...
25964         * lib/dirname-lgpl.c: ...into new file.
25965         * lib/basename.c (last_component, base_len): Move...
25966         * lib/basename-lgpl.c: ...into new file.
25967         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
25968         (gl_DIRNAME): Use it.
25969         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
25970         Mention new module.
25971         * modules/dirname-tests (Depends-on): Add progname.
25972         * tests/test-dirname.c (program_name): Delete.
25973
25974         mkdir: make safe for libraries
25975         * modules/mkdir (Depends-on): Drop xalloc.
25976         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
25977         exit.
25978
25979         tests: avoid some compiler warnings
25980         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
25981         literals.
25982         * tests/test-memchr.c (main): Avoid type mismatch.
25983         * tests/test-arpa_inet.c (main): Avoid unused parameters.
25984         * tests/test-base64.c (main): Likewise.
25985         * tests/test-getdelim.c (main): Likewise.
25986         * tests/test-gethostname.c (main): Likewise.
25987         * tests/test-getline.c (main): Likewise.
25988         * tests/test-netinet_in.c (main): Likewise.
25989         * tests/test-select.c (open_server_socket, main): Likewise.
25990         * tests/test-select-stdin.c (main): Likewise.
25991         * tests/test-sockets.c (main): Likewise.
25992         * tests/test-strsignal.c (main): Likewise.
25993         * tests/test-sys_select.c (main): Likewise.
25994         * tests/test-sys_socket.c (main): Likewise.
25995         * tests/test-u64.c (main): Likewise.
25996         * tests/test-xfprintf-posix.c (main): Likewise.
25997         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
25998
25999         sockets: avoid compiler warning
26000         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
26001
26002         maint: detect usage(1) and other suspicious exits
26003         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
26004
26005 2009-10-29  Jim Meyering  <meyering@redhat.com>
26006
26007         timespec: long-to-int truncation could make timespec_cmp malfunction
26008         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
26009         a multiple of 2^32 nanoseconds as no difference.
26010
26011 2009-10-28  Jim Meyering  <meyering@redhat.com>
26012
26013         fprintftime: wrap macro code argument in "do {...} while(0)"
26014         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
26015         cpy macro must be a statement that can be followed by a semicolon.
26016         Now that the else clause contains a comment and is hence longer
26017         than one line, I require curly braces.  That in turn requires
26018         that we wrap this code block in the standard do...while(0).
26019
26020         fprintftime: remove stray semicolon from previous change
26021         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
26022
26023         fprintftime: avoid a warning about ignored fwrite return value
26024         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
26025         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
26026         that is unsafe.
26027         * modules/fprintftime (Depends-on): Add ignore-value.
26028
26029         exclude: avoid an unwarranted warning
26030         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
26031
26032 2009-10-27  Eric Blake  <ebb9@byu.net>
26033
26034         fseek: avoid compilation failure when fflush is replaced
26035         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
26036         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
26037         module is in use.
26038         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
26039         module is not in use; since REPLACE_FSEEK worked otherwise.
26040         (GNULIB_FTELLO): Likewise for ftell.
26041         Reported by Ian Beckwith and others.
26042
26043 2009-10-27  Bruno Haible  <bruno@clisp.org>
26044
26045         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
26046         Reported by Jim Meyering.
26047
26048 2009-10-27  Jim Meyering  <jim@meyering.net>
26049             Bruno Haible  <bruno@clisp.org>
26050
26051         Avoid warning despite dropping the return value of fwrite.
26052         * lib/unicodeio.c: Include ignore-value.h.
26053         (fwrite_success_callback): Explicitly ignore fwrite's return value.
26054         * modules/unicodeio (Depends-on): Add ignore-value.
26055
26056 2009-10-26  Eric Blake  <ebb9@byu.net>
26057
26058         areadlinkat: fix fallback path
26059         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
26060         pointer and zero.
26061
26062 2009-10-22  Pádraig Brady  <P@draigBrady.com>
26063
26064         Use a better IO block size for modern systems
26065         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
26066         * lib/md2.c: Likewise.
26067         * lib/md4.c: Likewise.
26068         * lib/md5.c: Likewise.
26069         * lib/sha1.c: Likewise.
26070         * lib/sha256.c: Likewise.
26071         * lib/sha512.c: Likewise.
26072
26073 2009-10-22  Eric Blake  <ebb9@byu.net>
26074
26075         tests: avoid several compiler warnings
26076         * tests/test-getcwd.c (main): Avoid buffer underflow.
26077         * tests/test-getdate.c (main): String literals are not safe with
26078         putenv, so use setenv.  Declare unused argument.
26079         * modules/getdate-tests (Depends-on): Add setenv.
26080         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
26081         problems with string literals in char *.
26082         * tests/test-hash.c (main): Avoid shadowing declaration.
26083         (insert_new): Treat string literals as char const *.
26084         * tests/test-getopt.h (test_getopt): Likewise.
26085         (getopt_loop): Alter types to minimize casting elsewhere.
26086         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
26087         (test_getopt_long_posix): Likewise.
26088         (do_getopt_long): Add wrapper to minimize casting.
26089         * tests/test-atexit.c (clear_temp_file): Use void.
26090         * tests/test-areadlink-with-size.c (main): Declare unused
26091         arguments.
26092         * tests/test-areadlink.c (main): Likewise.
26093         * tests/test-areadlinkat-with-size.c (main): Likewise.
26094         * tests/test-areadlinkat.c (main): Likewise.
26095         * tests/test-canonicalize-lgpl.c (main): Likewise.
26096         * tests/test-canonicalize.c (main): Likewise.
26097         * tests/test-dirent-safer.c (main): Likewise.
26098         * tests/test-dirname.c (main): Likewise.
26099         * tests/test-dup2.c (main): Likewise.
26100         * tests/test-fchdir.c (main): Likewise.
26101         * tests/test-fcntl-h.c (main): Likewise.
26102         * tests/test-fcntl-safer.c (main): Likewise.
26103         * tests/test-fdopendir.c (main): Likewise.
26104         * tests/test-fdutimensat.c (main): Likewise.
26105         * tests/test-fflush.c (main): Likewise.
26106         * tests/test-filenamecat.c (main): Likewise.
26107         * tests/test-filevercmp.c (main): Likewise.
26108         * tests/test-fopen-safer.c (main): Likewise.
26109         * tests/test-fopen.c (main): Likewise.
26110         * tests/test-fpending.c (main): Likewise.
26111         * tests/test-fpurge.c (main): Likewise.
26112         * tests/test-freading.c (main): Likewise.
26113         * tests/test-fstatat.c (main): Likewise.
26114         * tests/test-fsync.c (main): Likewise.
26115         * tests/test-futimens.c (main): Likewise.
26116         * tests/test-getndelim2.c (main): Likewise.
26117         * tests/test-gettimeofday.c (main): Likewise.
26118         * tests/test-getopt.c (main): Likewise.
26119         * tests/test-i-ring.c (main): Likewise.
26120         * tests/test-inttypes.c (main): Likewise.
26121         * tests/test-link.c (main): Likewise.
26122         * tests/test-lstat.c (main): Likewise.
26123         * tests/test-math.c (main): Likewise.
26124         * tests/test-md5.c (main): Likewise.
26125         * tests/test-memchr2.c (main): Likewise.
26126         * tests/test-memrchr.c (main): Likewise.
26127         * tests/test-mkdir.c (main): Likewise.
26128         * tests/test-mkdirat.c (main): Likewise.
26129         * tests/test-mkfifoat.c (main): Likewise.
26130         * tests/test-open.c (main): Likewise.
26131         * tests/test-openat-safer.c (main): Likewise.
26132         * tests/test-openat.c (main): Likewise.
26133         * tests/test-quotearg.c (main): Likewise.
26134         * tests/test-rawmemchr.c (main): Likewise.
26135         * tests/test-readlink.c (main): Likewise.
26136         * tests/test-remove.c (main): Likewise.
26137         * tests/test-rename.c (main): Likewise.
26138         * tests/test-renameat.c (main): Likewise.
26139         * tests/test-rmdir.c (main): Likewise.
26140         * tests/test-sha1.c (main): Likewise.
26141         * tests/test-signal.c (main): Likewise.
26142         * tests/test-sigaction.c (main): Likewise.
26143         * tests/test-stat.c (main): Likewise.
26144         * tests/test-stat-time.c (main): Likewise.
26145         * tests/test-stddef.c (main): Likewise.
26146         * tests/test-stdint.c (main): Likewise.
26147         * tests/test-stdio.c (main): Likewise.
26148         * tests/test-stdlib.c (main): Likewise.
26149         * tests/test-strchrnul.c (main): Likewise.
26150         * tests/test-strerror.c (main): Likewise.
26151         * tests/test-string.c (main): Likewise.
26152         * tests/test-strtod.c (main): Likewise.
26153         * tests/test-strverscmp.c (main): Likewise.
26154         * tests/test-symlink.c (main): Likewise.
26155         * tests/test-symlinkat.c (main): Likewise.
26156         * tests/test-sys_stat.c (main): Likewise.
26157         * tests/test-sys_time.c (main): Likewise.
26158         * tests/test-time.c (main): Likewise.
26159         * tests/test-unistd.c (main): Likewise.
26160         * tests/test-unlink.c (main): Likewise.
26161         * tests/test-unlinkat.c (main): Likewise.
26162         * tests/test-utimens.c (main): Likewise.
26163         * tests/test-utimensat.c (main): Likewise.
26164         * tests/test-version-etc.c (main): Likewise.
26165         * tests/test-wchar.c (main): Likewise.
26166         * tests/test-wctype.c (main): Likewise.
26167         * tests/test-xprintf-posix.c (main): Likewise.
26168         * tests/test-posixtm.c (main): Likewise.
26169         (STREQ): Delete unused macro.
26170         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
26171         shadowed variables.
26172         * tests/test-memchr.c (main): Likewise.
26173
26174 2009-10-21  Eric Blake  <ebb9@byu.net>
26175
26176         areadlinkat: avoid failure on older glibc
26177         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
26178         rather than mis-comparing 0 against FUNC_RESULT of char*.
26179
26180 2009-10-21  Bruno Haible  <bruno@clisp.org>
26181
26182         * modules/stpncpy (License): Relicense under LGPLv2+.
26183         Reported by David Lutterkort <lutter@redhat.com>.
26184
26185 2009-10-20  Eric Blake  <ebb9@byu.net>
26186
26187         utimensat: work around Solaris 9 bug
26188         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
26189         has trailing slash bugs.
26190         * tests/test-lutimens.h (test_lutimens): Enhance test.
26191         * tests/test-utimens.h (test_utimens): Likewise.
26192         * doc/posix-functions/utime.texi (utime): Enhance documentation.
26193         * doc/posix-functions/utimes.texi (utimes): Likewise.
26194         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26195         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
26196         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
26197         * doc/posix-functions/futimens.texi (futimens): Likewise.
26198
26199         fdutimensat: new module
26200         * modules/fdutimensat: New file.
26201         * lib/fdutimensat.c (fdutimensat): Likewise.
26202         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
26203         * MODULES.html.sh (File system functions): Mention module.
26204         * modules/fdutimensat-tests: New test.
26205         * tests/test-fdutimensat.c: Likewise.
26206
26207         doc: regenerate INSTALL
26208         * doc/INSTALL: Reflect recent autoconf update.
26209         * doc/INSTALL.ISO: Likewise.
26210         * doc/INSTALL.UTF-8: Likewise.
26211
26212 2009-10-20  Pádraig Brady  <P@draigBrady.com>
26213
26214         acl: warn if ACL support is not detected
26215         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
26216
26217 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
26218
26219         * lib/nproc.h: Add extern "C" block for C++.
26220
26221 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
26222             Bruno Haible  <bruno@clisp.org>
26223
26224         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
26225         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
26226         * doc/posix-functions/isalpha.texi: Likewise.
26227         * doc/posix-functions/isblank.texi: Likewise.
26228         * doc/posix-functions/iscntrl.texi: Likewise.
26229         * doc/posix-functions/isdigit.texi: Likewise.
26230         * doc/posix-functions/isgraph.texi: Likewise.
26231         * doc/posix-functions/islower.texi: Likewise.
26232         * doc/posix-functions/isprint.texi: Likewise.
26233         * doc/posix-functions/ispunct.texi: Likewise.
26234         * doc/posix-functions/isspace.texi: Likewise.
26235         * doc/posix-functions/isupper.texi: Likewise.
26236         * doc/posix-functions/isxdigit.texi: Likewise.
26237
26238 2009-10-18  Bruno Haible  <bruno@clisp.org>
26239
26240         Tests for module 'isblank'.
26241         * modules/isblank-tests: New file.
26242         * tests/test-isblank.c: New file.
26243
26244         New module 'isblank'.
26245         * lib/isblank.c: New file.
26246         * m4/isblank.m4: New file.
26247         * modules/isblank: New file.
26248         * doc/posix-functions/isblank.texi: Mention the new module.
26249
26250 2009-10-18  Bruno Haible  <bruno@clisp.org>
26251
26252         New module 'ctype'.
26253         * lib/ctype.in.h: New file.
26254         * m4/ctype.m4: New file.
26255         * modules/ctype: New file.
26256         * doc/posix-headers/ctype.texi: Mention the new module.
26257
26258 2009-10-18  Jim Meyering  <meyering@redhat.com>
26259
26260         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
26261         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
26262         right after its initialization, rather than farther down.
26263         Keeping these in close proximity makes it easier to ensure
26264         that each such variable is initialized.  E.g.,
26265
26266             LIB_CLOCK_GETTIME=
26267             AC_SUBST([LIB_CLOCK_GETTIME])
26268
26269         This change also increments these serial numbers.
26270         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
26271         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
26272         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26273
26274 2009-10-18  Bruno Haible  <bruno@clisp.org>
26275
26276         Don't let environment variables perturb build.
26277         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
26278         (gl_PREREQ_GETHRXTIME): ... not here.
26279
26280 2009-10-18  Bruno Haible  <bruno@clisp.org>
26281
26282         Avoid symlink attack in localcharset module.
26283         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
26284         (O_NOFOLLOW): Define fallback.
26285         (get_charset_aliases): Don't open the file if it is a symbolic link.
26286         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
26287         gl_FCNTL_H.
26288         (gl_FCNTL_H): Require it.
26289         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
26290         * modules/localcharset (Files): Add m4/fcntl_h.m4.
26291         Reported by Fergal Glynn <fglynn@veracode.com>.
26292
26293 2009-10-18  Bruno Haible  <bruno@clisp.org>
26294
26295         Implement nproc for mingw.
26296         * lib/nproc.c: Include <windows.h>
26297         (num_processors): On native Windows platforms, try GetSystemInfo.
26298
26299 2009-10-18  Bruno Haible  <bruno@clisp.org>
26300
26301         Implement nproc for IRIX.
26302         * lib/nproc.c: Include <sys/sysmp.h>.
26303         (num_processors): On IRIX systems, try sysmp.
26304         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
26305
26306 2009-10-18  Bruno Haible  <bruno@clisp.org>
26307
26308         Implement nproc for HP-UX.
26309         * lib/nproc.c: Include <sys/pstat.h>
26310         (num_processors): On HP-UX systems, try pstat_getdynamic.
26311         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
26312         pstat_getdynamic.
26313
26314 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
26315             Bruno Haible  <bruno@clisp.org>
26316
26317         Implement nproc for NetBSD, OpenBSD.
26318         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
26319         (ARRAY_SIZE): New macro.
26320         (num_processors): On BSD systems, try sysctl of HW_NCPU.
26321         * m4/nproc.m4: New file.
26322         * modules/nproc (Files): Add m4/nproc.m4.
26323         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
26324         (Makefile.am): Instead, augment lib_SOURCES.
26325
26326 2009-10-18  Bruno Haible  <bruno@clisp.org>
26327
26328         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
26329         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
26330         sys/param.h.
26331
26332 2009-10-16  Eric Blake  <ebb9@byu.net>
26333
26334         utimensat: new module
26335         * modules/utimensat: New file.
26336         * lib/utimensat.c (utimensat): Likewise.
26337         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26338         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
26339         so we can work around Linux bugs.
26340         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26341         * modules/sys_stat (Makefile.am): Substitute them.
26342         * lib/sys_stat.in.h (utimensat): Declare it.
26343         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26344         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26345         * modules/utimensat-tests: New test.
26346         * tests/test-utimensat.c: Likewise.
26347
26348         utimens: let lutimens work on non-symlinks
26349         * lib/utimens.c (lutimens): Fall back to utimens rather than
26350         failing with ENOSYS, when file is not a symlink.
26351         (utimens): Reduce redirection.
26352         * tests/test-lutimens.h (test_lutimens): Update test to cover
26353         non-symlinks.
26354         * tests/test-utimens.h (test_utimens): Update test to cover
26355         symlinks.
26356         * tests/test-utimens.c (main): Update caller.
26357
26358         utimens: cache whether utimensat syscall works
26359         * lib/utimens.c (utimensat_works_really): New cache variable.
26360         (fdutimens, lutimens): Use it to avoid failing syscall.
26361
26362         test-stat-time, test-utimens: improve portability
26363         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
26364         ext4 on alpha, and for cygwin.
26365         * tests/test-utimens-common.h: New file.
26366         (nap): Factor delays into single function.
26367         * tests/test-lutimens.h (test_lutimens): Use new header.
26368         * tests/test-futimens.h (test_futimens): Likewise.
26369         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
26370         timestamps to occur from same machine, as was done previously for
26371         test_utimens.
26372         * modules/utimens-tests (Files): Ship new file.
26373         * modules/futimens-tests (Files): Likewise.
26374         Reported in part by Jim Meyering.
26375
26376         sys_stat: sort replacement declarations
26377         * lib/sys_stat.in.h: Sort declarations.
26378         * lib/futimens.c (futimens): Fix typo.
26379
26380 2009-10-15  Jim Meyering  <meyering@redhat.com>
26381
26382         don't let environment settings perturb build
26383         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
26384         could cause a configure-time and/or build-time malfunction.
26385         Typically, a configure-time function-in-library test is performed
26386         via code like this:
26387
26388           LIB_VAR=
26389           AC_SUBST([LIB_VAR])
26390           prefix_saved_LIBS=$LIBS
26391             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
26392                        [test "$ac_cv_search_FUNC" = "none required" ||
26393                         LIB_VAR=$ac_cv_search_FUNC])
26394           LIBS=$prefix_saved_LIBS
26395
26396         However, in each of the files affected by this change, the LIB_VAR=
26397         initialization was omitted.  Thus, when set in the environment, its
26398         value would propagate into generated Makefiles when FUNC is not found
26399         in LIB_NAME.
26400         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
26401         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
26402         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26403
26404 2009-10-14  Eric Blake  <ebb9@byu.net>
26405
26406         fchdir: avoid infinite recursion in mingw
26407         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
26408         recursing.
26409
26410         test-stat-time: port to mingw
26411         * tests/test-stat-time.c (force_unlink): Return a value.
26412         (test_ctime) [W32]: Fix compilation error.
26413         (nap): Don't call usleep with too large an argument.  Use
26414         force_unlink.
26415         * doc/pastposix-functions/usleep.texi (usleep): Document the
26416         portability issue.
26417
26418 2009-10-13  Jim Meyering  <meyering@redhat.com>
26419
26420         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
26421         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
26422         * modules/pipe-filter-ii: Likewise.
26423         * modules/sys_socket-tests: Likewise.
26424         * modules/tsearch-tests: Likewise.
26425         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
26426         (check): Depend on it.
26427
26428 2009-10-12  Eric Blake  <ebb9@byu.net>
26429
26430         utimens-tests: port to NFS file systems
26431         * tests/test-utimens.h (test_utimens): Refactor utimecmp
26432         comparisons to avoid spurious failures from timestamp drift
26433         between NFS machines.
26434
26435 2009-10-12  Eric Blake  <ebb9@byu.net>
26436
26437         stat-time-tests: minor cleanups
26438         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
26439         * tests/test-stat-time.c (nap): Separate assignment from call.
26440         Suggested by Paolo Bonzini and Bruno Haible.
26441
26442         sys_stat: guarantee struct timespec
26443         * lib/sys_stat.in.h (includes): Always include <time.h>
26444         * modules/sys_stat (Depends-on): Add time.
26445         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
26446         mode_t permission values.
26447         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
26448         get at subsecond timestamps.
26449
26450 2009-10-10  Eric Blake  <ebb9@byu.net>
26451
26452         futimens: new module
26453         * modules/futimens: New file.
26454         * lib/futimens.c (futimens): Likewise.
26455         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
26456         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
26457         we can work around Linux bugs.
26458         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26459         * modules/sys_stat (Makefile.am): Substitute them.
26460         * lib/sys_stat.in.h (futimens): Declare it.
26461         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26462         * doc/posix-functions/futimens.texi (futimens): Likewise.
26463         * modules/futimens-tests: New test.
26464         * tests/test-futimens.c: Likewise.
26465
26466         utimens: introduce fdutimens
26467         * lib/utimens.h (fdutimens): New prototype.
26468         * lib/utimens.c (gl_futimens): Move guts...
26469         (fdutimens): ...to new interface.
26470         * tests/test-utimens.c (do_fdutimens): Use it.
26471
26472         utimens: add UTIME_NOW and UTIME_OMIT support
26473         * lib/utimens.c (validate_timespec, update_timespec): New helper
26474         functions.
26475         (gl_futimens, lutimens): Use them.
26476         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
26477         stdbool, sys_stat.
26478         (Link): Mention resulting library dependency.
26479         * modules/utimecmp (Link): Likewise.
26480         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
26481         (Makefile.am): Pick up library dependency.
26482         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
26483         definition.
26484         * tests/test-sys_stat.c: Test the definitions.
26485         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
26486         * NEWS: Document library dependency.
26487
26488         utimecmp: support symlink timestamps
26489         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
26490         hashing when possible.  Use pathconf when available.
26491         (SYSCALL_RESOLUTION): Recognize tighter resolution.
26492         * modules/utimecmp (Depends-on): Add lstat.
26493
26494         utimens: add lutimens interface
26495         * lib/utimens.c (lutimens): New function.
26496         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
26497         * lib/utimens.h (lutimens): Declare new interface.
26498         * tests/test-utimens.c (main): Enhance test.
26499         * tests/test-lutimens.h (test_lutimens): New file.
26500         * modules/utimens-tests (Files): Distribute it.
26501         (Depends-on): Add symlink.
26502         (configure.ac): Check for usleep.
26503
26504         utimens: validate futimens usage
26505         * lib/utimens.c (gl_futimens): Require valid fd up front, using
26506         fewer syscalls on failure later on.  Avoid compiler warning on
26507         mingw.
26508         * modules/utimens (Depends-on): Add dup2.
26509
26510         utimens: add test
26511         * modules/utimens-tests: New test.
26512         * tests/test-utimens.h: New file.
26513         * tests/test-futimens.h: Likewise.
26514         * tests/test-utimens.c: Likewise.
26515
26516         doc: mention timestamp portability issues
26517         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
26518         instead.
26519         * doc/posix-functions/utime.texi (utime): Likewise.
26520         * doc/posix-functions/utimes.texi (utimes): Likewise.
26521         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
26522         instead.
26523         * doc/posix-functions/futimens.texi (futimens): Mention utimens
26524         module.
26525         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26526         Mention weakness with symlink timestamps.
26527         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
26528         to utimensat/futimens instead.
26529         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
26530
26531         test-dup2: enhance test
26532         * tests/test-dup2.c (main): Also check AT_FDCWD.
26533
26534         test-stat-time: avoid more spurious failures
26535         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
26536         xfs; and avoid race if the two timestamps cross quantization edge.
26537
26538         relocatable: prefer 'file system' over 'filesystem'
26539         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
26540         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
26541         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
26542         * doc/relocatable.texi (Enabling Relocatability): Likewise.
26543         * lib/relocatable.c (compute_curr_prefix): Likewise.
26544
26545 2009-10-10  Jim Meyering  <meyering@redhat.com>
26546
26547         stat-time-tests: check for the usleep function
26548         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
26549
26550 2009-10-10  Bruno Haible  <bruno@clisp.org>
26551
26552         * modules/xnanosleep: Put the Link section after the Include section.
26553
26554 2009-10-09  Eric Blake  <ebb9@byu.net>
26555
26556         dup2: work around FreeBSD 6.1 bug
26557         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
26558         * doc/posix-functions/dup2.texi (dup2): Document it.
26559         Reported by Nelson H. F. Beebe and Jim Meyering.
26560
26561         test-stat-time: port to buggy NFS clients
26562         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
26563         (test_ctime): Also skip test if mtime and ctime are skewed.
26564
26565         maint: prefer 'file system' over 'filesystem'
26566         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
26567         * doc/posix-functions/lstat.texi (lstat): Likewise.
26568         * lib/file-has-acl.c (file_has_acl): Likewise.
26569         * lib/fwriteerror.c [TEST]: Likewise.
26570         * tests/test-areadlink.h (test_areadlink): Likewise.
26571         * tests/test-areadlinkat-with-size.c (main): Likewise.
26572         * tests/test-areadlinkat.c (main): Likewise.
26573         * tests/test-canonicalize-lgpl.c (main): Likewise.
26574         * tests/test-canonicalize.c (main): Likewise.
26575         * tests/test-fstatat.c (main): Likewise.
26576         * tests/test-linkat.c (main): Likewise.
26577         * tests/test-lstat.h (test_lstat_func): Likewise.
26578         * tests/test-mkdir.h (test_mkdir): Likewise.
26579         * tests/test-readlink.h (test_readlink): Likewise.
26580         * tests/test-remove.c (main): Likewise.
26581         * tests/test-rename.h (test_rename): Likewise.
26582         * tests/test-renameat.c (main): Likewise.
26583         * tests/test-rmdir.h (test_rmdir_func): Likewise.
26584         * tests/test-symlink.h (test_symlink): Likewise.
26585         * tests/test-symlinkat.c (main): Likewise.
26586         * tests/test-unlink.h (test_unlink_func): Likewise.
26587         * tests/test-unlinkat.c (main): Likewise.
26588
26589         maint: make realtime library usage explicit
26590         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
26591         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
26592         * modules/settime (Link): Likewise.
26593         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
26594
26595         test-stat-time: speed up execution
26596         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
26597         warning on mingw.
26598         (nap): New helper function.
26599         (prepare_test): Use it to reduce sleep time.
26600         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
26601         execution.
26602         * modules/stat-time-tests (configure.ac): Check for usleep.
26603
26604 2009-10-09  Jim Meyering  <meyering@redhat.com>
26605
26606         selinux-h: always use getfilecon wrappers
26607         * lib/getfilecon.c: New file.
26608         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
26609         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
26610         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
26611         (fgetfilecon): Provide a stub.
26612         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
26613         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
26614         file unconditionally.
26615         When <selinux/selinux.h> is found, arrange to use wrappers.
26616         * modules/selinux-h (Files): Add getfilecon.c.
26617         (Makefile.am): Substitute include-next-related bits
26618         into the now-always-generated selinux/selinux.h file.
26619         * doc/glibc-functions/lgetfilecon.texi: New file.
26620         * doc/glibc-functions/fgetfilecon.texi: New file.
26621         * doc/glibc-functions/getfilecon.texi: New file.
26622         * doc/glibc-functions/getfilecon-desc.texi: New file.
26623         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
26624         which to pull in the new files.
26625         * MODULES.html.sh (Misc): Add selinux-h.
26626
26627 2009-10-08  Jim Meyering  <meyering@redhat.com>
26628
26629         unistd: fix comment typo
26630         * lib/unistd.in.h (euidaccess): Fix a comment typo.
26631
26632 2009-10-08  Eric Blake  <ebb9@byu.net>
26633
26634         areadlink: use SIZE_MAX consistently
26635         * modules/areadlink (Depends-on): Add stdint.
26636         * modules/areadlink-with-size (Depends-on): Likewise.
26637         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
26638         gives NULL; drop sys/types, since unistd gives size_t; and add
26639         stdint for SIZE_MAX.
26640         (SIZE_MAX): Rely on headers.
26641         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
26642         and add stdint.
26643         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
26644         (SIZE_MAX): Likewise.
26645         (INITIAL_BUF_SIZE): Turn into enum.
26646         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
26647
26648 2009-10-08  Jim Meyering  <meyering@redhat.com>
26649
26650         areadlinkat: avoid compilation failure
26651         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
26652         Fix typo in comment.
26653
26654 2009-10-07  Eric Blake  <ebb9@byu.net>
26655
26656         areadlinkat-with-size: new module
26657         * modules/areadlinkat-with-size: New module.
26658         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
26659         * lib/areadlink.h (areadlinkat): Declare it.
26660         * MODULES.html.sh (File system functions): Mention it.
26661         * modules/areadlinkat-with-size-tests: New test.
26662         * tests/test-areadlinkat-with-size.c: New file.
26663
26664         xreadlinkat: new module
26665         * modules/xreadlinkat: New module.
26666         * lib/xreadlinkat.c (xreadlinkat): New file.
26667         * lib/xreadlink.h (xreadlinkat): Declare it.
26668         * MODULES.html.sh (File system functions): Mention it.
26669
26670         areadlinkat: new module
26671         * lib/at-func.c (FUNC_FAIL): New define.
26672         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
26673         * modules/areadlinkat: New module.
26674         * lib/linkat.c (areadlinkat): Move...
26675         * lib/areadlinkat.c (areadlinkat): ...to new file.
26676         * lib/areadlink.h (areadlinkat): Declare it.
26677         * modules/linkat (Depends-on): Add areadlinkat.
26678         * MODULES.html.sh (File system functions): Mention it.
26679         * modules/areadlinkat-tests: New test.
26680         * tests/test-areadlinkat.c: New file.
26681
26682         areadlink, areadlink-with-size: add tests
26683         * modules/areadlink-tests: New test.
26684         * modules/areadlink-with-size-tests: Likewise.
26685         * tests/test-areadlink.h: New file.
26686         * tests/test-areadlink.c: Likewise.
26687         * tests/test-areadlink-with-size.c: Likewise.
26688
26689         maint: minor cleanups
26690         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
26691         _UNUSED_PARAMETER_ instead.
26692         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
26693         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
26694         * modules/linkat-tests (Files): Distribute test-link.h.
26695
26696         openat, utimens: whitespace cleanup
26697         * lib/openat.c: Prefer space throughout, rather than mix of 8
26698         spaces vs. tabs.
26699         * lib/at-func.c: Likewise.
26700         * lib/utimens.c: Likewise.
26701
26702         openat: avoid using wrong fd
26703         * lib/openat.c (openat_permissive): Reject user's fd if saving the
26704         working directory chooses same fd.
26705         * lib/at-func.c (AT_FUNC_NAME): Likewise.
26706
26707         mkdir, mkdirat: fix cygwin 1.5.x bug
26708         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
26709         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
26710         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
26711         bug.
26712         (gl_PREREQ_MKDIR): Delete unused macro.
26713         * modules/mkdir (Files): Track file rename.
26714         (configure.ac): Update macro name.
26715         * modules/openat (Depends-on): Add mkdir.
26716         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
26717
26718         mkdir, mkdirat: add tests
26719         * modules/mkdir-tests: New test.
26720         * tests/test-mkdir.h: New file.
26721         * tests/test-mkdir.c: Likewise.
26722         * tests/test-mkdirat.c: Likewise.
26723         * modules/openat-tests (Files): Add new files.
26724         (Makefile.am): Run new test.
26725
26726 2009-10-06  Eric Blake  <ebb9@byu.net>
26727
26728         doc: tweak *at function documentation
26729         * doc/posix-functions/faccessat.texi (faccessat): Mention
26730         known issue with replacement.
26731         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
26732         * doc/posix-functions/linkat.texi (linkat): Likewise.
26733         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
26734         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
26735         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26736         * doc/posix-functions/renameat.texi (renameat): Likewise.
26737         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26738
26739         openat: fix GNU/Hurd bug in unlinkat
26740         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
26741         broken.
26742         * doc/posix-functions/unlink.texi (unlink): Document this.
26743         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
26744
26745         fdopendir: fix GNU/Hurd bug
26746         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
26747         allowing non-directory fds.
26748         * lib/fdopendir.c (rpl_fdopendir): Work around it.
26749         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
26750         * modules/dirent (Makefile.am): Substitute it.
26751         * lib/dirent.in.h (fdopendir): Declare replacement.
26752         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
26753         * tests/test-fdopendir.c (main): Test something other than
26754         /dev/null, since on Hurd that behaves like a directory.
26755
26756         test-symlink: port to GNU/Hurd
26757         * tests/test-symlink.h (test_symlink): Relax expected errno.
26758
26759         doc: tweak more cygwin information
26760         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
26761         now compatible with glibc.
26762         * doc/posix-functions/getopt.texi (getopt): Likewise.
26763
26764         getopt-gnu: add another test
26765         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
26766         guarantee behavior relied on by m4.
26767         * tests/test-getopt.c (main): Use it.
26768         * modules/getopt-posix-tests (Depends-on): Add setenv.
26769         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
26770
26771         getopt: fix compilation on darwin
26772         * lib/getopt.in.h (includes): Leave breadcrumbs during system
26773         include.
26774         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
26775         Reported by Ludovic Courtès.
26776
26777 2009-10-06  Bruno Haible  <bruno@clisp.org>
26778
26779         * modules/size_max (Description): Discourage its use.
26780         Reported by Simon Josefsson.
26781
26782 2009-10-06  Jim Meyering  <meyering@redhat.com>
26783
26784         linkat: avoid compilation failure
26785         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
26786
26787 2009-10-05  Eric Blake  <ebb9@byu.net>
26788
26789         linkat: support Linux 2.6.17
26790         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
26791         linkat on Linux, but allow cache variable override.
26792         * lib/linkat.c (rpl_linkat): Define override.
26793         * modules/linkat (Depends-on): Add symlinkat.
26794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
26795         * modules/unistd (Makefile.am): Substitute it.
26796         * lib/unistd.in.h (linkat): Declare replacement.
26797         Reported by Pádraig Brady.
26798
26799         quotearg: port test to systems with C.UTF-8 locale
26800         * tests/test-quotearg.c (struct result_strings): Add another
26801         member, differentiating between C.ASCII and C.UTF-8 handling.
26802         (compare_strings): Add parameter.
26803         (main): Adjust all callers.
26804
26805         getopt: avoid clash with FreeBSD _getopt_internal
26806         * lib/getopt.in.h (_getopt_internal): Override the name.
26807         * lib/getopt_int.h (includes): Pick up any overrides.
26808         Reported by Reuben Thomas.
26809
26810         hash: allow C89 compilation
26811         * lib/hash.c (check_tuning): Move declaration before statement.
26812         Reported by Reuben Thomas.
26813
26814 2009-10-05  Karl Berry  <karl@gnu.org>
26815
26816         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
26817
26818 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
26819             Bruno Haible  <bruno@clisp.org>
26820
26821         * lib/uname.c (uname): Use a table-driven algorithm to compute
26822         Windows NT versions.
26823
26824 2009-10-04  Bruno Haible  <bruno@clisp.org>
26825
26826         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
26827         program_invocation_short_name.
26828         * modules/progname (configure.ac): Test for presence of
26829         program_invocation_short_name.
26830         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
26831
26832 2009-10-04  Bruno Haible  <bruno@clisp.org>
26833
26834         * lib/progname.c (set_program_name): Fix comment.
26835         Reported by Jim Meyering.
26836
26837 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
26838             Bruno Haible  <bruno@clisp.org>
26839
26840         * lib/uname.c: Include <string.h>.
26841         (uname): Do only one call to GetVersionEx in the common case.
26842
26843 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
26844             Bruno Haible  <bruno@clisp.org>
26845
26846         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
26847         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
26848         (uname): Add support for Windows CE and various non-x86 CPU types.
26849
26850 2009-10-03  Bruno Haible  <bruno@clisp.org>
26851
26852         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
26853         invocation to tests/configure.ac.
26854         Reported by Ian Beckwith <ianb@erislabs.net>.
26855
26856 2009-10-02  Eric Blake  <ebb9@byu.net>
26857
26858         fchdir: avoid compiler warning
26859         * lib/fchdir.c (canonicalize_file_name)
26860         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
26861
26862         test-open: support mingw errno values
26863         * tests/test-open.h (test_open): Relax test.
26864         * tests/test-fopen.h (test_fopen): Likewise.
26865         * tests/test-openat-safer.c (main): Likewise.
26866
26867         open: fix opening directory on mingw
26868         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
26869
26870         test-open: on GNU/Hurd, /dev/null is a directory
26871         * tests/test-fopen.h (main): Rename...
26872         (test_fopen): ...to this.  Use a guaranteed non-directory when
26873         confirming open behavior on trailing slash.
26874         * tests/test-openat-safer.c (main): Likewise.
26875         * tests/test-open.h (main): Likewise....
26876         (test_open): ...to this.
26877         * tests/test-fopen.c (main): Adjust caller.
26878         * tests/test-fopen-safer.c (main): Likewise.
26879         * tests/test-open.c (main): Likewise.
26880         * tests/test-fcntl-safer.c (main): Likewise.
26881         Reported by Samuel Thibault.
26882
26883         rename, fchdir: don't ignore chdir failure
26884         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
26885         * lib/rename.c (rpl_rename) [W32]: Likewise.
26886         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
26887         an empty destination directory if source cannot be renamed,
26888         although there is still possibility for failure.
26889         * doc/posix-functions/rename.texi (rename): Document the race.
26890         Reported by Jim Meyering.
26891
26892         maint: cleanup whitespace in recent commits
26893         * lib/rename.c (rpl_rename): Remove tabs.
26894         * tests/test-link.h (test_link): Likewise.
26895         * lib/fchdir.c (get_name): Likewise.
26896         Reported by Jim Meyering.
26897
26898 2009-10-02  Ben Pfaff  <blp@gnu.org>
26899
26900         relocatable-prog-wrapper: Add missing dependency on
26901         double-slash-root.
26902         * modules/relocatable-prog-wrapper: Add dependency.
26903         Reported by Ian Beckwith <ianb@erislabs.net>.
26904
26905 2009-10-02  Eric Blake  <ebb9@byu.net>
26906
26907         renameat: fix Solaris bugs
26908         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
26909         needed fixing.
26910         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
26911         * modules/stdio (Makefile.am): Substitute it.
26912         * lib/stdio.in.h (renameat): Declare replacement.
26913         * lib/renameat.c (rpl_renameat): Implement fix.
26914
26915         renameat: new module
26916         * modules/renameat: New file.
26917         * lib/renameat.c (renameat): Likewise.
26918         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
26919         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
26920         * modules/stdio (Makefile.am): Substitute them.
26921         * lib/stdio.in.h (renameat): Declare it.
26922         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26923         * doc/posix-functions/renameat.texi (renameat): Likewise.
26924         * modules/renameat-tests: New test.
26925         * tests/test-renameat.c: Likewise.
26926
26927         rename: fix mingw bugs
26928         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
26929         directory overwrite bugs.
26930
26931         rename: fix another cygwin 1.5 bug
26932         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
26933         checks.
26934         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
26935         unnecessary cygwin workarounds.  Also work around bug with moving
26936         full directory onto an empty one.
26937         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
26938
26939         rename-dest-slash: merge into rename module
26940         * modules/rename-dest-slash (Status): Mark obsolete.
26941         (Depends-on): Add rename.
26942         (Files): Let rename do it all.
26943         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
26944         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
26945         * m4/rename-dest-slash.m4: ...so this file can be deleted.
26946         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
26947         * lib/rename.c (rpl_rename): Update comments.
26948
26949         rename: fix cygwin 1.5.x bugs
26950         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
26951         * lib/rename.c (rpl_rename): Work around them.
26952         * modules/rename (Depends-on): Add same-inode.
26953
26954         rename: fix Solaris 10 bug
26955         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
26956         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
26957         was the only bug.
26958
26959         rename: fix Solaris 9 bug
26960         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
26961         on non-directory.  Avoid calling exit.
26962         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
26963         strdup.
26964         * modules/rename-tests (Depends-on): Drop lstat.
26965         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
26966         (gl_PREREQ_RENAME): Delete unused macro.
26967
26968         rename-dest-slash: fix NetBSD bug
26969         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
26970         links.
26971         * modules/rename-dest-slash (Depends-on): Add same-inode.
26972
26973         rename-tests: new test, exposes several platform bugs
26974         * modules/rename-tests: New file.
26975         * tests/test-rename.h: Likewise.
26976         * tests/test-rename.c: Likewise.
26977         * doc/posix-functions/rename.texi (rename): Improve documentation,
26978         including bugs that will eventually be fixed in gnulib.
26979
26980 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
26981
26982         * lib/uname.c: Include <stdlib.h>
26983         (uname): Assume version info is available.
26984
26985 2009-10-02  Jim Meyering  <meyering@redhat.com>
26986
26987         gnu-web-doc-update: correct --help output
26988         * build-aux/gnu-web-doc-update: Make --help output relevant.
26989
26990         gnu-web-doc-update: add standard options
26991         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
26992
26993         gnu-web-doc-update: New module.
26994         Use this script to automatically update the on-line web documentation
26995         for your GNU project at http://www.gnu.org/software/$pkg/manual/
26996         * modules/gnu-web-doc-update: New file, from coreutils.
26997         * build-aux/gnu-web-doc-update: New script.
26998
26999 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
27000
27001         link: LoadLibrary is not needed.
27002         * lib/link.c: Use GetModuleHandle.
27003
27004 2009-10-01  Eric Blake  <ebb9@byu.net>
27005
27006         getopt: bump serial number
27007         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
27008         change.
27009
27010         tests: tighten link, rmdir, and remove tests
27011         * tests/test-link.h (includes): No need to use <config.h> here.
27012         Clean up if directory hard link was created, otherwise test for
27013         trailing '.'.
27014         * tests/test-linkat.c (main): Simplify.
27015         * tests/test-remove.c (main): Enhance test for trailing '.'.
27016         * tests/test-rmdir.h (test_rmdir_func): Likewise.
27017
27018 2009-10-01  Jim Meyering  <meyering@redhat.com>
27019
27020         maint.mk: requiring "make major" was annoying, for a "minor" release.
27021         What is intended is "stable", to contrast with alpha and beta,
27022         so require "make stable", not "make major".
27023         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
27024         (get_tool_versions): Likewise.
27025         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
27026
27027 2009-09-30  Ben Pfaff  <blp@gnu.org>
27028
27029         Fix broken build of replacement for Windows tmpfile().
27030         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
27031         flags argument added along with the 'mkostemp' module.
27032
27033 2009-09-28  Bruno Haible  <bruno@clisp.org>
27034
27035         Avoid identifier clash with POSIX function 'remove' defined as a macro.
27036         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
27037         to 'remove_elt'.
27038         (gl_list_remove): Update.
27039         * lib/gl_list.c (gl_list_remove): Update.
27040         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
27041         to 'remove_elt'.
27042         (gl_oset_remove): Update.
27043         * lib/gl_list.c (gl_oset_remove): Update.
27044         Reported by Eric Blake.
27045
27046 2009-09-28  Eric Blake  <ebb9@byu.net>
27047
27048         doc: mention yet more cygwin 1.7 status
27049         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
27050         cygwin.
27051         * doc/glibc-functions/execvpe.texi (execvpe): New file.
27052         * doc/gnulib.texi (Glibc unistd.h): Mention it.
27053
27054         argp: fix test failure
27055         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
27056         that are not upper-case.  Pass correct range to tolower.
27057
27058 2009-09-27  Jim Meyering  <meyering@redhat.com>
27059
27060         test-yesno: work around sparc-dash here-document infelicity
27061         Without this change, the literal \177 byte in a here document
27062         would make dash 0.5.5.1-3 access uninitialized memory.
27063         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
27064         Instead, use a marker, "@", and filter through tr to create the desired
27065         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
27066
27067 2009-09-27  Bruno Haible  <bruno@clisp.org>
27068
27069         Disable untested support for new flavours of ACLs on AIX.
27070         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
27071         progress.
27072         * lib/set-mode-acl.c (qset_acl): Likewise.
27073
27074 2008-12-07  Bruno Haible  <bruno@clisp.org>
27075
27076         Add support for new flavours of ACLs on AIX. (Untested.)
27077         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
27078         (file_has_acl): Add support for newer AIX.
27079         * lib/set-mode-acl.c (qset_acl): Likewise.
27080         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
27081         Rainer Tammer <tammer@tammer.net>.
27082
27083 2009-09-26  Eric Blake  <ebb9@byu.net>
27084
27085         argp: fix compilation of getopt
27086         * lib/getopt.in.h (includes): Use different guard than glibc.
27087         Reported by Sergey Poznyakoff.
27088
27089         doc: mention more cygwin 1.7 status
27090         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
27091         bug.
27092         * doc/posix-functions/execl.texi (execl): Likewise.
27093         * doc/posix-functions/execle.texi (execle): Likewise.
27094         * doc/posix-functions/execlp.texi (execlp): Likewise.
27095         * doc/posix-functions/execv.texi (execv): Likewise.
27096         * doc/posix-functions/execve.texi (execve): Likewise.
27097         * doc/posix-functions/execvp.texi (execvp): Likewise.
27098         * doc/glibc-functions/canonicalize_file_name.texi
27099         (canonicalize_file_name): Cygwin 1.7 now provides this.
27100         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
27101         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
27102         on AT_SYMLINK_NOFOLLOW.
27103
27104 2009-09-24  Eric Blake  <ebb9@byu.net>
27105
27106         test-linkat: make test more robust
27107         * tests/test-linkat.c (main): Avoid collision with EEXIST.
27108
27109         getopt: fix inclusion guards for cygwin
27110         * modules/getopt-posix (Depends-on): Add include-next.
27111         (Makefile.am): Substitute more items in replacement header.
27112         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
27113         <getopt.h>.
27114         * lib/getopt.in.h (includes): Use split inclusion guard, and
27115         prefer <getopt.h> over include <unistd.h> when one is present.
27116         (option): Also override name of 'struct option'.
27117
27118         same-inode: revert prior change; it is not yet ready
27119         * NEWS: Undo mention of this change.
27120         * lib/same-inode.h (same-inode.h): Undo tri-state change.
27121         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
27122         * lib/cycle-check.c (cycle_check): Likewise.
27123         * lib/same.c (same_name): Likewise.
27124         * lib/at-func2.c (at_func2): Likewise.
27125
27126 2009-09-23  Eric Blake  <ebb9@byu.net>
27127
27128         linkat: new module
27129         * modules/linkat: New file.
27130         * lib/at-func2.c (at_func2): Likewise.
27131         * lib/linkat.c (linkat): Likewise.
27132         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27133         * lib/openat-priv.h (at_func2): Add declaration.
27134         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
27135         * modules/unistd (Makefile.am): Substitute them.
27136         * lib/unistd.in.h (linkat): Declare it.
27137         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27138         * doc/posix-functions/linkat.texi (linkat): Likewise.
27139         * doc/posix-functions/link.texi (link): Tweak wording.
27140         * tests/test-link.c (main): Move guts...
27141         * tests/test-link.h (test_link): ...into new file.
27142         * modules/linkat-tests: New test.
27143         * tests/test-linkat.c: Likewise.
27144         * modules/link-tests (Files): Ship new file.
27145         (Depends-on): Add stdbool.
27146
27147         dirname: add library-safe mdir_name
27148         * lib/dirname.h (mdir_name): New prototype.
27149         * lib/dirname.c (dir_name): Move guts...
27150         (mdir_name): ...to new function that avoids xalloc_die.
27151
27152         fchdir: another mingw fix
27153         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
27154         * lib/fchdir.c (get_name): New helper method; skips canonicalize
27155         on mingw (where it has not yet been ported), and make it optional
27156         elsewhere.
27157         (_gl_register_fd): Use it.
27158
27159         same-inode: make SAME_INODE tri-state, to port to mingw
27160         * NEWS: Mention this change.
27161         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
27162         st_ino always being 0.
27163         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
27164         * lib/cycle-check.c (cycle_check): Likewise.
27165         * lib/same.c (same_name): Likewise.
27166
27167         lstat: avoid mingw compilation error
27168         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
27169         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
27170         lstat ourselves.
27171         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
27172         was adequate.
27173         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
27174         the checks for lstat.
27175         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
27176
27177         link: fix test failure on Solaris 9
27178         * lib/link.c (rpl_link): Don't assume link will catch bogus
27179         trailing slash on source.
27180
27181         test-symlinkat: enhance test
27182         * tests/test-readlink.c (main): Move guts...
27183         * tests/test-readlink.h (test_readlink): ...into new file.
27184         * tests/test-symlink.c (main): Move guts...
27185         * tests/test-symlink.h (test_symlink): ...into new file.
27186         * tests/test-symlinkat.c (main): Use new files for further
27187         coverage.
27188         (do_symlink, do_readlink): New helper functions.
27189         * modules/symlink-tests (Files): Ship new file.
27190         (Depends-on): Add stdbool.
27191         * modules/readlink-tests (Files): Ship new file.
27192         (Depends-on): Add stdbool.
27193         * modules/symlinkat-tests (Files): Use new files.
27194
27195 2009-09-23  Eric Blake  <ebb9@byu.net>
27196
27197         readlink: document portability issue with symlink length
27198         * doc/posix-functions/lstat.texi (lstat): Mention that some file
27199         systems have bogus st_size on symlinks, and mention the
27200         areadlink-with-size module.
27201         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
27202         * doc/posix-functions/readlink.texi (readlink): Mention the
27203         areadlink module, and ERANGE failure.
27204         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27205         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
27206
27207         readlink: fix Solaris 9 bug with trailing slash
27208         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
27209         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
27210         * doc/posix-functions/readlink.texi (readlink): Document this.
27211         * modules/readlink-tests: New test.
27212         * tests/test-readlink.c: Likewise.
27213
27214         readlink: fix cygwin 1.5.x bug with return type
27215         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
27216         * lib/unistd.in.h (readlink): Use ssize_t.
27217         * lib/readlink.c (readlink): Likewise.
27218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27219         * modules/unistd (Makefile.am): Substitute it.
27220         * lib/unistd.in.h (readlink): Declare replacement.
27221         * doc/posix-functions/readlink.texi (readlink): Document this.
27222
27223         symlink: use throughout gnulib
27224         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
27225         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
27226         symlink is not used.
27227         * modules/symlinkat (Depends-on): Add symlink.
27228         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27229         * modules/canonicalize-tests (Depends-on): Likewise.
27230         * modules/lstat-tests (Depends-on): Likewise.
27231         * modules/openat-tests (Depends-on): Likewise.
27232         * modules/remove-tests (Depends-on): Likewise.
27233         * modules/rmdir-tests (Depends-on): Likewise.
27234         * modules/unlink-tests (Depends-on): Likewise.
27235         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
27236         * tests/test-canonicalize.c (symlink): Likewise.
27237         * tests/test-fstatat.c (symlink): Likewise.
27238         * tests/test-lstat.c (symlink): Likewise.
27239         * tests/test-remove.c (symlink): Likewise.
27240         * tests/test-rmdir.c (symlink): Likewise.
27241         * tests/test-unlink.c (symlink): Likewise.
27242         * tests/test-unlinkat.c (symlink): Likewise.
27243
27244         symlink: new module, for Solaris 9 bug
27245         * modules/symlink: New file.
27246         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27247         * lib/symlink.c: Likewise.
27248         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
27249         * modules/unistd (Makefile.am): Substitute them.
27250         * lib/unistd.in.h (symlink): Declare replacement.
27251         * MODULES.html.sh (File system functions): Mention it.
27252         * doc/posix-functions/symlink.texi (symlink): Likewise.
27253         * modules/symlink-tests: New test.
27254         * tests/test-symlink.c: Likewise.
27255
27256 2009-09-23  Bruno Haible  <bruno@clisp.org>
27257
27258         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
27259         when needed.
27260         Test case: gnulib-tool --import --with-tests atexit inttypes.
27261         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
27262
27263 2009-09-23  Bruno Haible  <bruno@clisp.org>
27264
27265         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
27266         subcommand, not in a subshell.
27267
27268 2009-09-22  Eric Blake  <ebb9@byu.net>
27269
27270         unistd: sort replacement declarations
27271         * lib/unistd.in.h: Sort declarations.
27272
27273         open, openat: minor optimization
27274         * lib/open.c (open): If open succeeded, len is non-zero.
27275         * lib/openat.c (rpl_openat): Likewise.
27276
27277         link-follow: ensure correct result
27278         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
27279         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
27280         distinguish between possible failures.
27281
27282 2009-09-21  Eric Blake  <ebb9@byu.net>
27283
27284         fts: avoid compiler warning
27285         * lib/fts.c (dirent_inode_sort_may_be_useful)
27286         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
27287
27288 2009-09-19  Bruno Haible  <bruno@clisp.org>
27289
27290         * lib/progreloc.c (canonicalize_file_name): New declaration.
27291
27292 2009-09-19  Eric Blake  <ebb9@byu.net>
27293
27294         link: fix quoting
27295         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
27296
27297         openat: fix openat bugs on Solaris 9
27298         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
27299         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
27300         * modules/openat (Depends-on): Add open.
27301         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
27302         * modules/fcntl-h (Makefile.am): Substitute it.
27303         * lib/fcntl.in.h (openat): Declare replacement.
27304         * doc/posix-functions/openat.texi (openat): Document this.
27305
27306         openat: move fstatat and unlinkat into correct files
27307         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
27308         compiled.
27309         * lib/openat.c (fstatat, unlinkat): Move...
27310         * lib/fstatat.c (fstatat): ...into correct files.
27311         * lib/unlinkat.c (unlinkat): Likewise.
27312
27313         openat: fix unlinkat bugs on Solaris 9
27314         * lib/unlinkat.c (unlinkat): New file.
27315         * modules/openat (Depends-on): Add unlink.
27316         (Files): Distribute it.
27317         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
27318         trailing slash behavior is broken.
27319         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27320         * modules/unistd (Makefile.am): Substitute it.
27321         * lib/unistd.in.h (unlinkat): Declare replacement.
27322         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
27323
27324         openat: fix fstatat bugs on Solaris 9
27325         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
27326         stat.
27327         * doc/posix-functions/fstatat.texi (fstatat): Document this.
27328
27329         test-unlinkat: enhance test, to expose Solaris 9 bug
27330         * tests/test-unlink.c (main): Factor guts...
27331         * tests/test-unlink.h (test_rmdir_func): ...into new file.
27332         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
27333         * tests/test-rmdir.c (main): Adjust caller.
27334         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
27335         (unlinker): New helper function.
27336         (rmdirat): Enhance check.
27337         * modules/rmdir-tests (Depends-on): Add stdbool.
27338         * modules/unlink-tests (Depends-on): Likewise.
27339         (Files): Add test-unlink.h.
27340         * modules/openat-tests (Files): Likewise.
27341         (Depends-on): Add unlinkdir.
27342
27343         test-fstatat: new test, to expose Solaris 9 bugs
27344         * tests/test-stat.c (main): Factor guts...
27345         * tests/test-stat.h (test_stat_func): ...into new file.
27346         * tests/test-lstat.c (main): Factor guts...
27347         * tests/test-lstat.h (test_lstat_func): ...into new file.
27348         * tests/test-fstatat.c: New file.
27349         * modules/stat-tests (Files): Add test-stat.h.
27350         * modules/lstat-tests (Files): Add test-lstat.h.
27351         (Depends-on): Add stdbool.
27352         * modules/openat-tests (Depends-on): Add pathmax.
27353         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
27354         (Makefile.am): Run new test.
27355
27356         remove: new module, for mingw and Solaris 9 bugs
27357         * modules/remove: New file.
27358         * lib/remove.c: Likewise.
27359         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
27360         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
27361         * modules/stdio (Makefile.am): Use them.
27362         * lib/stdio.in.h (remove): Declare replacement.
27363         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27364         * doc/posix-functions/remove.texi (remove): Likewise.
27365         * modules/remove-tests: New test.
27366         * tests/test-remove.c: Likewise.
27367
27368         unlink: new module, for Solaris 9 bug
27369         * modules/unlink: New file.
27370         * lib/unlink.c: Likewise.
27371         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
27373         * modules/unistd (Makefile.am): Use them.
27374         * lib/unistd.in.h (stat): Declare replacement.
27375         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27376         * doc/posix-functions/unlink.texi (unlink): Likewise.
27377         * modules/unlink-tests: New test.
27378         * tests/test-unlink.c: Likewise.
27379
27380         lstat: fix Solaris 9 bug
27381         * lib/lstat.c (lstat): Also check for trailing slash on
27382         non-symlink, non-directories.  Use stat module to simplify logic.
27383         * doc/posix-functions/lstat.texi (lstat): Document it.
27384         * modules/lstat-tests (Depends-on): Add errno, same-inode.
27385         (configure.ac): Check for symlink.
27386         * tests/test-lstat.c (main): Add more tests.
27387
27388         stat: add as dependency to other modules
27389         * modules/chown (Depends-on): Add stat.
27390         * modules/euidaccess (Depends-on): Likewise.
27391         * modules/fchdir (Depends-on): Likewise.
27392         * modules/isdir (Depends-on): Likewise.
27393         * modules/link (Depends-on): Likewise.
27394         * modules/lstat (Depends-on): Likewise.
27395         * modules/mkdir-p (Depends-on): Likewise.
27396         * modules/modechange (Depends-on): Likewise.
27397         * modules/open (Depends-on): Likewise.
27398         * modules/readlink (Depends-on): Likewise.
27399         * modules/same (Depends-on): Likewise.
27400
27401         stat: fix Solaris 9 bug
27402         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
27403         slash.
27404         * lib/stat.c (rpl_stat): Work around it.
27405         * doc/posix-functions/stat.texi (stat): Update documentation.
27406
27407         stat: new module, for mingw bug
27408         * modules/stat: New file.
27409         * lib/stat.c: Likewise.
27410         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27411         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27412         * modules/sys_stat (Makefile.am): Use them.
27413         * lib/sys_stat.in.h (stat): Declare replacement.
27414         * lib/openat.c (fstatat): Deal with lstat and stat being function
27415         macros.
27416         * modules/openat (Depends-on): Add inline.
27417         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27418         * doc/posix-functions/stat.texi (stat): Likewise.
27419         * modules/stat-tests: New test.
27420         * tests/test-stat.c: Likewise.
27421
27422 2009-09-19  Jim Meyering  <meyering@redhat.com>
27423
27424         syntax-check: detect unnecessary inclusion of canonicalize.h
27425         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
27426
27427 2009-09-19  Eric Blake  <ebb9@byu.net>
27428
27429         canonicalize-lgpl: adjust clients to use correct header
27430         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
27431         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
27432         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
27433         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
27434         * lib/progreloc.c (includes): Likewise.
27435
27436 2009-09-19  Jim Meyering  <meyering@redhat.com>
27437
27438         test-posixtm.c: correct a comment
27439         * tests/test-posixtm.c: Correct first-line comment.
27440         Spotted by Eric Blake.
27441
27442 2009-09-16  Jim Meyering  <meyering@redhat.com>
27443
27444         posixtm-tests: make T const-correct; add a test case
27445         * tests/test-posixtm.c (T): Declare const.
27446         Add a test for -(2^31+1).
27447         Remove useless can-succeed-only-in-2002 test.
27448
27449         posixtm-tests: adjust the sole failing test
27450         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
27451         expected output matches what mktime now produces.  Cross-checked via
27452         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
27453
27454         posixtm: move #ifdef'd tests into a new module
27455         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
27456         * tests/test-posixtm.c: ... this new file.
27457         * modules/posixtm-tests: New module.
27458
27459 2009-09-19  Eric Blake  <ebb9@byu.net>
27460
27461         openat: simplify use of at-func.c
27462         * lib/at-func.c (includes): Include prerequisites here, to
27463         simplify requirements on client files.
27464         * lib/openat-priv.h: Add double-inclusion guard.
27465         * lib/faccessat.c (includes): Simplify.
27466         * lib/fchmodat.c (includes): Likewise.
27467         * lib/fchownat.c (includes): Likewise.
27468         * lib/mkdirat.c (includes): Likewise.
27469         * lib/mkfifoat.c (includes): Likewise.
27470         * lib/symlinkat.c (includes): Likewise.
27471
27472         openat: allow return of fd 0
27473         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
27474         * modules/save-cwd (Depends-on): Replace fcntl-safer with
27475         unistd-safer.
27476         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
27477         <fcntl.h>; this module does not leak fds.
27478         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
27479         must be allowed to return 0, leaving openat_safer to add the
27480         safety.
27481         (openat_permissive): Avoid writing to just-opened fd 2 if
27482         restoring the current directory fails.
27483         * lib/openat-die.c (openat_restore_fail): Add comment.
27484         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
27485         (save_cwd): Guarantee safe fd, but without use of open_safer.
27486         * tests/test-openat.c: New test.
27487         * modules/openat-tests (Files, Makefile.am): Distribute and build
27488         new file.
27489
27490         relocatable-prog-wrapper: fix build
27491         * modules/relocatable-prog-wrapper (Files): Update name of
27492         canonicalize m4 file, broken on 2009-09-17.
27493         Reported by emad hajjar <aleppos@hotmail.com>.
27494
27495 2009-09-19  Bruno Haible  <bruno@clisp.org>
27496
27497         * lib/safe-alloc.h: Use the standard header with GPL copyright.
27498         * lib/safe-alloc.c: Likewise.
27499         Reported by Ian Beckwith <ianb@erislabs.net>.
27500
27501 2009-09-18  Bruno Haible  <bruno@clisp.org>
27502
27503         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
27504         Reported by <erobles@sensacd.com.mx>.
27505
27506 2009-09-17  Eric Blake  <ebb9@byu.net>
27507
27508         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
27509         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
27510         slashes when checking if last component is missing.
27511         * tests/test-canonicalize.c (main): Test this.
27512
27513         canonicalize, canonicalize-lgpl: honor // if distinct from /
27514         * modules/canonicalize (Files): Add double-slash-root.m4.
27515         * modules/canonicalize-lgpl (Files): Likewise.
27516         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
27517         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
27518         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
27519         fallback definition.
27520         (canonicalize_filename_mode): Use it to protect //.
27521         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
27522         (__realpath): Likewise.
27523         * tests/test-canonicalize.c (main): Test this.
27524         * tests/test-canonicalize-lgpl.c (main): Likewise.
27525         * modules/canonicalize-tests (Depends-on): Add same-inode.
27526         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27527
27528         canonicalize-lgpl: fix glibc bug with trailing slash
27529         * m4/canonicalize-lgpl.m4: Move contents...
27530         * m4/canonicalize.m4: ...here.
27531         (gl_CANONICALIZE_LGPL): Factor realpath check...
27532         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
27533         glibc 2.3.5 bug, fixed 2005-04-27.
27534         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
27535         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
27536         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
27537         * modules/canonicalize-lgpl (Files): Manage file rename.
27538         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
27539         * modules/stdlib (Makefile.am): Substitute witness.
27540         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
27541         is needed.
27542         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
27543         replacement is required.
27544         * lib/canonicalize.c (canonicalize_file_name): Likewise.
27545         * doc/glibc-functions/canonicalize_file_name.texi
27546         (canonicalize_file_name): Document this.
27547         * doc/posix-functions/realpath.texi (realpath): Likewise.
27548
27549         canonicalize-lgpl: reject non-directory with trailing slash
27550         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
27551         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
27552         catches failures in glibc 2.3.5.
27553         * tests/test-canonicalize.c (main): Likewise.
27554
27555         canonicalize-lgpl: use native realpath if it works
27556         * lib/canonicalize-lgpl.c (realpath): Guard with
27557         FUNC_REALPATH_WORKS.
27558         * lib/stdlib.in.h (realpath): Make declaration optional based on
27559         HAVE_REALPATH.
27560         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
27561         native realpath works.
27562         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
27563         * modules/stdlib (Makefile.am): Substitute witness.
27564
27565         canonicalize, canonicalize-lgpl: use <stdlib.h>
27566         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
27567         (Include): Mention <stdlib.h>.
27568         (configure.ac): Mention functions we provide.
27569         * modules/canonicalize (configure.ac): Likewise.
27570         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
27571         realpath if canonicalize_file_name is missing.
27572         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
27573         * modules/stdlib (Makefile.am): Substitute witnesses.
27574         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
27575         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
27576         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
27577         * NEWS: Document this.
27578         * doc/glibc-functions/canonicalize_file_name.texi
27579         (canonicalize_file_name): Likewise.
27580         * doc/posix-functions/realpath.texi (realpath): Likewise.
27581         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
27582
27583         test-canonicalize: consolidate into single C program
27584         * tests/test-canonicalize.sh: Delete; move setup into...
27585         * tests/test-canonicalize.c (main): ...the program, making it
27586         easier to run in debugger.  Add some tests.
27587         * modules/canonicalize-tests (Files): Remove unused file.
27588         (Depends-on): Add progname.
27589         (configure.ac, Makefile.am): Simplify.
27590
27591         test-canonicalize-lgpl: consolidate into single C program
27592         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
27593         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
27594         easier to run in debugger.  Add some tests.
27595         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
27596         (configure.ac, Makefile.am): Simplify.
27597
27598         canonicalize: avoid resolvepath
27599         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
27600         unnecessary checks.
27601         * lib/canonicalize.c (includes): Simplify.
27602         (canonicalize_file_name): Drop resolvepath implementation.
27603         * modules/canonicalize (Depends-on): Drop filenamecat.
27604
27605         canonicalize: don't lose errno
27606         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
27607         over calls to free.
27608
27609         canonicalize: simplify errno handling
27610         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
27611         assignment.
27612
27613         canonicalize, canonicalize-lgpl: update module dependencies
27614         * modules/canonicalize (Depends-on): Add extensions, lstat,
27615         pathmax, stdlib.
27616         (Files): Drop pathmax.h.
27617         (configure.ac): Adjust macro name.
27618         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
27619         lstat, stdlib, sys_stat.
27620         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
27621         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
27622         extensions.
27623         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
27624         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
27625         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
27626         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
27627         declaration, if available.
27628         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
27629         we can rely on the readlink module.
27630         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
27631         (includes): Use <unistd.h> unconditionally.
27632
27633 2009-09-17  Eric Blake  <ebb9@byu.net>
27634
27635         maint: make Include sections of modules consistent
27636         * modules/alloca: Use only header name; no need to list #include.
27637         * modules/alloca-opt: Likewise.
27638         * modules/arpa_inet: Likewise.
27639         * modules/canon-host: Likewise.
27640         * modules/configmake: Likewise.
27641         * modules/dirent: Likewise.
27642         * modules/eealloc: Likewise.
27643         * modules/environ: Likewise.
27644         * modules/fchdir: Likewise.
27645         * modules/fcntl: Likewise.
27646         * modules/fcntl-h: Likewise.
27647         * modules/gethrxtime: Likewise.
27648         * modules/gettime: Likewise.
27649         * modules/ignore-value: Likewise.
27650         * modules/inet_ntop: Likewise.
27651         * modules/inet_pton: Likewise.
27652         * modules/inttypes: Likewise.
27653         * modules/isnand-nolibm: Likewise.
27654         * modules/isnanf-nolibm: Likewise.
27655         * modules/mbchar: Likewise.
27656         * modules/mbfile: Likewise.
27657         * modules/mbiter: Likewise.
27658         * modules/mbuiter: Likewise.
27659         * modules/netdb: Likewise.
27660         * modules/netinet_in: Likewise.
27661         * modules/nproc: Likewise.
27662         * modules/pagealign_alloc: Likewise.
27663         * modules/poll: Likewise.
27664         * modules/printf-frexp: Likewise.
27665         * modules/pthread: Likewise.
27666         * modules/putenv: Likewise.
27667         * modules/random_r: Likewise.
27668         * modules/relocatable-prog: Likewise.
27669         * modules/search: Likewise.
27670         * modules/select: Likewise.
27671         * modules/selinux-h: Likewise.
27672         * modules/settime: Likewise.
27673         * modules/signal: Likewise.
27674         * modules/size_max: Likewise.
27675         * modules/socklen: Likewise.
27676         * modules/ssize_t: Likewise.
27677         * modules/stdarg: Likewise.
27678         * modules/stdbool: Likewise.
27679         * modules/stddef: Likewise.
27680         * modules/stdint: Likewise.
27681         * modules/stdio: Likewise.
27682         * modules/stdlib: Likewise.
27683         * modules/string: Likewise.
27684         * modules/strings: Likewise.
27685         * modules/sys_file: Likewise.
27686         * modules/sys_ioctl: Likewise.
27687         * modules/sys_select: Likewise.
27688         * modules/sys_socket: Likewise.
27689         * modules/sys_stat: Likewise.
27690         * modules/sys_time: Likewise.
27691         * modules/sys_times: Likewise.
27692         * modules/sys_utsname: Likewise.
27693         * modules/sys_wait: Likewise.
27694         * modules/sysexits: Likewise.
27695         * modules/time: Likewise.
27696         * modules/times: Likewise.
27697         * modules/tmpfile: Likewise.
27698         * modules/trim: Likewise.
27699         * modules/unistd: Likewise.
27700         * modules/wchar: Likewise.
27701         * modules/wctype: Likewise.
27702
27703 2009-09-17  Bruno Haible  <bruno@clisp.org>
27704
27705         Make getdate.y compile on QNX and NetBSD 5 / i386.
27706         * m4/getdate.m4 (gl_GETDATE): Conditionally define
27707         TIME_T_FITS_IN_LONG_INT.
27708         * lib/getdate.y (long_time_t): New type.
27709         (relative_time): Change type of 'seconds' field to long_time_t.
27710         (get_date): Update types of local variables. Check against overflow
27711         during conversion from long_time_t to time_t.
27712         Reported by Matt Kraai <kraai@ftbfs.org>
27713         and Hasso Tepper <hasso@netbsd.org>.
27714
27715 2009-09-17  Bruno Haible  <bruno@clisp.org>
27716
27717         * modules/COPYING: Update copyright years.
27718         * modules/README: Likeiwse.
27719         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
27720         Reported by Ian Beckwith <ianb@erislabs.net>.
27721
27722 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
27723
27724         * users.txt: Update references for gnuit package.
27725
27726 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
27727
27728         * m4/getdelim.m4: Fix typo in copyright line.
27729
27730 2009-09-17  Bruno Haible  <bruno@clisp.org>
27731
27732         * lib/atoll.c: Use the standard header with GPL copyright.
27733         * lib/argz.in.h: Likewise.
27734         * lib/glob.c: Likewise.
27735         * lib/glob-libc.h: Likewise.
27736         * lib/random_r.c: Likewise.
27737         * lib/siglist.h: Likewise.
27738         * lib/strsignal.c: Likewise.
27739         Reported by Ian Beckwith <ianb@erislabs.net>.
27740
27741 2009-09-17  Eric Blake  <ebb9@byu.net>
27742
27743         rmdir: ensure correct dependency order
27744         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
27745
27746 2009-09-17  Bruno Haible  <bruno@clisp.org>
27747
27748         Disable assertion that fails on NetBSD 5 / i386.
27749         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
27750         Reported by Sam Steingold <sds@gnu.org>
27751         and Hasso Tepper <hasso@netbsd.org>.
27752
27753 2009-09-16  Eric Blake  <ebb9@byu.net>
27754
27755         unlinkdir: port to mingw
27756         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
27757         on which no one can unlink a directory.
27758
27759         stdlib: sort witness names
27760         * modules/stdlib (Makefile.am): Sort replacements.
27761         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27762         * lib/stdlib.in.h: Likewise.
27763
27764         parse-duration-tests: avoid link failure
27765         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
27766         LIBINTL.
27767         Reported by Tom G. Christensen.
27768
27769         openat-tests: ensure unlinkat behaves like rmdir
27770         * tests/test-rmdir.c (main): Factor guts...
27771         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
27772         * modules/rmdir-tests (Files): Ship new file.
27773         * modules/openat-tests: New test.
27774         * tests/test-unlinkat.c: Likewise.
27775
27776         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
27777         * modules/rmdir-errno (Status, Notice): Now obsolete.
27778
27779         rmdir: work around cygwin 1.5.x and mingw bugs
27780         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
27781         * lib/rmdir.c (rmdir): Work around it.
27782         * modules/rmdir (Status, Notice): No longer obsolete.
27783         (Files): Add dos.m4.
27784         (Depends-on): Add unistd.
27785         (configure.ac): Set witnesses.
27786         (License): Relax to LGPLv2+.
27787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
27788         * modules/unistd (Makefile.am): Substitute witnesses.
27789         * lib/unistd.in.h (rmdir): Declare replacement.
27790         * doc/posix-functions/rmdir.texi (rmdir): Document this.
27791         * modules/rmdir-tests: New tests.
27792         * tests/test-rmdir.c: Likewise.
27793
27794 2009-09-15  Eric Blake  <ebb9@byu.net>
27795
27796         fchdir: improve use of replacement functions
27797         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
27798         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
27799         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
27800         REPLACE_CLOSEDIR.
27801         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
27802         * modules/sys_stat (Makefile.am): Substitute correct witness.
27803         * modules/dirent (Makefile.am): Likewise.
27804         * modules/unistd (Makefile.am): Likewise.
27805         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
27806         * lib/unistd.in.h (dup): Likewise.
27807         * lib/sys_stat.in.h (fstat): Likewise.
27808
27809         maint: ignore gnulib-tool temp files
27810         * .gitignore: Ignore files created during gnulib-tool --test.
27811
27812 2009-09-13  Jim Meyering  <meyering@redhat.com>
27813
27814         posixtm: don't reject a time that specify "60" as the number of seconds
27815         * lib/posixtm.c (posixtime): The code to reject invalid dates
27816         would also reject a time specified with the .60 suffix.
27817         But POSIX allows that, in order to accommodate leap seconds.
27818         So don't reject it.
27819         (main): Adjust tests accordingly.
27820         * modules/posixtm (Depends-on): Add stpcpy.
27821
27822 2009-09-11  Jim Meyering  <meyering@redhat.com>
27823
27824         announce-gen: include [$release_type] in emitted Subject:
27825         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
27826         e.g., [stable] in the emitted Subject: line.
27827
27828 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27829
27830         Remove obsolete macros from several modules.
27831         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
27832         obsolete Autoconf macros with their modern counterparts.
27833         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
27834         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
27835         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
27836         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
27837         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
27838         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27839         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27840         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27841         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27842         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
27843         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
27844         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
27845         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
27846         * m4/sockets.m4 (gl_SOCKETS): Likewise.
27847         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
27848         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
27849         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
27850         * m4/time_r.m4 (gl_TIME_R): Likewise.
27851         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27852         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
27853         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
27854
27855         Fix copyright header in build-aux scripts.
27856         * build-aux/git-version-gen: Fix copyright header to match GPLv3
27857         recommendation.
27858         * build-aux/ncftpput-ftp: Likewise.
27859         * build-aux/update-copyright: Likewise.
27860
27861 2009-09-09  Eric Blake  <ebb9@byu.net>
27862
27863         test-link: allow Linux choice of errno
27864         * tests/test-link.c (main): Relax test for alternate error.
27865
27866         strndup: fix improper m4 caching
27867         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
27868         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
27869         (gl_PREREQ_STRNDUP): Delete.
27870         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
27871         * modules/string (Makefile.am): Substitute it.
27872         * lib/string.in.h (strndup): Modernize prototype.
27873
27874         getcwd: port to mingw
27875         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
27876         different from the POSIX assumptions made throughout the getcwd
27877         module; fortunately, the mingw getcwd does not need replacement.
27878         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
27879         * modules/getcwd-tests: New test.
27880         * tests/test-getcwd.c: Likewise.
27881
27882         link: fix platform bugs
27883         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
27884         * lib/link.c (link): Work around them.  Fix related mingw bug.
27885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
27886         * modules/unistd (Makefile.am): Substitute it.
27887         * lib/unistd.in.h (link): Declare replacement.
27888         * doc/posix-functions/link.texi (link): Document this.
27889         * modules/link (Depends-on): Add strdup-posix, sys_stat.
27890
27891         test-link: consolidate into single C program, test more cases
27892         * tests/test-link.sh: Delete.
27893         * tests/test-link.c: Test more error conditions.  Exposes bugs on
27894         at least Cygwin and Solaris.
27895         * modules/link-tests (Files): Remove unused file.
27896         (Depends-on): Add errno, sys_stat.
27897         (Makefile.am): Simplify.
27898
27899 2009-09-08  Bruno Haible  <bruno@clisp.org>
27900
27901         Work around towlower, towupper bug on mingw.
27902         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
27903         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
27904         * doc/posix-functions/towlower.texi: Mention the mingw bug.
27905         * doc/posix-functions/towupper.texi: Likewise.
27906         Reported by Eric Blake.
27907
27908 2009-09-08  Jim Meyering  <meyering@redhat.com>
27909
27910         build: don't try to run autoheader if we don't use it
27911         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
27912         is not used in configure.ac.
27913
27914 2009-09-08  Eric Blake  <ebb9@byu.net>
27915
27916         euidaccess: fix compilation error
27917         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
27918
27919         rawmemchr: relax license
27920         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
27921         okay.
27922         Reported by Jim Meyering.
27923
27924         mkfifoat: new module
27925         * modules/mkfifoat: New file.
27926         * lib/mkfifoat.c: Likewise.
27927         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
27928         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27929         * modules/sys_stat (Makefile.am): Use them.
27930         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
27931         * MODULES.html.sh (File system functions): Mention module.
27932         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
27933         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
27934         * modules/mkfifoat-tests: New test.
27935         * tests/test-mkfifoat.c: Likewise.
27936
27937         strchrnul: relax license
27938         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
27939         okay.
27940         Reported by Jim Meyering.
27941
27942 2009-09-08  Eric Blake  <ebb9@byu.net>
27943
27944         fstatat: fix compilation on Solaris
27945         * lib/fstatat.c (includes): Add fcntl.h.
27946         Reported by Pádraig Brady.
27947
27948 2009-09-07  Eric Blake  <ebb9@byu.net>
27949
27950         rename: modernize replacement
27951         * modules/rename (Depends-on): Add stdio.
27952         (configure.ac): Declare witness.
27953         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
27954         stdio take care of replacement.
27955         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
27956         * modules/stdio (Makefile.am): Substitute them.
27957         * lib/stdio.in.h (rename): Declare replacement.
27958         * lib/rename.c (includes): Allow cross-compilation to non-windows
27959         machines.
27960         * doc/posix-functions/rename.texi (rename): Improve
27961         documentation.
27962
27963         stdio: sort witness names
27964         * modules/stdio (Makefile.am): Sort replacements.
27965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27966         * lib/stdio.in.h: Likewise.
27967
27968         getcwd: minor cleanups
27969         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
27970         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
27971
27972         openat: provide more convenience names
27973         * modules/faccessat (configure.ac): Add C witness.
27974         * lib/unistd.in.h (readlinkat): Fix typo.
27975         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
27976         convenience wrappers.
27977         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
27978         wrappers in syntax checks.
27979
27980 2009-09-06  Eric Blake  <ebb9@byu.net>
27981
27982         doc: fix comments in recent patches
27983         * lib/faccessat.c: Mention correct function.
27984         * lib/fchmodat.c: Likewise.
27985         * lib/fchownat.c: Likewise.
27986         * lib/symlinkat.c: Likewise.
27987         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
27988         constants.
27989
27990         faccessat, symlinkat: continue cleanup of previous patch
27991         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
27992         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
27993         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
27994         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
27995         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
27996         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
27997         set.
27998
27999 2009-09-06  Bruno Haible  <bruno@clisp.org>
28000
28001         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
28002         (fstatat): Declare if GNULIB_FSTATAT is set.
28003         (mkdirat): Declare if GNULIB_MKDIRAT is set.
28004         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
28005         (unlinkat): Declare if GNULIB_UNLINKAT is set.
28006         * modules/fcntl-h (Files): Remove m4/openat.m4.
28007         * modules/sys_stat (Files): Remove m4/openat.m4.
28008         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
28009         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
28010         * modules/unistd (Files): Remove m4/openat.m4.
28011         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
28012         GNULIB_OPENAT.
28013         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
28014         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
28015         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
28016         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
28017         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
28018         gl_OPENAT_DEFAULTS.
28019         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
28020         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
28021         Don't require gl_OPENAT_DEFAULTS.
28022         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
28023         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
28024         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
28025         (gl_OPENAT_DEFAULTS): Remove macro.
28026
28027 2009-09-06  Bruno Haible  <bruno@clisp.org>
28028
28029         * modules/openat (configure.ac): Remove unneeded witness.
28030
28031 2009-09-06  Bruno Haible  <bruno@clisp.org>
28032
28033         Set errno to ENOSYS when a function is entirely unsupported.
28034         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
28035         EOPNOTSUPP.
28036         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
28037         * modules/chown (Depends-on): Remove errno.
28038
28039 2009-09-06  Bruno Haible  <bruno@clisp.org>
28040
28041         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
28042
28043 2009-09-06  Bruno Haible  <bruno@clisp.org>
28044
28045         * lib/sys_stat.in.h: Fix preprocessor command indentation.
28046
28047 2009-09-06  Ben Pfaff  <blp@gnu.org>
28048             Bruno Haible  <bruno@clisp.org>
28049
28050         Work around a glibc bug in strtok_r.
28051         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
28052         Undefine if UNDEFINE_STRTOK_R is set.
28053         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
28054         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28055         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
28056         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
28057         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
28058         UNDEFINE_STRTOK_R.
28059         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
28060
28061 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
28062
28063         exclude: minor fix
28064         * lib/exclude.c: Include wctype.h
28065
28066 2009-09-06  Akim Demaille  <demaille@gostai.com>
28067
28068         bootstrap: improve error message
28069         * build-aux/bootstrap (find_tool): Upon failure, report the list
28070         of candidates.
28071         Honor the initial value of the envvar.
28072
28073 2009-09-05  Eric Blake  <ebb9@byu.net>
28074
28075         symlinkat: new module
28076         * modules/symlinkat: New file.
28077         * lib/symlinkat.c: Likewise.
28078         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
28079         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
28080         * modules/unistd (Makefile.am): Use them.
28081         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
28082         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
28083         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
28084         * MODULES.html.sh (File system functions): Mention module.
28085         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
28086         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28087         * modules/symlinkat-tests: New test.
28088         * tests/test-symlinkat.c: Likewise.
28089
28090         test-openat-safer: add more checks
28091         * tests/test-openat-safer.c (main): Check more code paths.
28092
28093 2009-09-05  Jim Meyering  <meyering@redhat.com>
28094
28095         syntax-check: detect unnecessary inclusion of openat.h
28096         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
28097
28098 2009-09-05  Bruno Haible  <bruno@clisp.org>
28099
28100         Support towlower, towupper.
28101         * doc/posix-functions/towlower.texi: Mention module wctype.
28102         * doc/posix-functions/towupper.texi: Likewise.
28103         * lib/wctype.in.h (towlower, towupper): New functions.
28104         * tests/test-wctype.c: Include stdio.h, stdlib.h.
28105         (ASSERT): New macro.
28106         (e): New variable.
28107         (main): Test also towlower, towupper. Test WEOF argument.
28108         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28109
28110 2009-09-05  Bruno Haible  <bruno@clisp.org>
28111
28112         Fix conversion behaviour when the input is invalid.
28113         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
28114         mark occurring in first pass of indirect conversion.
28115         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
28116         input.
28117         Found by clang's static analyzer.
28118
28119 2009-09-05  Bruno Haible  <bruno@clisp.org>
28120
28121         * tests/test-striconveh.c (main): Test indirect conversion on platforms
28122         where direct conversion is possible.
28123
28124 2009-09-04  Eric Blake  <ebb9@byu.net>
28125
28126         openat: fail with ENOENT on empty name
28127         * lib/openat-proc.c (openat_proc_name): Special-case the empty
28128         buffer.
28129
28130         link-follow: fix logic bug in prior patch
28131         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
28132         reversed sense of yes and no in prior patch.  Avoid confusing
28133         compilation failure with desired semantics.
28134
28135         link-follow: accomodate mingw and cross-compilation
28136         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
28137         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
28138         cross-compilation results to -1, to make linkat easier to
28139         implement when cross-compiling.  Trivially support mingw.
28140         * modules/link-follow (configure.ac): Call new name.
28141         * NEWS: Mention this.
28142
28143 2009-09-03  Eric Blake  <ebb9@byu.net>
28144
28145         faccessat: compile replacement
28146         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
28147         needed.
28148
28149         fts: fix compilation error
28150         * lib/fts.c (includes): Re-add "openat.h", for
28151         openat_needs_fchdir.
28152
28153         faccessat: new module
28154         * modules/faccessat: New file.
28155         * lib/faccessat.c: Likewise.
28156         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
28157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28158         * modules/unistd (Makefile.am): Use it.
28159         * lib/unistd.in.h (faccessat): Declare it.
28160         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
28161         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
28162         * MODULES.html.sh (File system functions): Mention it.
28163         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
28164         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
28165
28166         euidaccess: prefer POSIX over non-standard implementation
28167         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
28168         * lib/euidaccess.c (euidaccess): Use it if available.
28169
28170         openat: make template easier to use
28171         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
28172         AT_FUNC_F2 to be undefined.
28173         (VALIDATE_FLAG): New macro; use it to reject bad flags.
28174         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
28175         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
28176         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
28177         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
28178         Likewise.
28179         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
28180         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
28181         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
28182         Likewise.
28183
28184         openat: declare in POSIX headers
28185         * NEWS: Mention this.
28186         * modules/openat (configure.ac): Declare witnesses.
28187         (Depends-on): Add fcntl-h, sys_stat, unistd.
28188         (Include): Mention correct headers.
28189         * modules/fcntl-h (Depends-on): Add link-warning.
28190         (Files): Add openat.m4.
28191         (Makefile.am): Substitute witnesses.
28192         * modules/sys_stat (Files, Makefile.am): Likewise.
28193         * modules/unistd (Files, Makefile.am): Likewise.
28194         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
28195         (gl_OPENAT_DEFAULTS): New macro.
28196         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
28197         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
28198         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
28199         (SYS_STAT_H): Remove unused variable.
28200         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
28201         * lib/fcntl--.h (includes): Remove unneeded header.
28202         * lib/openat-safer.c (includes): Likewise.
28203         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
28204         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
28205         appropriate headers.
28206         (__OPENAT_PREFIX): Delete.
28207         * lib/fcntl.in.h (openat): Provide declaration.
28208         (AT_FDCWD): Fix Solaris bug.
28209         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
28210         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
28211         * lib/fchmodat.c (includes):  Adjust to find declaration.
28212         * lib/fchownat.c (includes): Likewise.
28213         * lib/mkdirat.c (includes): Likewise.
28214         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
28215         still visible.
28216
28217 2009-09-02  Eric Blake  <ebb9@byu.net>
28218
28219         errno: use consistently
28220         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
28221         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
28222         * lib/canonicalize.c (ELOOP): Likewise.
28223         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
28224         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
28225         * lib/lchown.c (EOPNOTSUPP): Likewise.
28226         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
28227         * lib/savewd.c (ESTALE): Likewise.
28228         * lib/settime.c (ENOSYS): Likewise.
28229         * lib/utimens.c (ENOSYS): Likewise.
28230         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
28231         * lib/chdir-safer.c (ELOOP): Likewise.
28232         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
28233         * modules/c-stack (Depends-on): Add errno.
28234         * modules/canonicalize (Depends-on): Likewise.
28235         * modules/chdir-safer (Depends-on): Likewise.
28236         * modules/fdopendir (Depends-on): Likewise.
28237         * modules/inet_ntop (Depends-on): Likewise.
28238         * modules/inet_pton (Depends-on): Likewise.
28239         * modules/lchown (Depends-on): Likewise.
28240         * modules/openat (Depends-on): Likewise.
28241         * modules/savewd (Depends-on): Likewise.
28242         * modules/settime (Depends-on): Likewise.
28243         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
28244
28245         fts: avoid leaking fds
28246         * modules/fts (Depends-on): Add cloexec.
28247         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
28248         flag.
28249
28250         fts: make directory fds more robust
28251         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
28252         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
28253
28254         backupfile, chdir-long, fts, savedir: make safer
28255         * lib/backupfile.c (includes): Use "dirent--.h", since
28256         numbered_backup can write to stderr during readdir.
28257         * lib/savedir.c (includes): Likewise.
28258         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
28259         emulation can write to stderr on failure.
28260         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
28261         * lib/getcwd.c: Document why opendir_safer is unused.
28262         * lib/glob.c: Likewise.
28263         * lib/scandir.c: Likewise.
28264         * lib/openat-proc.c: Likewise, for open_safer.
28265         * modules/backupfile (Depends-on): Add dirent-safer.
28266         * modules/savedir (Depends-on): Likewise.
28267         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
28268         * modules/chdir-long (Depends-on): Add openat-safer.
28269
28270         openat-safer: new module
28271         * modules/openat-safer: New file.
28272         * lib/openat-safer.c: Likewise.
28273         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
28274         * lib/fcntl-safer.h (openat_safer): Declare.
28275         * lib/fcntl--.h (openat): Override.
28276         * MODULES.html.sh (File descriptor based I/O): Mention it.
28277         * lib/openat.h: Add double-inclusion guards.
28278         * lib/openat.c (includes): Only include "fcntl-safer.h", not
28279         "fcntl--.h", so we can implement openat.
28280         * modules/openat-safer-tests: New test.
28281         * tests/test-openat-safer.c: New file.
28282
28283         dirent-safer: new module
28284         * modules/dirent-safer: New file.
28285         * lib/dirent--.h: Likewise.
28286         * lib/dirent-safer.h: Likewise.
28287         * lib/opendir-safer.c: Likewise.
28288         * m4/dirent-safer.m4: Likewise.
28289         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
28290         * modules/dirent-safer-tests: New test.
28291         * tests/test-dirent-safer.c: New file.
28292         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
28293
28294         fdopendir: optimize on mingw
28295         * lib/unistd.in.h (_gl_directory_name): New prototype.
28296         * lib/fchdir.c (_gl_directory_name): Implement it.
28297         (fchdir): Use it to simplify implementation.
28298         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
28299         fchdir, when available, to avoid calling [f]chdir().
28300
28301         fdopendir: split into its own module
28302         * lib/openat.c (fdopendir): Move...
28303         * lib/fdopendir.c: ...into new file.
28304         * modules/fdopendir: New module.
28305         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
28306         * modules/openat (Depends-on): Add fdopendir.
28307         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
28308         fdopendir here.
28309         * modules/savedir (Depends-on): Only need fdopendir, not full
28310         openat.
28311         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
28312         * lib/openat.h (fdopendir): Drop prototype.
28313         * lib/dirent.in.h (fdopendir): Provide prototype.
28314         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
28315         * modules/dirent (Makefile.am): Substitute them.
28316         * MODULES.html.sh (File system functions): Mention it.
28317         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
28318         * modules/fdopendir-tests: New file.
28319         * tests/test-fdopendir.c: Likewise.
28320
28321         fchdir: use more consistent macro convention
28322         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
28323         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
28324         REPLACE_FCHDIR, rather than relying on config.h macros.
28325         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
28326         inside a single make-time REPLACE_FCHDIR block, rather than using
28327         the config.h FCHDIR_REPLACEMENT.
28328         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
28329         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
28330         Manage fstat replacement.
28331         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
28332         REPLACE_FCHDIR.
28333         * modules/sys_stat (Files): Add m4/unistd_h.m4.
28334         (Makefile.am): Substitute REPLACE_FCHDIR.
28335         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
28336         FCHDIR_REPLACEMENT.
28337         * lib/dup-safer.c (dup_safer): Likewise.
28338         * lib/dup2.c (rpl_dup2): Likewise.
28339         * lib/dup3.c (rpl_dup3): Likewise.
28340         * lib/open.c (rpl_open): Likewise.
28341
28342         fchdir: simplify error handling, and support dup3
28343         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
28344         stdbool, malloc-posix, realloc-posix.
28345         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
28346         (ensure_dirs_slot): Return false on allocation failure.
28347         (rpl_dup2): Delete.
28348         (_gl_register_dup): New function.
28349         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
28350         (_gl_register_fd): Close fd on allocation failure.
28351         * lib/fcntl.in.h (_gl_register_fd): Update signature.
28352         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
28353         prototype.
28354         (rpl_dup2_fchdir): Delete prototype.
28355         * lib/open.c (open): Update caller.
28356         * lib/dup2.c (dup2): Track fchdir metadata.
28357         * lib/dup3.c (dup3): Likewise.
28358         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
28359         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
28360
28361 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28362
28363         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
28364         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
28365         don't pass arguments to AC_OUTPUT.
28366
28367 2009-09-02  Bruno Haible  <bruno@clisp.org>
28368
28369         * modules/mkdtemp (License): Relicense under LGPLv2+.
28370         Reported by Paolo Bonzini.
28371
28372 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28373
28374         Replace uses of obsolete autoconf macros in Jim's modules.
28375         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
28376         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
28377         can evoke a warning from autoconf when run with -Wobsolete
28378         enabled.  They were declared obsolete for good reasons (see
28379         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
28380         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
28381         should not continue using the deprecated macros.
28382         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
28383         obsolete Autoconf macros with modern counterparts.
28384         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28385         * m4/dos.m4 (gl_AC_DOS): Likewise.
28386         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
28387         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28388         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
28389         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
28390         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
28391         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
28392         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
28393         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
28394         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
28395         Likewise.
28396         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28397         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
28398         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
28399         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
28400         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
28401         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
28402
28403 2009-09-01  Eric Blake  <ebb9@byu.net>
28404
28405         fchdir: fix off-by-one bug in previous patch
28406         * lib/fchdir.c (rpl_fstat): Use correct bounds.
28407         (_gl_unregister_fd): Delete useless if.
28408
28409 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
28410
28411         maint.mk: sort the list of syntax-check rules
28412         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
28413         easier to get a sense of progress when the rules are run sequentially
28414         and take a long time.
28415
28416 2009-09-01  Simon Josefsson  <simon@josefsson.org>
28417
28418         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
28419         * modules/netinet_in: Likewise.
28420         * modules/sys_file: Likewise.
28421         * modules/sys_ioctl: Likewise.
28422         * modules/sys_select: Likewise.
28423         * modules/sys_socket: Likewise.
28424         * modules/sys_stat: Likewise.
28425         * modules/sys_time: Likewise.
28426         * modules/sys_times: Likewise.
28427         * modules/sys_utsname: Likewise.
28428         * modules/sys_wait: Likewise.
28429
28430 2009-09-01  Jim Meyering  <meyering@redhat.com>
28431
28432         fts: help ensure that return values are not ignored
28433         * lib/fts_.h (__GNUC_PREREQ): Define.
28434         (__attribute_warn_unused_result__): Define.
28435         (fts_children, fts_close, fts_open, fts_read): Declare with
28436         __attribute_warn_unused_result__.
28437
28438         fts: fts_close now fails also when closing a dir file descriptor fails
28439         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
28440         and propagate to caller, along with errno.
28441
28442         announce-gen: correct formatting in --help output
28443         * build-aux/announce-gen (usage): Move the one-line description in
28444         --help output "up", to where it belongs, just after Usage:.
28445
28446 2009-08-31  Eric Blake  <ebb9@byu.net>
28447
28448         fchdir: port to mingw
28449         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
28450         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
28451         opened, then use a substitute.
28452         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
28453         replacement.
28454         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
28455         (_gl_register_fd): No need to check stat if open already filters
28456         all directories.
28457         (fchdir): Fix error condition to match POSIX.
28458         * modules/fchdir (Depends-on): Add sys_stat.
28459         * doc/posix-functions/open.texi (open): Document the limitation.
28460         * modules/fchdir-tests: New file.
28461         * tests/test-fchdir.c: Likewise.
28462
28463         canonicalize: allow cross-testing from cygwin to mingw
28464         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
28465         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
28466         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
28467         Likewise.
28468         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
28469         target does not support symlinks.
28470         * tests/test-canonicalize-lgpl.sh: Likewise.
28471
28472         chown: avoid compilation warning on mingw
28473         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
28474         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
28475         mingw.
28476         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
28477         * modules/chown (Depends-on): Add errno.
28478
28479 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
28480
28481         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
28482         command.
28483
28484 2009-08-31  Jim Meyering  <meyering@redhat.com>
28485
28486         canonicalize: remove useless initialization
28487         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
28488         initialization of local, "end".
28489
28490 2009-08-30  Bruno Haible  <bruno@clisp.org>
28491
28492         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
28493         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
28494         ENOSYS.
28495
28496 2009-08-30  Bruno Haible  <bruno@clisp.org>
28497
28498         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
28499         /usr/xpg4/bin/tr when it exists.
28500         * tests/test-pipe-filter-gi1.sh: Likewise.
28501
28502 2009-08-30  Bruno Haible  <bruno@clisp.org>
28503
28504         Work around deficient /usr/bin/id program on Solaris.
28505         * tests/test-file-has-acl.sh (ID): New variable.
28506         * tests/test-set-mode-acl.sh (ID): Likewise.
28507         * tests/test-copy-acl.sh (ID): Likewise.
28508         * tests/test-copy-file.sh (ID): Likewise.
28509
28510 2009-08-30  Bruno Haible  <bruno@clisp.org>
28511
28512         New module 'xstriconveh'.
28513         * lib/xstriconveh.h: New file.
28514         * lib/xstriconveh.c: New file.
28515         * modules/xstriconveh: New file.
28516
28517 2009-08-30  Bruno Haible  <bruno@clisp.org>
28518
28519         Make it easier to use mem_cd_iconveh.
28520         * lib/striconveh.h (iconveh_t): New type.
28521         (iconveh_open, iconveh_close): New declarations.
28522         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
28523         with a single 'const iconveh_t *' argument.
28524         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
28525         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
28526         with a single 'const iconveh_t *' argument.
28527         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
28528         * tests/test-striconveh.c (main): Update.
28529         * NEWS: Mention the change.
28530
28531 2009-08-30  Bruno Haible  <bruno@clisp.org>
28532
28533         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
28534         problem.
28535
28536 2009-08-30  Bruno Haible  <bruno@clisp.org>
28537
28538         Work around iconv_open problem on Solaris.
28539         * lib/iconv_open-solaris.gperf: New file.
28540         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
28541         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
28542         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
28543         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
28544         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
28545         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
28546
28547 2009-08-29  Jim Meyering  <meyering@redhat.com>
28548
28549         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
28550         * top/maint.mk (cvs-check): Remove target; it was just an alias
28551         to the better-named vc-diff-check.
28552         (maintainer-distcheck): Remove rule.  It was used only from
28553         the (alpha/beta/major) target, and all of its commands but one
28554         were coreutils-specific.
28555         (vc-dist): Remove rule.
28556         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
28557         Run vc-diff-check, not vc-dist.
28558         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
28559
28560 2009-08-27  Bruno Haible  <bruno@clisp.org>
28561
28562         * tests/test-bitrotate.c (main): Remove test that uses a shift count
28563         of 0.
28564
28565 2009-08-27  Bruno Haible  <bruno@clisp.org>
28566
28567         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
28568         compilers.
28569         * doc/func.texi: Document the SunPRO C bug.
28570
28571 2009-08-27  Bruno Haible  <bruno@clisp.org>
28572
28573         Fix link error on Solaris.
28574         * tests/test-parse-duration.c (xstrdup): Remove function.
28575
28576 2009-08-26  Pádraig Brady  <P@draigbrady.com>
28577
28578         ignore-value: handle pointer types, too
28579         * lib/ignore-value.h (__attribute__): Remove definition.
28580         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
28581         of a more concise and more-often effective "(void) i" statement.
28582         (ignore_ptr): New function to suppress warnings from functions that
28583         return pointers, and to make it explicit that one function doesn't
28584         handle all cases.
28585
28586 2009-08-25  Bruno Haible  <bruno@clisp.org>
28587
28588         dup2: work around a Linux bug.
28589         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
28590         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
28591         * doc/posix-functions/dup2.texi: Mention the Linux bug.
28592         Reported by Simon Josefsson.
28593
28594 2009-08-25  Jim Meyering  <meyering@redhat.com>
28595
28596         libguestfs uses gnulib
28597         * users.txt: Add libguestfs.
28598
28599 2009-08-24  Eric Blake  <ebb9@byu.net>
28600
28601         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
28602         * lib/pipe2.c (includes): Add binary-io.h.
28603         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
28604
28605 2009-08-24  Bruno Haible  <bruno@clisp.org>
28606
28607         Tolerate declared but missing accept4 syscall.
28608         * lib/accept4.c (accept4): Invoke original accept4 function first, if
28609         available.
28610         * lib/sys_socket.in.h (accept4): If the function is already present,
28611         override it.
28612         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
28613         * modules/accept4 (Makefile.am): Compile accept4.c always.
28614         Reported by Paolo Bonzini and Eric Blake.
28615
28616 2009-08-23  Bruno Haible  <bruno@clisp.org>
28617
28618         New module 'accept4'.
28619         * lib/sys_socket.in.h (accept4): New declaration.
28620         * lib/accept4.c: New file.
28621         * m4/accept4.m4: New file.
28622         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28623         GNULIB_ACCEPT4, HAVE_ACCEPT4.
28624         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
28625         HAVE_ACCEPT4.
28626         * modules/accept4: New file.
28627         * doc/glibc-functions/accept4.texi: Mention the new module.
28628
28629 2009-08-24  Jim Meyering  <meyering@redhat.com>
28630
28631         progname: also set global program_invocation_name, when possible
28632         Before this change, a libtool-enabled program that calls glibc's
28633         error function would report the program name as
28634         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
28635         * modules/progname (configure.ac): Check for a declaration of
28636         program_invocation_name.
28637         * lib/progname.c:  Include <errno.h>.
28638         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
28639         Set program_invocation_name.
28640
28641 2009-08-23  Bruno Haible  <bruno@clisp.org>
28642
28643         * lib/dup3.c: Include <string.h>.
28644
28645 2009-08-23  Bruno Haible  <bruno@clisp.org>
28646
28647         * lib/dup3.c (dup3): Test only once whether the system actually exists.
28648         * lib/pipe2.c (pipe2): Likewise.
28649         Suggested by Eric Blake.
28650
28651 2009-08-23  Bruno Haible  <bruno@clisp.org>
28652
28653         Tolerate declared but missing dup3 syscall.
28654         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
28655         * lib/unistd.in.h (dup3): If the function is already present,
28656         override it.
28657         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
28658         * modules/dup3 (Makefile.am): Compile dup3.c always.
28659         Reported by Paolo Bonzini.
28660
28661 2009-08-23  Bruno Haible  <bruno@clisp.org>
28662
28663         Tolerate declared but missing pipe2 syscall.
28664         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
28665         available.
28666         * lib/unistd.in.h (pipe2): If the function is already present,
28667         override it.
28668         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
28669         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
28670         Reported by Paolo Bonzini.
28671
28672 2009-08-23  Bruno Haible  <bruno@clisp.org>
28673
28674         * lib/pipe2.c (pipe2): Move #ifs inside function.
28675
28676 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
28677
28678         quotearg: document limitations of quote_these_too
28679         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
28680         those limitations are created.
28681         * lib/quotearg.h (set_char_quoting): Document that digits and
28682         letters that are special after backslash are not permitted.
28683         (quotearg_char): Cross-reference set_char_quoting documentation.
28684
28685 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
28686
28687         quotearg: implement custom_quoting_style
28688         * lib/quotearg.c: (struct quoting_options): Add left_quote and
28689         right_quote fields.
28690         (set_custom_quoting): New public function.
28691         (quotearg_buffer_restyled): Add left_quote and right_quote
28692         arguments, handle them very much like locale quoting, and update
28693         all uses.
28694         (quotearg_n_custom): New public function.
28695         (quotearg_n_custom_mem): New public function.
28696         (quotearg_custom): New public function.
28697         (quotearg_custom_mem): New public function.
28698         * lib/quotearg.h: Prototype and document new public functions.
28699         (enum quoting_style): For escape_quoting_style and
28700         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
28701         ignored even though they're otherwise like c_quoting_style.
28702         Add custom_quoting_style member and document with comparison to
28703         clocale_quoting_style.
28704         * tests/test-quotearg.c (custom_quotes): New array.
28705         (custom_results): New array.
28706         (main): Extend to test custom quoting.
28707
28708 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
28709
28710         quotearg: fix right quote escaping when it's in quote_these_too
28711         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
28712         quote, be sure to prepend only one backslash.
28713         * tests/test-quotearg.c (use_quote_double_quotes): New function.
28714         (main): Test it.
28715
28716 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
28717
28718         quotearg-tests: test escaping of embedded locale quotes
28719         * tests/test-quotearg.c (struct result_strings): Add member for
28720         new input.
28721         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
28722         (inputs): Add new input.
28723         (results_g): Add expected results.
28724         (flag_results): Likewise.
28725         (locale_results): Likewise.
28726         (compare_strings): Check those.
28727
28728 2009-08-23  Bruno Haible  <bruno@clisp.org>
28729
28730         Tests for module 'dup3'.
28731         * modules/dup3-tests: New file.
28732         * tests/test-dup3.c: New file.
28733
28734         New module 'dup3'.
28735         * lib/unistd.in.h (dup3): New declaration.
28736         * lib/dup3.c: New file.
28737         * m4/dup3.m4: New file.
28738         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
28739         HAVE_DUP3.
28740         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
28741         * modules/dup3: New file.
28742         * doc/glibc-functions/dup3.texi: Mention the new module.
28743
28744 2009-08-23  Bruno Haible  <bruno@clisp.org>
28745
28746         Tweak the dup2 test.
28747         * tests/test-dup2.c (main): Create the test file empty. Verify that an
28748         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
28749         the test file is still empty. Fix argument order of lseek.
28750
28751 2009-08-23  Bruno Haible  <bruno@clisp.org>
28752
28753         Avoid test link errors when the modules getopt-gnu, gettext are used.
28754         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
28755         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28756
28757 2009-08-23  Bruno Haible  <bruno@clisp.org>
28758
28759         Fix getdtablesize() on mingw.
28760         * lib/getdtablesize.c (getdtablesize): Implement differently.
28761         * lib/unistd.in.h (getdtablesize): Improve comment.
28762
28763 2009-08-23  Bruno Haible  <bruno@clisp.org>
28764
28765         New module 'mkostemp'.
28766         Based on Ulrich Drepper's 2007-08-10 change in glibc.
28767         * lib/stdlib.in.h (mksotemp): New declaration.
28768         * lib/mkostemp.c: New file, from glibc with modifications.
28769         * lib/tempname.h (GT_FILE): Remove outdated comment.
28770         (gen_tempname): Add flags argument.
28771         * lib/tempname.c (__GT_BIGFILE): Remove macro.
28772         (__GT_FILE): Map to 1.
28773         (small_open, large_open): Remove macros.
28774         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
28775         * lib/mkstemp.c (mkstemp): Update.
28776         * lib/mkdtemp.c (mkdtemp): Likewise.
28777         * m4/mkostemp.m4: New file.
28778         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
28779         HAVE_MKOSTEMP.
28780         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
28781         HAVE_MKOSTEMP.
28782         * modules/mkostemp: New file, based on modules/mkstemp.
28783         * doc/glibc-functions/mkostemp.texi: Mention the new module.
28784         * NEWS: Mention the change.
28785
28786 2009-08-23  Bruno Haible  <bruno@clisp.org>
28787
28788         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
28789         Reported by Eric Blake.
28790
28791 2009-08-23  Bruno Haible  <bruno@clisp.org>
28792
28793         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
28794         Reported by Eric Blake.
28795
28796 2009-08-23  Bruno Haible  <bruno@clisp.org>
28797
28798         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
28799         * modules/pipe2 (Depends-on): Likewise.
28800
28801 2009-08-23  Eric Blake  <ebb9@byu.net>
28802
28803         fcntl-h: add O_TTY_INIT support
28804         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
28805         * tests/test-fcntl-h.c (o): Test it.
28806         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
28807
28808         fcntl-h: rename from fcntl, in preparation for fcntl(2)
28809         * modules/fcntl: Move <fcntl.h> header replacement...
28810         * modules/fcntl-h: ...to new name, so as not to collide with
28811         like-named function.
28812         * tests/test-fcntl.c: Rename...
28813         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
28814         * modules/fcntl-tests: Rename...
28815         * modules/fcntl-h-tests: ...to this.  Update test file name.
28816         * modules/chdir-long (Depends-on): Update clients.
28817         * modules/chdir-safer (Depends-on): Likewise.
28818         * modules/fcntl-safer (Depends-on): Likewise.
28819         * modules/fts (Depends-on): Likewise.
28820         * modules/mkancesdirs (Depends-on): Likewise.
28821         * modules/mkdir-p (Depends-on): Likewise.
28822         * modules/open (Depends-on): Likewise.
28823         * modules/savewd (Depends-on): Likewise.
28824         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
28825         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
28826
28827 2009-08-22  Bruno Haible  <bruno@clisp.org>
28828
28829         * modules/binary-io (License): Relicense under LGPL.
28830         * modules/pipe2 (License): Likewise.
28831
28832 2009-08-22  Bruno Haible  <bruno@clisp.org>
28833
28834         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
28835         return value.
28836         * lib/pipe-filter-gi.c (filter_init): Likewise.
28837         Reported by Eric Blake.
28838
28839 2009-08-22  Bruno Haible  <bruno@clisp.org>
28840
28841         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
28842         * modules/pipe (Depends-on): Add pipe2.
28843
28844 2009-08-22  Bruno Haible  <bruno@clisp.org>
28845
28846         Tests for module 'pipe2'.
28847         * modules/pipe2-tests: New file.
28848         * tests/test-pipe2.c: New file.
28849
28850         New module 'pipe2'.
28851         * lib/unistd.in.h (pipe2): New declaration.
28852         * lib/pipe2.c: New file.
28853         * m4/pipe2.m4: New file.
28854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
28855         HAVE_PIPE2.
28856         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
28857         * modules/pipe2: New file.
28858         * doc/glibc-functions/pipe2.texi: Mention the new module.
28859
28860 2009-08-22  Bruno Haible  <bruno@clisp.org>
28861
28862         Reference some new glibc functions.
28863         * doc/glibc-functions/accept4.texi: New file.
28864         * doc/glibc-functions/dup3.texi: New file.
28865         * doc/glibc-functions/mkostemp.texi: New file.
28866         * doc/glibc-functions/pipe2.texi: New file.
28867         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
28868         (Glibc sys/socket.h): Refer to accept4.
28869         (Glibc unistd.h): Refer to dup3, pipe2.
28870         Reported by Eric Blake.
28871
28872 2009-08-22  Jim Meyering  <meyering@redhat.com>
28873             Bruno Haible  <bruno@clisp.org>
28874
28875         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
28876         This makes it so packages using automake-1.11's silent-rules option
28877         can print e.g., a single "GEN    configmake.h" line, rather than
28878         the 30+ statements that perform the job.  If you want to see the
28879         actual commands, you can still run "make V=1".
28880         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
28881         so that make output is abbreviated when those variables are defined
28882         appropriately.
28883         * modules/argz: Likewise.
28884         * modules/arpa_inet: Likewise.
28885         * modules/byteswap: Likewise.
28886         * modules/configmake: Likewise.
28887         * modules/dirent: Likewise.
28888         * modules/errno: Likewise.
28889         * modules/fcntl: Likewise.
28890         * modules/float: Likewise.
28891         * modules/fnmatch: Likewise.
28892         * modules/getopt-posix: Likewise.
28893         * modules/glob: Likewise.
28894         * modules/iconv_open: Likewise.
28895         * modules/inttypes: Likewise.
28896         * modules/localcharset: Likewise.
28897         * modules/locale: Likewise.
28898         * modules/math: Likewise.
28899         * modules/netdb: Likewise.
28900         * modules/netinet_in: Likewise.
28901         * modules/poll: Likewise.
28902         * modules/posix_spawnp-tests: Likewise.
28903         * modules/sched: Likewise.
28904         * modules/search: Likewise.
28905         * modules/selinux-h: Likewise.
28906         * modules/signal: Likewise.
28907         * modules/spawn: Likewise.
28908         * modules/stdarg: Likewise.
28909         * modules/stdbool: Likewise.
28910         * modules/stddef: Likewise.
28911         * modules/stdint: Likewise.
28912         * modules/stdio: Likewise.
28913         * modules/stdlib: Likewise.
28914         * modules/string: Likewise.
28915         * modules/strings: Likewise.
28916         * modules/sys_file: Likewise.
28917         * modules/sys_ioctl: Likewise.
28918         * modules/sys_select: Likewise.
28919         * modules/sys_socket: Likewise.
28920         * modules/sys_stat: Likewise.
28921         * modules/sys_time: Likewise.
28922         * modules/sys_times: Likewise.
28923         * modules/sys_utsname: Likewise.
28924         * modules/sys_wait: Likewise.
28925         * modules/sysexits: Likewise.
28926         * modules/time: Likewise.
28927         * modules/unistd: Likewise.
28928         * modules/wchar: Likewise.
28929         * modules/wctype: Likewise.
28930
28931 2009-08-22  Jim Meyering  <meyering@redhat.com>
28932
28933         announce-gen: detect write failure
28934         * build-aux/announce-gen: Add Coda at end.
28935         Remove equivalent-but-more-verbose block at top.
28936
28937 2009-08-19  Akim Demaille  <demaille@gostai.com>
28938
28939         bootstrap: --help to stdout.
28940         * bootstrap (usage): Don't send --help to stderr.
28941         Use a here doc instead of a long string.
28942
28943 2009-08-21  Eric Blake  <ebb9@byu.net>
28944
28945         test-popen-safer: split from test-popen
28946         * tests/test-popen.c (main): Move...
28947         * tests/test-popen.h: ...into new file.
28948         * tests/test-popen-safer2.c: New file.
28949         * modules/popen-tests (Files): Add test-popen.h.
28950         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
28951         Suggested by Bruno Haible.
28952
28953         test-fcntl-safer: split from test-open
28954         * tests/test-open.c (main): Move...
28955         * tests/test-open.h: ...into new file.
28956         * tests/test-fcntl-safer.c: New file.
28957         * modules/open-tests (Files): Add test-open.h.
28958         * modules/fcntl-safer-tests: New file.
28959         Suggested by Bruno Haible.
28960
28961         test-fopen-safer: split from test-fopen
28962         * tests/test-fopen.c (main): Move...
28963         * tests/test-fopen.h: ...into new file.
28964         * tests/test-fopen-safer.c: New file.
28965         * modules/fopen-tests (Files): Add test-fopen.h.
28966         * modules/fopen-safer-tests: New file.
28967         Suggested by Bruno Haible.
28968
28969 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
28970
28971         popen-safer: test O_CLOEXEC at run-time.
28972         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
28973
28974 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
28975
28976         fcntl: move more flags to the header
28977         * lib/cloexec.c: Do not define FD_CLOEXEC here.
28978         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
28979         * lib/fcntl.in.h: Do both things here.
28980
28981 2009-08-21  Jim Meyering  <meyering@redhat.com>
28982
28983         consistently remove $@-t before redirecting to it
28984         * modules/argz: Remove $@-t and $@ before redirecting to the former.
28985         * modules/alloca-opt: Likewise.
28986         * modules/byteswap: Likewise.
28987         * modules/fnmatch: Likewise.
28988         * modules/getopt-posix: Likewise.
28989         * modules/glob: Likewise.
28990         * modules/poll: Likewise.
28991         * modules/posix_spawnp-tests: Likewise.
28992         * modules/sys_socket: Likewise.
28993         * modules/sysexits: Likewise.
28994
28995 2009-08-21  Eric Blake  <ebb9@byu.net>
28996
28997         popen: simplify access to original popen
28998         * lib/popen.c (rpl_popen): No need to worry about popen being a
28999         macro.
29000         Reported by Bruno Haible.
29001
29002 2009-08-20  Eric Blake  <ebb9@byu.net>
29003
29004         build: avoid some compiler warnings
29005         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
29006         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
29007         type.
29008         (new_exclude_segment, excluded_file_pattern_p)
29009         (excluded_file_name_p): Reduce scope.
29010         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
29011         old-style declaration.
29012
29013 2009-08-20  Simon Josefsson  <simon@josefsson.org>
29014
29015         * tests/test-exclude1.sh: Handle Windows EOL.
29016         * tests/test-exclude2.sh: Likewise.
29017         * tests/test-exclude3.sh: Likewise.
29018         * tests/test-exclude4.sh: Likewise.
29019         * tests/test-exclude5.sh: Likewise.
29020         * tests/test-exclude6.sh: Likewise.
29021         * tests/test-exclude7.sh: Likewise.
29022
29023 2009-08-19  Akim Demaille  <demaille@gostai.com>
29024
29025         bootstrap: find sha1sum when named gsha1sum.
29026         * bootstrap (find_tool): New.
29027         ($SHA1SUM): New.
29028         Use it.
29029
29030 2009-08-20  Jim Meyering  <meyering@redhat.com>
29031
29032         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
29033         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
29034         expression that converts "." in a file name to "\." in the resulting
29035         regexp.  Start with a dummy statement, so that prior shell variable
29036         definitions are expanded portably.  Reported by Simon Josefsson.
29037
29038 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
29039
29040         Fix polling for writeability of a screen buffer.
29041         * lib/poll.c: Distinguish input and screen buffers for the
29042         Win32 implementation.
29043         * lib/select.c: Likewise.
29044
29045 2009-08-19  Eric Blake  <ebb9@byu.net>
29046
29047         popen-safer: prevent popen from clobbering std descriptors
29048         * modules/popen-safer: New file.
29049         * lib/popen-safer.c: Likewise.
29050         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
29051         * lib/stdio--.h (popen): Provide override.
29052         * lib/stdio-safer.h (popen_safer): Provide declaration.
29053         * tests/test-popen.c (includes): Partially test this.
29054         * modules/popen-safer-tests: New file, for more tests.
29055         * tests/test-popen-safer.c: Likewise.
29056         * MODULES.html.sh (file stream based Input/Output): Mention it.
29057
29058         tests: test some of the *-safer modules
29059         * modules/fopen-safer (Depends-on): Add fopen.
29060         * modules/fcntl-safer (Depends-on): Add fcntl.
29061         * modules/stdlib-safer (Depends-on): Add stdlib.
29062         (configure.ac): Set indicator.
29063         * modules/unistd-safer (configure.ac): Likewise.
29064         * modules/tmpfile-safer (configure.ac): Likewise.
29065         (Depends-on): Add tmpfile.
29066         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
29067         active.
29068         * tests/test-fopen.c (includes): Test safer versions when they are
29069         in use.
29070         * tests/test-open.c (includes): Likewise.
29071
29072         popen: fix cygwin 1.5 bug when stdin closed
29073         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
29074         * modules/popen: New file.
29075         * modules/popen-tests: Likewise.
29076         * tests/test-popen.c: Likewise.
29077         * m4/popen.m4: Likewise.
29078         * lib/popen.c: Likewise.
29079         * lib/stdio.in.h (popen): New declaration.
29080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
29081         * modules/stdio (Makefile.am): Likewise.
29082         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
29083
29084 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
29085
29086         maint.mk: give full control over update-copyright exclusions
29087         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
29088         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
29089         (update-copyright): Don't force inclusion of top-level
29090         ChangeLog.  Don't force exclusion of all COPYING files, but make
29091         them the default exclusion instead.
29092
29093 2009-08-16  Bruno Haible  <bruno@clisp.org>
29094
29095         Fix test failures on Solaris 10.
29096         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
29097         tests when Solaris iconv() is used.
29098         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
29099         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
29100         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
29101         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
29102         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
29103
29104 2009-08-16  Bruno Haible  <bruno@clisp.org>
29105
29106         Fix test failures on Solaris 10.
29107         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
29108         'tr' program and pass it as first argument.
29109         * tests/test-pipe-filter-gi1.sh: Likewise.
29110         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
29111         program as first argument.
29112         * tests/test-pipe-filter-gi1.c (main): Likewise.
29113
29114 2009-08-16  Eric Blake  <ebb9@byu.net>
29115
29116         fpurge: fix previous commits
29117         * modules/fpurge (Makefile.am): Make replacement conditional,
29118         partially reverting 2007-04-29 change; missed in previous
29119         attempt.
29120         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
29121         is missing.
29122
29123 2009-08-16  Bruno Haible  <bruno@clisp.org>
29124
29125         Clarify fpurge's effect on the file position.
29126         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
29127         * tests/test-fpurge.c (main): Make a second pass for checking the file
29128         position.
29129
29130 2009-08-16  Bruno Haible  <bruno@clisp.org>
29131
29132         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
29133         declaration of fpurge is missing.
29134         * tests/test-fpurge.c (main): Check that the file has not more contents
29135         than expected. Close the file before removing it.
29136
29137 2009-08-15  Eric Blake  <ebb9@byu.net>
29138
29139         fpurge: don't wrap working cygwin implementation
29140         * lib/fpurge.c (fpurge): Fix comment typo.
29141         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
29142         1.7 to avoid replacement.
29143         * tests/test-fpurge.c (main): Enhance test.
29144
29145 2009-08-15  Eric Blake  <ebb9@byu.net>
29146         and Jim Meyering  <meyering@redhat.com>
29147
29148         test-update-copyright: skip if perl is insufficient
29149         * tests/test-update-copyright.sh: Failure to run maintainer tool
29150         should not cause testsuite failure on cygwin 1.5.
29151
29152 2009-08-14  Eric Blake  <ebb9@byu.net>
29153
29154         doc: mention more functions added in cygwin 1.7.0
29155         * doc/posix-headers/limits.texi (limits.h): Update for recent
29156         cygwin additions.
29157         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
29158         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
29159         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
29160         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
29161         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
29162
29163 2009-08-14  Eric Blake  <ebb9@byu.net>
29164
29165         maint.mk: simplify update-copyright rule
29166         * top/maint.mk (update-copyright-local): Delete, and document how
29167         to do it in cfg.mk instead.
29168         (update-copyright-exclude-regexp): Delete, and document how to do
29169         it in .x-update-copyright instead.
29170         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
29171         exclude ChangeLog.
29172
29173 2009-08-14  Bruno Haible  <bruno@clisp.org>
29174
29175         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
29176
29177 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29178
29179         maint.mk: support update-copyright-env
29180         * top/maint.mk (update-copyright-env): Define place-holder.
29181         (update-copyright): Expand $(update-copyright-env) before
29182         invoking update-copyright.
29183
29184 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29185
29186         update-copyright: implement forced reformatting
29187         * build-aux/update-copyright: Implement and document
29188         UPDATE_COPYRIGHT_FORCE.
29189         * tests/test-update-copyright.sh: Test it.
29190
29191 2009-08-14  Eric Blake  <ebb9@byu.net>
29192         and Bruno Haible  <bruno@clisp.org>
29193
29194         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
29195         * tests/test-locale.c: Revert previous patch related to NULL.
29196         * tests/test-stdio.c: Likewise.
29197         * tests/test-stdlib.c: Likewise.
29198         * tests/test-string.c: Likewise.
29199         * tests/test-unistd.c: Likewise.
29200         * modules/time-tests (Depends-on): Add verify.
29201         * modules/wchar-tests (Depends-on): Likewise.
29202         * tests/test-time.c: Test for NULL compliance.
29203         * tests/test-wchar.c: Likewise.
29204         * modules/locale (Depends-on): Add stddef.
29205         * modules/stdio (Depends-on): Likewise.
29206         * modules/stdlib (Depends-on): Likewise.
29207         * modules/string (Depends-on): Likewise.
29208         * modules/time (Depends-on): Likewise.
29209         * modules/unistd (Depends-on): Likewise.
29210         * modules/wchar (Depends-on): Likewise.
29211         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
29212         * lib/stdlib.in.h (includes): Likewise.
29213         * lib/string.in.h (includes): Likewise.
29214         * lib/time.in.h (includes): Likewise.
29215         * lib/unistd.in.h (includes): Likewise.
29216         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
29217         replaced.
29218         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
29219         * m4/stddef_h.m4: New file.
29220         * modules/stddef: Likewise.
29221         * lib/stddef.in.h: Likewise.
29222         * modules/stddef-tests: Likewise.
29223         * tests/test-stddef.c: Likewise.
29224         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
29225         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
29226         * doc/posix-headers/locale.texi (locale.h): Likewise.
29227         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
29228         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29229         * doc/posix-headers/string.texi (string.h): Likewise.
29230         * doc/posix-headers/time.texi (time.h): Likewise.
29231         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
29232         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
29233
29234 2009-08-14  Eric Blake  <ebb9@byu.net>
29235
29236         doc: improve git diff of texinfo files
29237         * .gitattributes: Add rule for *.texi files, with hint on how to
29238         use it.
29239         Copied from m4, and based on a report by Bruno Haible.
29240
29241 2009-08-14  Bruno Haible  <bruno@clisp.org>
29242
29243         Disable multithread support by default on Cygwin 1.5.x for real.
29244         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
29245
29246 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29247
29248         update-copyright: much ado about intervals
29249         * build-aux/update-copyright: Implement and document
29250         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
29251         of copyright year intervals.
29252         Also, document UPDATE_COPYRIGHT_YEAR.
29253         * tests/test-update-copyright.sh: Test it.
29254
29255         update-copyright: convert 2-digit to 4-digit years
29256         * build-aux/update-copyright: Implement and document.
29257         * tests/test-update-copyright.sh: Update.
29258
29259 2009-08-14  Jim Meyering  <meyering@redhat.com>
29260
29261         test-exclude: avoid coreutils "make check" failure
29262         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
29263         just as in test-argmatch.c.
29264
29265 2009-08-13  Eric Blake  <ebb9@byu.net>
29266
29267         test-dup2: fix bad assumption
29268         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
29269         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
29270
29271         test-version-etc: fix CRLF portability issue
29272         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
29273         recognize \r.
29274         * tests/test-argp-version-etc-1.sh: Likewise.
29275
29276         getopt: update client modules
29277         * modules/argp (Depends-on): Use getopt-gnu.
29278         * modules/git-merge-changelog (Depends-on): Likewise.
29279         * modules/long-options (Depends-on): Likewise.
29280         * modules/xstrtol (Depends-on): Likewise.
29281
29282 2009-08-13  Simon Josefsson  <simon@josefsson.org>
29283
29284         * tests/test-version-etc.sh: Don't fail on different
29285         project/version.  Don't fail on CRLF differences.  Rewrite to use
29286         multiple -e instead of multiple sed forks, suggested by Eric Blake
29287         <ebb9@byu.net>.
29288         * tests/test-argp-version-etc-1.sh: Likewise.
29289
29290 2009-08-13  Simon Josefsson  <simon@josefsson.org>
29291
29292         * tests/test-version-etc.sh: Don't fail on different
29293         project/version.
29294
29295 2009-08-12  Bruno Haible  <bruno@clisp.org>
29296
29297         Tests for modules 'getopt-posix', 'getopt-gnu'.
29298         * modules/getopt-posix-tests: New file.
29299         * tests/test-getopt.c: New file.
29300         * tests/test-getopt.h: New file.
29301         * tests/test-getopt_long.h: New file.
29302
29303         New modules 'getopt-posix', 'getopt-gnu'.
29304         * modules/getopt-gnu: New file, renamed from modules/getopt.
29305         * modules/getopt-posix: New file.
29306         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
29307         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
29308         (gl_GETOPT): Remove macro.
29309         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
29310         Disable the test against BSD systems that declare optreset. Test
29311         against mingw bug. Test against lack of support of optional arguments
29312         on many platforms.
29313         * doc/glibc-headers/getopt.texi: Update module name and list of
29314         relevant platforms.
29315         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
29316         'getopt-gnu' and more portability problems.
29317         * NEWS: Mention the changes.
29318
29319 2009-08-12  Bruno Haible  <bruno@clisp.org>
29320
29321         Ensure that optarg etc. get declared by <unistd.h>.
29322         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
29323         AC_USE_SYSTEM_EXTENSIONS.
29324         * modules/getopt (Depends-on): Add 'extensions'.
29325
29326 2009-08-12  Bruno Haible  <bruno@clisp.org>
29327
29328         Avoid test link errors.
29329         * modules/pipe-filter-ii-tests (Makefile.am): Define
29330         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
29331         * modules/pipe-filter-gi-tests (Makefile.am): Define
29332         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
29333         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29334
29335 2009-08-12  Bruno Haible  <bruno@clisp.org>
29336
29337         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
29338         gl_GETOPT_SUBSTITUTE before.
29339         (gl_GETOPT): Use it.
29340         * m4/argp.m4 (gl_ARGP): Update.
29341         Reported by Sergey Poznyakoff.
29342
29343         * m4/getopt.m4: Reorder macros.
29344         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
29345         (gl_GETOPT_SUBSTITUTE): Remove macro.
29346
29347 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29348
29349         Minor improvement in gitlog-to-changelog
29350
29351         * build-aux/gitlog-to-changelog: New option `--format' makes
29352         output format string configurable.
29353
29354 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29355
29356         Optimize exclude: use hash tables for non-wildcard patterns.
29357
29358         * lib/exclude.c: Include hash.h and mbuiter.h
29359         (struct exclude_pattern, exclude_segment): New data types.
29360         (struct exclude): Rewrite.
29361         (fnmatch_pattern_has_wildcards): New function.
29362         (new_exclude_segment, free_exclude_segment): New functions.
29363         (excluded_file_pattern_p, excluded_file_name_p): New functions.
29364         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
29365         * lib/exclude.h (is_fnmatch_pattern): New prototype.
29366         * modules/exclude: Depend on hash and mbuiter.
29367
29368         * modules/exclude-tests: New file.
29369         * tests/test-exclude.c: New file.
29370         * tests/test-exclude1.sh: New file.
29371         * tests/test-exclude2.sh: New file.
29372         * tests/test-exclude3.sh: New file.
29373         * tests/test-exclude4.sh: New file.
29374         * tests/test-exclude5.sh: New file.
29375         * tests/test-exclude6.sh: New file.
29376         * tests/test-exclude7.sh: New file.
29377
29378 2009-08-12  Bruno Haible  <bruno@clisp.org>
29379
29380         Ensure that getopt() gets declared by <unistd.h>.
29381         * lib/unistd.in.h: Conditionally include getopt.h.
29382         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
29383         Set GNULIB_UNISTD_H_GETOPT.
29384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29385         GNULIB_UNISTD_H_GETOPT.
29386         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
29387
29388 2009-08-12  Bruno Haible  <bruno@clisp.org>
29389
29390         Clarify logic.
29391         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
29392         gl_replace_getopt instead of GETOPT_H.
29393
29394 2009-08-12  Bruno Haible  <bruno@clisp.org>
29395
29396         * m4/getopt.m4: Add comments.
29397
29398 2009-08-12  Bruno Haible  <bruno@clisp.org>
29399
29400         Disable multithread support by default on Cygwin 1.5.x.
29401         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
29402         set gl_use_threads=no if not specified otherwise.
29403
29404 2009-08-11  Bruno Haible  <bruno@clisp.org>
29405
29406         Avoid compilation error on NetBSD 5.0.
29407         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
29408         * tests/test-stdio.c: Likewise.
29409         * tests/test-stdlib.c: Likewise.
29410         * tests/test-string.c: Likewise.
29411         * tests/test-unistd.c: Likewise.
29412         Reported by Greg Troxel <gdt@ir.bbn.com>
29413         at <https://savannah.gnu.org/support/?106973>.
29414
29415 2009-08-11  Bruno Haible  <bruno@clisp.org>
29416
29417         * modules/dup2-tests (Depends-on): Remove close.
29418
29419         Undo 2009-07-19 commit.
29420         * modules/acl-tests (Depends-on): Remove close.
29421         * modules/binary-io-tests (Depends-on): Likewise.
29422         * modules/closein-tests (Depends-on): Likewise.
29423         * modules/flock-tests (Depends-on): Likewise.
29424         * modules/fsync-tests (Depends-on): Likewise.
29425         * modules/lseek-tests (Depends-on): Likewise.
29426         * modules/pipe-tests (Depends-on): Likewise.
29427         * modules/posix_spawn-tests (Depends-on): Likewise.
29428         * modules/posix_spawnp-tests (Depends-on): Likewise.
29429         * modules/stat-time-tests (Depends-on): Likewise.
29430         * modules/yesno-tests (Depends-on): Likewise.
29431
29432 2009-08-10  Bruno Haible  <bruno@clisp.org>
29433
29434         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
29435
29436 2009-08-10  Bruno Haible  <bruno@clisp.org>
29437
29438         Fix a gcc warning.
29439         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
29440
29441 2009-08-10  Bruno Haible  <bruno@clisp.org>
29442
29443         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
29444         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
29445         not only the first time.
29446         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
29447         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
29448         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
29449         is 1, not only the the first time.
29450
29451 2009-08-10  Bruno Haible  <bruno@clisp.org>
29452
29453         Make it possible to use module 'gethostname' without module 'close'.
29454         * lib/unistd.in.h (close): Evoke a link error only if
29455         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
29456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29457         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29458         * modules/unistd (Makefile.am): Substitute
29459         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29460         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
29461         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
29462         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29463         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29464         * modules/sys_ioctl (Makefile.am): Substitute
29465         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29466         * modules/socket (configure.ac): On native Windows, set
29467         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
29468         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29469         Reported by Sam Steingold <sds@gnu.org>.
29470
29471 2009-08-10  Bruno Haible  <bruno@clisp.org>
29472
29473         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
29474         * modules/ioctl (configure.ac): Likewise.
29475
29476 2009-08-10  Bruno Haible  <bruno@clisp.org>
29477
29478         Avoid collision between gnulib wrapper and libintl wrapper.
29479         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
29480         already defined in intl/printf.c.
29481         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
29482         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
29483
29484 2009-08-09  Bruno Haible  <bruno@clisp.org>
29485
29486         Make <sys/select.h> really self-contained, also on Solaris 10.
29487         * lib/sys_select.in.h: Include <string.h>.
29488         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
29489         Solaris 10 problem.
29490         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
29491         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
29492         Reported by Jim Meyering.
29493
29494 2009-08-09  Bruno Haible  <bruno@clisp.org>
29495
29496         Avoid warnings from 'aclocal' that are due to a use of macro name
29497         AM_XGETTEXT_OPTION that is not defined in automake.
29498         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
29499         automake.
29500         * modules/error (configure.ac): Likewise.
29501         * modules/propername (configure.ac): Likewise.
29502         * modules/vasprintf (configure.ac): Likewise.
29503         * modules/verror (configure.ac): Likewise.
29504         * modules/xprintf (configure.ac): Likewise.
29505         * modules/xvasprintf (configure.ac): Likewise.
29506
29507 2009-08-08  Bruno Haible  <bruno@clisp.org>
29508
29509         Avoid compilation error in C++ mode.
29510         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
29511         Reported by Sam Steingold <sds@gnu.org>.
29512
29513 2009-08-08  Bruno Haible  <bruno@clisp.org>
29514
29515         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
29516         for the various Unix platforms.
29517         * doc/posix-headers/limits.texi: Update platforms list regarding
29518         HOST_NAME_MAX.
29519         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29520
29521 2009-08-07  Jim Meyering  <meyering@redhat.com>
29522
29523         selinux-at: fix typo in a comment
29524         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
29525         Spotted by Paolo Bonzini.
29526
29527         selinux-at: remove redundant m4 code, add documentation
29528         * modules/selinux-at (configure.ac): Remove redundant code.
29529         LIB_SELINUX is already set via the dependent module, selinux-h.
29530         (Include): Add quotes around selinux-at.h.
29531         * lib/selinux-at.h: Add documentation.
29532         Reported by Bruno Haible in
29533         http://marc.info/?l=gnulib-bug&m=124958988300749
29534
29535 2009-08-07  Bruno Haible  <bruno@clisp.org>
29536
29537         Avoid link error on MacOS X 10.3 and 10.4.
29538         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
29539         on non-ELF systems.
29540         * lib/argp-pv.c (argp_program_version): Likewise.
29541         Reported by Simon Josefsson.
29542
29543 2009-08-07  Simon Josefsson  <simon@josefsson.org>
29544
29545         * tests/test-version-etc.sh: Use $EXEEXT.
29546
29547 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
29548
29549         update-copyright: update documentation to point to maint.mk
29550         * build-aux/update-copyright: Here.
29551
29552 2009-08-06  Jim Meyering  <meyering@redhat.com>
29553
29554         maint.mk: support update-copyright-local
29555         * top/maint.mk (update-copyright-local): Define place-holder.
29556         (update-copyright): Depend on $(update-copyright-local).
29557
29558 2009-08-06  Jim Meyering  <meyering@redhat.com>
29559
29560         selinux-at: new module
29561         Initially written for coreutils, this module will soon be
29562         used by findutils, too.
29563         * MODULES.html.sh [Misc]: Add selinux-at.
29564         * lib/selinux-at.h: New file, from coreutils.
29565         * lib/selinux-at.c: Likewise.
29566         * modules/selinux-at: Likewise.
29567         (License): Change from LGPL to GPL, since it depends
29568         on the GPL'd openat module.
29569
29570         doc: update README
29571         * README: Remove references to cogito.
29572         Remove cvs-repo-updating instructions from 2007.
29573         Don't imply that CVS is better if you have limited disk space.
29574
29575 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29576
29577         update-copyright: support C-style comments
29578         * build-aux/update-copyright: Implement and document.
29579         * tests/test-update-copyright.sh: Test.
29580
29581 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29582
29583         update-copyright: support omitted "(C)"
29584         * build-aux/update-copyright: Implement and document.  Also,
29585         allow variable whitespace before "(C)".
29586         * tests/test-update-copyright.sh: Test.
29587
29588 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29589
29590         update-copyright: don't trip on non-FSF copyright statements
29591         * build-aux/update-copyright: Fix so that the first correctly
29592         formatted FSF copyright statement is recognized no matter what
29593         appears before it.  Update documentation.
29594         * tests/test-update-copyright.sh: Test that.
29595
29596 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29597
29598         update-copyright: clean up code a little
29599         * build-aux/update-copyright: Append "_re" to the name of any
29600         variable holding a regular expression.
29601         Replace "old" and "new" with "stmt" in variable names.
29602         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
29603         handled correctly.
29604         Format code more consistently.
29605
29606 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29607
29608         update-copyright-tests: improve portability
29609         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
29610         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
29611
29612 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
29613
29614         update-copyright: support @copyright{} and &copy;
29615         * build-aux/update-copyright: Implement and document.
29616         * tests/test-update-copyright.sh: Test.
29617
29618 2009-08-04  Jim Meyering  <meyering@redhat.com>
29619
29620         update-copyright-tests: correctly test EOL=\r\n handling
29621         * tests/test-update-copyright.sh: Put \r at the end of some lines
29622         for the dos-eol tests.  Based on a patch by Joel E. Denny.
29623
29624         maint.mk: make update-copyright exclusion list more configurable
29625         * top/maint.mk (update-copyright): Default to excluding COPYING,
29626         but allow an override, in case someone does want to update that file.
29627
29628         maint.mk: don't update copyright date in COPYING
29629         * top/maint.mk (update-copyright): Exclude COPYING.
29630
29631         maint.mk: add a copyright-updating rule
29632         * top/maint.mk (update-copyright): New rule.
29633         Derived from coreutils/Makefile.am.
29634
29635         update-copyright: rename some variables
29636         * build-aux/update-copyright: Rename a few variables for clarity.
29637         Tweak syntax.  List Joel E. Denny as coauthor.
29638
29639 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
29640
29641         update-copyright: fix bug for 2-digit last year and add tests
29642         * build-aux/update-copyright: Fix bug.
29643         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
29644         specified.
29645         * modules/update-copyright-tests: New
29646         * tests/test-update-copyright.sh: New.
29647
29648 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29649
29650         update-copyright: handle leading tabs in line prefix
29651         * build-aux/update-copyright: Count leading tabs as 8 spaces
29652         when computing margin.  This helps with the formatting of
29653         ChangeLogs, for example.
29654         Fix documentation a little.
29655
29656 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29657
29658         update-copyright: support EOL=\r\n
29659         * build-aux/update-copyright: Implement that.
29660
29661 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29662
29663         update-copyright: automatically format copyright statements
29664         * build-aux/update-copyright: Implement that.
29665         Also, be a little more predictable and safer by always failing
29666         when the full copyright format is not perfectly recognized as an
29667         unbroken whole.  Discussed at
29668         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
29669         Rewrite documentation.
29670
29671 2009-08-03  Bruno Haible  <bruno@clisp.org>
29672
29673         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
29674
29675 2009-08-02  Bruno Haible  <bruno@clisp.org>
29676
29677         Tests for module 'uname'.
29678         * modules/uname-tests: New file.
29679         * tests/test-uname.c: New file.
29680
29681         New module 'uname'.
29682         * lib/uname.c: New file.
29683         * m4/uname.m4: New file.
29684         * modules/uname: New file.
29685         * doc/posix-functions/uname.texi: Mention the new module.
29686
29687 2009-08-02  Bruno Haible  <bruno@clisp.org>
29688
29689         Tests for module 'sys_utsname'.
29690         * modules/sys_utsname-tests: New file.
29691         * tests/test-sys_utsname.c: New file.
29692
29693         New module 'sys_utsname'.
29694         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
29695         * m4/sys_utsname_h.m4: New file.
29696         * modules/sys_utsname: New file.
29697         * doc/posix-headers/sys_utsname.texi: Mention the new module.
29698
29699 2009-08-02  Bruno Haible  <bruno@clisp.org>
29700
29701         Implicitly initialize the sockets library.
29702         * lib/gethostname.c: Include sockets.h.
29703         (rpl_gethostname): Invoke gl_sockets_startup.
29704         * lib/socket.c: Include sockets.h.
29705         (rpl_socket): Invoke gl_sockets_startup.
29706         * modules/gethostname (Depends-on): Add sockets.
29707         * modules/socket (Depends-on): Likewise.
29708         * tests/test-poll.c: Don't include sockets.h.
29709         (main): Don't invoke gl_sockets_startup.
29710         * tests/test-select.c: Don't include sockets.h.
29711         (main): Don't invoke gl_sockets_startup.
29712
29713 2009-08-02  Bruno Haible  <bruno@clisp.org>
29714
29715         Allow multiple calls to gl_sockets_startup.
29716         * lib/sockets.c (initialized_sockets_version): New variable.
29717         (gl_sockets_startup): Do nothing if already called for this or a higher
29718         version.
29719         (gl_sockets_cleanup): Reset initialized_sockets_version.
29720
29721 2009-08-03  Simon Josefsson  <simon@josefsson.org>
29722
29723         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
29724         different project/version.
29725
29726 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
29727             Bruno Haible  <bruno@clisp.org>
29728
29729         Tests for module 'pipe-filter-gi'.
29730         * modules/pipe-filter-gi-tests: New file.
29731         * tests/test-pipe-filter-gi1.sh: New file.
29732         * tests/test-pipe-filter-gi1.c: New file.
29733         * tests/test-pipe-filter-gi2.sh: New file.
29734         * tests/test-pipe-filter-gi2-main.c: New file.
29735         * tests/test-pipe-filter-gi2-child.c: New file.
29736
29737         New module 'pipe-filter-gi'.
29738         * lib/pipe-filter-gi.c: New file.
29739         * modules/pipe-filter-gi: New file.
29740
29741 2009-08-02  Bruno Haible  <bruno@clisp.org>
29742             Paolo Bonzini  <bonzini@gnu.org>
29743
29744         Tests for module 'pipe-filter-ii'.
29745         * modules/pipe-filter-ii-tests: New file.
29746         * tests/test-pipe-filter-ii1.sh: New file.
29747         * tests/test-pipe-filter-ii1.c: New file.
29748         * tests/test-pipe-filter-ii2.sh: New file.
29749         * tests/test-pipe-filter-ii2-main.c: New file.
29750         * tests/test-pipe-filter-ii2-child.c: New file.
29751
29752         New module 'pipe-filter-ii'.
29753         * lib/pipe-filter.h: New file.
29754         * lib/pipe-filter-ii.c: New file.
29755         * lib/pipe-filter-aux.h: New file.
29756         * modules/pipe-filter-ii: New file.
29757
29758 2009-08-02  Simon Josefsson  <simon@josefsson.org>
29759
29760         * lib/gc-libgcrypt.c: Change copyright to FSF.
29761         * lib/gc-gnulib.c: Likewise.
29762
29763 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
29764
29765         * lib/gethostname.c: Include limits.h.
29766
29767 2009-08-02  Simon Josefsson  <simon@josefsson.org>
29768             Bruno Haible  <bruno@clisp.org>
29769
29770         Ensure HOST_NAME_MAX as part of the gethostname module.
29771         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
29772         define also HOST_NAME_MAX.
29773         * tests/test-gethostname.c: Include <limits.h>.
29774         (main): Check also HOST_NAME_MAX.
29775         * doc/posix-headers/limits.texi: Document the mingw problem.
29776
29777 2009-08-02  Bruno Haible  <bruno@clisp.org>
29778
29779         * lib/gethostname.c (gethostname): Fix handling of large len argument.
29780         Add comments.
29781
29782 2009-03-31  Simon Josefsson  <simon@josefsson.org>
29783
29784         * lib/gethostname.c: Add Windows wrapper.
29785         * m4/gethostname.m4: Look for gethostname in -lws2_32.
29786         * modules/gethostname: Depend on sys_socket & errno, for also
29787         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
29788         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
29789
29790 2009-07-31  Jim Meyering  <meyering@redhat.com>
29791
29792         getloadavg: fix symbol name in comment
29793         * lib/getloadavg.c: Correct a typo I introduced when adding
29794         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
29795         Matt Kraai spotted the problem.
29796
29797 2009-07-29  Matt Kraai  <mkraai@beckman.com>
29798
29799         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
29800         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
29801         code also if ! defined N_NAME_POINTER.
29802         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
29803         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
29804         but the n_name member is a 12-byte array.
29805
29806 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
29807
29808         update-copyright: generalize comment handling
29809         * build-aux/update-copyright: Handle copyright statements
29810         within more comment styles.
29811         Document usage.
29812         Report any file with an external copyright holder or parse failure.
29813
29814 2009-07-29  Jim Meyering  <meyering@redhat.com>
29815
29816         mktime: correct setting of REPLACE_MKTIME
29817         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
29818
29819         update-copyright: new module
29820         * modules/update-copyright: New file.
29821         * build-aux/update-copyright: New file.
29822         * MODULES.html.sh (maint+release support): Add update-copyright.
29823
29824 2009-07-27  Bruno Haible  <bruno@clisp.org>
29825
29826         Fix compilation error when <ctime> is used and mktime is replaced.
29827         * lib/time.in.h (mktime): New declaration.
29828         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
29829         REPLACE_MKTIME instead of defining mktime in config.h.
29830         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
29831         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
29832         Reported by Ross McFarland <rwmcfa1@neces.com>.
29833
29834 2009-07-27  Bruno Haible  <bruno@clisp.org>
29835
29836         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
29837         Reported by Matt Kraai <mkraai@beckman.com>.
29838
29839 2009-07-25  Jim Meyering  <meyering@redhat.com>
29840
29841         maint.mk: avoid warnings about missing files
29842         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
29843         diagnostic when .prev-version does not exist.
29844         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
29845         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
29846         nonexistent cfg.mk.
29847         Suggestions from Simon Josefsson.
29848
29849 2009-07-25  Bruno Haible  <bruno@clisp.org>
29850
29851         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
29852         defined as macros. Needed on QNX 6.4.1.
29853         Reported by Matt Kraai <mkraai@beckman.com>.
29854
29855 2009-07-23  Jim Meyering  <meyering@redhat.com>
29856
29857         maint.mk: invoke "make dist" with a working value of XZ_OPT
29858         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
29859
29860 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
29861
29862         Make fseeko.c compile on QNX.
29863         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
29864
29865 2009-07-22  Peter Simons  <simons@cryp.to>
29866
29867         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
29868         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
29869         * lib/md4.h: Likewise.
29870         * lib/md5.h: Likewise.
29871         * lib/sha1.h: Likewise.
29872         * lib/sha256.h: Likewise.
29873         * lib/sha512.h: Likewise.
29874
29875         tests-sha1: don't assign literal string to 'char *' variable
29876         * tests/test-sha1.c (main): Declare locals with "const" to match
29877         attributes of the right hand side.
29878
29879 2009-07-21  Eric Blake  <ebb9@byu.net>
29880
29881         dup2: fix more mingw problems
29882         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
29883         fd to itself.
29884         * doc/posix-functions/dup2.texi (dup2): Document the bug.
29885         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
29886         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
29887         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
29888         care of mingw bugs.
29889
29890 2009-07-21  Jim Meyering  <meyering@redhat.com>
29891
29892         vc-list-files: avoid failure when /bin/sh is dash
29893         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
29894         On some Debian based systems, /bin/sh is a symlink to dash, and running
29895         this command would omit the "/" following each 'tests' prefix:
29896           dash -x build-aux/vc-list-files -C . tests
29897         That is because bash and dash work differently:
29898           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
29899           bash ok
29900           dash odd
29901
29902 2009-07-21  Eric Blake  <ebb9@byu.net>
29903
29904         dup2-tests: test previous patch
29905         * modules/dup2-tests: New file.
29906         * tests/test-dup2.c: Likewise.
29907         * tests/test-open.c (main): Avoid unspecified behavior.
29908         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
29909         test.
29910
29911         dup2: work around mingw and cygwin 1.5 bug
29912         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
29913         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29914         * modules/unistd (Makefile.am): Substitute it.
29915         * lib/unistd.in.h (dup2): Declare the replacement.
29916         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
29917         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
29918         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
29919         * modules/execute (Depends-on): Add dup2.
29920         * modules/fseterr (Depends-on): Likewise.
29921         * modules/pipe (Depends-on): Likewise.
29922         * modules/posix_spawn-internal (Depends-on): Likewise.
29923
29924 2009-07-21  Bruno Haible  <bruno@clisp.org>
29925
29926         * modules/.gitattributes: New file.
29927
29928 2009-07-20  Bruno Haible  <bruno@clisp.org>
29929
29930         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
29931         (main): Use it.
29932
29933 2009-07-20  Eric Blake  <ebb9@byu.net>
29934
29935         test-pipe: make a bit more robust.
29936         * tests/test-pipe.c (myerr): Allow error messages regardless of
29937         what we do to stderr.
29938         (test_pipe): Rearrange to avoid deadlock.
29939         (child_main): Try a larger read, to ensure we avoided deadlock.
29940         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
29941         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
29942         if misused.
29943
29944 2009-07-19  Jim Meyering  <meyering@redhat.com>
29945
29946         fts: avoid false-positive cycle-detection
29947         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
29948         for each new command line argument.
29949
29950 2009-07-19  Bruno Haible  <bruno@clisp.org>
29951
29952         Fix build error on mingw with the modules sys_select and unistd.
29953         * modules/acl-tests (Depends-on): Add close.
29954         * modules/binary-io-tests (Depends-on): Likewise.
29955         * modules/closein-tests (Depends-on): Likewise.
29956         * modules/flock-tests (Depends-on): Likewise.
29957         * modules/fsync-tests (Depends-on): Likewise.
29958         * modules/lseek-tests (Depends-on): Likewise.
29959         * modules/pipe-tests (Depends-on): Likewise.
29960         * modules/posix_spawn-tests (Depends-on): Likewise.
29961         * modules/posix_spawnp-tests (Depends-on): Likewise.
29962         * modules/stat-time-tests (Depends-on): Likewise.
29963         * modules/yesno-tests (Depends-on): Likewise.
29964
29965 2009-07-19  Bruno Haible  <bruno@clisp.org>
29966
29967         Unify conditionals.
29968         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
29969         macros, not at the compiler macros.
29970         * lib/pipe.c: Likewise.
29971         * lib/execute.c: Likewise.
29972         * lib/spawni.c: Likewise.
29973
29974 2009-07-19  Bruno Haible  <bruno@clisp.org>
29975
29976         Fix handling of closed stdin/stdout/stderr on mingw.
29977         * lib/w32spawn.h: Include unistd.h.
29978         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
29979         file descriptor with O_NOINHERIT flag.
29980         (fd_safer_noinherit): New function, based on fd-safer.c.
29981         (dup_safer_noinherit): New function, based on dup-safer.c.
29982         (undup_safer_noinherit): New function.
29983         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
29984         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
29985         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
29986         instead of fd_safer.
29987         * tests/test-pipe.c: Include <windows.h>.
29988         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
29989         result.
29990
29991         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
29992         from main.
29993         (test_pipe): Pass an extra argument for disambiguation.
29994         (main): Invoke parent_main or child_main.
29995
29996         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
29997         consistently.
29998
29999 2009-07-18  Eric Blake  <ebb9@byu.net>
30000
30001         test-pipe: fix mingw build
30002         * tests/test-pipe.c (main): Avoid fcntl on mingw.
30003
30004 2009-07-18  Bruno Haible  <bruno@clisp.org>
30005
30006         * modules/pipe-tests (Makefile.am): Fix typo.
30007
30008 2009-07-18  Eric Blake  <ebb9@byu.net>
30009
30010         error: fix mingw build
30011         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
30012         Reported by Bruno Haible.
30013
30014         error: avoid undefined use of stdout
30015         * lib/error.c (error, error_at_line): Check that fd 1 is open
30016         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
30017         is handling faults and the close_stdout module wants to report the
30018         detection of closed stdout as an error.
30019
30020 2009-07-17  Eric Blake  <ebb9@byu.net>
30021
30022         pipe: be robust in face of closed fds
30023         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
30024         should cause child to misbehave.
30025         * modules/pipe-tests: New module.
30026         * tests/test-pipe.c: New file.
30027         * tests/test-pipe.sh: New file.
30028         Reported by Akim Demaille.
30029
30030 2009-07-14  Bruno Haible  <bruno@clisp.org>
30031
30032         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
30033         Reported by anonymous kc.
30034
30035 2009-07-07  Jim Meyering  <meyering@redhat.com>
30036
30037         maint.mk: don't look for translatable strings in *.m4 or *.mk
30038         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
30039         when searching for translatable strings.
30040
30041 2009-07-05  Jim Meyering  <meyering@redhat.com>
30042
30043         remove superfluous parentheses in STREQ definition
30044         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
30045         * lib/getugroups.c (STREQ): Likewise.
30046         * lib/fnmatch.c (STREQ): Likewise.
30047         Spotted by Bruno Haible.
30048
30049 2009-07-04  Jim Meyering  <meyering@redhat.com>
30050
30051         argv-iter: new module
30052         * MODULES.html.sh: Add argv-iter.
30053         * lib/argv-iter.c, lib/argv-iter.h: New files.
30054         * modules/argv-iter: New file.
30055         * modules/argv-iter-tests: New file.
30056         * tests/test-argv-iter.c: Test it.
30057
30058 2009-07-04  Bruno Haible  <bruno@clisp.org>
30059
30060         Fix assertion.
30061         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
30062         contains more exact copies of a given entry than file2, leave the extra
30063         copies unpaired rather than aborting.
30064         Reported by Eric Blake.
30065
30066 2009-07-02  Bruno Haible  <bruno@clisp.org>
30067
30068         Speedup git-merge-changelog for git cherry-pick.
30069         * lib/git-merge-changelog.c (struct entries_mapping): New type.
30070         (entries_mapping_get): New function, extracted from compute_mapping.
30071         (entries_mapping_reverse_get): New function.
30072         (compute_mapping): Add a 'full' argument. Return the result in a
30073         'struct entries_mapping'.
30074         (main): Update. Access the mappings through entries_mapping_get.
30075         Reported by Eric Blake.
30076
30077 2009-07-02  Bruno Haible  <bruno@clisp.org>
30078
30079         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
30080         best_i.
30081
30082 2009-07-02  Bruno Haible  <bruno@clisp.org>
30083
30084         Speed up approximate search for matching ChangeLog entries.
30085         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
30086         argument. Call fstrcmp_bounded instead of fstrcmp.
30087         (compute_mapping, try_split_merged_entry, main): Update callers.
30088
30089 2009-07-02  Bruno Haible  <bruno@clisp.org>
30090
30091         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
30092
30093 2009-06-30  Bruno Haible  <bruno@clisp.org>
30094
30095         Reduce the number of uc_is_cased calls.
30096         * lib/unicase.h (casing_suffix_context_t): Add
30097         'first_char_except_ignorable' field.
30098         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
30099         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
30100         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
30101         Update initializer.
30102         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
30103         case-ignorable characters.
30104         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
30105         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
30106         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
30107         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
30108         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
30109
30110 2009-06-30  Bruno Haible  <bruno@clisp.org>
30111
30112         Tests for module 'unicase/ignorable'.
30113         * modules/unicase/ignorable-tests: New file.
30114         * tests/unicase/test-ignorable.c: New file, generated by
30115         gen-uni-tables.
30116
30117         Tests for module 'unicase/cased'.
30118         * modules/unicase/cased-tests: New file.
30119         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
30120         * tests/unicase/test-predicate-part1.h: New file, derived from
30121         tests/unictype/test-predicate-part1.h.
30122         * tests/unicase/test-predicate-part2.h: New file, same as
30123         tests/unictype/test-predicate-part2.h.
30124
30125         Fix evaluation of "Before C" condition of FINAL_SIGMA.
30126         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
30127         (output_casing_properties): New function.
30128         (main): Call it.
30129         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
30130         * lib/unicase/cased.c: Include unictype/bitmap.h.
30131         (uc_is_cased): Define through a bitmap lookup.
30132         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
30133         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
30134         (uc_is_case_ignorable): Define through a bitmap lookup.
30135         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
30136         lib/unictype/bitmap.h.
30137         (Depends-on): Add inline. Clean up.
30138         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
30139         lib/unictype/bitmap.h.
30140         (Depends-on): Add inline. Clean up.
30141         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
30142         recognition.
30143         * tests/unicase/test-u16-tolower.c (main): Likewise.
30144         * tests/unicase/test-u32-tolower.c (main): Likewise.
30145
30146 2009-06-30  Bruno Haible  <bruno@clisp.org>
30147
30148         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
30149         * lib/unicase/u16-casemap.c: Likewise.
30150         * lib/unicase/u32-casemap.c: Likewise.
30151
30152 2009-06-29  Bruno Haible  <bruno@clisp.org>
30153
30154         Define u32_casefold as a wrapper around u32_ct_casefold.
30155         * lib/unicase/u32-casefold.c: Update.
30156         * modules/unicase/u32-casefold (Depends-on): Add
30157         unicase/u32-ct-casefold, unicase/empty-prefix-context,
30158         unicase/empty-suffix-context. Clean up.
30159
30160         Define u16_casefold as a wrapper around u16_ct_casefold.
30161         * lib/unicase/u16-casefold.c: Update.
30162         * modules/unicase/u16-casefold (Depends-on): Add
30163         unicase/u16-ct-casefold, unicase/empty-prefix-context,
30164         unicase/empty-suffix-context. Clean up.
30165
30166         Define u8_casefold as a wrapper around u8_ct_casefold.
30167         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
30168         * lib/unicase/u8-casefold.c: Update.
30169         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
30170         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30171
30172         Define u32_totitle as a wrapper around u32_ct_totitle.
30173         * lib/unicase/u32-totitle.c: Update.
30174         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
30175         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30176
30177         Define u16_totitle as a wrapper around u16_ct_totitle.
30178         * lib/unicase/u16-totitle.c: Update.
30179         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
30180         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30181
30182         Define u8_totitle as a wrapper around u8_ct_totitle.
30183         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
30184         functions.
30185         (FUNC): Delegate to U_CT_TOTITLE.
30186         * lib/unicase/u8-totitle.c: Update.
30187         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
30188         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30189
30190         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
30191         invocation.
30192         * modules/unicase/u32-tolower (Depends-on): Add
30193         unicase/empty-prefix-context, unicase/empty-suffix-context.
30194
30195         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
30196         invocation.
30197         * modules/unicase/u16-tolower (Depends-on): Add
30198         unicase/empty-prefix-context, unicase/empty-suffix-context.
30199
30200         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
30201         * modules/unicase/u8-tolower (Depends-on): Add
30202         unicase/empty-prefix-context, unicase/empty-suffix-context.
30203
30204         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
30205         invocation.
30206         * modules/unicase/u32-toupper (Depends-on): Add
30207         unicase/empty-prefix-context, unicase/empty-suffix-context.
30208
30209         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
30210         invocation.
30211         * modules/unicase/u16-toupper (Depends-on): Add
30212         unicase/empty-prefix-context, unicase/empty-suffix-context.
30213
30214         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
30215         * modules/unicase/u8-toupper (Depends-on): Add
30216         unicase/empty-prefix-context, unicase/empty-suffix-context.
30217
30218         New module 'unicase/u32-ct-casefold'.
30219         * lib/unicase/u32-ct-casefold.c: New file.
30220         * modules/unicase/u32-ct-casefold: New file.
30221
30222         New module 'unicase/u16-ct-casefold'.
30223         * lib/unicase/u16-ct-casefold.c: New file.
30224         * modules/unicase/u16-ct-casefold: New file.
30225
30226         New module 'unicase/u8-ct-casefold'.
30227         * lib/unicase/u8-ct-casefold.c: New file.
30228         * lib/unicase/u-ct-casefold.h: New file, derived from
30229         lib/unicase/u-casefold.h.
30230         * modules/unicase/u8-ct-casefold: New file.
30231
30232         New module 'unicase/u32-ct-totitle'.
30233         * lib/unicase/u32-ct-totitle.c: New file.
30234         * modules/unicase/u32-ct-totitle: New file.
30235
30236         New module 'unicase/u16-ct-totitle'.
30237         * lib/unicase/u16-ct-totitle.c: New file.
30238         * modules/unicase/u16-ct-totitle: New file.
30239
30240         New module 'unicase/u8-ct-totitle'.
30241         * lib/unicase/u8-ct-totitle.c: New file.
30242         * lib/unicase/u-ct-totitle.h: New file, derived from
30243         lib/unicase/u-totitle.h.
30244         * modules/unicase/u8-ct-totitle: New file.
30245
30246         New module 'unicase/u32-ct-tolower'.
30247         * lib/unicase/u32-ct-tolower.c: New file.
30248         * modules/unicase/u32-ct-tolower: New file.
30249
30250         New module 'unicase/u16-ct-tolower'.
30251         * lib/unicase/u16-ct-tolower.c: New file.
30252         * modules/unicase/u16-ct-tolower: New file.
30253
30254         New module 'unicase/u8-ct-tolower'.
30255         * lib/unicase/u8-ct-tolower.c: New file.
30256         * modules/unicase/u8-ct-tolower: New file.
30257
30258         New module 'unicase/u32-ct-toupper'.
30259         * lib/unicase/u32-ct-toupper.c: New file.
30260         * modules/unicase/u32-ct-toupper: New file.
30261
30262         New module 'unicase/u16-ct-toupper'.
30263         * lib/unicase/u16-ct-toupper.c: New file.
30264         * modules/unicase/u16-ct-toupper: New file.
30265
30266         New module 'unicase/u8-ct-toupper'.
30267         * lib/unicase/u8-ct-toupper.c: New file.
30268         * modules/unicase/u8-ct-toupper: New file.
30269
30270         Add context arguments to u*_casemap functions.
30271         * lib/unicase/unicasemap.h: Include unicase.h.
30272         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
30273         suffix_context arguments.
30274         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
30275         functions.
30276         (FUNC): Add prefix_context and suffix_context arguments. Use
30277         uc_is_cased and uc_is_case_ignorable.
30278         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
30279         * lib/unicase/u16-casemap.c: Likewise.
30280         * lib/unicase/u32-casemap.c: Likewise.
30281         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
30282         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30283         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
30284         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30285         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
30286         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30287
30288         New module 'unicase/u32-suffix-context'.
30289         * lib/unicase/u32-suffix-context.c: New file.
30290         * modules/unicase/u32-suffix-context: New file.
30291
30292         New module 'unicase/u16-suffix-context'.
30293         * lib/unicase/u16-suffix-context.c: New file.
30294         * modules/unicase/u16-suffix-context: New file.
30295
30296         New module 'unicase/u8-suffix-context'.
30297         * lib/unicase/u8-suffix-context.c: New file.
30298         * lib/unicase/u-suffix-context.h: New file.
30299         * modules/unicase/u8-suffix-context: New file.
30300
30301         New module 'unicase/empty-suffix-context'.
30302         * lib/unicase/empty-suffix-context.c: New file.
30303         * modules/unicase/empty-suffix-context: New file.
30304
30305         New module 'unicase/u32-prefix-context'.
30306         * lib/unicase/u32-prefix-context.c: New file.
30307         * modules/unicase/u32-prefix-context: New file.
30308
30309         New module 'unicase/u16-prefix-context'.
30310         * lib/unicase/u16-prefix-context.c: New file.
30311         * modules/unicase/u16-prefix-context: New file.
30312
30313         New module 'unicase/u8-prefix-context'.
30314         * lib/unicase/u8-prefix-context.c: New file.
30315         * lib/unicase/u-prefix-context.h: New file.
30316         * lib/unicase/context.h: New file.
30317         * modules/unicase/u8-prefix-context: New file.
30318
30319         New module 'unicase/empty-prefix-context'.
30320         * lib/unicase/empty-prefix-context.c: New file.
30321         * modules/unicase/empty-prefix-context: New file.
30322
30323         New module 'unicase/ignorable'.
30324         * lib/unicase/ignorable.c: New file.
30325         * modules/unicase/ignorable: New file.
30326
30327         New module 'unicase/cased'.
30328         * lib/unicase/caseprop.h: New file.
30329         * lib/unicase/cased.c: New file.
30330         * modules/unicase/cased: New file.
30331
30332         New functions for case mapping of substrings.
30333         * lib/unicase.h (casing_prefix_context_t): New type.
30334         (unicase_empty_prefix_context): New variable.
30335         (u8_casing_prefix_context, u16_casing_prefix_context,
30336         u32_casing_prefix_context, u8_casing_prefixes_context,
30337         u16_casing_prefixes_context, u32_casing_prefixes_context): New
30338         declarations.
30339         (casing_suffix_context_t): New type.
30340         (unicase_empty_suffix_context): New variable.
30341         (u8_casing_suffix_context, u16_casing_suffix_context,
30342         u32_casing_suffix_context, u8_casing_suffixes_context,
30343         u16_casing_suffixes_context, u32_casing_suffixes_context,
30344         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
30345         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
30346         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
30347         declarations.
30348
30349 2009-06-28  Jim Meyering  <meyering@redhat.com>
30350
30351         boostrap: indent only with spaces
30352         * build-aux/bootstrap: Indent only with spaces, never TABs.
30353
30354         bootstrap: split long lines
30355         * build-aux/bootstrap: Keep line length < 80.
30356
30357         bootstrap: sync from coreutils
30358         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
30359         just as autoreconf does.  Verify a list of prerequisite
30360         package-name,version-number pairs if defined in bootstrap.conf.
30361         Refer to README-prereq, if prerequisites are not satisfied.
30362
30363 2009-06-27  Eric Blake  <ebb9@byu.net>
30364
30365         tests: add test for bogus NULL definition
30366         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
30367         * tests/test-stdlib.c: Likewise.
30368         * tests/test-string.c: Likewise.
30369         * tests/test-locale.c: Likewise.
30370         * tests/test-unistd.c: Likewise.
30371         * modules/stdio-tests (Depends-on): Add verify.
30372         * modules/stdlib-tests (Depends-on): Likewise.
30373         * modules/string-tests (Depends-on): Likewise.
30374         * modules/locale-tests (Depends-on): Likewise.
30375         * modules/unistd-tests (Depends-on): Likewise.
30376
30377 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
30378
30379         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
30380         self-explaining comment.
30381         * m4/selinux-selinux-h: Update serial.
30382         (gl_LIBSELINUX): New macro, adding a warning for missing development
30383         packages to code extracted from...
30384         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
30385         Add warning for missing development packages here, too.
30386
30387 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
30388
30389         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
30390
30391 2009-06-25  Eric Blake  <ebb9@byu.net>
30392
30393         version-etc: fix regression
30394         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
30395         gcc.
30396         (version_etc): Use it, to catch bugs with trailing NULL.
30397         * lib/version-etc.c (version_etc_arn): Delete unused argument.
30398         (version_etc_va): Fix logic bug.
30399         * modules/version-etc-tests: Add test.
30400         * tests/test-version-etc.c: New file.
30401         * tests/test-version-etc.sh: Likewise.
30402
30403 2009-06-25  Sam Steingold  <sds@gnu.org>
30404
30405         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
30406         mbtowc declaration.
30407
30408 2009-06-25  Eric Blake  <ebb9@byu.net>
30409
30410         fpurge: migrate into <stdio.h>
30411         * lib/fpurge.h: Delete...
30412         * lib/stdio.in.h (fpurge): ...and declare here, instead.
30413         * lib/fpurge.c (fpurge): Change declaring header.
30414         * modules/fpurge (Files): Drop deleted file.
30415         (Depends-on): Add stdio.
30416         (configure.ac): Set witness.
30417         * modules/stdio (Makefile.am): Support fpurge macros.
30418         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30419         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
30420         * lib/fflush.c: Update client.
30421         * tests/test-fpurge.c: Likewise.
30422         * NEWS: Mention the change.
30423
30424 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
30425
30426         * lib/argp-version-etc.c (program_authors): Add const
30427         qualifier.
30428         * lib/version-etc.c: Fix typos in the comments.
30429         * modules/argp-version-etc: Depends on version-etc.
30430
30431 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
30432
30433         argp-version-etc: new module.
30434
30435         * lib/argp-version-etc.c: New file.
30436         * lib/argp-version-etc.h: New file.
30437         * modules/argp-version-etc: New file.
30438         * modules/argp-version-etc-tests: New file.
30439         * tests/test-argp-version-etc.c: New test.
30440         * tests/test-argp-version-etc-1.sh: New test.
30441
30442 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
30443
30444         Provide additional interfaces and documentation for version-etc
30445         module.
30446
30447         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
30448         interfaces.
30449         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
30450         prototypes.
30451
30452 2009-06-24  Bruno Haible  <bruno@clisp.org>
30453
30454         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
30455         HAVE_LIB${NAME} macro.
30456         Reported by Sam Steingold <sds@gnu.org>.
30457
30458 2009-06-23  Simon Josefsson  <simon@josefsson.org>
30459
30460         * modules/hash-tests (test_hash_LDADD): Link to libintl when
30461         needed.
30462
30463 2009-06-21  Bruno Haible  <bruno@clisp.org>
30464
30465         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
30466         work.
30467         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
30468         together with LIB${NAME}, LTLIB${NAME}.
30469         Reported by Sam Steingold <sds@gnu.org>.
30470
30471 2009-06-20  Jim Meyering  <meyering@redhat.com>
30472
30473         tests: make sc_require_test_exit_idiom more generic
30474         * top/maint.mk (Exit_witness_file): New overridable variable.
30475         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
30476         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
30477
30478 2009-06-19  Jim Meyering  <meyering@redhat.com>
30479
30480         hash: reverse order of src/dst parameters in an internal interface
30481         * lib/hash.c (transfer_entries): Reverse order of parameters to
30482         put DST before SRC.  Adjust callers.
30483
30484         tests: test-hash: avoid wholesale duplication
30485         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
30486         Instead, use a loop and add a single conditional.
30487
30488         tests: test-hash: allow seed selection via a command line argument
30489         * tests/test-hash.c (get_seed): New function.
30490         (main): Use it.
30491
30492 2009-06-19  Eric Blake  <ebb9@byu.net>
30493
30494         hash: avoid memory leak on allocation failure
30495         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
30496         failure.  Factor repeated algorithm...
30497         (transfer_entries): ...into new helper routine.
30498         (hash_delete): React to hash_rehash return value.
30499
30500         hash: reduce memory pressure in hash_rehash no-op case
30501         * lib/hash.c (next_prime): Avoid overflow.
30502         (hash_initialize): Factor bucket size computation...
30503         (compute_bucket_size): ...into new helper function.
30504         (hash_rehash): Use new function and open coding to reduce memory
30505         pressure, and avoid a memory leak in USE_OBSTACK code.
30506         Reported by Jim Meyering.
30507
30508 2009-06-18  Eric Blake  <ebb9@byu.net>
30509
30510         hash: make rotation more obvious
30511         * modules/hash (Depends-on): Add bitrotate and stdint.
30512         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
30513         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
30514         (SIZE_MAX): Rely on headers for definition.
30515         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
30516         (raw_hasher): Use rotr_sz.
30517         Suggested by Jim Meyering.
30518
30519         hash: fix memory leak in last patch
30520         * lib/hash.c (hash_rehash): Avoid memory leak.
30521
30522         hash: avoid no-op rehashing
30523         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
30524
30525         hash: provide default callback functions
30526         * lib/hash.c (raw_hasher, raw_comparator): New functions.
30527         (hash_initialize): Use them as defaults.
30528         * tests/test-hash.c (main): Test this.
30529
30530         hash: minor optimization
30531         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
30532         when possible.
30533         (hash_initialize): Document this promise.
30534         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
30535         * tests/test-hash.c (hash_compare_strings): Test this.
30536
30537 2009-06-18  Bruno Haible  <bruno@clisp.org>
30538
30539         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
30540         going to be replaced anyway.
30541
30542 2009-06-18  Bruno Haible  <bruno@clisp.org>
30543
30544         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
30545         in one place.
30546         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
30547         be replaced anyway.
30548
30549 2009-06-18  Eric Blake  <ebb9@byu.net>
30550
30551         hash: check for resize before insertion
30552         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
30553         threshold before insertion, so that a pathological hash_rehash
30554         that fills every bucket can still trigger another rehash.
30555
30556 2009-06-18  Jim Meyering  <meyering@redhat.com>
30557
30558         hash-tests: add a loop around the small tests
30559         * tests/test-hash.c (main): Repeat small tests with selected
30560         small initial table sizes.
30561
30562 2009-06-17  Eric Blake  <ebb9@byu.net>
30563
30564         hash: minor cleanups
30565         * lib/hash.h (hash_entry): Make opaque, by moving...
30566         * lib/hash.c (hash_entry): ...here.
30567         (hash_insert): Clarify restrictions on what can be inserted.
30568         (hash_get_next): Clarify when it is safe to remove an element
30569         during traversal.
30570         (check_tuning): Skip verification when tuning is known safe.
30571         (hash_initialize): Clarify restrictions on tuning.
30572
30573 2009-06-17  Jim Meyering  <jim@meyering.net>
30574         and Eric Blake  <ebb9@byu.net>
30575
30576         hash-tests: new module
30577         * modules/hash-tests: New file.
30578         * tests/test-hash.c: New file.
30579
30580 2009-06-17  Eric Blake  <ebb9@byu.net>
30581
30582         strstr-simple: document new module
30583         * MODULES.html.sh: Document new module.
30584
30585         strstr, strcasestr: replace on platforms with broken memchr
30586         * modules/strstr: Split into...
30587         * modules/strstr-simple: ...new module that does not care about
30588         performance, but does care about glibc bug.
30589         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
30590         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
30591         if platform memchr is broken, per Debian bug 521737.
30592         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
30593         memchr.
30594         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
30595         * doc/posix-functions/strstr.texi (strstr): Document the fix.
30596         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
30597         * modules/mountlist (Depends-on): Add strstr-simple.
30598         * modules/gen-uni-tables (Depends-on): Likewise.
30599         * modules/argz (Depends-on): Add strstr.
30600
30601 2009-06-17  Bruno Haible  <bruno@clisp.org>
30602
30603         * modules/posix_spawn-internal (Depends-on): Add errno.
30604
30605 2009-06-17  Bruno Haible  <bruno@clisp.org>
30606
30607         Define missing ESTALE on Interix 3.5.
30608         * lib/errno.in.h (ESTALE): Assign a value if missing.
30609         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
30610         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
30611         missing.
30612         * doc/posix-headers/errno.texi: Mention the Interix bug.
30613         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
30614
30615 2009-06-15  Eric Blake  <ebb9@byu.net>
30616
30617         memchr, memchr2: add valgrind exception
30618         * lib/memchr.valgrind: New file.
30619         * lib/memchr2.valgrind: New file.
30620         * modules/memchr (Files): Distribute valgrind file.
30621         * modules/memchr2 (Files): Likewise.
30622
30623         docs: memchr is no longer obsolete
30624         * MODULES.html.sh: Move memchr from obsolete to string.h section.
30625         * lib/string.in.h (memchr): Simplify logic.
30626
30627 2009-06-14  Jim Meyering  <meyering@redhat.com>
30628
30629         link-follow: fix the "checking..." message to not mention trailing slash
30630         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
30631         never considered trailing slashes.
30632
30633 2009-06-14  Bruno Haible  <bruno@clisp.org>
30634
30635         * m4/memchr.m4: Mention also the bug on IA-64.
30636         * doc/posix-functions/memchr.texi: Likewise.
30637
30638 2009-06-12  Eric Blake  <ebb9@byu.net>
30639
30640         memchr: detect broken x86_64 and alpha implementations
30641         * modules/memchr-tests (Depends-on): Move mmap detection...
30642         * modules/memchr (Depends-on): ...here.
30643         (configure.ac): Set indicator.
30644         * lib/string.in.h (memchr): Declare replacement.
30645         * modules/string (Makefile.am): Trigger replacement.
30646         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
30647         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
30648         bugs.
30649         * doc/posix-functions/memchr.texi (memchr): Document the bug.
30650         * modules/getpagesize (License): Relax license.
30651
30652 2009-06-11  Bruno Haible  <bruno@clisp.org>
30653
30654         * lib/idpriv.h: Add more references.
30655
30656 2009-06-08  Bruno Haible  <bruno@clisp.org>
30657
30658         Tests for module 'idpriv-droptemp'.
30659         * modules/idpriv-droptemp-tests: New file.
30660         * tests/test-idpriv-droptemp.sh: New file.
30661         * tests/test-idpriv-droptemp.su.sh: New file.
30662         * tests/test-idpriv-droptemp.c: New file.
30663
30664         New module 'idpriv-droptemp'.
30665         * lib/idpriv-droptemp.c: New file.
30666         * modules/idpriv-droptemp: New file.
30667
30668 2009-06-08  Bruno Haible  <bruno@clisp.org>
30669
30670         Tests for module 'idpriv-drop'.
30671         * modules/idpriv-drop-tests: New file.
30672         * tests/test-idpriv-drop.sh: New file.
30673         * tests/test-idpriv-drop.su.sh: New file.
30674         * tests/test-idpriv-drop.c: New file.
30675
30676         New module 'idpriv-drop'.
30677         * lib/idpriv.h: New file.
30678         * lib-idpriv-drop.c: New file.
30679         * m4/idpriv.m4: New file.
30680         * modules/idpriv-drop: New file.
30681
30682 2009-06-08  Bruno Haible  <bruno@clisp.org>
30683
30684         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
30685         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30686         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30687         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30688         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30689         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30690         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30691
30692 2009-06-08  Eric Blake  <ebb9@byu.net>
30693
30694         test-strstr: use memory fence, when possible
30695         * tests/test-strstr.c (main): Use memory fence, in order to be
30696         more likely to trigger Debian bug 521737.
30697         * modules/strstr-tests (Files): Pull in additional files.
30698
30699         memchr: no longer obsolete, for wider field testing
30700         * modules/memchr (Status, Notice): Delete, this module is no
30701         longer obsolete.
30702         * modules/vasnprintf (Depends-on): Add memchr.
30703
30704 2009-06-07  Jim Meyering  <meyering@redhat.com>
30705
30706         hash: declare some functions with the warn_unused_result attribute
30707         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
30708
30709 2009-06-07  Bruno Haible  <bruno@clisp.org>
30710
30711         * tests/test-alignof.c: Don't test int64_t if it does not exist.
30712         Reported by Eric Blake.
30713
30714 2009-06-06  Eric Blake  <ebb9@byu.net>
30715
30716         test-alignof: fix typo with long double
30717         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
30718         compiler error.
30719
30720 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
30721
30722         Escape non-texinfo { and }s.
30723         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
30724         markup error.
30725
30726 2009-06-04  Jim Meyering  <meyering@redhat.com>
30727
30728         gitlog-to-changelog: don't infloop on an empty commit log
30729         * build-aux/gitlog-to-changelog: Warn about an empty log message.
30730         Reported by Boris Petersen <transacid@centerim.org>.
30731
30732 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
30733
30734         version-etc: extend for packagers
30735         Add three new configure options, intended for packagers:
30736           --with-packager="packager name"
30737           --with-packager-version="packager-specific version"
30738           --with-packager-bug-reports="packager bug reporting"
30739         An example with coreutils:
30740           $ ./configure \
30741             --with-packager=Gentoo \
30742             --with-packager-bug-report=http://bugs.gentoo.org/ \
30743             --with-packager-version="patchset 1.6"
30744           $ ./src/ls --version | head -n2
30745           ls (GNU coreutils) 7.1-dirty
30746           Packaged by Gentoo (patchset 1.6)
30747         Note that the bug reporting info via --help doesn't show up because
30748         coreutils uses its own custom emit_bug_reporting_address() implementation
30749         in src/system.h.  If it didn't, it'd look like:
30750           $ ./src/ls --help | tail -n4
30751           Report bugs to <bug-coreutils@gnu.org>.
30752           Report Gentoo bugs to <http://bugs.gentoo.org/>.
30753           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
30754           General help using GNU software: <http://www.gnu.org/gethelp/>.
30755         * lib/version-etc.c: Print new information, if provided.
30756         * m4/version-etc.m4: New file.
30757         * modules/version-etc (Files): Add m4/version-etc.m4.
30758         (configure.ac): Add gl_VERSION_ETC.
30759
30760 2009-05-31  Bruno Haible  <bruno@clisp.org>
30761
30762         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
30763         and 'int64_t'.
30764         * modules/alignof-tests (Dependencies): Add stdint.
30765         Reported by Eric Blake.
30766
30767 2009-05-31  Bruno Haible  <bruno@clisp.org>
30768
30769         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
30770         restriction due to compiler bugs.
30771         Reported by Eric Blake.
30772
30773 2009-05-31  Simon Josefsson  <simon@josefsson.org>
30774             Bruno Haible  <bruno@clisp.org>
30775
30776         Fix test-alignof failure.
30777         * lib/alignof.h (alignof_slot): New macro.
30778         (alignof_type): New macro, with the same semantics as the previous
30779         'alignof'.
30780         (alignof): Alias to alignof_slot.
30781         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
30782         check that the results are usable as constant expressions.
30783
30784 2009-05-31  Bruno Haible  <bruno@clisp.org>
30785
30786         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
30787         * tests/test-memchr.c (main): Check that memchr does not read past the
30788         first occurrence of the byte.
30789         * tests/test-strstr.c (main): Update comment.
30790         Suggested by Eric Blake.
30791
30792 2009-05-30  Bruno Haible  <bruno@clisp.org>
30793
30794         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
30795         detail how to use dumpbin.
30796         Reported by David Byron <dbyron@dbyron.com>.
30797
30798 2009-06-02  Simon Josefsson  <simon@josefsson.org>
30799
30800         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
30801
30802 2009-06-02  Simon Josefsson  <simon@josefsson.org>
30803
30804         * m4/manywarnings.m4: Add GCC 4.4 warnings.
30805
30806 2009-05-28  Bruno Haible  <bruno@clisp.org>
30807
30808         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
30809         build-aux/ files.
30810
30811 2009-05-28  Simon Josefsson  <simon@josefsson.org>
30812
30813         * gnulib-tool (func_import): Transform license on build-aux/ files too.
30814
30815 2009-05-27  Simon Josefsson  <simon@josefsson.org>
30816
30817         * gnulib-tool (sed_transform_main_lib_file)
30818         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
30819         regexps.
30820
30821 2009-05-26  Simon Josefsson  <simon@josefsson.org>
30822
30823         * tests/test-strstr.c: Add another self-test.
30824         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
30825         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
30826
30827 2009-05-23  Bruno Haible  <bruno@clisp.org>
30828
30829         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
30830         change.
30831
30832 2009-05-21  Bruno Haible  <bruno@clisp.org>
30833
30834         Simplify use of mode_t varargs.
30835         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
30836         uses 'mode_t' or 'int'.
30837         * lib/openat.c (openat): Likewise.
30838         * lib/open-safer.c (open_safer): Likewise.
30839         * m4/mode_t.m4: New file.
30840         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
30841         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
30842         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
30843         * modules/open (Files): Add m4/mode_t.m4.
30844         * modules/openat (Files): Likewise.
30845         * modules/fcntl-safer (Files): Likewise.
30846         Suggested by Eric Blake.
30847
30848 2009-05-21  Pádraig Brady  <P@draigbrady.com>
30849
30850         * doc/glibc-functions/fallocate.texi: New file.
30851         * doc/gnulib.texi: Include it.
30852
30853 2009-05-21  Eric Blake  <ebb9@byu.net>
30854             Bruno Haible  <bruno@clisp.org>
30855
30856         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
30857         invocations.
30858         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30859
30860 2009-05-21  Eric Blake  <ebb9@byu.net>
30861             Bruno Haible  <bruno@clisp.org>
30862
30863         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
30864         include_next. Fix of 2008-11-20 commit.
30865         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
30866         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
30867         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
30868         NEXT_MATH_H.
30869         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
30870         instead of NEXT_MATH_H.
30871
30872 2009-05-21  Bruno Haible  <bruno@clisp.org>
30873
30874         Avoid redefinition warnings for SIZE_MAX.
30875         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
30876         Reported by Simon Josefsson.
30877
30878 2009-05-21  Bruno Haible  <bruno@clisp.org>
30879
30880         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
30881         AC_CACHE_VAL.
30882
30883 2009-05-20  Bruno Haible  <bruno@clisp.org>
30884
30885         Make zeroptr.h work on mingw.
30886         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
30887         mprotect.
30888         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
30889         * modules/memchr2-tests (configure.ac): Likewise.
30890         * modules/memcmp-tests (configure.ac): Likewise.
30891         * modules/memmem-tests (configure.ac): Likewise.
30892         * modules/memrchr-tests (configure.ac): Likewise.
30893         Reported by Simon Josefsson.
30894
30895 2009-05-20  Simon Josefsson  <simon@josefsson.org>
30896
30897         * tests/test-glob.c: Include string.h for strcmp prototype.
30898
30899 2009-05-20  Simon Josefsson  <simon@josefsson.org>
30900
30901         * modules/getdelim (Depends-on): Add explicit stdint, although it
30902         was implicitly already pulled in via realloc-posix.
30903         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
30904
30905 2009-05-20  Simon Josefsson  <simon@josefsson.org>
30906
30907         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
30908         G. Christensen" <tgc@jupiterrise.com>.
30909         * m4/sys_socket_h.m4: Check for sa_family_t.
30910         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
30911         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
30912         * tests/test-sys_socket.c: Check that sa_family_t works.
30913
30914 2009-05-18  Eric Blake  <ebb9@byu.net>
30915
30916         maint.mk: allow gnulib_dir in VPATH build
30917         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
30918
30919 2009-05-15  Jim Meyering  <meyering@redhat.com>
30920
30921         maint.mk: Give gnulib_dir a default definition.
30922         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
30923         Thus, most packages no longer need to specify this variable in cfg.mk
30924
30925 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
30926
30927         rename.m4: fix typos that would make non-mingw cross-configure fail
30928         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
30929
30930 2009-05-13  Eric Blake  <ebb9@byu.net>
30931
30932         mmap-anon: avoid out-of-order autoconf expansion
30933         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
30934         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
30935         * modules/memchr-tests (Depends-on): Add extensions.
30936         * modules/memchr2-tests (Depends-on): Add extensions.
30937         * modules/memcmp-tests (Depends-on): Add extensions.
30938         * modules/memmem-tests (Depends-on): Add extensions.
30939         * modules/memrchr-tests (Depends-on): Add extensions.
30940
30941 2009-05-13  Bruno Haible  <bruno@clisp.org>
30942
30943         Make some tests ISO C 99 compliant.
30944         * tests/zerosize-ptr.h: New file.
30945         * tests/test-memchr.c: Include zerosize-ptr.h.
30946         (main): Use a zero-size object pointer instead of NULL.
30947         * tests/test-memchr2.c: Include zerosize-ptr.h.
30948         (main): Use a zero-size object pointer instead of NULL.
30949         * tests/test-memcmp.c: Include zerosize-ptr.h.
30950         (main): Use a zero-size object pointer instead of NULL.
30951         * tests/test-memmem.c: Include zerosize-ptr.h.
30952         (main): Use a zero-size object pointer instead of NULL.
30953         * tests/test-memrchr.c: Include zerosize-ptr.h.
30954         (main): Use a zero-size object pointer instead of NULL.
30955         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
30956         m4/mmap-anon.m4.
30957         (Depends-on): Add getpagesize.
30958         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30959         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
30960         m4/mmap-anon.m4.
30961         (Depends-on): Add getpagesize.
30962         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30963         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
30964         m4/mmap-anon.m4.
30965         (Depends-on): Add getpagesize.
30966         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30967         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
30968         m4/mmap-anon.m4.
30969         (Depends-on): Add getpagesize.
30970         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30971         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
30972         m4/mmap-anon.m4.
30973         (Depends-on): Add getpagesize.
30974         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30975
30976 2009-05-12  Bruno Haible  <bruno@clisp.org>
30977
30978         Tests for module 'alignof'.
30979         * modules/alignof-tests: New file.
30980         * tests/test-alignof.c: New file.
30981
30982 2009-05-12  Bruno Haible  <bruno@clisp.org>
30983
30984         Fix alignof macro.
30985         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
30986         vendor compilers that are always correct.
30987
30988 2009-05-12  Bruno Haible  <bruno@clisp.org>
30989
30990         Make the MAP_ANONYMOUS detection work on HP-UX 11.
30991         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
30992         not whether its fully works.
30993
30994 2009-05-12  Bruno Haible  <bruno@clisp.org>
30995
30996         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
30997
30998 2009-05-12  Jim Meyering  <meyering@redhat.com>
30999
31000         * top/maint.mk: Adjust backslash alignment.
31001
31002 2009-05-11  Simon Josefsson  <simon@josefsson.org>
31003
31004         * top/maint.mk: Make $(srcdir)/build-aux configurable.
31005
31006 2009-05-11  Eric Blake  <ebb9@byu.net>
31007
31008         argp: avoid undefined behavior
31009         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
31010         macros.
31011
31012 2009-05-08  Simon Josefsson  <simon@josefsson.org>
31013
31014         * tests/test-vc-list-files-git.sh: Do git config of user.email and
31015         user.name to prevent git commit from complaining.
31016
31017 2009-05-10  Bruno Haible  <bruno@clisp.org>
31018
31019         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
31020         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
31021         it rewrites every file name only once.
31022         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
31023
31024 2009-05-08  Bruno Haible  <bruno@clisp.org>
31025
31026         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
31027         instead of 'max'.
31028
31029 2009-05-08  Simon Josefsson  <simon@josefsson.org>
31030
31031         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
31032         sockaddr_storage test.
31033
31034 2009-05-07  Simon Josefsson  <simon@josefsson.org>
31035
31036         * modules/sys_socket (Makefile.am): Substitute
31037         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
31038         * m4/sys_socket_h.m4: Check for sockaddr_storage.
31039         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
31040         * tests/test-sys_socket.c: Check sockaddr_storage.
31041
31042 2009-05-08  Bruno Haible  <bruno@clisp.org>
31043
31044         New module 'alignof'.
31045         * lib/alignof.h: New file.
31046         * modules/alignof: New file.
31047
31048 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31049             Bruno Haible  <bruno@clisp.org>
31050
31051         Fix test-file-has-acl on FreeBSD.
31052         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
31053         mask is implicitly added.
31054         * tests/test-file-has-acl.c: Include <signal.h>.
31055         (main): Terminate the test after 5 seconds.
31056         * modules/acl-tests (configure.ac): Check for alarm function.
31057
31058 2009-05-04  Bruno Haible  <bruno@clisp.org>
31059
31060         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
31061         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
31062         * modules/errno (configure.ac): Drop AC_REQUIRE.
31063         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
31064         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
31065
31066 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31067
31068         * modules/glob-tests: New module.
31069         * tests/test-glob.c: Add.
31070
31071 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31072
31073         * modules/fnmatch-tests: New module.
31074         * tests/test-fnmatch.c: Add.
31075
31076 2009-05-04  Eric Blake  <ebb9@byu.net>
31077
31078         maint: make the new no-submodule-changes rule VPATH-safe
31079         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
31080
31081 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31082             Bruno Haible  <bruno@clisp.org>
31083
31084         acl: Fix infinite loop on FreeBSD.
31085         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
31086         of return value from acl_get_entry.
31087         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
31088         Likewise.
31089
31090 2009-05-03  Bruno Haible  <bruno@clisp.org>
31091
31092         * lib/acl-internal.h (acl_entries): Clarify return value.
31093         * lib/acl_entries.c (acl_entries): Likewise.
31094
31095 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31096
31097         Bug fix in acl module.
31098         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
31099
31100 2009-05-03  Bruno Haible  <bruno@clisp.org>
31101
31102         Create gperf-generated file in the source dir, not in the build dir.
31103         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
31104         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
31105         * modules/unicase/locale-language (unicase/locale-languages.h):
31106         Likewise.
31107         * modules/unicase/special-casing (unicase/special-casing-table.h):
31108         Likewise.
31109         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
31110         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
31111         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
31112         Reported by Ralf Wildenhues.
31113
31114 2009-05-03  Bruno Haible  <bruno@clisp.org>
31115
31116         * modules/fnmatch (Description, configure.ac): Taken from
31117         fnmatch-posix.
31118         * modules/fnmatch-posix: Turn into a symbolic reference to the
31119         'fnmatch' module, and deprecate.
31120         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
31121
31122 2009-05-03  Bruno Haible  <bruno@clisp.org>
31123
31124         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
31125         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
31126         Reported by Ralf Wildenhues.
31127
31128 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31129
31130         * m4/fnmatch.m4: Fix fnmatch re-define.
31131
31132 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31133
31134         priv-set: new module and tests; adapt write-any-file
31135         * lib/priv-set.c: New file.
31136         * lib/priv-set.h: New file.
31137         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
31138         * lib/write-any-file.c: Simplify by using priv-set module.
31139         * m4/priv-set.m4: New file.
31140         * modules/priv-set: New file.
31141         * modules/unlinkdir: Add dependency on priv-set module.
31142         * modules/write-any-file: Likewise.
31143
31144         Tests for module 'priv-set'.
31145         * modules/priv-set-tests: New file.
31146         * tests/test-priv-set.c: New file.
31147
31148 2009-05-03  Jim Meyering  <meyering@redhat.com>
31149             Bruno Haible  <bruno@clisp.org>
31150
31151         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
31152         use the converted UTF-8 variant of the name instead.
31153
31154 2009-05-03  Jim Meyering  <meyering@redhat.com>
31155
31156         tests: tighten some getdate tests
31157         * tests/test-getdate.c (main): Tighten tests: require equality,
31158         not just greater than.  Set TZ envvar to UTC0.
31159
31160 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
31161
31162         getdate: correctly interpret "next monday" when run on a Monday
31163         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
31164         that e.g., "next tues" (when run on a tuesday) results in a date
31165         that is one week in the future, and not today's date.
31166         I.e., add a week when the wday is the same as the current one.
31167         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
31168         and earlier by Martin Bernreuther and Jan Minář.
31169         * tests/test-getdate.c (main): Check that "next DAY" is always in
31170         the future and that "last DAY" is always in the past.
31171
31172 2009-05-02  Jim Meyering  <meyering@redhat.com>
31173
31174         build: ensure that a release build fails when a submodule is unclean
31175         * top/maint.mk (no-submodule-changes): New rule.
31176         (alpha beta major): Depend on it.
31177
31178 2009-05-02  Bruno Haible  <bruno@clisp.org>
31179
31180         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
31181         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
31182         shell variable gl_fnmatch_required to detect which variant is
31183         requested.
31184         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
31185         gl_FUNC_FNMATCH_POSIX.
31186         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
31187         exclude fnmatch-posix.
31188
31189 2009-05-02  Bruno Haible  <bruno@clisp.org>
31190
31191         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
31192         * modules/mbsrtowcs (License): Change to LGPLv2+.
31193         * modules/strnlen1 (License): Likewise.
31194         Reported by Simon Josefsson.
31195
31196 2009-05-02  Bruno Haible  <bruno@clisp.org>
31197
31198         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
31199         "cross".
31200         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
31201         gnulib-tool was called with option --source-base=lib.
31202
31203 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31204
31205         Use automake *-local hooks without commands, for extensibility.
31206         * modules/localcharset (Makefile.am): Rename install-exec-local
31207         rule to install-exec-localcharset, and make it a prerequisite of
31208         install-exec-local.  Likewise, rename the uninstall-local rule to
31209         uninstall-localcharset, and make it a prerequisite of the former.
31210
31211 2009-05-01  Bruno Haible  <bruno@clisp.org>
31212
31213         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
31214         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
31215         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
31216         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
31217         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
31218         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
31219         m4/locale-zh.m4, m4/codeset.m4.
31220
31221         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
31222         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
31223         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
31224         m4/locale-zh.m4.
31225
31226         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
31227         REPLACE_WCRTOMB if mbstate_t must be replaced.
31228         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
31229         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
31230
31231 2009-05-01  Bruno Haible  <bruno@clisp.org>
31232
31233         Avoid compiler warnings when redefining macros defined by <libintl.h>.
31234         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
31235         dngettext, dcngettext, textdomain, bindtextdomain,
31236         bind_textdomain_codeset): Undefine before redefining.
31237
31238 2009-04-30  Bruno Haible  <bruno@clisp.org>
31239
31240         Fix bug introduced on 2009-04-25.
31241         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
31242         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
31243         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
31244         is defined.
31245         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
31246         is defined.
31247         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
31248         is defined.
31249         Reported by Elbert_Pol <elbert.pol@gmail.com>.
31250
31251 2009-04-28  Bruno Haible  <bruno@clisp.org>
31252
31253         Comment tweaks.
31254         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
31255         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
31256         * lib/unicase.h (u*_casexfrm): Likewise.
31257         Reported by Paolo Bonzini.
31258
31259 2009-04-28  Bruno Haible  <bruno@clisp.org>
31260
31261         Fix a compilation error.
31262         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
31263         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
31264         Reported by Jim Meyering.
31265
31266 2009-04-27  Bruno Haible  <bruno@clisp.org>
31267
31268         New module 'libunistring'.
31269         * modules/libunistring: New file.
31270         * m4/libunistring.m4: New file.
31271         * MODULES.html.sh (Unicode string functions): Add it.
31272
31273 2009-04-27  Eric Blake  <ebb9@byu.net>
31274
31275         maint.mk: allow package-specific header to provide <config.h>
31276         * top/maint.mk (sc_require_config_h): New variable.
31277         (sc_require_config_h, sc_require_config_h_first): Use it.
31278
31279 2009-04-27  Simon Josefsson  <simon@josefsson.org>
31280
31281         * top/maint.mk (sc_avoid_if_before_free): Except
31282         useless-if-before-free script.
31283
31284 2009-04-27  Eric Blake  <ebb9@byu.net>
31285
31286         maintainer-makefile: depend on all required helper scripts
31287         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
31288         useless-if-before-free.
31289         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
31290         version, rather than assuming gnulib checkout is available.
31291         Reported by Simen Josefsson.
31292
31293 2009-04-26  Bruno Haible  <bruno@clisp.org>
31294
31295         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
31296         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
31297         "../" or "..".
31298
31299 2009-04-26  Bruno Haible  <bruno@clisp.org>
31300
31301         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
31302         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
31303         AC_LIB_HAVE_LINKFLAGS.
31304
31305 2009-04-26  Bruno Haible  <bruno@clisp.org>
31306
31307         Simplify calling convention of u*_conv_from_encoding.
31308         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
31309         u32_conv_from_encoding): Expect a resultbuf argument and return the
31310         result directly as a pointer.
31311         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
31312         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
31313         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
31314         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
31315         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
31316         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
31317         Update.
31318         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
31319         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
31320         * lib/vasnprintf.c (VASNPRINTF): Update.
31321         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
31322         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
31323         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
31324         * NEWS: Mention the change.
31325
31326 2009-04-26  Bruno Haible  <bruno@clisp.org>
31327
31328         Simplify calling convention of u*_conv_to_encoding.
31329         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
31330         u32_conv_to_encoding): Expect a resultbuf argument and return the
31331         result directly as a pointer.
31332         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
31333         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
31334         freeing scaled_offsets if mem_iconveha failed.
31335         * lib/unicase/u-casexfrm.h (FUNC): Update.
31336         * lib/uninorm/u-normxfrm.h (FUNC): Update.
31337         * lib/vasnprintf.c (VASNPRINTF): Update.
31338         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
31339         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
31340         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
31341         * NEWS: Mention the change.
31342
31343 2009-04-26  Bruno Haible  <bruno@clisp.org>
31344
31345         Avoid test failures on AIX and OSF/1.
31346         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
31347         malloc(0).
31348         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
31349         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
31350         Likewise.
31351         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
31352         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
31353         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
31354         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
31355         * doc/posix-functions/malloc.texi: Document the portability problem
31356         related to malloc(0).
31357
31358 2009-04-26  Bruno Haible  <bruno@clisp.org>
31359
31360         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
31361         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
31362         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
31363
31364 2009-04-25  Bruno Haible  <bruno@clisp.org>
31365
31366         Avoid link error when creating a namespace clean library.
31367         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
31368         as macro with arguments if already defined as an alias.
31369         * lib/signbitf.c (gl_signbitf): Don't undefine.
31370         * lib/signbitd.c (gl_signbitd): Don't undefine.
31371         * lib/signbitl.c (gl_signbitl): Don't undefine.
31372
31373 2009-04-25  Jim Meyering  <meyering@redhat.com>
31374
31375         vc-list-files: fix another quoting bug
31376         * build-aux/vc-list-files: Avoid sed backslash expansion
31377         of pathological directory names.
31378
31379 2009-04-25  Eric Blake  <ebb9@byu.net>
31380
31381         vc-list-files: fix shell quoting error
31382         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
31383         timestamp.
31384
31385 2009-04-25  Jim Meyering  <meyering@redhat.com>
31386
31387         vc-list-files: restore lost functionality with subdir argument
31388         * build-aux/vc-list-files: When given a non-"." sub-directory
31389         argument, substitute the $dir/ prefix back onto each resulting name.
31390         Otherwise, coreutils' root_tests check would fail.
31391
31392 2009-04-24  Eric Blake  <ebb9@byu.net>
31393
31394         vc-list-files: ignore git symlinks
31395         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
31396         than ls-files, to ignore git symlinks.
31397
31398         maint.mk: import improvements from m4
31399         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
31400         (move_if_change): Delete unused macro.
31401         (news-date-check, vc-diff-check): Support VPATH builds.
31402         (announcement): Likewise.  Split --bootstrap-tools list...
31403         (boostrap-tools): ...into separate list, which can be overridden
31404         in cfg.mk.
31405         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
31406         requiring dependency on useless-if-before-free module.
31407         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
31408         Support VPATH builds.
31409
31410 2009-04-24  Jim Meyering  <meyering@redhat.com>
31411
31412         maint.mk: remove coreutils-specific rules and variables
31413         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
31414         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
31415         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
31416
31417         maint.mk: remove obsolete rule
31418         * top/maint.mk (rel-check): Remove rule.
31419         (WGET, WGETFLAGS): Remove now-unused variables.
31420
31421 2009-04-24  Simon Josefsson  <simon@josefsson.org>
31422
31423         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
31424         consistency.
31425
31426         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
31427         '$(PATH_SEPARATOR)' instead of ':'.
31428
31429 2009-04-24  Simon Josefsson  <simon@josefsson.org>
31430
31431         * lib/getopt1.c (main): Use 'const' for static array.
31432
31433 2009-04-24  Simon Josefsson  <simon@josefsson.org>
31434
31435         * top/maint.mk: Sync with coreutils.
31436         * NEWS: Explain incompatibilities.
31437
31438 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31439             Bruno Haible  <bruno@clisp.org>
31440
31441         Fix cross-compilation results.
31442         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
31443         statement, as third argument of AC_TRY_RUN.
31444         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
31445         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
31446         Likewise.
31447         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
31448         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
31449         Likewise.
31450         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31451         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
31452         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
31453
31454 2009-04-20  Bruno Haible  <bruno@clisp.org>
31455
31456         Avoid test failure on mingw.
31457         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
31458
31459 2009-04-20  Bruno Haible  <bruno@clisp.org>
31460
31461         Avoid compilation error on mingw.
31462         * modules/localename-tests (Depends-on): Add locale.
31463
31464 2009-04-19  Bruno Haible  <bruno@clisp.org>
31465
31466         Support for building a shared library on Windows platforms.
31467         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
31468         (main): Test the presence of UNINORM_NFC here.
31469         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
31470         (main): Test the presence of UNINORM_NFD here.
31471         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
31472         (main): Test the presence of UNINORM_NFKC here.
31473         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
31474         (main): Test the presence of UNINORM_NFKD here.
31475
31476 2009-04-19  Bruno Haible  <bruno@clisp.org>
31477
31478         Avoid a compiler warning.
31479         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
31480         Change type of variable 'sequence'.
31481
31482 2009-04-19  Bruno Haible  <bruno@clisp.org>
31483
31484         * modules/configmake (Makefile.am): When the contents of configmake.h
31485         does not change, arrange to preserve its modification time.
31486
31487 2009-04-17  Simon Josefsson  <simon@josefsson.org>
31488
31489         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
31490         gettext domain.
31491
31492 2009-04-16  Jim Meyering  <meyering@redhat.com>
31493
31494         useless-if-before-free: improve conversion code
31495         * build-aux/useless-if-before-free: Adjust code-in-comment to match
31496         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
31497
31498 2009-04-14  Bruno Haible  <bruno@clisp.org>
31499
31500         * modules/fcntl (Depends-on): Add extensions.
31501         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
31502
31503 2009-04-12  Ben Pfaff  <blp@gnu.org>
31504
31505         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
31506         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
31507
31508 2009-03-20  Ben Pfaff  <blp@gnu.org>
31509
31510         Make rename replace existing destinations on Windows.
31511         * m4/rename.m4: Add test for Mingw.
31512         * lib/rename.c: Add rename replacement that uses MoveFileEx with
31513         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
31514         * doc/posix-functions/rename.texi: Document.
31515
31516 2009-04-10  Bruno Haible  <bruno@clisp.org>
31517
31518         New include file "iconveh.h".
31519         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
31520         * lib/striconveh.h: Include it.
31521         (enum iconv_ilseq_handler): Remove definition.
31522         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
31523         striconveh.h.
31524         * lib/striconveha.c: Include striconveh.h.
31525         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
31526         * modules/striconveh (Files): Add lib/iconveh.h.
31527         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
31528         lib/striconveh.h.
31529
31530 2009-04-10  Bruno Haible  <bruno@clisp.org>
31531
31532         * lib/uniconv.h: Update comment.
31533
31534 2009-04-10  Bruno Haible  <bruno@clisp.org>
31535
31536         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
31537         always.
31538         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
31539         * lib/unistr/u16-mbtouc-aux.c: Likewise.
31540         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
31541         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
31542         "unistring-notinline.h", so that the function gets defined always.
31543         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
31544         * lib/unistr/u8-uctomb.c: Likewise.
31545         * lib/unistr/u16-mbtouc.c: Likewise.
31546         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
31547         * lib/unistr/u16-uctomb.c: Likewise.
31548         * lib/unistr/u32-mbtouc.c: Likewise.
31549         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
31550         * lib/unistr/u32-uctomb.c: Likewise.
31551
31552 2009-04-10  Bruno Haible  <bruno@clisp.org>
31553
31554         Mark 'utime' obsolete.
31555         * modules/utime (Status, Notice): New sections.
31556         Suggested by Jim Meyering.
31557
31558         Fix cross-compile guess for utime test.
31559         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
31560         autoconf.
31561         * doc/posix-functions/utime.texi: Give more precisions.
31562         Reported by Jan <ipif@ymail.com>.
31563
31564 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
31565
31566         filevercmp: correct today's change
31567         * lib/filevercmp.c: Also handle coreutils' test inputs.
31568         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
31569
31570         Fix regression in 'filevercmp' module. Thanks Sven Joachim
31571         for reporting it.
31572         * lib/filevercmp.c: Special handle for "", "." and "..".
31573         * tests/test-filevercmp.c: Enlarge the set suite.
31574
31575 2009-04-07  Jim Meyering  <meyering@redhat.com>
31576
31577         useless-if-before-free: show how to remove braced useless free, too
31578         * build-aux/useless-if-before-free: still only in a comment, though.
31579
31580 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
31581
31582         maint.mk: import changes to syntax-check macros from coreutils
31583         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
31584         Use them in the relevant macros.
31585
31586 2009-04-06  Bruno Haible  <bruno@clisp.org>
31587
31588         Fix unportable use of bit-fields.
31589         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
31590         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
31591         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
31592
31593 2009-04-06  Bruno Haible  <bruno@clisp.org>
31594
31595         Avoid test failures on AIX and OSF/1.
31596         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
31597         that malloc(0) = NULL.
31598         * tests/unicase/test-u8-tolower.c (check): Likewise.
31599         * tests/unicase/test-u8-totitle.c (check): Likewise.
31600         * tests/unicase/test-u8-toupper.c (check): Likewise.
31601         * tests/unicase/test-u16-casefold.c (check): Likewise.
31602         * tests/unicase/test-u16-tolower.c (check): Likewise.
31603         * tests/unicase/test-u16-totitle.c (check): Likewise.
31604         * tests/unicase/test-u16-toupper.c (check): Likewise.
31605         * tests/unicase/test-u32-casefold.c (check): Likewise.
31606         * tests/unicase/test-u32-tolower.c (check): Likewise.
31607         * tests/unicase/test-u32-totitle.c (check): Likewise.
31608         * tests/unicase/test-u32-toupper.c (check): Likewise.
31609         * tests/uninorm/test-u8-nfc.c (check): Likewise.
31610         * tests/uninorm/test-u8-nfd.c (check): Likewise.
31611         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
31612         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
31613         * tests/uninorm/test-u16-nfc.c (check): Likewise.
31614         * tests/uninorm/test-u16-nfd.c (check): Likewise.
31615         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
31616         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
31617         * tests/uninorm/test-u32-nfc.c (check): Likewise.
31618         * tests/uninorm/test-u32-nfd.c (check): Likewise.
31619         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
31620         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
31621
31622 2009-04-05  Bruno Haible  <bruno@clisp.org>
31623
31624         Work around an autoconf limitation.
31625         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
31626         comment line if it would be longer than 3 KB.
31627
31628 2009-04-05  Bruno Haible  <bruno@clisp.org>
31629
31630         Avoid test failure with libiconv-1.13.
31631         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
31632         of the expected test results.
31633
31634 2009-04-05  Bruno Haible  <bruno@clisp.org>
31635
31636         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
31637         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
31638         that it should be installed.
31639
31640 2009-04-05  Bruno Haible  <bruno@clisp.org>
31641
31642         * gnulib-tool: New option --copy-file.
31643         (func_usage): Document it.
31644         (func_dest_tmpfilename): Moved out of func_import.
31645         (func_add_file, func_update_file): New functions, extracted from
31646         func_import.
31647         (func_import): Update.
31648
31649 2009-04-05  Karl Berry  <karl@gnu.org>
31650
31651         * README: prominently mention gnulib-tool.
31652         Rearrange sections so getting the code is near the top.
31653
31654 2009-04-05  Bruno Haible  <bruno@clisp.org>
31655
31656         * lib/unicase.h: Mention u*_cmp2.
31657         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
31658         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
31659         * lib/unicase/ulc-casecmp.c: Likewise.
31660         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
31661         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
31662         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
31663         unistr/u8-cmp.
31664         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
31665         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
31666         unistr/u16-cmp.
31667         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
31668         unistr/u32-cmp.
31669
31670         * lib/uninorm.h: Mention u*_cmp2.
31671         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
31672         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
31673         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
31674         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
31675         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
31676         unistr/u8-cmp.
31677         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
31678         unistr/u16-cmp.
31679         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
31680         unistr/u32-cmp.
31681
31682         New module 'unistr/u32-cmp2'.
31683         * lib/unistr/u32-cmp2.c: New file.
31684         * modules/unistr/u32-cmp2: New file.
31685
31686         New module 'unistr/u16-cmp2'.
31687         * lib/unistr/u16-cmp2.c: New file.
31688         * modules/unistr/u16-cmp2: New file.
31689
31690         New module 'unistr/u8-cmp2'.
31691         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
31692         * lib/unistr/u8-cmp2.c: New file.
31693         * lib/unistr/u-cmp2.h: New file.
31694         * modules/unistr/u8-cmp2: New file.
31695
31696 2009-04-05  Bruno Haible  <bruno@clisp.org>
31697
31698         * lib/unictype.h (uc_property_is_valid): New macro.
31699         * tests/unictype/test-pr_byname.c (main): Use it.
31700
31701         * lib/unistr.h: Doc fixes.
31702         * lib/uniconv.h: Doc fixes.
31703         * lib/unictype.h: Doc fixes.
31704
31705 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
31706
31707         Port coreutils 7.2 to Solaris 8.
31708
31709         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
31710         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
31711         for Solaris 8.  This is a bit of a hack, as it means it's the
31712         caller's responsibility to add -lnsl if needed, but most likely it
31713         won't be needed since only getaddrinfo uses this and getaddrinfo
31714         isn't needed on Solaris 8.
31715
31716         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
31717         problem to Solaris 8 encountered with coreutils 7.2, which
31718         resulted in a message "fnmatch.c:292: warning: passing argument 4
31719         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
31720         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
31721
31722 2009-04-03  Simon Josefsson  <simon@josefsson.org>
31723
31724         * m4/ld-version-script.m4: Add FIXME comment.
31725
31726 2009-04-02  Simon Josefsson  <simon@josefsson.org>
31727
31728         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
31729         SOVERSION variable.
31730
31731 2009-04-02  Bruno Haible  <bruno@clisp.org>
31732
31733         * Makefile (info, html, dvi, pdf): Combine the rules.
31734         Suggested by Jim Meyering.
31735
31736 2009-04-01  Bruno Haible  <bruno@clisp.org>
31737
31738         * Makefile (info, html, dvi, pdf): New targets.
31739         Reported by Reuben Thomas <rrt@sc3d.org>.
31740
31741 2009-04-01  Bruno Haible  <bruno@clisp.org>
31742
31743         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
31744         can be put into PATH.
31745         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
31746
31747 2009-04-01  Bruno Haible  <bruno@clisp.org>
31748
31749         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
31750
31751 2009-04-01  Bruno Haible  <bruno@clisp.org>
31752
31753         Rename module 'visibility'.
31754         * modules/lib-symbol-visibility: Renamed from modules/visibility.
31755         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
31756         * doc/gnulib.texi: Update.
31757         * MODULES.html.sh (Misc): Update.
31758         * NEWS: Mention the change.
31759
31760 2009-04-01  Simon Josefsson  <simon@josefsson.org>
31761
31762         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
31763         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
31764         Eric Blake <ebb9@byu.net> for review.
31765         * MODULES.html.sh: Add lib-msvc-compat.
31766         * doc/gnulib.texi: Link to new section.
31767         * m4/ld-output-def.m4: New file.
31768         * doc/ld-output-def.texi: New file.
31769
31770 2009-04-01  Simon Josefsson  <simon@josefsson.org>
31771
31772         Rename ld-version-script to lib-symbol-versions.  Suggested by
31773         Bruno Haible <bruno@clisp.org>.
31774         * modules/ld-version-script: Renamed to lib-symbol-versions.
31775         * doc/ld-version-script.texi: Fix module name.
31776         * MODULES.html.sh: Add lib-symbol-versions.
31777
31778 2009-03-31  Simon Josefsson  <simon@josefsson.org>
31779
31780         * modules/u64-tests: New file.
31781         * tests/test-u64.c: New file.
31782
31783 2009-03-04  Simon Josefsson  <simon@josefsson.org>
31784
31785         * MODULES.html.sh: Mention u64.
31786         * modules/u64: New module.
31787         * modules/crypto/sha512: Depend on u64 module instead of providing
31788         u64.h.
31789
31790 2009-03-27  Eric Blake  <ebb9@byu.net>
31791
31792         test-strerror: make debugging EAI_SYSTEM easier
31793         * modules/getaddrinfo-tests (Depends-on): Add strerror.
31794         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
31795         failure was EAI_SYSTEM.
31796
31797 2009-03-25  Bruno Haible  <bruno@clisp.org>
31798
31799         Fix a problem with --enable-relocatable on Solaris 7.
31800         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
31801         since 2008-02-24.
31802
31803 2009-03-25  Eric Blake  <ebb9@byu.net>
31804
31805         test-sockets: avoid gcc warning
31806         * tests/test-sockets.c (main): Silence compiler warning.
31807
31808 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
31809
31810         New modules nproc, pthread, contributed by Glen Lenker.
31811
31812         * MODULES.html.sh: Add pthread, nproc.
31813         * lib/nproc.c: New file.
31814         * lib/nproc.h: New file.
31815         * lib/pthread.in.h: New file.
31816         * m4/pthread.m4: New file.
31817         * modules/nproc: New file.
31818         * modules/pthread: New file.
31819
31820 2009-03-24  Simon Josefsson  <simon@josefsson.org>
31821
31822         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
31823         New variable.
31824
31825 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
31826
31827         filevercmp: handle simple~ and numbered.~3~ backup suffixes
31828         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
31829         * tests/test-filevercmp.c: Add tests for backup suffixes.
31830
31831 2009-03-24  Simon Josefsson  <simon@josefsson.org>
31832
31833         * modules/stdlib (Depends-on): Add stdint, needed when defining
31834         struct random_data on, for example, HP-UX 10.20.  Reported by
31835         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31836
31837 2009-03-24  Simon Josefsson  <simon@josefsson.org>
31838
31839         * lib/readline.c (readline): Call fflush on stdout after printing
31840         prompt.
31841
31842 2009-03-20  Bruno Haible  <bruno@clisp.org>
31843
31844         Remove dependency from 'close' module to -lws2_32 on native Windows.
31845         * lib/close-hook.h: New file.
31846         * lib/close-hook.c: New file.
31847         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
31848         w32sock.h.
31849         (_gl_close_fd_maybe_socket): Remove function.
31850         (rpl_close): Invoke execute_all_close_hooks instead of
31851         _gl_close_fd_maybe_socket.
31852         * lib/sockets.c: Include close-hook.h, w32sock.h.
31853         (close_fd_maybe_socket): New function, essentially from lib/close.c.
31854         (close_sockets_hook): New variable.
31855         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
31856         (gl_sockets_cleanup): Unregister it.
31857         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
31858         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
31859         * modules/close-hook: New file.
31860         * modules/close (Files): Remove lib/w32sock.h.
31861         (Depends-on): Add close-hook.
31862         (Link): Remove section.
31863         * modules/sockets (Files): Add lib/w32sock.h.
31864         (Depends-on): Add close-hook.
31865         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
31866         invocation.
31867         * NEWS: Mention that LIB_CLOSE is gone.
31868
31869 2009-03-23  Eric Blake  <ebb9@byu.net>
31870
31871         signal-tests: test previous patch
31872         * tests/test-signal.c: New file.
31873         * modules/signal-tests: Likewise.
31874
31875         signal.h: always support 'volatile sig_atomic_t'
31876         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
31877         (gl_SIGNAL_H_DEFAULTS): Add a default.
31878         * modules/signal (Makefile.am): Substitute if needed.
31879         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
31880         users can blindly add volatile.
31881         * doc/posix-headers/signal.texi (signal.h): Document it.
31882         Reported by Matthew Woehlke.
31883
31884 2009-03-23  Jim Meyering  <meyering@redhat.com>
31885
31886         pathmax: PATH_MAX: use pathconf only when available
31887         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
31888         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
31889         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
31890         This avoids a link failure in a PSP cross-compilation environment
31891         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
31892
31893         * lib/vasnprintf.c (divide): Fix typo in comment.
31894
31895 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31896
31897         * gnulib-tool (func_filter_filelist): Fix comment.
31898
31899 2009-03-20  Bruno Haible  <bruno@clisp.org>
31900
31901         Make sockets.h self-contained.
31902         * lib/sockets.c: Include sockets.h first.
31903         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
31904
31905 2009-03-19  Eric Blake  <ebb9@byu.net>
31906
31907         doc: mention more functions added in cygwin 1.7.0
31908         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
31909         addition.
31910         * doc/posix-functions/log2f.texi: Likewise.
31911
31912 2009-03-19  Jim Meyering  <meyering@redhat.com>
31913
31914         fsusage: avoid syntax error due to statement-before-declaration
31915         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
31916         after all declarations.  Reported by Matthew Woehlke in
31917         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
31918
31919 2009-03-18  Eric Blake  <ebb9@byu.net>
31920
31921         build-aux/compile: sync from automake
31922         * build-aux/compile: New file, from automake.
31923         * config/srclist.txt: Mention build-aux/compile.
31924
31925 2009-03-17  Bruno Haible  <bruno@clisp.org>
31926
31927         * lib/git-merge-changelog.c: Fix typo in comment.
31928         Reported by Reuben Thomas <rrt@sc3d.org>.
31929
31930 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
31931
31932         * m4/regex.m4: update and improve help for
31933         --without-included-regex.
31934
31935 2009-03-17  Simon Josefsson  <simon@josefsson.org>
31936
31937         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
31938         failure on missing include files.
31939
31940 2009-03-17  Eric Blake  <ebb9@byu.net>
31941
31942         doc: mention more functions added in cygwin 1.7.0
31943         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
31944         addition.
31945         * doc/posix-functions/fwscanf.texi: Likewise.
31946         * doc/posix-functions/swprintf.texi: Likewise.
31947         * doc/posix-functions/swscanf.texi: Likewise.
31948         * doc/posix-functions/vfwprintf.texi: Likewise.
31949         * doc/posix-functions/vfwscanf.texi: Likewise.
31950         * doc/posix-functions/vswprintf.texi: Likewise.
31951         * doc/posix-functions/vswscanf.texi: Likewise.
31952         * doc/posix-functions/vwprintf.texi: Likewise.
31953         * doc/posix-functions/vwscanf.texi: Likewise.
31954         * doc/posix-functions/wcscasecmp.texi: Likewise.
31955         * doc/posix-functions/wcsdup.texi: Likewise.
31956         * doc/posix-functions/wcsftime.texi: Likewise.
31957         * doc/posix-functions/wcsncasecmp.texi: Likewise.
31958         * doc/posix-functions/wprintf.texi: Likewise.
31959         * doc/posix-functions/wscanf.texi: Likewise.
31960         * doc/glibc-functions/gethostbyname2.texi: Likewise.
31961
31962 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31963
31964         maint.mk: really add $(AM_MAKEFLAGS)
31965         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
31966         was inadvertently omitted in the last commit.
31967         Spotted by Bruno Haible.
31968
31969         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
31970         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
31971         $(AM_MAKEFLAGS)' rather than plain `make'.
31972
31973         gnulib-tool: execute $MAKE not make
31974         * gnulib-tool: Default $MAKE to 'make'.
31975         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
31976         than make.  Initialize $MAKE in the do-autobuild script.
31977
31978         gnulib-tool: use $MAKE not make in generated files
31979         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
31980         make, in generated files.  Initialize $MAKE in the do-autobuild
31981         script.
31982
31983         * top/GNUmakefile (_have-git-version-gen): Fix typo.
31984
31985         GNUmakefile: disable parallelism only for multiple, recursive targets
31986         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
31987         additions in the Makefile.
31988         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
31989         by Automake.
31990         (.NOTPARALLEL): Only disable parallel builds if multiple targets
31991         are listed on the command line and at least one of them is
31992         listed in $(ALL_RECURSIVE_TARGETS).
31993
31994 2009-03-14  Bruno Haible  <bruno@clisp.org>
31995
31996         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
31997         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
31998         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
31999         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
32000         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
32001         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
32002         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
32003         unistr/u8-uctomb.
32004         * modules/unistr/u8-strchr (Depends-on): Likewise.
32005         * modules/unistr/u8-strrchr (Depends-on): Likewise.
32006         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
32007         unistr/u16-uctomb.
32008         * modules/unistr/u16-strchr (Depends-on): Likewise.
32009         * modules/unistr/u16-strrchr (Depends-on): Likewise.
32010
32011 2009-03-12  Bruno Haible  <bruno@clisp.org>
32012
32013         Work around select() bug on Interix 3.5.
32014         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
32015         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
32016         * m4/select.m4: New file.
32017         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
32018         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
32019         * modules/select (Files): Add m4/select.m4.
32020         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
32021         * modules/nanosleep (Depends-on): Add select.
32022         * modules/poll (Depends-on): Likewise.
32023         * doc/posix-functions/select.texi: Mention the Interix bug.
32024         Reported by Markus Duft <mduft@gentoo.org>.
32025
32026         * lib/select.c: Renamed from lib/winsock-select.c.
32027         * modules/select (Files): Add lib/select.c, remove
32028         lib/winsock-select.c.
32029         (configure.ac): Update.
32030
32031 2009-03-12  Jim Meyering  <meyering@redhat.com>
32032
32033         avoid gcc warnings about unused macro definitions
32034         * lib/readtokens.c (STREQ): Remove unused definition.
32035         * lib/xmalloc.c (SIZE_MAX): Likewise.
32036         * lib/openat-die.c (N_): Likewise.
32037         * lib/mountlist.c (SIZE_MAX): Remove definition.
32038         Instead, include <stdint.h>.
32039         * lib/readutmp.c: Likewise.
32040         * modules/readutmp (Depends-on): Add stdint.
32041         * modules/mountlist (Depends-on): Add stdint.
32042         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
32043
32044 2009-03-10  Bruno Haible  <bruno@clisp.org>
32045
32046         Tests for module 'mbmemcasecoll'.
32047         * modules/mbmemcasecoll-tests: New file.
32048         * tests/test-mbmemcasecoll1.sh: New file.
32049         * tests/test-mbmemcasecoll2.sh: New file.
32050         * tests/test-mbmemcasecoll3.sh: New file.
32051         * tests/test-mbmemcasecoll.c: New file.
32052
32053         New module 'mbmemcasecoll'.
32054         * lib/mbmemcasecoll.h: New file.
32055         * lib/mbmemcasecoll.c: New file.
32056         * modules/mbmemcasecoll: New file.
32057
32058         * tests/test-mbmemcasecmp.h: New file, extracted from
32059         tests/test-mbmemcasecmp.c.
32060         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
32061         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
32062         (main): Update.
32063         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
32064
32065 2009-03-09  Bruno Haible  <bruno@clisp.org>
32066
32067         Tests for module 'mbmemcasecmp'.
32068         * modules/mbmemcasecmp-tests: New file.
32069         * tests/test-mbmemcasecmp1.sh: New file.
32070         * tests/test-mbmemcasecmp2.sh: New file.
32071         * tests/test-mbmemcasecmp3.sh: New file.
32072         * tests/test-mbmemcasecmp.c: New file.
32073
32074         New module 'mbmemcasecmp'.
32075         * lib/mbmemcasecmp.h: New file.
32076         * lib/mbmemcasecmp.c: New file.
32077         * modules/mbmemcasecmp: New file.
32078
32079 2009-03-09  Bruno Haible  <bruno@clisp.org>
32080
32081         Tests for module 'unicase/ulc-casecoll'.
32082         * modules/unicase/ulc-casecoll-tests: New file.
32083         * tests/unicase/test-ulc-casecoll1.sh: New file.
32084         * tests/unicase/test-ulc-casecoll2.sh: New file.
32085         * tests/unicase/test-ulc-casecoll.c: New file.
32086
32087         New module 'unicase/ulc-casecoll'.
32088         * lib/unicase.h (ulc_casecoll): New declaration.
32089         * lib/unicase/ulc-casecoll.c: New file.
32090         * modules/unicase/ulc-casecoll: New file.
32091
32092         New module 'unicase/ulc-casexfrm'.
32093         * lib/unicase.h (ulc_casexfrm): New declaration.
32094         * lib/unicase/ulc-casexfrm.c: New file.
32095         * modules/unicase/ulc-casexfrm: New file.
32096
32097 2009-03-09  Bruno Haible  <bruno@clisp.org>
32098
32099         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
32100         invocations.
32101
32102         * m4/mbscasecmp.m4: Remove file.
32103         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
32104         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
32105
32106         * m4/mbscasestr.m4: Remove file.
32107         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
32108         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
32109
32110         * m4/mbschr.m4: Remove file.
32111         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
32112         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
32113
32114         * m4/mbscspn.m4: Remove file.
32115         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
32116         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
32117
32118         * m4/mbslen.m4: Remove file.
32119         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
32120         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
32121
32122         * m4/mbsncasecmp.m4: Remove file.
32123         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
32124         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
32125
32126         * m4/mbsnlen.m4: Remove file.
32127         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
32128         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
32129
32130         * m4/mbspbrk.m4: Remove file.
32131         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
32132         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
32133
32134         * m4/mbspcasecmp.m4: Remove file.
32135         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
32136         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
32137
32138         * m4/mbsrchr.m4: Remove file.
32139         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
32140         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
32141
32142         * m4/mbssep.m4: Remove file.
32143         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
32144         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
32145
32146         * m4/mbsspn.m4: Remove file.
32147         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
32148         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
32149
32150         * m4/mbsstr.m4: Remove file.
32151         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
32152         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
32153
32154         * m4/mbstok_r.m4: Remove file.
32155         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
32156         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
32157
32158         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
32159
32160         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
32161         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
32162
32163         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
32164
32165 2009-03-08  Bruno Haible  <bruno@clisp.org>
32166
32167         Tests for module 'unicase/ulc-casecmp'.
32168         * modules/unicase/ulc-casecmp-tests: New file.
32169         * tests/unicase/test-ulc-casecmp1.sh: New file.
32170         * tests/unicase/test-ulc-casecmp2.sh: New file.
32171         * tests/unicase/test-ulc-casecmp.c: New file.
32172
32173         New module 'unicase/ulc-casecmp'.
32174         * lib/unicase.h (ulc_casecmp): New declaration.
32175         * lib/unicase/ulc-casecmp.c: New file.
32176         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
32177         'const SRC_UNIT *'.
32178         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
32179         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
32180         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
32181         * modules/unicase/ulc-casecmp: New file.
32182
32183         Tests for module 'unicase/u32-is-cased'.
32184         * modules/unicase/u32-is-cased-tests: New file.
32185         * tests/unicase/test-u32-is-cased.c: New file.
32186
32187         Tests for module 'unicase/u16-is-cased'.
32188         * modules/unicase/u16-is-cased-tests: New file.
32189         * tests/unicase/test-u16-is-cased.c: New file.
32190
32191         Tests for module 'unicase/u8-is-cased'.
32192         * modules/unicase/u8-is-cased-tests: New file.
32193         * tests/unicase/test-u8-is-cased.c: New file.
32194         * tests/unicase/test-is-cased.h: New file.
32195
32196         New module 'unicase/u32-is-cased'.
32197         * lib/unicase/u32-is-cased.c: New file.
32198         * modules/unicase/u32-is-cased: New file.
32199
32200         New module 'unicase/u16-is-cased'.
32201         * lib/unicase/u16-is-cased.c: New file.
32202         * modules/unicase/u16-is-cased: New file.
32203
32204         New module 'unicase/u8-is-cased'.
32205         * lib/unicase/u8-is-cased.c: New file.
32206         * lib/unicase/u-is-cased.h: New file.
32207         * modules/unicase/u8-is-cased: New file.
32208
32209         Tests for module 'unicase/u32-is-casefolded'.
32210         * modules/unicase/u32-is-casefolded-tests: New file.
32211         * tests/unicase/test-u32-is-casefolded.c: New file.
32212
32213         Tests for module 'unicase/u16-is-casefolded'.
32214         * modules/unicase/u16-is-casefolded-tests: New file.
32215         * tests/unicase/test-u16-is-casefolded.c: New file.
32216
32217         Tests for module 'unicase/u8-is-casefolded'.
32218         * modules/unicase/u8-is-casefolded-tests: New file.
32219         * tests/unicase/test-u8-is-casefolded.c: New file.
32220         * tests/unicase/test-is-casefolded.h: New file.
32221
32222         New module 'unicase/u32-is-casefolded'.
32223         * lib/unicase/u32-is-casefolded.c: New file.
32224         * modules/unicase/u32-is-casefolded: New file.
32225
32226         New module 'unicase/u16-is-casefolded'.
32227         * lib/unicase/u16-is-casefolded.c: New file.
32228         * modules/unicase/u16-is-casefolded: New file.
32229
32230         New module 'unicase/u8-is-casefolded'.
32231         * lib/unicase/u8-is-casefolded.c: New file.
32232         * modules/unicase/u8-is-casefolded: New file.
32233
32234         Tests for module 'unicase/u32-is-titlecase'.
32235         * modules/unicase/u32-is-titlecase-tests: New file.
32236         * tests/unicase/test-u32-is-titlecase.c: New file.
32237
32238         Tests for module 'unicase/u16-is-titlecase'.
32239         * modules/unicase/u16-is-titlecase-tests: New file.
32240         * tests/unicase/test-u16-is-titlecase.c: New file.
32241
32242         Tests for module 'unicase/u8-is-titlecase'.
32243         * modules/unicase/u8-is-titlecase-tests: New file.
32244         * tests/unicase/test-u8-is-titlecase.c: New file.
32245         * tests/unicase/test-is-titlecase.h: New file.
32246
32247         New module 'unicase/u32-is-titlecase'.
32248         * lib/unicase/u32-is-titlecase.c: New file.
32249         * modules/unicase/u32-is-titlecase: New file.
32250
32251         New module 'unicase/u16-is-titlecase'.
32252         * lib/unicase/u16-is-titlecase.c: New file.
32253         * modules/unicase/u16-is-titlecase: New file.
32254
32255         New module 'unicase/u8-is-titlecase'.
32256         * lib/unicase/u8-is-titlecase.c: New file.
32257         * modules/unicase/u8-is-titlecase: New file.
32258
32259         Tests for module 'unicase/u32-is-lowercase'.
32260         * modules/unicase/u32-is-lowercase-tests: New file.
32261         * tests/unicase/test-u32-is-lowercase.c: New file.
32262
32263         Tests for module 'unicase/u16-is-lowercase'.
32264         * modules/unicase/u16-is-lowercase-tests: New file.
32265         * tests/unicase/test-u16-is-lowercase.c: New file.
32266
32267         Tests for module 'unicase/u8-is-lowercase'.
32268         * modules/unicase/u8-is-lowercase-tests: New file.
32269         * tests/unicase/test-u8-is-lowercase.c: New file.
32270         * tests/unicase/test-is-lowercase.h: New file.
32271
32272         New module 'unicase/u32-is-lowercase'.
32273         * lib/unicase/u32-is-lowercase.c: New file.
32274         * modules/unicase/u32-is-lowercase: New file.
32275
32276         New module 'unicase/u16-is-lowercase'.
32277         * lib/unicase/u16-is-lowercase.c: New file.
32278         * modules/unicase/u16-is-lowercase: New file.
32279
32280         New module 'unicase/u8-is-lowercase'.
32281         * lib/unicase/u8-is-lowercase.c: New file.
32282         * modules/unicase/u8-is-lowercase: New file.
32283
32284         Tests for module 'unicase/u32-is-uppercase'.
32285         * modules/unicase/u32-is-uppercase-tests: New file.
32286         * tests/unicase/test-u32-is-uppercase.c: New file.
32287
32288         Tests for module 'unicase/u16-is-uppercase'.
32289         * modules/unicase/u16-is-uppercase-tests: New file.
32290         * tests/unicase/test-u16-is-uppercase.c: New file.
32291
32292         Tests for module 'unicase/u8-is-uppercase'.
32293         * modules/unicase/u8-is-uppercase-tests: New file.
32294         * tests/unicase/test-u8-is-uppercase.c: New file.
32295         * tests/unicase/test-is-uppercase.h: New file.
32296
32297         New module 'unicase/u32-is-uppercase'.
32298         * lib/unicase/u32-is-uppercase.c: New file.
32299         * modules/unicase/u32-is-uppercase: New file.
32300
32301         New module 'unicase/u16-is-uppercase'.
32302         * lib/unicase/u16-is-uppercase.c: New file.
32303         * modules/unicase/u16-is-uppercase: New file.
32304
32305         New module 'unicase/u8-is-uppercase'.
32306         * lib/unicase/u8-is-uppercase.c: New file.
32307         * modules/unicase/u8-is-uppercase: New file.
32308
32309         New module 'unicase/u32-is-invariant'.
32310         * lib/unicase/u32-is-invariant.c: New file.
32311         * modules/unicase/u32-is-invariant: New file.
32312
32313         New module 'unicase/u16-is-invariant'.
32314         * lib/unicase/u16-is-invariant.c: New file.
32315         * modules/unicase/u16-is-invariant: New file.
32316
32317         New module 'unicase/u8-is-invariant'.
32318         * lib/unicase/u8-is-invariant.c: New file.
32319         * lib/unicase/invariant.h: New file.
32320         * lib/unicase/u-is-invariant.h: New file.
32321         * modules/unicase/u8-is-invariant: New file.
32322
32323         Tests for module 'unicase/u32-casecoll'.
32324         * modules/unicase/u32-casecoll-tests: New file.
32325         * tests/unicase/test-u32-casecoll.c: New file.
32326
32327         Tests for module 'unicase/u16-casecoll'.
32328         * modules/unicase/u16-casecoll-tests: New file.
32329         * tests/unicase/test-u16-casecoll.c: New file.
32330
32331         Tests for module 'unicase/u8-casecoll'.
32332         * modules/unicase/u8-casecoll-tests: New file.
32333         * tests/unicase/test-u8-casecoll.c: New file.
32334
32335         New module 'unicase/u32-casecoll'.
32336         * lib/unicase/u32-casecoll.c: New file.
32337         * modules/unicase/u32-casecoll: New file.
32338
32339         New module 'unicase/u16-casecoll'.
32340         * lib/unicase/u16-casecoll.c: New file.
32341         * modules/unicase/u16-casecoll: New file.
32342
32343         New module 'unicase/u8-casecoll'.
32344         * lib/unicase/u8-casecoll.c: New file.
32345         * lib/unicase/u-casecoll.h: New file.
32346         * modules/unicase/u8-casecoll: New file.
32347
32348         New module 'unicase/u32-casexfrm'.
32349         * lib/unicase/u32-casexfrm.c: New file.
32350         * modules/unicase/u32-casexfrm: New file.
32351
32352         New module 'unicase/u16-casexfrm'.
32353         * lib/unicase/u16-casexfrm.c: New file.
32354         * modules/unicase/u16-casexfrm: New file.
32355
32356         New module 'unicase/u8-casexfrm'.
32357         * lib/unicase/u8-casexfrm.c: New file.
32358         * lib/unicase/u-casexfrm.h: New file.
32359         * modules/unicase/u8-casexfrm: New file.
32360
32361         Tests for module 'unicase/u32-casecmp'.
32362         * modules/unicase/u32-casecmp-tests: New file.
32363         * tests/unicase/test-u32-casecmp.c: New file.
32364
32365         Tests for module 'unicase/u16-casecmp'.
32366         * modules/unicase/u16-casecmp-tests: New file.
32367         * tests/unicase/test-u16-casecmp.c: New file.
32368
32369         Tests for module 'unicase/u8-casecmp'.
32370         * modules/unicase/u8-casecmp-tests: New file.
32371         * tests/unicase/test-u8-casecmp.c: New file.
32372         * tests/unicase/test-casecmp.h: New file.
32373
32374         New module 'unicase/u32-casecmp'.
32375         * lib/unicase/u32-casecmp.c: New file.
32376         * modules/unicase/u32-casecmp: New file.
32377
32378         New module 'unicase/u16-casecmp'.
32379         * lib/unicase/u16-casecmp.c: New file.
32380         * modules/unicase/u16-casecmp: New file.
32381
32382         New module 'unicase/u8-casecmp'.
32383         * lib/unicase/u8-casecmp.c: New file.
32384         * lib/unicase/u-casecmp.h: New file.
32385         * modules/unicase/u8-casecmp: New file.
32386
32387         Tests for module 'unicase/u32-casefold'.
32388         * modules/unicase/u32-casefold-tests: New file.
32389         * tests/unicase/test-u32-casefold.c: New file.
32390
32391         Tests for module 'unicase/u16-casefold'.
32392         * modules/unicase/u16-casefold-tests: New file.
32393         * tests/unicase/test-u16-casefold.c: New file.
32394
32395         Tests for module 'unicase/u8-casefold'.
32396         * modules/unicase/u8-casefold-tests: New file.
32397         * tests/unicase/test-u8-casefold.c: New file.
32398
32399         New module 'unicase/u32-casefold'.
32400         * lib/unicase/u32-casefold.c: New file.
32401         * modules/unicase/u32-casefold: New file.
32402
32403         New module 'unicase/u16-casefold'.
32404         * lib/unicase/u16-casefold.c: New file.
32405         * modules/unicase/u16-casefold: New file.
32406
32407         New module 'unicase/u8-casefold'.
32408         * lib/unicase/u8-casefold.c: New file.
32409         * lib/unicase/u-casefold.h: New file.
32410         * modules/unicase/u8-casefold: New file.
32411
32412         New module 'unicase/tocasefold'.
32413         * lib/unicase/casefold.h: New file.
32414         * lib/unicase/tocasefold.c: New file.
32415         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
32416         * modules/unicase/tocasefold: New file.
32417
32418         Tests for module 'unicase/u32-totitle'.
32419         * modules/unicase/u32-totitle-tests: New file.
32420         * tests/unicase/test-u32-totitle.c: New file.
32421
32422         Tests for module 'unicase/u16-totitle'.
32423         * modules/unicase/u16-totitle-tests: New file.
32424         * tests/unicase/test-u16-totitle.c: New file.
32425
32426         Tests for module 'unicase/u8-totitle'.
32427         * modules/unicase/u8-totitle-tests: New file.
32428         * tests/unicase/test-u8-totitle.c: New file.
32429
32430         New module 'unicase/u32-totitle'.
32431         * lib/unicase/u32-totitle.c: New file.
32432         * modules/unicase/u32-totitle: New file.
32433
32434         New module 'unicase/u16-totitle'.
32435         * lib/unicase/u16-totitle.c: New file.
32436         * modules/unicase/u16-totitle: New file.
32437
32438         New module 'unicase/u8-totitle'.
32439         * lib/unicase/u8-totitle.c: New file.
32440         * lib/unicase/u-totitle.h: New file.
32441         * modules/unicase/u8-totitle: New file.
32442
32443         Tests for module 'unicase/u32-tolower'.
32444         * modules/unicase/u32-tolower-tests: New file.
32445         * tests/unicase/test-u32-tolower.c: New file.
32446
32447         Tests for module 'unicase/u16-tolower'.
32448         * modules/unicase/u16-tolower-tests: New file.
32449         * tests/unicase/test-u16-tolower.c: New file.
32450
32451         Tests for module 'unicase/u8-tolower'.
32452         * modules/unicase/u8-tolower-tests: New file.
32453         * tests/unicase/test-u8-tolower.c: New file.
32454
32455         New module 'unicase/u32-tolower'.
32456         * lib/unicase/u32-tolower.c: New file.
32457         * modules/unicase/u32-tolower: New file.
32458
32459         New module 'unicase/u16-tolower'.
32460         * lib/unicase/u16-tolower.c: New file.
32461         * modules/unicase/u16-tolower: New file.
32462
32463         New module 'unicase/u8-tolower'.
32464         * lib/unicase/u8-tolower.c: New file.
32465         * modules/unicase/u8-tolower: New file.
32466
32467         Tests for module 'unicase/u32-toupper'.
32468         * modules/unicase/u32-toupper-tests: New file.
32469         * tests/unicase/test-u32-toupper.c: New file.
32470
32471         Tests for module 'unicase/u16-toupper'.
32472         * modules/unicase/u16-toupper-tests: New file.
32473         * tests/unicase/test-u16-toupper.c: New file.
32474
32475         Tests for module 'unicase/u8-toupper'.
32476         * modules/unicase/u8-toupper-tests: New file.
32477         * tests/unicase/test-u8-toupper.c: New file.
32478
32479         New module 'unicase/u32-toupper'.
32480         * lib/unicase/u32-toupper.c: New file.
32481         * modules/unicase/u32-toupper: New file.
32482
32483         New module 'unicase/u16-toupper'.
32484         * lib/unicase/u16-toupper.c: New file.
32485         * modules/unicase/u16-toupper: New file.
32486
32487         New module 'unicase/u8-toupper'.
32488         * lib/unicase/u8-toupper.c: New file.
32489         * modules/unicase/u8-toupper: New file.
32490
32491         New module 'unicase/u32-casemap'.
32492         * lib/unicase/u32-casemap.c: New file.
32493         * modules/unicase/u32-casemap: New file.
32494
32495         New module 'unicase/u16-casemap'.
32496         * lib/unicase/u16-casemap.c: New file.
32497         * modules/unicase/u16-casemap: New file.
32498
32499         New module 'unicase/u8-casemap'.
32500         * lib/unicase/unicasemap.h: New file.
32501         * lib/unicase/u8-casemap.c: New file.
32502         * lib/unicase/u-casemap.h: New file.
32503         * modules/unicase/u8-casemap: New file.
32504
32505         New module 'unicase/special-casing'.
32506         * lib/unicase/special-casing.h: New file.
32507         * lib/unicase/special-casing.c: New file.
32508         * lib/unicase/special-casing-table.gperf: New file, generated by
32509         gen-uni-tables.c.
32510         * modules/unicase/special-casing: New file.
32511
32512         Tests for module 'unicase/locale-language'.
32513         * modules/unicase/locale-language-tests: New file.
32514         * tests/unicase/test-locale-language.sh: New file.
32515         * tests/unicase/test-locale-language.c: New file.
32516
32517         New module 'unicase/locale-language'.
32518         * lib/unicase/locale-language.c: New file.
32519         * lib/unicase/locale-languages.gperf: New file.
32520         * modules/unicase/locale-language: New file.
32521
32522         Generate more tables for case conversion and case folding.
32523         * lib/gen-uni-tables.c (SCC_*): New enum items.
32524         (struct special_casing_rule): New type.
32525         (casing_rules, num_casing_rules, allocated_casing_rules): New
32526         variables.
32527         (add_casing_rule, fill_casing_rules): New functions.
32528         (struct casefold_rule): New type.
32529         (casefolding_rules, num_casefolding_rules,
32530         allocated_casefolding_rules): New variables.
32531         (fill_casefolding_rules): New function.
32532         (unicode_casefold): New variable.
32533         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
32534         sort_casing_rules, output_casing_rules): New functions.
32535         (main): Accept to more arguments: SpecialCasing.txt and
32536         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
32537         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
32538         Output mapping for casefolding.
32539
32540         * lib/unicase.h: Include stdbool.h, uninorm.h.
32541         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
32542         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
32543         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
32544         arguments.
32545         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
32546         resultp arguments.
32547         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
32548         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
32549         resultp arguments.
32550         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
32551         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
32552         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
32553         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
32554         declarations.
32555         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
32556
32557 2009-03-08  Bruno Haible  <bruno@clisp.org>
32558
32559         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
32560         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
32561         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
32562         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
32563
32564 2009-03-07  Bruno Haible  <bruno@clisp.org>
32565
32566         Adjust u*_normcmp, u*_normcoll API.
32567         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
32568         u16_normcoll, u32_normcoll): Change failure conventions.
32569         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
32570         errno and return -1.
32571         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
32572
32573 2009-03-07  Bruno Haible  <bruno@clisp.org>
32574
32575         Tests for module 'uninorm/u32-normcoll'.
32576         * modules/uninorm/u32-normcoll-tests: New file.
32577         * tests/uninorm/test-u32-normcoll.c: New file.
32578
32579         Tests for module 'uninorm/u16-normcoll'.
32580         * modules/uninorm/u16-normcoll-tests: New file.
32581         * tests/uninorm/test-u16-normcoll.c: New file.
32582
32583         Tests for module 'uninorm/u8-normcoll'.
32584         * modules/uninorm/u8-normcoll-tests: New file.
32585         * tests/uninorm/test-u8-normcoll.c: New file.
32586
32587 2009-03-07  Bruno Haible  <bruno@clisp.org>
32588
32589         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
32590         tests/uninorm/test-u32-normcmp.c.
32591         * tests/uninorm/test-u32-normcmp.c: Include it.
32592         (test_nonascii): New function, extracted from main. Add some more
32593         tests.
32594         (main): Invoke test_ascii and test_nonascii.
32595         * modules/uninorm/u32-normcmp-tests (Files): Add
32596         tests/uninorm/test-u32-normcmp.h.
32597         (Depends-on): Remove uninorm/u32-normcmp.
32598
32599         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
32600         tests/uninorm/test-u16-normcmp.c.
32601         * tests/uninorm/test-u16-normcmp.c: Include it.
32602         (test_nonascii): New function, extracted from main. Add some more
32603         tests.
32604         (main): Invoke test_ascii and test_nonascii.
32605         * modules/uninorm/u16-normcmp-tests (Files): Add
32606         tests/uninorm/test-u16-normcmp.h.
32607         (Depends-on): Remove uninorm/u16-normcmp.
32608
32609         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
32610         tests/uninorm/test-u8-normcmp.c.
32611         * tests/uninorm/test-u8-normcmp.c: Include it.
32612         (test_nonascii): New function, extracted from main. Add some more
32613         tests.
32614         (main): Invoke test_ascii and test_nonascii.
32615         * modules/uninorm/u8-normcmp-tests (Files): Add
32616         tests/uninorm/test-u8-normcmp.h.
32617         (Depends-on): Remove uninorm/u8-normcmp.
32618
32619 2009-03-07  Bruno Haible  <bruno@clisp.org>
32620
32621         New module 'uninorm/u32-normcoll'.
32622         * lib/uninorm/u32-normcoll.c: New file.
32623         * modules/uninorm/u32-normcoll: New file.
32624
32625         New module 'uninorm/u16-normcoll'.
32626         * lib/uninorm/u16-normcoll.c: New file.
32627         * modules/uninorm/u16-normcoll: New file.
32628
32629         New module 'uninorm/u8-normcoll'.
32630         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
32631         declarations.
32632         * lib/uninorm/u8-normcoll.c: New file.
32633         * lib/uninorm/u-normcoll.h: New file.
32634         * modules/uninorm/u8-normcoll: New file.
32635
32636         New module 'uninorm/u32-normxfrm'.
32637         * lib/uninorm/u32-normxfrm.c: New file.
32638         * modules/uninorm/u32-normxfrm: New file.
32639
32640         New module 'uninorm/u16-normxfrm'.
32641         * lib/uninorm/u16-normxfrm.c: New file.
32642         * modules/uninorm/u16-normxfrm: New file.
32643
32644         New module 'uninorm/u8-normxfrm'.
32645         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
32646         declarations.
32647         * lib/uninorm/u8-normxfrm.c: New file.
32648         * lib/uninorm/u-normxfrm.h: New file.
32649         * modules/uninorm/u8-normxfrm: New file.
32650
32651 2009-03-07  Bruno Haible  <bruno@clisp.org>
32652
32653         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
32654         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
32655         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
32656
32657 2009-03-07  Bruno Haible  <bruno@clisp.org>
32658
32659         New module 'memxfrm'.
32660         * lib/memxfrm.h: New file.
32661         * lib/memxfrm.c: New file.
32662         * modules/memxfrm: New file.
32663
32664 2009-03-07  Bruno Haible  <bruno@clisp.org>
32665
32666         New module 'memcmp2'.
32667         * lib/memcmp2.h: New file.
32668         * lib/memcmp2.c: New file.
32669         * modules/memcmp2: New file.
32670
32671 2009-03-07  Bruno Haible  <bruno@clisp.org>
32672
32673         Tests for module 'uninorm/decomposing-form'.
32674         * modules/uninorm/decomposing-form-tests: New file.
32675         * tests/uninorm/test-decomposing-form.c: New file.
32676
32677         New module 'uninorm/decomposing-form'.
32678         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
32679         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
32680         Add 'decomposing_variant' field.
32681         * lib/uninorm/decomposing-form.c: New file.
32682         * lib/uninorm/nfc.c (uninorm_nfc): Update.
32683         * lib/uninorm/nfd.c (uninorm_nfd): Update.
32684         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
32685         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
32686         * modules/uninorm/decomposing-form: New file.
32687         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
32688         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
32689
32690 2009-03-07  Bruno Haible  <bruno@clisp.org>
32691
32692         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
32693         strings.
32694
32695 2009-03-06  Bruno Haible  <bruno@clisp.org>
32696
32697         Tests for module 'uninorm/u32-normcmp'.
32698         * tests/uninorm/test-u32-normcmp.c: New file.
32699         * modules/uninorm/u32-normcmp-tests: New file.
32700
32701         Tests for module 'uninorm/u16-normcmp'.
32702         * tests/uninorm/test-u16-normcmp.c: New file.
32703         * modules/uninorm/u16-normcmp-tests: New file.
32704
32705         Tests for module 'uninorm/u8-normcmp'.
32706         * tests/uninorm/test-u8-normcmp.c: New file.
32707         * modules/uninorm/u8-normcmp-tests: New file.
32708
32709         New module 'uninorm/u32-normcmp'.
32710         * lib/uninorm/u32-normcmp.c: New file.
32711         * modules/uninorm/u32-normcmp: New file.
32712
32713         New module 'uninorm/u16-normcmp'.
32714         * lib/uninorm/u16-normcmp.c: New file.
32715         * modules/uninorm/u16-normcmp: New file.
32716
32717         New module 'uninorm/u8-normcmp'.
32718         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
32719         declarations.
32720         * lib/uninorm/u8-normcmp.c: New file.
32721         * lib/uninorm/u-normcmp.h: New file.
32722         * modules/uninorm/u8-normcmp: New file.
32723
32724 2009-03-06  Bruno Haible  <bruno@clisp.org>
32725
32726         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
32727         Reported by Eric Blake.
32728
32729 2009-03-06  Eric Blake  <ebb9@byu.net>
32730             Bruno Haible  <bruno@clisp.org>
32731
32732         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
32733         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
32734         condition.
32735         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
32736         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
32737         condition.
32738         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
32739
32740 2009-03-06  Eric Blake  <ebb9@byu.net>
32741
32742         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
32743         to avoid compiler warnings.
32744         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
32745
32746 2009-03-05  Bruno Haible  <bruno@clisp.org>
32747
32748         * tests/test-ftell.c (main): Disable test beyond end of file on
32749         FreeMiNT.
32750         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
32751
32752 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
32753
32754         * lib/filevercmp.c: Move hidden files up in ordering.
32755         * tests/test-filevercmp.c: Add tests for hidden files.
32756
32757 2009-03-04  Bruno Haible  <bruno@clisp.org>
32758
32759         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
32760         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
32761         AM_CFLAGS.
32762         Reported by Simon Josefsson.
32763
32764 2009-03-03  Bruno Haible  <bruno@clisp.org>
32765
32766         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
32767         Reported by Simon Josefsson.
32768
32769         * doc/ld-version-script.texi: Update node reference.
32770
32771 2009-03-03  Bruno Haible  <bruno@clisp.org>
32772
32773         * modules/visibility (License): Change to 'unlimited'.
32774         Suggested by Simon Josefsson.
32775
32776 2009-03-03  Jim Meyering  <meyering@redhat.com>
32777
32778         unlinkdir: cannot_unlink_dir may modify process state
32779         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
32780         it's neither thread-safe nor appropriate for use in a library.
32781
32782 2009-03-03  Eric Blake  <ebb9@byu.net>
32783
32784         test-closein: silence test under Darwin
32785         * tests/test-closein.sh: Ignore stderr from cat, since we don't
32786         care if it dies from EPIPE or EBADF.
32787
32788 2009-03-03  Bruno Haible  <bruno@clisp.org>
32789
32790         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
32791         earlier.
32792         * doc/visibility.texi: Fix @node and @section.
32793
32794 2009-03-03  Simon Josefsson  <simon@josefsson.org>
32795
32796         * doc/gnulib.texi: Link to sections for ld version script and
32797         visibility.
32798         * doc/visibility.texi: Add @node and @section.
32799         * modules/ld-version-script: New module.
32800         * m4/ld-version-script.m4: New file.
32801         * doc/ld-version-script.texi: New file.
32802
32803 2009-03-02  David Lutterkort  <lutter@redhat.com>
32804
32805         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
32806         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32807
32808 2009-03-02  Bruno Haible  <bruno@clisp.org>
32809
32810         * doc/visibility.texi: Mention libtool's -export-symbols option.
32811
32812 2009-03-02  Jim Meyering  <meyering@redhat.com>
32813
32814         announce-gen: new option: --no-print-checksums
32815         * build-aux/announce-gen (usage): Describe it.
32816         (print_checksums): Print a newline here, not in the [*] footnote.
32817         (main): Honor it.
32818
32819 2009-03-01  Bruno Haible  <bruno@clisp.org>
32820
32821         Use socklen_t in the native Windows replacements prototypes.
32822         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
32823         instead of 'int'.
32824         * lib/getsockopt.c (rpl_getsockopt): Likewise.
32825         * lib/setsockopt.c (rpl_setsockopt): Likewise.
32826         * modules/getsockopt (Depends-on): Add socklen.
32827         * modules/setsockopt (Depends-on): Add socklen.
32828
32829 2009-03-01  Bruno Haible  <bruno@clisp.org>
32830
32831         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
32832         least 4.2.
32833
32834 2009-03-01  Eric Blake  <ebb9@byu.net>
32835             Bruno Haible  <bruno@clisp.org>
32836
32837         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
32838         error messages.
32839         * lib/wait-process.c (wait_subprocess): Omit error message about
32840         deadly signal sent to the child of termsigp != NULL.
32841
32842 2009-03-01  Eric Blake  <ebb9@byu.net>
32843
32844         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
32845
32846 2009-03-01  Bruno Haible  <bruno@clisp.org>
32847
32848         Avoid a gcc warning.
32849         * tests/test-sched.c (b): Make global.
32850         Reported by Eric Blake.
32851
32852 2009-01-19  Martin Lambers  <marlam@marlam.de>
32853
32854         Provide POSIX semantics for socket timeout options on W32.
32855         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
32856         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
32857         * modules/setsockopt: Depend on sys_time module for struct timeval.
32858         * modules/getsockopt: Depend on sys_time module for struct timeval.
32859
32860 2009-03-01  Simon Josefsson  <simon@josefsson.org>
32861
32862         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
32863         __USE_GNU, for consistency with netdb.in.h.
32864         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32865
32866 2009-03-01  Bruno Haible  <bruno@clisp.org>
32867
32868         More support for FreeMiNT.
32869         * lib/fseeko.c (rpl_fseeko): Complete last commit.
32870         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32871
32872 2009-03-01  Bruno Haible  <bruno@clisp.org>
32873
32874         More support for FreeMiNT.
32875         * lib/fpurge.c (fpurge): Correct last commit.
32876         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32877
32878 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32879
32880         Fix unportable awk script in vc-list-files.
32881         * build-aux/vc-list-files: In the replacement awk script, use
32882         substr with a second argument of 1, not zero.
32883         Report by Simon Josefsson.
32884
32885 2009-02-28  Bruno Haible  <bruno@clisp.org>
32886
32887         More support for FreeMiNT.
32888         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
32889         to FreeMiNT today.
32890         * lib/fwriting.c (fwriting): Likewise.
32891         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
32892
32893 2009-02-28  Bruno Haible  <bruno@clisp.org>
32894
32895         * tests/test-freadseek.c (main): Disable test beyond end of file on
32896         FreeMiNT.
32897         * tests/test-ftello.c (main): Likewise.
32898         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
32899
32900 2009-02-28  Bruno Haible  <bruno@clisp.org>
32901
32902         Add tentative support for FreeMiNT.
32903         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
32904         * lib/fpurge.c (fpurge): Likewise.
32905         * lib/freadable.c (freadable): Likewise.
32906         * lib/freading.c (freading): Likewise.
32907         * lib/freadptr.c (freadptr): Likewise.
32908         * lib/freadseek.c (freadptrinc): Likewise.
32909         * lib/fseeko.c (rpl_fseeko): Likewise.
32910         * lib/fseterr.c (fseterr): Likewise.
32911         * lib/fwritable.c (fwritable): Likewise.
32912         * lib/fwriting.c (fwriting): Likewise.
32913         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
32914         Hourihane.
32915         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32916
32917 2009-02-28  Bruno Haible  <bruno@clisp.org>
32918
32919         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
32920         SIGCHLD.
32921         Reported by Jim Meyering.
32922
32923 2009-02-28  Bruno Haible  <bruno@clisp.org>
32924
32925         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
32926         Mention the results of these tests on various platforms.
32927         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
32928         order.
32929         * doc/posix-functions/printf.texi: Likewise.
32930         * doc/posix-functions/snprintf.texi: Likewise.
32931         * doc/posix-functions/sprintf.texi: Likewise.
32932         * doc/posix-functions/vfprintf.texi: Likewise.
32933         * doc/posix-functions/vprintf.texi: Likewise.
32934         * doc/posix-functions/vsnprintf.texi: Likewise.
32935         * doc/posix-functions/vsprintf.texi: Likewise.
32936         * doc/glibc-functions/obstack_printf.texi: Likewise.
32937         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
32938
32939 2009-02-28  Bruno Haible  <bruno@clisp.org>
32940
32941         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
32942         Reported by Loïc Minier <lool@dooz.org>.
32943
32944 2009-02-27  Bruno Haible  <bruno@clisp.org>
32945
32946         * gnulib-tool (func_import): Make the sed expression used to create the
32947         sed script for updating the .gitignore file POSIX compliant.
32948         Reported by Eric Blake.
32949
32950 2009-02-27  Bruno Haible  <bruno@clisp.org>
32951
32952         * gnulib-tool (sed): Don't alias as "sed --posix".
32953         Reported by Eric Blake.
32954
32955 2009-02-27  Bruno Haible  <bruno@clisp.org>
32956
32957         Avoid test link errors.
32958         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
32959         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
32960         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
32961         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
32962         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32963
32964 2009-02-27  Bruno Haible  <bruno@clisp.org>
32965
32966         Avoid spurious "(cached)" in configure output.
32967         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
32968         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
32969         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
32970         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
32971         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
32972         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
32973         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
32974         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
32975         Reported by Eric Blake.
32976
32977 2009-02-27  Eric Blake  <ebb9@byu.net>
32978
32979         printf: fix regression in previous patch
32980         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
32981
32982 2009-02-27  Bruno Haible  <bruno@clisp.org>
32983
32984         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
32985         value.
32986         * lib/stdint.in.h: Likewise.
32987         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
32988
32989 2009-02-27  Eric Blake  <ebb9@byu.net>
32990
32991         doc: mention more functions added in cygwin 1.7.0
32992         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
32993         addition.
32994         * doc/posix-functions/open_wmemstream.texi: Likewise.
32995         * doc/posix-functions/wcsnlen.texi: Likewise.
32996         * doc/posix-functions/wcsnrtombs.texi: Likewise.
32997         * doc/posix-functions/wcstod.texi: Likewise.
32998         * doc/posix-functions/wcstof.texi: Likewise.
32999         * doc/posix-functions/wcstoimax.texi: Likewise.
33000         * doc/posix-functions/wcstok.texi: Likewise.
33001         * doc/posix-functions/wcstoumax.texi: Likewise.
33002
33003         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
33004         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
33005         * doc/posix-functions/fprintf.texi: Update.
33006         * doc/posix-functions/printf.texi: Update.
33007         * doc/posix-functions/snprintf.texi: Update.
33008         * doc/posix-functions/sprintf.texi: Update.
33009         * doc/posix-functions/vfprintf.texi: Update.
33010         * doc/posix-functions/vprintf.texi: Update.
33011         * doc/posix-functions/vsnprintf.texi: Update.
33012         * doc/posix-functions/vsprintf.texi: Update.
33013         * doc/glibc-functions/obstack_printf.texi: Update.
33014         * doc/glibc-functions/obstack_vprintf.texi: Update.
33015
33016 2009-02-26  Eric Blake  <ebb9@byu.net>
33017
33018         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
33019         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
33020         compilation bug by using runtime conversion.
33021         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
33022         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
33023         * modules/ceill-tests (Files): Use nan.h.
33024         * modules/floorl-tests (Files): Likewise.
33025         * modules/frexpl-tests (Files): Likewise.
33026         * modules/isnanl-tests (Files): Likewise.
33027         * modules/ldexpl-tests (Files): Likewise.
33028         * modules/roundl-tests (Files): Likewise.
33029         * modules/truncl-tests (Files): Likewise.
33030         * tests/test-ceill.c (main): Use a working NaN.
33031         * tests/test-floorl.c (main): Likewise.
33032         * tests/test-frexpl.c (main): Likewise.
33033         * tests/test-isnan.c (test_long_double): Likewise.
33034         * tests/test-isnanl.h (main): Likewise.
33035         * tests/test-ldexpl.h (main): Likewise.
33036         * tests/test-roundl.h (main): Likewise.
33037         * tests/test-truncl.h (main): Likewise.
33038         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
33039
33040 2009-02-26  Eric Blake  <ebb9@byu.net>
33041             Bruno Haible  <bruno@clisp.org>
33042
33043         Work around a *printf bug with %ls on Solaris.
33044         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
33045         precision is specified, sprintf stops converting the wide string
33046         argument when the number of bytes that have been produced by this
33047         conversion equals or exceeds the precision.
33048         * doc/posix-functions/fprintf.texi: Update.
33049         * doc/posix-functions/printf.texi: Update.
33050         * doc/posix-functions/snprintf.texi: Update.
33051         * doc/posix-functions/sprintf.texi: Update.
33052         * doc/posix-functions/vfprintf.texi: Update.
33053         * doc/posix-functions/vprintf.texi: Update.
33054         * doc/posix-functions/vsnprintf.texi: Update.
33055         * doc/posix-functions/vsprintf.texi: Update.
33056         * doc/glibc-functions/obstack_printf.texi: Update.
33057         * doc/glibc-functions/obstack_vprintf.texi: Update.
33058
33059 2009-02-26  Eric Blake  <ebb9@byu.net>
33060
33061         stdlib: favor compiler check of random.h
33062         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
33063         to avoid an ObjC random.h installed by Swarm.
33064
33065 2009-02-26  Bruno Haible  <bruno@clisp.org>
33066
33067         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
33068         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
33069         Reported by Gary V. Vaughan <gary@gnu.org>.
33070
33071 2009-02-26  Bruno Haible  <bruno@clisp.org>
33072
33073         Fix *printf behaviour regarding the %ls directive.
33074         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
33075         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
33076         NEED_PRINTF_DIRECTIVE_LS.
33077         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
33078         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33079         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33080         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
33081         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
33082         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
33083         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
33084         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33085         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33086         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33087         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33088         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
33089         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33090         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33091         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33092         * doc/posix-functions/fprintf.texi: Update.
33093         * doc/posix-functions/printf.texi: Update.
33094         * doc/posix-functions/snprintf.texi: Update.
33095         * doc/posix-functions/sprintf.texi: Update.
33096         * doc/posix-functions/vfprintf.texi: Update.
33097         * doc/posix-functions/vprintf.texi: Update.
33098         * doc/posix-functions/vsnprintf.texi: Update.
33099         * doc/posix-functions/vsprintf.texi: Update.
33100         * doc/glibc-functions/obstack_printf.texi: Update.
33101         * doc/glibc-functions/obstack_vprintf.texi: Update.
33102         Reported by Eric Blake.
33103
33104 2009-02-25  Bruno Haible  <bruno@clisp.org>
33105
33106         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
33107         with known value.
33108         Reported by Gary V. Vaughan <gary@gnu.org>.
33109
33110 2009-02-25  Bruno Haible  <bruno@clisp.org>
33111
33112         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
33113         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
33114         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
33115         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
33116         Reported by Gary V. Vaughan <gary@gnu.org>.
33117
33118 2009-02-25  Bruno Haible  <bruno@clisp.org>
33119
33120         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
33121         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
33122         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
33123         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
33124         Reported by Gary V. Vaughan <gary@gnu.org>.
33125
33126 2009-02-25  Eric Blake  <ebb9@byu.net>
33127
33128         tests: skip fseek/ftell tests if ungetc is broken
33129         * m4/ungetc.m4: New file.
33130         * modules/fseek-tests: Split test, so ungetc dependency is
33131         separate from rest of test.
33132         * modules/fseeko-tests: Likewise.
33133         * modules/ftell-tests: Likewise.
33134         * modules/ftello-tests: Likewise.
33135         * tests/test-fseek.c (main): Isolate ungetc dependency.
33136         * tests/test-fseeko.c (main): Likewise.
33137         * tests/test-ftell.c (main): Likewise.
33138         * tests/test-ftello.c (main): Likewise.
33139         * tests/test-fseek2.sh: New file.
33140         * tests/test-fseeko2.sh: Likewise.
33141         * tests/test-ftell2.sh: Likewise.
33142         * tests/test-ftello2.sh: Likewise.
33143
33144 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
33145
33146         test-getaddrinfo: fix usage of skip return code 77
33147         * tests/test-gettaddrinfo.c: Return skip code 77 only
33148         for first occurance of skip (4x77 is not 77)
33149
33150 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
33151
33152         strtod: avoid C99 decl-after-statement
33153         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
33154
33155 2009-02-24  Eric Blake  <ebb9@byu.net>
33156
33157         strtod: detect HP-UX 11.31 bug
33158         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
33159         Reported by Gary V. Vaughan.
33160
33161 2009-02-23  Bruno Haible  <bruno@clisp.org>
33162
33163         Fix invalid read past end of memory block.
33164         * lib/vasnprintf.c (DCHAR_SET): Define.
33165         (local_wcslen): Define only when needed.
33166         (local_strnlen, local_wcsnlen): New functions.
33167         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
33168         directives that involve a conversion ourselves.
33169         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
33170         wcsnlen, mbrtowc, wcrtomb.
33171         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
33172         * tests/test-vasprintf-posix.c (test_function): Likewise.
33173         * tests/test-snprintf-posix.h (test_function): Likewise.
33174         * tests/test-sprintf-posix.h (test_function): Likewise.
33175         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33176
33177 2009-02-22  Bruno Haible  <bruno@clisp.org>
33178
33179         Implement new clarified decomposition of Hangul syllables.
33180         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
33181         of type LTV, return only a pairwise decomposition.
33182         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
33183         Likewise.
33184         * tests/uninorm/test-decomposition.c (main): Updated expected result.
33185         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
33186         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
33187
33188 2009-02-22  Bruno Haible  <bruno@clisp.org>
33189
33190         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
33191         zero-length results and shrink excess allocated memory.
33192         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
33193         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
33194         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
33195         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
33196         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
33197         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
33198         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
33199         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
33200         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
33201         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
33202         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
33203         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
33204
33205 2009-02-21  Bruno Haible  <bruno@clisp.org>
33206
33207         * doc/gnulib.texi: Include safe-alloc.texi earlier.
33208         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
33209         spaces after a period. Put a space between a macro name and its
33210         argument list. Trivial rewordings.
33211         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
33212         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
33213         (main): Return 0 explicitly.
33214
33215 2009-02-21  Bruno Haible  <bruno@clisp.org>
33216
33217         Tests for module 'uninorm/filter'.
33218         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
33219         * modules/uninorm/filter-tests: New file.
33220
33221         New module 'uninorm/filter'.
33222         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
33223         uninorm_filter_flush, uninorm_filter_free): New declarations.
33224         * lib/uninorm/uninorm-filter.c: New file.
33225         * modules/uninorm/filter: New file.
33226
33227 2009-02-21  Bruno Haible  <bruno@clisp.org>
33228
33229         Tests for module 'uninorm/nfkc'.
33230         * tests/uninorm/test-nfkc.c: New file.
33231         * tests/uninorm/test-u8-nfkc.c: New file.
33232         * tests/uninorm/test-u16-nfkc.c: New file.
33233         * tests/uninorm/test-u32-nfkc.c: New file.
33234         * tests/uninorm/test-u32-nfkc-big.sh: New file.
33235         * tests/uninorm/test-u32-nfkc-big.c: New file.
33236         * modules/uninorm/nfkc-tests: New file.
33237
33238         New module 'uninorm/nfkc'.
33239         * lib/uninorm/nfkc.c: New file.
33240         * modules/uninorm/nfkc: New file.
33241
33242         Tests for module 'uninorm/nfkd'.
33243         * tests/uninorm/test-nfkd.c: New file.
33244         * tests/uninorm/test-u8-nfkd.c: New file.
33245         * tests/uninorm/test-u16-nfkd.c: New file.
33246         * tests/uninorm/test-u32-nfkd.c: New file.
33247         * tests/uninorm/test-u32-nfkd-big.sh: New file.
33248         * tests/uninorm/test-u32-nfkd-big.c: New file.
33249         * modules/uninorm/nfkd-tests: New file.
33250
33251         New module 'uninorm/nfkd'.
33252         * lib/uninorm/nfkd.c: New file.
33253         * modules/uninorm/nfkd: New file.
33254
33255         Tests for module 'uninorm/nfc'.
33256         * tests/uninorm/test-nfc.c: New file.
33257         * tests/uninorm/test-u8-nfc.c: New file.
33258         * tests/uninorm/test-u16-nfc.c: New file.
33259         * tests/uninorm/test-u32-nfc.c: New file.
33260         * tests/uninorm/test-u32-nfc-big.sh: New file.
33261         * tests/uninorm/test-u32-nfc-big.c: New file.
33262         * modules/uninorm/nfc-tests: New file.
33263
33264         New module 'uninorm/nfc'.
33265         * lib/uninorm/nfc.c: New file.
33266         * modules/uninorm/nfc: New file.
33267
33268         Tests for module 'uninorm/nfd'.
33269         * tests/uninorm/test-nfd.c: New file.
33270         * tests/uninorm/test-u8-nfd.c: New file.
33271         * tests/uninorm/test-u16-nfd.c: New file.
33272         * tests/uninorm/test-u32-nfd.c: New file.
33273         * tests/uninorm/test-u32-nfd-big.sh: New file.
33274         * tests/uninorm/test-u32-nfd-big.c: New file.
33275         * tests/uninorm/test-u32-normalize-big.h: New file.
33276         * tests/uninorm/test-u32-normalize-big.c: New file.
33277         * tests/uninorm/NormalizationTest.txt: New file, created from
33278         Unicode 5.1.0 NormalizationTest.txt.
33279         * modules/uninorm/nfd-tests: New file.
33280
33281         New module 'uninorm/nfd'.
33282         * lib/uninorm/nfd.c: New file.
33283         * modules/uninorm/nfd: New file.
33284
33285         New module 'uninorm/u32-normalize'.
33286         * lib/uninorm/u32-normalize.c: New file.
33287         * modules/uninorm/u32-normalize: New file.
33288
33289         New module 'uninorm/u16-normalize'.
33290         * lib/uninorm/u16-normalize.c: New file.
33291         * modules/uninorm/u16-normalize: New file.
33292
33293         New module 'uninorm/u8-normalize'.
33294         * lib/uninorm/u8-normalize.c: New file.
33295         * lib/uninorm/normalize-internal.h: New file.
33296         * lib/uninorm/u-normalize-internal.h: New file.
33297         * modules/uninorm/u8-normalize: New file.
33298
33299         New module 'uninorm/decompose-internal'.
33300         * lib/uninorm/decompose-internal.c: New file.
33301         * modules/uninorm/decompose-internal: New file.
33302
33303         Tests for module 'uninorm/composition'.
33304         * tests/uninorm/test-composition.c: New file.
33305         * modules/uninorm/composition-tests: New file.
33306
33307         New module 'uninorm/composition'.
33308         * lib/uninorm/composition.c: New file.
33309         * lib/uninorm/composition-table.gperf: New file, generated by
33310         gen-uni-tables.
33311         * modules/uninorm/composition: New file.
33312
33313         Tests for module 'uninorm/compat-decomposition'.
33314         * tests/uninorm/test-compat-decomposition.c: New file.
33315         * modules/uninorm/compat-decomposition-tests: New file.
33316
33317         New module 'uninorm/compat-decomposition'.
33318         * lib/uninorm/decompose-internal.h: New file.
33319         * lib/uninorm/compat-decomposition.c: New file.
33320         * modules/uninorm/compat-decomposition: New file.
33321
33322         Tests for module 'uninorm/canonical-decomposition'.
33323         * tests/uninorm/test-canonical-decomposition.c: New file.
33324         * modules/uninorm/canonical-decomposition-tests: New file.
33325
33326         New module 'uninorm/canonical-decomposition'.
33327         * lib/uninorm/canonical-decomposition.c: New file.
33328         * modules/uninorm/canonical-decomposition: New file.
33329
33330         Tests for module 'uninorm/decomposition'.
33331         * tests/uninorm/test-decomposition.c: New file.
33332         * modules/uninorm/decomposition-tests: New file.
33333
33334         New module 'uninorm/decomposition'.
33335         * lib/uninorm/decomposition.c: New file.
33336         * modules/uninorm/decomposition: New file.
33337
33338         New module 'uninorm/decomposition-table'.
33339         * lib/uninorm/decomposition-table.h: New file.
33340         * lib/uninorm/decomposition-table.c: New file.
33341         * lib/uninorm/decomposition-table1.h: New file, generated by
33342         gen-uni-tables.
33343         * lib/uninorm/decomposition-table2.h: New file, generated by
33344         gen-uni-tables.
33345         * modules/uninorm/decomposition-table: New file.
33346
33347         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
33348         (UC_DECOMP_*): New enumeration items.
33349         (get_decomposition): New function.
33350         (struct decomp_table): New type.
33351         (output_decomposition, output_decomposition_tables): New functions.
33352         (unicode_composition_exclusions): New variable.
33353         (fill_composition_exclusions, debug_output_composition_tables): New
33354         functions.
33355         (main): Accept one more argument. Invoke fill_composition_exclusions.
33356         Output decomposition and composition tables.
33357
33358         New module 'uninorm/base'.
33359         * lib/uninorm.h: New file.
33360         * lib/unictype.h: Update comment.
33361         * modules/uninorm/base: New file.
33362
33363 2009-02-21  David Lutterkort  <lutter@redhat.com>
33364
33365         Tests for module 'safe-alloc'.
33366         * tests/test-safe-alloc.c: New file.
33367         * modules/safe-alloc-tests: New file.
33368
33369         New module 'safe-alloc'.
33370         * lib/safe-alloc.h: New file.
33371         * lib/safe-alloc.c: New file.
33372         * m4/safe-alloc.m4: New file.
33373         * modules/safe-alloc: New file.
33374         * doc/safe-alloc.texi: New file.
33375         * doc/gnulib.texi: Include it.
33376         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
33377         safe-alloc.
33378
33379 2009-02-18  Bruno Haible  <bruno@clisp.org>
33380
33381         Fix link error on non-glibc systems.
33382         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
33383         variable.
33384         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33385
33386 2009-02-18  Jim Meyering  <meyering@redhat.com>
33387
33388         fts: avoid used-uninitialized error due to recent change
33389         * lib/fts.c (fts_read): Guard uses of the new member,
33390         parent->fts_n_dirs_remaining, since it's not relevant for
33391         the parent of a directory specified on the command-line.
33392
33393 2009-02-17  James Youngman  <jay@gnu.org>
33394             Bruno Haible  <bruno@clisp.org>
33395
33396         * m4/include_next.m4: Reformulate comment.
33397
33398 2009-02-16  Jim Meyering  <meyering@redhat.com>
33399
33400         fts: add #if guards so that the fts_lgpl module still builds
33401         * lib/fts.c: Guard just-added hash-table-using parts with
33402         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
33403         Reported by Simon Josefsson.
33404
33405 2009-02-15  Bruno Haible  <bruno@clisp.org>
33406
33407         * modules/array-mergesort-tests: New file.
33408         * tests/test-array-mergesort.c: New file.
33409
33410         New module 'array-mergesort'.
33411         * modules/array-mergesort: New file.
33412         * lib/array-mergesort.h: New file.
33413
33414 2009-02-15  Bruno Haible  <bruno@clisp.org>
33415
33416         Fix 2009-02-07 commit.
33417         * lib/gen-uni-tables.c (output_predicate, output_category,
33418         output_combclass, output_bidi_category, output_decimal_digit,
33419         output_digit, output_numeric, output_mirror, output_scripts,
33420         output_ident_category, output_simple_mapping): Fix format directives.
33421         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
33422
33423 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
33424
33425         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
33426         fixes are available from IBM.
33427
33428 2009-02-13  Jim Meyering  <meyering@redhat.com>
33429
33430         fts: arrange not to stat non-directories in more cases
33431         This makes GNU find (when it doesn't need to stat each file)
33432         *much* more efficient at traversing reiserfs file systems.
33433         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
33434         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
33435         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
33436         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
33437         (leaf_optimization_applies): New function.
33438         (LCO_hash, LCO_compare): New helper functions.
33439         (link_count_optimize_ok): New function.
33440         (fts_stat): Initialize new member (if dir).
33441         (fts_read): Decrement parent's fts_n_dirs_remaining count if
33442         we've just stat'ed a directory.  Skip the stat call when possible.
33443         ---
33444         Note this AFS-related exchange:
33445         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
33446         and note find's pioctl call in find/fstype.c.
33447         But that is necessary only if you want to enable the
33448         optimization for AFS, and for now, I don't.
33449
33450         fts: move a function definition "up" (no semantic change)
33451         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
33452         "up" to precede upcoming use of a related function.
33453
33454 2009-02-11  Jim Meyering  <meyering@redhat.com>
33455
33456         fts: correct internal computation of nlinks (optimization-related)
33457         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
33458         whether the current entry is a directory, so don't test it.
33459
33460 2009-02-10  Bruno Haible  <bruno@clisp.org>
33461
33462         Tests for module 'uniwbrk/ulc-wordbreaks'.
33463         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
33464         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
33465         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
33466
33467         Tests for module 'uniwbrk/u32-wordbreaks'.
33468         * modules/uniwbrk/u32-wordbreaks-tests: New file.
33469         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
33470
33471         Tests for module 'uniwbrk/u16-wordbreaks'.
33472         * modules/uniwbrk/u16-wordbreaks-tests: New file.
33473         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
33474
33475         Tests for module 'uniwbrk/u8-wordbreaks'.
33476         * modules/uniwbrk/u8-wordbreaks-tests: New file.
33477         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
33478
33479 2009-02-10  Bruno Haible  <bruno@clisp.org>
33480
33481         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
33482         property.
33483         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
33484         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
33485         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
33486
33487 2009-02-10  Simon Josefsson  <simon@josefsson.org>
33488
33489         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
33490         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
33491
33492 2009-02-10  Bruno Haible  <bruno@clisp.org>
33493
33494         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
33495         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
33496         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
33497         * lib/unilbrk/u8-possible-linebreaks.c: Update.
33498         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
33499         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
33500
33501 2009-02-09  Simon Josefsson  <simon@josefsson.org>
33502
33503         * lib/sockets.h (gl_fd_to_handle): New function.
33504
33505         * tests/test-sockets.c: Call gl_fd_to_handle.
33506
33507 2009-02-09  Bruno Haible  <bruno@clisp.org>
33508
33509         * doc/havelib.texi: Document the conventions on bi-arch systems.
33510
33511 2009-02-08  Bruno Haible  <bruno@clisp.org>
33512
33513         Document the AC_LIB_LINKFLAGS macro.
33514         * doc/havelib.texi: New file, mostly written on 2005-05-24.
33515         * doc/gnulib.texi: Include it.
33516
33517 2009-02-08  Bruno Haible  <bruno@clisp.org>
33518
33519         Fix wrong order of sections, compared to TOC.
33520         * doc/gnulib.texi: Include relocatable-maint.texi after the
33521         "Regular expressions" node, not before.
33522
33523 2009-02-08  Bruno Haible  <bruno@clisp.org>
33524
33525         Tests for module 'unicase/totitle'.
33526         * modules/unicase/totitle-tests: New file.
33527
33528         Tests for module 'unicase/tolower'.
33529         * modules/unicase/tolower-tests: New file.
33530
33531         Tests for module 'unicase/toupper'.
33532         * modules/unicase/toupper-tests: New file.
33533         * tests/unicase/test-mapping-part1.h: New file.
33534         * tests/unicase/test-mapping-part2.h: New file.
33535
33536         New module 'unicase/totitle'.
33537         * modules/unicase/totitle: New file.
33538         * lib/unicase/totitle.c: New file.
33539
33540         New module 'unicase/tolower'.
33541         * modules/unicase/tolower: New file.
33542         * lib/unicase/tolower.c: New file.
33543
33544         New module 'unicase/toupper'.
33545         * modules/unicase/toupper: New file.
33546         * lib/unicase/toupper.c: New file.
33547         * lib/unicase/simple-mapping.h: New file.
33548
33549         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
33550         (mapping_table): New structure.
33551         (output_simple_mapping): New function.
33552         (main): Invoke output_simple_mapping_test and output_simple_mapping.
33553         * modules/gen-uni-tables (Description): Update.
33554         * lib/unicase/toupper.h: New file, automatically generated by
33555         gen-uni-tables.
33556         * lib/unicase/tolower.h: New file, automatically generated by
33557         gen-uni-tables.
33558         * lib/unicase/totitle.h: New file, automatically generated by
33559         gen-uni-tables.
33560         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
33561         gen-uni-tables.
33562         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
33563         gen-uni-tables.
33564         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
33565         gen-uni-tables.
33566
33567         New module 'unicase/base'.
33568         * modules/unicase/base: New file.
33569         * lib/unicase.h: New file.
33570
33571 2009-02-08  Bruno Haible  <bruno@clisp.org>
33572
33573         New module 'uniwbrk/ulc-wordbreaks'.
33574         * modules/uniwbrk/ulc-wordbreaks: New file.
33575         * lib/uniwbrk/ulc-wordbreaks.c: New file.
33576
33577         New module 'uniwbrk/u32-wordbreaks'.
33578         * modules/uniwbrk/u32-wordbreaks: New file.
33579         * lib/uniwbrk/u32-wordbreaks.c: New file.
33580
33581         New module 'uniwbrk/u16-wordbreaks'.
33582         * modules/uniwbrk/u16-wordbreaks: New file.
33583         * lib/uniwbrk/u16-wordbreaks.c: New file.
33584
33585         New module 'uniwbrk/u8-wordbreaks'.
33586         * modules/uniwbrk/u8-wordbreaks: New file.
33587         * lib/uniwbrk/u8-wordbreaks.c: New file.
33588         * lib/uniwbrk/u-wordbreaks.h: New file.
33589
33590         New module 'uniwbrk/table'.
33591         * modules/uniwbrk/table: New file.
33592         * lib/uniwbrk/wbrktable.h: New file.
33593         * lib/uniwbrk/wbrktable.c: New file.
33594
33595         New module 'uniwbrk/wordbreak-property'.
33596         * modules/uniwbrk/wordbreak-property: New file.
33597         * lib/uniwbrk/wordbreak-property.c: New file.
33598
33599         * lib/gen-uni-tables.c (WBP_*): New enum items.
33600         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
33601         (unicode_org_wbp): New variable.
33602         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
33603         New functions.
33604         (wbp_table): New structure.
33605         (output_wbp, output_wbrk_tables): New functions.
33606         (main): Accept additional argument. Invoke fill_org_wbp,
33607         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
33608         output_wbrk_tables.
33609         * modules/gen-uni-tables (Description): Update.
33610         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
33611         gen-uni-tables.
33612
33613         New module 'uniwbrk/base'.
33614         * modules/uniwbrk/base: New file.
33615         * lib/uniwbrk.h: New file.
33616
33617 2009-02-08  Bruno Haible  <bruno@clisp.org>
33618
33619         Update to Unicode 5.1.0.
33620         * lib/gen-uni-tables.c (is_property_alphabetic): Include
33621         U+2185..U+2188.
33622         (is_property_default_ignorable_code_point): Don't include characters
33623         of category Cc or Cs and not-a-characters.
33624         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
33625         U+0D79, U+109E, U+109F, U+A60C.
33626         * lib/unictype/bidi_of.h: Regenerated.
33627         * lib/unictype/blocks.h: Regenerated.
33628         * lib/unictype/categ_C.h: Regenerated.
33629         * lib/unictype/categ_Cf.h: Regenerated.
33630         * lib/unictype/categ_Cn.h: Regenerated.
33631         * lib/unictype/categ_L.h: Regenerated.
33632         * lib/unictype/categ_Ll.h: Regenerated.
33633         * lib/unictype/categ_Lm.h: Regenerated.
33634         * lib/unictype/categ_Lo.h: Regenerated.
33635         * lib/unictype/categ_Lu.h: Regenerated.
33636         * lib/unictype/categ_M.h: Regenerated.
33637         * lib/unictype/categ_Mc.h: Regenerated.
33638         * lib/unictype/categ_Me.h: Regenerated.
33639         * lib/unictype/categ_Mn.h: Regenerated.
33640         * lib/unictype/categ_N.h: Regenerated.
33641         * lib/unictype/categ_Nd.h: Regenerated.
33642         * lib/unictype/categ_Nl.h: Regenerated.
33643         * lib/unictype/categ_No.h: Regenerated.
33644         * lib/unictype/categ_P.h: Regenerated.
33645         * lib/unictype/categ_Pd.h: Regenerated.
33646         * lib/unictype/categ_Pe.h: Regenerated.
33647         * lib/unictype/categ_Pf.h: Regenerated.
33648         * lib/unictype/categ_Pi.h: Regenerated.
33649         * lib/unictype/categ_Po.h: Regenerated.
33650         * lib/unictype/categ_Ps.h: Regenerated.
33651         * lib/unictype/categ_S.h: Regenerated.
33652         * lib/unictype/categ_Sk.h: Regenerated.
33653         * lib/unictype/categ_Sm.h: Regenerated.
33654         * lib/unictype/categ_So.h: Regenerated.
33655         * lib/unictype/categ_of.h: Regenerated.
33656         * lib/unictype/combining.h: Regenerated.
33657         * lib/unictype/ctype_alnum.h: Regenerated.
33658         * lib/unictype/ctype_alpha.h: Regenerated.
33659         * lib/unictype/ctype_graph.h: Regenerated.
33660         * lib/unictype/ctype_lower.h: Regenerated.
33661         * lib/unictype/ctype_print.h: Regenerated.
33662         * lib/unictype/ctype_punct.h: Regenerated.
33663         * lib/unictype/ctype_upper.h: Regenerated.
33664         * lib/unictype/decdigit.h: Regenerated.
33665         * lib/unictype/digit.h: Regenerated.
33666         * lib/unictype/mirror.h: Regenerated.
33667         * lib/unictype/numeric.h: Regenerated.
33668         * lib/unictype/pr_alphabetic.h: Regenerated.
33669         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
33670         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
33671         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
33672         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
33673         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
33674         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
33675         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
33676         * lib/unictype/pr_combining.h: Regenerated.
33677         * lib/unictype/pr_dash.h: Regenerated.
33678         * lib/unictype/pr_decimal_digit.h: Regenerated.
33679         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
33680         * lib/unictype/pr_deprecated.h: Regenerated.
33681         * lib/unictype/pr_diacritic.h: Regenerated.
33682         * lib/unictype/pr_extender.h: Regenerated.
33683         * lib/unictype/pr_format_control.h: Regenerated.
33684         * lib/unictype/pr_grapheme_base.h: Regenerated.
33685         * lib/unictype/pr_grapheme_extend.h: Regenerated.
33686         * lib/unictype/pr_grapheme_link.h: Regenerated.
33687         * lib/unictype/pr_id_continue.h: Regenerated.
33688         * lib/unictype/pr_id_start.h: Regenerated.
33689         * lib/unictype/pr_ideographic.h: Regenerated.
33690         * lib/unictype/pr_ignorable_control.h: Regenerated.
33691         * lib/unictype/pr_lowercase.h: Regenerated.
33692         * lib/unictype/pr_math.h: Regenerated.
33693         * lib/unictype/pr_numeric.h: Regenerated.
33694         * lib/unictype/pr_other_alphabetic.h: Regenerated.
33695         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
33696         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
33697         * lib/unictype/pr_other_id_continue.h: Regenerated.
33698         * lib/unictype/pr_other_lowercase.h: Regenerated.
33699         * lib/unictype/pr_other_math.h: Regenerated.
33700         * lib/unictype/pr_punctuation.h: Regenerated.
33701         * lib/unictype/pr_sentence_terminal.h: Regenerated.
33702         * lib/unictype/pr_soft_dotted.h: Regenerated.
33703         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
33704         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
33705         * lib/unictype/pr_unified_ideograph.h: Regenerated.
33706         * lib/unictype/pr_uppercase.h: Regenerated.
33707         * lib/unictype/pr_xid_continue.h: Regenerated.
33708         * lib/unictype/pr_xid_start.h: Regenerated.
33709         * lib/unictype/pr_zero_width.h: Regenerated.
33710         * lib/unictype/scripts.h: Regenerated.
33711         * lib/unictype/scripts_byname.gperf: Regenerated.
33712         * lib/unictype/sy_java_ident.h: Regenerated.
33713         * lib/unilbrk/lbrkprop1.h: Regenerated.
33714         * lib/unilbrk/lbrkprop2.h: Regenerated.
33715         * tests/unictype/test-categ_C.c: Regenerated.
33716         * tests/unictype/test-categ_Cf.c: Regenerated.
33717         * tests/unictype/test-categ_Cn.c: Regenerated.
33718         * tests/unictype/test-categ_L.c: Regenerated.
33719         * tests/unictype/test-categ_Ll.c: Regenerated.
33720         * tests/unictype/test-categ_Lm.c: Regenerated.
33721         * tests/unictype/test-categ_Lo.c: Regenerated.
33722         * tests/unictype/test-categ_Lu.c: Regenerated.
33723         * tests/unictype/test-categ_M.c: Regenerated.
33724         * tests/unictype/test-categ_Mc.c: Regenerated.
33725         * tests/unictype/test-categ_Me.c: Regenerated.
33726         * tests/unictype/test-categ_Mn.c: Regenerated.
33727         * tests/unictype/test-categ_N.c: Regenerated.
33728         * tests/unictype/test-categ_Nd.c: Regenerated.
33729         * tests/unictype/test-categ_Nl.c: Regenerated.
33730         * tests/unictype/test-categ_No.c: Regenerated.
33731         * tests/unictype/test-categ_P.c: Regenerated.
33732         * tests/unictype/test-categ_Pd.c: Regenerated.
33733         * tests/unictype/test-categ_Pe.c: Regenerated.
33734         * tests/unictype/test-categ_Pf.c: Regenerated.
33735         * tests/unictype/test-categ_Pi.c: Regenerated.
33736         * tests/unictype/test-categ_Po.c: Regenerated.
33737         * tests/unictype/test-categ_Ps.c: Regenerated.
33738         * tests/unictype/test-categ_S.c: Regenerated.
33739         * tests/unictype/test-categ_Sk.c: Regenerated.
33740         * tests/unictype/test-categ_Sm.c: Regenerated.
33741         * tests/unictype/test-categ_So.c: Regenerated.
33742         * tests/unictype/test-ctype_alnum.c: Regenerated.
33743         * tests/unictype/test-ctype_alpha.c: Regenerated.
33744         * tests/unictype/test-ctype_graph.c: Regenerated.
33745         * tests/unictype/test-ctype_lower.c: Regenerated.
33746         * tests/unictype/test-ctype_print.c: Regenerated.
33747         * tests/unictype/test-ctype_punct.c: Regenerated.
33748         * tests/unictype/test-ctype_upper.c: Regenerated.
33749         * tests/unictype/test-decdigit.h: Regenerated.
33750         * tests/unictype/test-digit.h: Regenerated.
33751         * tests/unictype/test-numeric.h: Regenerated.
33752         * tests/unictype/test-pr_alphabetic.c: Regenerated.
33753         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
33754         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
33755         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
33756         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
33757         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
33758         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
33759         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
33760         * tests/unictype/test-pr_combining.c: Regenerated.
33761         * tests/unictype/test-pr_dash.c: Regenerated.
33762         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
33763         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
33764         * tests/unictype/test-pr_deprecated.c: Regenerated.
33765         * tests/unictype/test-pr_diacritic.c: Regenerated.
33766         * tests/unictype/test-pr_extender.c: Regenerated.
33767         * tests/unictype/test-pr_format_control.c: Regenerated.
33768         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
33769         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
33770         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
33771         * tests/unictype/test-pr_id_continue.c: Regenerated.
33772         * tests/unictype/test-pr_id_start.c: Regenerated.
33773         * tests/unictype/test-pr_ideographic.c: Regenerated.
33774         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
33775         * tests/unictype/test-pr_lowercase.c: Regenerated.
33776         * tests/unictype/test-pr_math.c: Regenerated.
33777         * tests/unictype/test-pr_numeric.c: Regenerated.
33778         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
33779         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
33780         Regenerated.
33781         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
33782         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
33783         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
33784         * tests/unictype/test-pr_other_math.c: Regenerated.
33785         * tests/unictype/test-pr_punctuation.c: Regenerated.
33786         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
33787         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
33788         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
33789         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
33790         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
33791         * tests/unictype/test-pr_uppercase.c: Regenerated.
33792         * tests/unictype/test-pr_xid_continue.c: Regenerated.
33793         * tests/unictype/test-pr_xid_start.c: Regenerated.
33794         * tests/unictype/test-pr_zero_width.c: Regenerated.
33795
33796         Update to Unicode 5.1.0.
33797         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
33798         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
33799         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
33800         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
33801         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
33802         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
33803         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
33804         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
33805         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
33806         (nonspacing_table_ind): Update.
33807         * tests/uniwidth/test-uc_width2.sh: Update expected result.
33808
33809         Update to Unicode 5.1.0.
33810         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
33811         code transform.
33812         * lib/uniname/uniname.c (unicode_character_name,
33813         unicode_name_character): Add the range 0x1Fxxx to the code transform.
33814         * lib/uniname/uninames.h: Regenerated.
33815         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
33816
33817 2009-02-07  Bruno Haible  <bruno@clisp.org>
33818
33819         Merge gen-ctype and gen-lbrk into a single program.
33820         * lib/gen-uni-tables.c: New file, incorporating
33821         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
33822         Add directory prefixes to the names of the generated files.
33823         * lib/unictype/gen-ctype.c: Remove file.
33824         * lib/unilbrk/gen-lbrk.c: Remove file.
33825         * modules/gen-uni-tables: New file.
33826         * modules/unictype/gen-ctype: Remove file.
33827         * modules/unilbrk/gen-lbrk: Remove file.
33828
33829 2009-02-07  Bruno Haible  <bruno@clisp.org>
33830
33831         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
33832
33833         New module 'unistr/u32-strcoll'.
33834         * modules/unistr/u32-strcoll: New file.
33835         * lib/unistr/u32-strcoll.c: New file.
33836
33837         New module 'unistr/u16-strcoll'.
33838         * modules/unistr/u16-strcoll: New file.
33839         * lib/unistr/u16-strcoll.c: New file.
33840
33841         New module 'unistr/u8-strcoll'.
33842         * modules/unistr/u8-strcoll: New file.
33843         * lib/unistr/u8-strcoll.c: New file.
33844         * lib/unistr/u-strcoll.h: New file.
33845
33846 2009-02-07  Bruno Haible  <bruno@clisp.org>
33847
33848         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
33849         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
33850         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
33851         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
33852         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
33853         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
33854
33855 2009-02-07  Bruno Haible  <bruno@clisp.org>
33856
33857         Make 64-bit clean.
33858         * lib/unictype/gen-ctype.c (output_predicate, output_category,
33859         output_combclass, output_bidi_category, output_decimal_digit,
33860         output_digit, output_numeric, output_mirror, output_scripts,
33861         output_ident_category): Use proper width specifier in format strings.
33862
33863 2009-02-07  Bruno Haible  <bruno@clisp.org>
33864
33865         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
33866         failure behaviour.
33867
33868 2009-02-07  Jim Meyering  <meyering@redhat.com>
33869
33870         regex: avoid compilation failure with upcoming gcc-4.4
33871         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
33872         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
33873         "... error: integer overflow in preprocessor expression".
33874
33875 2009-02-05  Ben Pfaff  <blp@gnu.org>
33876
33877         Fix link errors on Windows when close module is used.
33878         * modules/close: Add $(LIB_CLOSE) to Link section.
33879         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
33880         $(LIB_CLOSE) on Windows.
33881
33882 2009-02-05  Jim Meyering  <meyering@redhat.com>
33883
33884         still avoid unused-parameter warnings, but do it cleanly
33885         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
33886         (get_fs_usage): Cast to void instead.
33887         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
33888         (dev_from_mount_options, read_file_system_list): Cast to void.
33889         Prompted by Bruno Haible.
33890
33891 2009-02-04  Jim Meyering  <meyering@redhat.com>
33892
33893         fsusage.c: correct copyright year
33894         * lib/fsusage.c: Reflect year in which the change is pushed into
33895
33896         avoid misc. warnings
33897         * lib/fsusage.c (UNUSED_PARAM): Define.
33898         (get_fs_usage): Mark parameter "disk" as unused.
33899         * lib/getugroups.c (getgrent): Use "void" in prototype.
33900         * lib/mountlist.c: Mark unused parameters.
33901         (read_file_system_list): Declare a local with "const".
33902         * lib/nanosleep.c (getnow): Declare static.
33903         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
33904
33905         dirfd: set errno upon failure
33906         * lib/dirfd.c: Include <errno.h>.
33907         Set errno to ENOTSUP when returning -1.
33908         * modules/dirfd (Depends-on): Add errno.
33909         Suggested by John Kodis <kodis@comcast.net>.
33910
33911 2009-02-01  Bruno Haible  <bruno@clisp.org>
33912
33913         Don't assume sizeof (long) >= sizeof (void *).
33914         * lib/memcmp.c: Include stdint.h.
33915         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
33916         srcp2 to 'const byte *'.
33917         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
33918         types to uintptr_t.
33919         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
33920         * modules/memcmp (Depends-on): Add stdint.
33921         Reported by Ozkan Sezer <sezeroz@gmail.com>.
33922
33923 2009-01-30  Eric Blake  <ebb9@byu.net>
33924
33925         fix more require-before-expand issues
33926         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
33927         expand, AC_PROG_AWK.
33928         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
33929
33930 2009-01-28  Eric Blake  <ebb9@byu.net>
33931
33932         version-etc: use consistent URL formatting
33933         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
33934         Improve formatting.  Use fputs for string without %.
33935
33936 2009-01-28  Jim Meyering  <meyering@redhat.com>
33937
33938         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
33939         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
33940         "underquoted definition of NAME" from autoconf-2.59.
33941
33942 2009-01-28  Bruno Haible  <bruno@clisp.org>
33943
33944         * doc/gnulib.texi: Add "Obsolete modules" to index.
33945
33946 2009-01-28  Jim Meyering  <meyering@redhat.com>
33947
33948         useless-if-before-free: recognize more variants
33949         * build-aux/useless-if-before-free: Also recognize e.g.,
33950         if (NULL != p) free (p);
33951
33952 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
33953
33954         test-getaddrinfo: skip (don't fail) this test when there's no network
33955         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
33956         on the presumption that it means you lack network access.
33957
33958 2009-01-26  Jim Meyering  <meyering@redhat.com>
33959
33960         fflush: avoid warnings on modern systems
33961         * lib/fflush.c (rpl_fflush): Move declarations of locals,
33962         pos and result, into scopes where they're used.
33963
33964 2009-01-26  Eric Blake  <ebb9@byu.net>
33965
33966         Silence warning reintroduced by recent extensions patch.
33967         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
33968         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
33969         autoconf.
33970
33971         Backport improved autoconf semantics of AC_DEFUN_ONCE.
33972         * m4/00gnulib.m4: New file.
33973         * gnulib-tool (func_get_filelist): Always use it.
33974         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
33975         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
33976
33977 2009-01-25  Bruno Haible  <bruno@clisp.org>
33978
33979         Make test-quotearg work on MacOS X and AIX.
33980         * tests/test-quotearg.sh: New file.
33981         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
33982         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
33983         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
33984         include <libintl.h>.
33985         (fake_locale): Remove variable.
33986         (gettext, dgettext, dcgettext): Remove functions.
33987         (main): Instead of setting a fake locale, set a real locale. Call
33988         textdomain and bindtextdomain.
33989         * modules/quotearg-tests (Files): Add the new files.
33990         (Depends-on): Add gettext, setenv, unsetenv.
33991         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
33992         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
33993         Augment TESTS_ENVIRONMENT.
33994
33995 2009-01-25  Bruno Haible  <bruno@clisp.org>
33996
33997         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
33998         fr_FR.ISO8859-1 locale on MacOS X.
33999         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
34000         ja_JP.eucJP locale on MacOS X.
34001         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
34002         zh_CN.GB18030 locale on MacOS X.
34003
34004 2009-01-25  Bruno Haible  <bruno@clisp.org>
34005
34006         Avoid link errors on MacOS X 10.3.
34007         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
34008         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
34009
34010 2009-01-25  Bruno Haible  <bruno@clisp.org>
34011
34012         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
34013         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
34014         * modules/pipe (Files): Remove m4/posix_spawn.m4.
34015         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
34016         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
34017         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
34018         posix_spawnattr_init, posix_spawnattr_setsigmask,
34019         posix_spawnattr_setflags, posix_spawnattr_destroy.
34020
34021         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
34022         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
34023         * modules/execute (Files): Remove m4/posix_spawn.m4.
34024         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
34025         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
34026         posix_spawnattr_init, posix_spawnattr_setsigmask,
34027         posix_spawnattr_setflags, posix_spawnattr_destroy.
34028
34029 2009-01-25  Bruno Haible  <bruno@clisp.org>
34030
34031         * lib/glthread/threadlib.c: Include <stdlib.h>.
34032
34033 2009-01-25  Bruno Haible  <bruno@clisp.org>
34034
34035         * lib/glthread/threadlib.c (dummy): New declaration.
34036
34037 2009-01-25  Bruno Haible  <bruno@clisp.org>
34038
34039         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
34040         multibyte characters also for the GB18030 encoding. Don't crash when
34041         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
34042
34043 2009-01-25  Bruno Haible  <bruno@clisp.org>
34044
34045         Avoid redefining 'struct random_data' on OSF/1 5.1.
34046         * lib/stdlib.in.h: Include <random.h> if it exists.
34047         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
34048         HAVE_RANDOM_H. Include <random.h> when testing whether
34049         'struct random_data' exists.
34050         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
34051
34052 2009-01-25  Bruno Haible  <bruno@clisp.org>
34053
34054         Don't install charset.alias on MacOS X >= 10.3.
34055         * lib/localcharset.c (DARWIN7): New macro.
34056         (get_charset_aliases): Hardcode the result for Darwin7.
34057         * modules/localcharset (install-exec-local): Don't install
34058         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
34059
34060 2009-01-25  Bruno Haible  <bruno@clisp.org>
34061
34062         Don't install charset.alias on mingw and Cygwin.
34063         * modules/localcharset (install-exec-local): Don't install
34064         charset.alias on mingw and Cygwin, if the file does not yet exist.
34065         The result for these platforms is hardcoded in localcharset.c.
34066
34067 2009-01-25  Bruno Haible  <bruno@clisp.org>
34068
34069         Make it possible again to use AC_GNU_SOURCE together with gnulib.
34070         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
34071         before requiring AC_USE_SYSTEM_EXTENSIONS.
34072
34073 2009-01-25  Jim Meyering  <meyering@redhat.com>
34074
34075         c-strtod: avoid warnings
34076         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
34077         "assignment discards qualifiers from pointer target type" warnings.
34078
34079 2009-01-24  Bruno Haible  <bruno@clisp.org>
34080
34081         Add support for non-UTF-8 locales on MacOS X.
34082         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
34083         canonical encodings. For Darwin 7 and newer, don't map traditional
34084         encodings to UTF-8.
34085         Reported by Vincent Lefevre <vincent@vinc17.org>
34086         at <http://savannah.gnu.org/bugs/?25235>.
34087
34088 2009-01-24  Bruno Haible  <bruno@clisp.org>
34089
34090         * doc/gnulib.texi (Obsolete modules): New section.
34091         Reported by Mike Frysinger <vapier@gentoo.org>.
34092
34093 2009-01-24  Bruno Haible  <bruno@clisp.org>
34094
34095         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
34096         (%.dvi): New rule.
34097
34098 2009-01-24  Bruno Haible  <bruno@clisp.org>
34099
34100         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
34101         Reported by Eric Blake.
34102
34103 2009-01-24  Bruno Haible  <bruno@clisp.org>
34104
34105         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
34106         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
34107         Reported by Gary V. Vaughan <gary@gnu.org>.
34108
34109 2009-01-24  Bruno Haible  <bruno@clisp.org>
34110
34111         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
34112
34113 2009-01-23  Bruno Haible  <bruno@clisp.org>
34114
34115         Make c-strtod, c-strtold usable in libraries.
34116         * lib/c-strtod.c: Include string.h instead of xalloc.h.
34117         (C_STRTOD): Call strdup instead of xstrdup.
34118         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
34119         * modules/c-strtold (Depends-on): Likewise.
34120         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
34121         * NEWS: Mention the change.
34122         Reported by Michael Gold <mgold@ncf.ca>.
34123
34124 2009-01-23  Jim Meyering  <meyering@redhat.com>
34125
34126         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
34127         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
34128         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
34129
34130 2009-01-23  Simon Josefsson  <simon@josefsson.org>
34131
34132         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
34133         GNU CoreUtils.
34134         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
34135         * modules/version-etc (Description): Update.
34136
34137 2009-01-22  Bruno Haible  <bruno@clisp.org>
34138
34139         Cache the C locale object.
34140         * lib/c-strtod.c (c_locale_cache): New variable.
34141         (c_locale): New function.
34142         (C_STRTOD): Use it, and don't call freelocale.
34143         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
34144         Suggested by Paolo Bonzini.
34145
34146 2009-01-21  Bruno Haible  <bruno@clisp.org>
34147
34148         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
34149         conditions other than overflow.
34150
34151 2009-01-21  Bruno Haible  <bruno@clisp.org>
34152
34153         * lib/c-strtod.c: Include errno.h.
34154         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
34155         value from STRTOD_L and STRTOD.
34156
34157 2009-01-21  Bruno Haible  <bruno@clisp.org>
34158         and Jim Meyering  <meyering@redhat.com>
34159
34160         nanosleep: skip configure test (fail it) for apple universal builds
34161         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
34162         universal builds, assume that nanosleep does not work.
34163         * modules/nanosleep (Depends-on): Add multiarch.
34164
34165         mktime: skip configure test (fail it) for apple universal builds
34166         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
34167         universal builds, assume that mktime does not work.
34168         * modules/mktime (Depends-on): Add multiarch.
34169
34170 2009-01-21  Eric Blake  <ebb9@byu.net>
34171
34172         multiarch: avoid expand-before-require warning
34173         * modules/multiarch (configure.ac): Require, rather than expand,
34174         gl_MULTIARCH.
34175         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
34176         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
34177         enforce that all clients require it.  Partial reversion of
34178         2008-12-29 patch.
34179
34180         error: avoid expand-before-require warning
34181         * modules/errno (configure.ac): Require, rather than expand,
34182         gl_HEADER_ERRNO_H.
34183         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
34184         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
34185         enforce that all clients require it.
34186
34187         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
34188         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
34189         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
34190         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
34191
34192 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
34193
34194         Revert:
34195         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
34196
34197         regex: do not depend on obsolete modules.
34198         * modules/regex: Remove memcmp and memmove.
34199
34200 2009-01-20  Bruno Haible  <bruno@clisp.org>
34201
34202         Make the 'link' module link on Windows NT 4.
34203         * lib/link.c (_WIN32_WINNT): Don't define.
34204         (CreateHardLinkFuncType): New type.
34205         (CreateHardLinkFunc, initialized): New variables.
34206         (initialize): New function.
34207         (link): Invoke CreateHardLink indirectly through the function pointer.
34208
34209 2009-01-20  Bruno Haible  <bruno@clisp.org>
34210
34211         Fix compilation failure on mingw.
34212         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
34213
34214 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
34215
34216         * doc/c-strtod.texi: Mention a couple of restrictions.
34217
34218 2009-01-20  Jim Meyering  <meyering@redhat.com>
34219
34220         gettimeofday: move more declarations out of functions
34221         * lib/gettimeofday.c: Move extern declarations of tzset and
34222         gmtime out of containing functions.  Prompted by Bruno Haible.
34223
34224 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
34225
34226         regex: do not depend on obsolete modules.
34227         * modules/regex: Remove memcmp and memmove.
34228
34229 2009-01-19  Bruno Haible  <bruno@clisp.org>
34230
34231         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
34232         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
34233         gl_BIGENDIAN, not AC_C_BIGENDIAN.
34234         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
34235         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
34236
34237 2009-01-19  Bruno Haible  <bruno@clisp.org>
34238
34239         * tests/test-link.c: Include <errno.h>.
34240         (main): Exit with code 77 when a hard link cannot be created due to
34241         the file system.
34242         * tests/test-link.sh: Skip test when a hard link cannot be created due
34243         to the file system.
34244         Suggested by Eric Blake.
34245
34246 2009-01-19  Martin Lambers  <marlam@marlam.de>
34247
34248         * modules/link-tests: New file.
34249         * tests/test-link.sh: New file.
34250         * tests/test-link.c: New file.
34251
34252 2009-01-19  Eric Blake  <ebb9@byu.net>
34253
34254         doc: mention another function added in cygwin 1.7.0
34255         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
34256         Another new function in cygwin 1.7.
34257
34258 2009-01-19  Bruno Haible  <bruno@clisp.org>
34259
34260         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
34261         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
34262         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
34263         gl_BIGENDIAN, not AC_C_BIGENDIAN.
34264         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34265         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
34266         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
34267         * m4/md4.m4 (gl_MD4): Likewise.
34268         * m4/md5.m4 (gl_MD5): Likewise.
34269         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
34270         * m4/sha1.m4 (gl_SHA1): Likewise.
34271         * m4/sha256.m4 (gl_SHA256): Likewise.
34272         * m4/sha512.m4 (gl_SHA512): Likewise.
34273
34274 2009-01-19  Bruno Haible  <bruno@clisp.org>
34275
34276         * modules/uniname/uniname-tests (Depends-on): Add progname.
34277         * tests/uniname/test-uninames.c: Include progname.h.
34278         (main): Call set_program_name.
34279
34280         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
34281         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
34282         (main): Call set_program_name.
34283
34284         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
34285         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
34286         (main): Call set_program_name.
34287
34288         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
34289         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
34290         (main): Call set_program_name.
34291
34292         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
34293         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
34294         (main): Call set_program_name.
34295
34296         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
34297         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
34298         (main): Call set_program_name.
34299
34300         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
34301         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
34302         (main): Call set_program_name.
34303
34304         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
34305         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
34306         (main): Call set_program_name.
34307
34308         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
34309         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
34310         (main): Call set_program_name.
34311
34312 2009-01-19  Eric Blake  <ebb9@byu.net>
34313
34314         test-unistd: test previous patch
34315         * tests/test-unistd.c: Test *_FILENO macros.
34316
34317         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
34318         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34319         Guarantee a definition.
34320         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
34321         * modules/unistd-safer (Depends-on): Add dependency on unistd.
34322         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
34323         * lib/dup-safer.c (STDERR_FILENO): Likewise.
34324         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34325         Likewise.
34326         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
34327         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
34328         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34329         Likewise.
34330         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
34331         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
34332         (STDERR_FILENO): Likewise.
34333         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
34334         (STDERR_FILENO): Likewise.
34335         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
34336         (STDERR_FILENO): Likewise.
34337         Reported by Elbert Pol.
34338
34339 2009-01-19  Eric Blake  <ebb9@byu.net>
34340
34341         doc: mention more functions added in cygwin 1.7.0
34342         * doc/posix-functions/abort.texi (abort): Update wording related
34343         to cygwin.
34344         * doc/posix-functions/daylight.texi (daylight): Likewise.
34345         * doc/posix-functions/optarg.texi (optarg): Likewise.
34346         * doc/posix-functions/optarg.texi (opterr): Likewise.
34347         * doc/posix-functions/optarg.texi (optind): Likewise.
34348         * doc/posix-functions/optarg.texi (optopt): Likewise.
34349         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
34350         worked in 1.5.x, and was withdrawn in 1.7.
34351         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
34352         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
34353         cygwin versions.
34354         * doc/posix-functions/perror.texi (perror): Likewise.
34355         * doc/posix-functions/printf.texi (printf): Likewise.
34356         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
34357         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
34358         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
34359         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
34360         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34361         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
34362         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
34363         Likewise.
34364         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
34365         Likewise.
34366         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
34367         this function.
34368         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
34369         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
34370         Likewise.
34371         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
34372         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
34373         * doc/posix-functions/confstr.texi (confstr): Likewise.
34374         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
34375         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
34376         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
34377         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
34378         * doc/posix-functions/fputws.texi (fputws): Likewise.
34379         * doc/posix-functions/fwide.texi (fwide): Likewise.
34380         * doc/posix-functions/getwc.texi (getwc): Likewise.
34381         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
34382         * doc/posix-functions/putwc.texi (putwc): Likewise.
34383         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
34384         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
34385         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
34386         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
34387         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
34388         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
34389         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
34390         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
34391         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
34392         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
34393         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
34394
34395 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
34396
34397         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
34398         * lib/ioctl.c: Include <sys/ioctl.h>.
34399
34400 2009-01-19  Simon Josefsson  <simon@josefsson.org>
34401
34402         * modules/getdate-tests (Depends-on): Add progname.
34403         * tests/test-getdate.c: Use progname module, to avoid link errors
34404         on non-glibc systems.
34405
34406 2009-01-18  Simon Josefsson  <simon@josefsson.org>
34407
34408         * modules/filenamecat-tests (Depends-on): Add progname.
34409         * modules/fstrcmp-tests (Depends-on): Likewise.
34410
34411         * tests/test-filenamecat.c: Use progname module, to avoid link
34412         errors on non-glibc systems.
34413         * tests/test-fstrcmp.c: Likewise.
34414
34415 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
34416
34417         gettimeofday: avoid warning: nested extern declaration of 'localtime'
34418         * lib/gettimeofday.c: Move extern declaration out of function.
34419
34420 2009-01-18  Bruno Haible  <bruno@clisp.org>
34421
34422         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
34423         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
34424         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
34425
34426 2009-01-18  Bruno Haible  <bruno@clisp.org>
34427
34428         * lib/strftime.c (MEMPCPY): Remove unused macro.
34429         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
34430
34431 2009-01-18  Martin Lambers  <marlam@marlam.de>
34432
34433         New module 'link'.
34434         * lib/unistd.in.h (link): New declaration.
34435         * lib/link.c: New file.
34436         * m4/link.m4: New file.
34437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
34438         HAVE_LINK.
34439         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
34440         * modules/link: New file.
34441         * doc/posix-functions/link.texi: Mention the new module.
34442
34443 2009-01-18  Bruno Haible  <bruno@clisp.org>
34444
34445         * tests/test-avltree_list.c (main): Call set_program_name.
34446         * tests/test-avltree_oset.c (main): Likewise.
34447         * tests/test-obstack-printf.c: Include progname.h.
34448         (main): Call set_program_name.
34449         * tests/test-quotearg.c: Include progname.h.
34450         (main): Call set_program_name.
34451         * tests/test-xmemdup0.c: Include progname.h.
34452         (main): Call set_program_name.
34453
34454 2009-01-18  Bruno Haible  <bruno@clisp.org>
34455
34456         New module 'alphasort'.
34457         * lib/dirent.in.h (alphasort): New declaration.
34458         * lib/alphasort.c: New file, from glibc with modifications.
34459         * m4/alphasort.m4: New file.
34460         * modules/alphasort: New file.
34461         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
34462         HAVE_ALPHASORT.
34463         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
34464         HAVE_ALPHASORT.
34465         * doc/posix-functions/alphasort.texi: Mention the new module and the
34466         portability problems.
34467
34468 2009-01-18  Bruno Haible  <bruno@clisp.org>
34469
34470         New module 'scandir'.
34471         * lib/dirent.in.h (scandir): New declaration.
34472         * lib/scandir.c: New file, from glibc with modifications.
34473         * m4/scandir.m4: New file.
34474         * modules/scandir: New file.
34475         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
34476         HAVE_SCANDIR.
34477         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
34478         HAVE_SCANDIR.
34479         * doc/posix-functions/scandir.texi: Mention the new module and the
34480         portability problems.
34481
34482 2009-01-17  Bruno Haible  <bruno@clisp.org>
34483
34484         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
34485         Update documentation.
34486         (func_remove_suffix): Escape all dots in the suffix. Update
34487         documentation.
34488         (func_filter_filelist): Update documentation.
34489         Reported by Ralf Wildenhues.
34490
34491 2009-01-17  Bruno Haible  <bruno@clisp.org>
34492
34493         * modules/dprintf-posix-tests: New file.
34494         * tests/test-dprintf-posix.sh: New file.
34495         * tests/test-dprintf-posix.c: New file.
34496
34497         New modules 'dprintf', 'dprintf-posix'.
34498         * lib/stdio.in.h (dprintf): New declaration.
34499         * lib/dprintf.c: New file.
34500         * m4/dprintf.m4: New file.
34501         * m4/dprintf-posix.m4: New file.
34502         * modules/dprintf: New file.
34503         * modules/dprintf-posix: New file.
34504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
34505         HAVE_DPRINTF, REPLACE_DPRINTF.
34506         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
34507         HAVE_DPRINTF, REPLACE_DPRINTF.
34508         * doc/posix-functions/dprintf.texi: Mention the new modules.
34509
34510 2009-01-17  Bruno Haible  <bruno@clisp.org>
34511
34512         * modules/vdprintf-posix-tests: New file.
34513         * tests/test-vdprintf-posix.sh: New file.
34514         * tests/test-vdprintf-posix.c: New file.
34515
34516         New modules 'vdprintf', 'vdprintf-posix'.
34517         * lib/stdio.in.h (vdprintf): New declaration.
34518         * lib/vdprintf.c: New file.
34519         * m4/vdprintf.m4: New file.
34520         * m4/vdprintf-posix.m4: New file.
34521         * modules/vdprintf: New file.
34522         * modules/vdprintf-posix: New file.
34523         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
34524         HAVE_VDPRINTF, REPLACE_VDPRINTF.
34525         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
34526         HAVE_VDPRINTF, REPLACE_VDPRINTF.
34527         * doc/posix-functions/vdprintf.texi: Mention the new modules.
34528
34529 2009-01-17  Bruno Haible  <bruno@clisp.org>
34530
34531         Fix replacement of fopen on mingw.
34532         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
34533         mingw.
34534
34535 2009-01-17  Bruno Haible  <bruno@clisp.org>
34536
34537         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
34538         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
34539
34540 2009-01-17  Bruno Haible  <bruno@clisp.org>
34541
34542         Avoid test-fflush2.sh failure on mingw.
34543         * tests/test-fflush2.c: Include binary-io.h.
34544         (main): Put standard input into binary mode.
34545         * modules/fflush-tests (Depends-on): Add binary-io.
34546
34547 2009-01-17  Bruno Haible  <bruno@clisp.org>
34548
34549         * lib/wchar.in.h: In another particular situation, include only the
34550         system's <wchar.h> file.
34551         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
34552         Reported by Albert Chin-A-Young <china@thewrittenword.com>
34553         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
34554
34555 2009-01-17  Bruno Haible  <bruno@clisp.org>
34556
34557         Support for stripping executables in --enable-relocatable.
34558         * build-aux/install-reloc: Expect one more argument, or an environment
34559         variable RELOC_STRIP_PROG. If set, strip the destination program and
34560         its wrapper.
34561         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
34562         RELOC_STRIP_PROG.
34563         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
34564         to set RELOCATABLE_STRIP.
34565         * NEWS: Mention the new Makefile requirement.
34566
34567 2009-01-17  Bruno Haible  <bruno@clisp.org>
34568
34569         * build-aux/install-reloc: Remove debugging information left over by
34570         C compiler on MacOS X.
34571
34572 2009-01-17  Bruno Haible  <bruno@clisp.org>
34573
34574         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
34575         * lib/progreloc.c (find_executable): Fix type of pointer passed to
34576         _NSGetExecutablePath.
34577
34578 2009-01-16  Jim Meyering  <meyering@redhat.com>
34579
34580         strerror: avoid warnings about discarding "const"
34581         * lib/strerror.c (rpl_strerror): Instead of returning a const
34582         string from each and every "case", use a variable, and add a single
34583         cast after the switch.
34584
34585 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
34586
34587         * lib/arpa_inet.in.h: Add extern "C" block for C++.
34588
34589 2009-01-16  Bruno Haible  <bruno@clisp.org>
34590
34591         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
34592         array initializer syntax that also works in C++ mode.
34593         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34594
34595 2009-01-16  Jim Meyering  <meyering@redhat.com>
34596
34597         poll: suppress a warning
34598         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
34599         to ignore "...unsigned expression < 0 is always false" warnings.
34600
34601 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
34602
34603         poll: remove declarations of unused variables
34604         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
34605         sockbuf and optlen.
34606
34607 2009-01-15  Bruno Haible  <bruno@clisp.org>
34608
34609         Make fflush-after-ungetc POSIX compliant on BSD systems.
34610         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
34611         (clear_ungetc_buffer): Implement also for other systems.
34612         (rpl_fflush): On glibc systems, invoke
34613         clear_ungetc_buffer_preserving_position. Otherwise, invoke
34614         clear_ungetc_buffer after fetching the stream's position, not before.
34615
34616 2009-01-15  Bruno Haible  <bruno@clisp.org>
34617
34618         Make fflush-after-ungetc POSIX compliant on glibc systems.
34619         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
34620         after ungetc.
34621         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
34622         (rpl_fflush): On glibc systems, simply call the system's fflush
34623         function after clearing the ungetc buffer.
34624         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
34625         Instead, lseek only to the end of file, then use the system's fseeko
34626         for the rest. On glibc systems, reset the EOF indicator bit.
34627
34628 2009-01-15  Jim Meyering  <meyering@redhat.com>
34629
34630         openmp.m4: revert quote-adding change, for portability to older autoconf
34631         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
34632         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
34633         Simon Josefsson noticed the problem when using autoconf-2.61.
34634
34635 2009-01-15  Bruno Haible  <bruno@clisp.org>
34636
34637         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
34638         * tests/test-fflush2.c (ASSERT): Always fail.
34639         (main): Add two tests for fflush() after ungetc(), taking into account
34640         the Austin Group's clarification.
34641         Suggested by Eric Blake.
34642
34643 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
34644
34645         mktime.m4: remove K&R-style function prototypes
34646         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
34647         for the Sun C++ compiler.
34648
34649 2009-01-14  Bruno Haible  <bruno@clisp.org>
34650
34651         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
34652         while including <wchar.h>.
34653         * lib/wchar.in.h: In two particular situations on HP-UX, include only
34654         the system's <wchar.h> file.
34655         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34656
34657 2009-01-14  Bruno Haible  <bruno@clisp.org>
34658
34659         * m4/csharp.m4: Don't mention gettext on the serial number line.
34660         * m4/csharpexec.m4: Likewise.
34661         * m4/eaccess.m4: Likewise.
34662         * m4/javaexec.m4: Likewise.
34663         * m4/sig_atomic_t.m4: Likewise.
34664         * m4/tmpdir.m4: Likewise.
34665         * m4/intldir.m4: Bump gettext version.
34666         * m4/lib-ld.m4: Likewise.
34667
34668 2009-01-14  Bruno Haible  <bruno@clisp.org>
34669
34670         * lib/progname.c (set_program_name): Add more comments.
34671         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34672
34673 2009-01-14  Simon Josefsson  <simon@josefsson.org>
34674
34675         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
34676         were sys/stat.h does not define it.
34677
34678 2009-01-14  Jim Meyering  <meyering@redhat.com>
34679
34680         many *.m4 files: improve m4 quoting
34681         99% of this change was performed by running the following commands:
34682         git ls-files | grep '\.m4$' | xargs perl -pi \
34683           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
34684           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
34685           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
34686           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
34687         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
34688         The remainder were to add Copyright dates, increment serial numbers,
34689         undo some changes in comments, exclude m4/intl.m4, and add quotes
34690         around the "1" in ",1" where the unusual spacing prohibited the
34691         above regexps from doing the job.  For more details, see
34692         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
34693         * m4/acl.m4: Modified.
34694         * m4/afs.m4: Likewise.
34695         * m4/alloca.m4: Likewise.
34696         * m4/argp.m4: Likewise.
34697         * m4/argz.m4: Likewise.
34698         * m4/atexit.m4: Likewise.
34699         * m4/bison-i18n.m4: Likewise.
34700         * m4/bison.m4: Likewise.
34701         * m4/byteswap.m4: Likewise.
34702         * m4/c-stack.m4: Likewise.
34703         * m4/c-strtod.m4: Likewise.
34704         * m4/calloc.m4: Likewise.
34705         * m4/canonicalize-lgpl.m4: Likewise.
34706         * m4/chown.m4: Likewise.
34707         * m4/clock_time.m4: Likewise.
34708         * m4/codeset.m4: Likewise.
34709         * m4/copy-file.m4: Likewise.
34710         * m4/csharp.m4: Likewise.
34711         * m4/csharpcomp.m4: Likewise.
34712         * m4/csharpexec.m4: Likewise.
34713         * m4/d-ino.m4: Likewise.
34714         * m4/d-type.m4: Likewise.
34715         * m4/dirfd.m4: Likewise.
34716         * m4/double-slash-root.m4: Likewise.
34717         * m4/eaccess.m4: Likewise.
34718         * m4/eealloc.m4: Likewise.
34719         * m4/environ.m4: Likewise.
34720         * m4/errno_h.m4: Likewise.
34721         * m4/euidaccess.m4: Likewise.
34722         * m4/execute.m4: Likewise.
34723         * m4/fatal-signal.m4: Likewise.
34724         * m4/fchdir.m4: Likewise.
34725         * m4/fcntl_h.m4: Likewise.
34726         * m4/fileblocks.m4: Likewise.
34727         * m4/filenamecat.m4: Likewise.
34728         * m4/findprog.m4: Likewise.
34729         * m4/flexmember.m4: Likewise.
34730         * m4/fnmatch.m4: Likewise.
34731         * m4/fopen.m4: Likewise.
34732         * m4/fpending.m4: Likewise.
34733         * m4/fprintf-posix.m4: Likewise.
34734         * m4/free.m4: Likewise.
34735         * m4/frexp.m4: Likewise.
34736         * m4/frexpl.m4: Likewise.
34737         * m4/fsusage.m4: Likewise.
34738         * m4/ftruncate.m4: Likewise.
34739         * m4/gc-camellia.m4: Likewise.
34740         * m4/gc-random.m4: Likewise.
34741         * m4/gc.m4: Likewise.
34742         * m4/getaddrinfo.m4: Likewise.
34743         * m4/getcwd-abort-bug.m4: Likewise.
34744         * m4/getcwd-path-max.m4: Likewise.
34745         * m4/getdate.m4: Likewise.
34746         * m4/getdomainname.m4: Likewise.
34747         * m4/getgroups.m4: Likewise.
34748         * m4/gethostname.m4: Likewise.
34749         * m4/gethrxtime.m4: Likewise.
34750         * m4/getline.m4: Likewise.
34751         * m4/getloadavg.m4: Likewise.
34752         * m4/getndelim2.m4: Likewise.
34753         * m4/getpass.m4: Likewise.
34754         * m4/gettext.m4: Likewise.
34755         * m4/gettime.m4: Likewise.
34756         * m4/gettimeofday.m4: Likewise.
34757         * m4/gnulib-common.m4: Likewise.
34758         * m4/group-member.m4: Likewise.
34759         * m4/host-os.m4: Likewise.
34760         * m4/iconv.m4: Likewise.
34761         * m4/iconv_open.m4: Likewise.
34762         * m4/inet_ntop.m4: Likewise.
34763         * m4/inet_pton.m4: Likewise.
34764         * m4/inline.m4: Likewise.
34765         * m4/intldir.m4: Likewise.
34766         * m4/intlmacosx.m4: Likewise.
34767         * m4/intmax.m4: Likewise.
34768         * m4/intmax_t.m4: Likewise.
34769         * m4/inttypes.m4: Likewise.
34770         * m4/inttypes_h.m4: Likewise.
34771         * m4/inttypes-pri.m4: Likewise.
34772         * m4/isapipe.m4: Likewise.
34773         * m4/isnand.m4: Likewise.
34774         * m4/isnanf.m4: Likewise.
34775         * m4/isnanl.m4: Likewise.
34776         * m4/javacomp.m4: Likewise.
34777         * m4/javaexec.m4: Likewise.
34778         * m4/jm-winsz1.m4: Likewise.
34779         * m4/jm-winsz2.m4: Likewise.
34780         * m4/lchown.m4: Likewise.
34781         * m4/lcmessage.m4: Likewise.
34782         * m4/ldexpl.m4: Likewise.
34783         * m4/lib-ld.m4: Likewise.
34784         * m4/lib-link.m4: Likewise.
34785         * m4/libsigsegv.m4: Likewise.
34786         * m4/link-follow.m4: Likewise.
34787         * m4/localcharset.m4: Likewise.
34788         * m4/locale-fr.m4: Likewise.
34789         * m4/locale-ja.m4: Likewise.
34790         * m4/locale-tr.m4: Likewise.
34791         * m4/locale-zh.m4: Likewise.
34792         * m4/lock.m4: Likewise.
34793         * m4/longlong.m4: Likewise.
34794         * m4/ls-mntd-fs.m4: Likewise.
34795         * m4/lstat.m4: Likewise.
34796         * m4/malloc.m4: Likewise.
34797         * m4/mathl.m4: Likewise.
34798         * m4/mbrtowc.m4: Likewise.
34799         * m4/mbstate_t.m4: Likewise.
34800         * m4/mbswidth.m4: Likewise.
34801         * m4/memchr.m4: Likewise.
34802         * m4/memcmp.m4: Likewise.
34803         * m4/memcpy.m4: Likewise.
34804         * m4/memmem.m4: Likewise.
34805         * m4/memmove.m4: Likewise.
34806         * m4/mempcpy.m4: Likewise.
34807         * m4/memrchr.m4: Likewise.
34808         * m4/memset.m4: Likewise.
34809         * m4/minmax.m4: Likewise.
34810         * m4/mkdir-slash.m4: Likewise.
34811         * m4/mkdtemp.m4: Likewise.
34812         * m4/mktime.m4: Likewise.
34813         * m4/mmap-anon.m4: Likewise.
34814         * m4/mountlist.m4: Likewise.
34815         * m4/nanosleep.m4: Likewise.
34816         * m4/nls.m4: Likewise.
34817         * m4/nocrash.m4: Likewise.
34818         * m4/open.m4: Likewise.
34819         * m4/openat.m4: Likewise.
34820         * m4/openmp.m4: Likewise.
34821         * m4/pathmax.m4: Likewise.
34822         * m4/perl.m4: Likewise.
34823         * m4/physmem.m4: Likewise.
34824         * m4/pipe.m4: Likewise.
34825         * m4/po.m4: Likewise.
34826         * m4/poll.m4: Likewise.
34827         * m4/posixtm.m4: Likewise.
34828         * m4/posixver.m4: Likewise.
34829         * m4/printf-frexp.m4: Likewise.
34830         * m4/printf-frexpl.m4: Likewise.
34831         * m4/printf-posix.m4: Likewise.
34832         * m4/printf-posix-rpl.m4: Likewise.
34833         * m4/printf.m4: Likewise.
34834         * m4/progtest.m4: Likewise.
34835         * m4/putenv.m4: Likewise.
34836         * m4/readline.m4: Likewise.
34837         * m4/readlink.m4: Likewise.
34838         * m4/readutmp.m4: Likewise.
34839         * m4/realloc.m4: Likewise.
34840         * m4/regex.m4: Likewise.
34841         * m4/relocatable.m4: Likewise.
34842         * m4/relocatable-lib.m4: Likewise.
34843         * m4/rename-dest-slash.m4: Likewise.
34844         * m4/rename.m4: Likewise.
34845         * m4/rmdir-errno.m4: Likewise.
34846         * m4/rmdir.m4: Likewise.
34847         * m4/roundf.m4: Likewise.
34848         * m4/roundl.m4: Likewise.
34849         * m4/rpmatch.m4: Likewise.
34850         * m4/save-cwd.m4: Likewise.
34851         * m4/selinux-selinux-h.m4: Likewise.
34852         * m4/setenv.m4: Likewise.
34853         * m4/settime.m4: Likewise.
34854         * m4/sig2str.m4: Likewise.
34855         * m4/sig_atomic_t.m4: Likewise.
34856         * m4/signalblocking.m4: Likewise.
34857         * m4/signbit.m4: Likewise.
34858         * m4/sigpipe.m4: Likewise.
34859         * m4/sockets.m4: Likewise.
34860         * m4/sockpfaf.m4: Likewise.
34861         * m4/st_dm_mode.m4: Likewise.
34862         * m4/stat-time.m4: Likewise.
34863         * m4/stdbool.m4: Likewise.
34864         * m4/stdint.m4: Likewise.
34865         * m4/stdint_h.m4: Likewise.
34866         * m4/stpcpy.m4: Likewise.
34867         * m4/stpncpy.m4: Likewise.
34868         * m4/strcase.m4: Likewise.
34869         * m4/strchrnul.m4: Likewise.
34870         * m4/strcspn.m4: Likewise.
34871         * m4/strdup.m4: Likewise.
34872         * m4/strftime.m4: Likewise.
34873         * m4/strndup.m4: Likewise.
34874         * m4/strnlen.m4: Likewise.
34875         * m4/strpbrk.m4: Likewise.
34876         * m4/strptime.m4: Likewise.
34877         * m4/strsep.m4: Likewise.
34878         * m4/strtod.m4: Likewise.
34879         * m4/strtoimax.m4: Likewise.
34880         * m4/strtok_r.m4: Likewise.
34881         * m4/strtol.m4: Likewise.
34882         * m4/strtoll.m4: Likewise.
34883         * m4/strtoul.m4: Likewise.
34884         * m4/strtoull.m4: Likewise.
34885         * m4/strtoumax.m4: Likewise.
34886         * m4/strverscmp.m4: Likewise.
34887         * m4/threadlib.m4: Likewise.
34888         * m4/timegm.m4: Likewise.
34889         * m4/tm_gmtoff.m4: Likewise.
34890         * m4/tmpdir.m4: Likewise.
34891         * m4/tmpfile.m4: Likewise.
34892         * m4/tzset.m4: Likewise.
34893         * m4/uintmax_t.m4: Likewise.
34894         * m4/unlinkdir.m4: Likewise.
34895         * m4/unlocked-io.m4: Likewise.
34896         * m4/uptime.m4: Likewise.
34897         * m4/userspec.m4: Likewise.
34898         * m4/utimbuf.m4: Likewise.
34899         * m4/utime.m4: Likewise.
34900         * m4/utimes-null.m4: Likewise.
34901         * m4/utimes.m4: Likewise.
34902         * m4/vararrays.m4: Likewise.
34903         * m4/vasnprintf.m4: Likewise.
34904         * m4/vfprintf-posix.m4: Likewise.
34905         * m4/vprintf-posix.m4: Likewise.
34906         * m4/wait-process.m4: Likewise.
34907         * m4/wchar_t.m4: Likewise.
34908         * m4/wint_t.m4: Likewise.
34909         * m4/write-any-file.m4: Likewise.
34910         * m4/yield.m4: Likewise.
34911
34912 2009-01-13  Bruno Haible  <bruno@clisp.org>
34913
34914         Avoid test-copy-file.sh failures when ACL support insufficient.
34915         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
34916         TESTS_ENVIRONMENT.
34917         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
34918         Reported by Jim Meyering.
34919
34920 2009-01-13  Bruno Haible  <bruno@clisp.org>
34921
34922         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
34923         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
34924         * modules/unistdio/u8-printf-parse (Files): Likewise.
34925         * modules/unistdio/u32-printf-parse (Files): Likewise.
34926         * modules/unistdio/ulc-printf-parse (Files): Likewise.
34927
34928 2009-01-13  Simon Josefsson  <simon@josefsson.org>
34929
34930         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
34931         and m4/inttypes_h.m4 too.
34932
34933 2009-01-12  Eric Blake  <ebb9@byu.net>
34934
34935         tests: IRIX 6.2 cc can't compile -0.0 into .data
34936         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
34937         rather than at compile-time.
34938         * tests/test-floorl.c (minus_zero): Likewise.
34939         * tests/test-frexpl.c (minus_zero): Likewise.
34940         * tests/test-isnan.c (minus_zerol): Likewise.
34941         * tests/test-isnanl.h (minus_zero): Likewise.
34942         * tests/test-ldexpl.c (minus_zero): Likewise.
34943         * tests/test-roundl.c (minus_zero): Likewise.
34944         * tests/test-signbit.c (minus_zerol): Likewise.
34945         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
34946         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
34947         * tests/test-truncl.c (minus_zero): Likewise.
34948         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
34949         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
34950         Reported by Tom G. Christensen and Nelson H. F. Beebe.
34951
34952 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
34953
34954         regex: fix glibc bug 9697
34955         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
34956         handling.
34957
34958 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
34959
34960         regex: fix glibc bug 697
34961         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
34962         being NULL also if there are no backreferences.
34963
34964 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
34965
34966         regex: merge glibc changes
34967         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
34968         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
34969         re_string_skip_chars, re_string_reconstruct): Likewise.
34970         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
34971
34972 2009-01-07  Jim Meyering  <meyering@redhat.com>
34973
34974         poll: filter through cppi
34975         * lib/poll.c: Indent cpp directives to reflect nesting.
34976
34977 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
34978
34979         poll: don't return uninitialized
34980         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
34981
34982 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
34983
34984         avoid compile failure on AIX 6.1
34985         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
34986         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
34987
34988 2009-01-04  Jim Meyering  <meyering@redhat.com>
34989
34990         remove duplicate inclusion of <stdio.h>
34991         * tests/test-fprintf-posix.c: Likewise.
34992         * tests/test-printf-posix.c: Likewise.
34993         * tests/test-snprintf-posix.c: Likewise.
34994         * tests/test-sprintf-posix.c: Likewise.
34995         * tests/test-vasprintf-posix.c: Likewise.
34996         * tests/test-vfprintf-posix.c: Likewise.
34997         * tests/test-vprintf-posix.c: Likewise.
34998         * tests/test-vsnprintf-posix.c: Likewise.
34999         * tests/test-vsprintf-posix.c: Likewise.
35000
35001 2009-01-03  Jim Meyering  <meyering@redhat.com>
35002
35003         gnulib-tool: fix sed-based filtering
35004         * gnulib-tool (func_filter_filelist): Remove extra backslash
35005         in sed_fff_filter definition.
35006
35007 2009-01-02  Jim Meyering  <meyering@redhat.com>
35008
35009         strftime: avoid compilation failure on Solaris 2.6
35010         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
35011         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
35012         Don't #define mbrlen or mbsinit, since now they're guaranteed to
35013         be available.  Reported by Tom G. Christensen.  Details in
35014         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
35015
35016 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35017             Bruno Haible  <bruno@clisp.org>
35018
35019         Speed up gnulib-tool by doing more string processing through shell
35020         built-ins.
35021         * gnulib-tool (fast_func_append): New variable.
35022         (func_remove_prefix, func_remove_suffix): New functions.
35023         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
35024         (func_filter_filelist): New function.
35025         (func_get_dependencies): Use func_remove_suffix instead of sed.
35026         (func_get_automake_snippet): Use func_filter_filelist instead of a
35027         subshell and sed invocation.
35028
35029 2009-01-01  Bruno Haible  <bruno@clisp.org>
35030
35031         Fix a security bug.
35032         * gnulib-tool (func_import, import, update): Don't allow the characters
35033         '"', '$', '`', '\' in macro arguments that become part of commands that
35034         are evaluated.
35035
35036 2009-01-01  Bruno Haible  <bruno@clisp.org>
35037
35038         * gnulib-tool (func_reset_sigpipe): Add more comments.
35039
35040 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35041
35042         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
35043         func_emit_tests_Makefile_am, func_import): Abort loops early if we
35044         already know the answer.
35045
35046 2009-01-01  Jim Meyering  <meyering@redhat.com>
35047
35048         * lib/version-etc.c (version_etc_va): Update copyright year.
35049
35050 2008-12-30  Bruno Haible  <bruno@clisp.org>
35051
35052         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
35053         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
35054         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
35055
35056 2008-12-29  Eric Blake  <ebb9@byu.net>
35057
35058         multiarch: avoid autoconf AC_REQUIRE bug
35059         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
35060         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
35061         2.63 and older.
35062         Reported by Bruno Haible, and analyzed in
35063         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
35064
35065 2008-12-29  Bruno Haible  <bruno@clisp.org>
35066
35067         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
35068         files in subdirectories correctly.
35069         Reported by Ralf Wildenhues.
35070
35071 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35072
35073         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
35074         rather than 'join FILE -', for Solaris join.
35075
35076 2008-12-29  Bruno Haible  <bruno@clisp.org>
35077
35078         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
35079         quoting.
35080         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
35081         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
35082         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
35083         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
35084         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
35085         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
35086         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
35087         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
35088         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
35089         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
35090         * m4/nls.m4 (AM_NLS): Likewise.
35091         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
35092         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
35093         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
35094         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
35095         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
35096         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
35097         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
35098         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
35099         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
35100         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
35101         * m4/xsize.m4 (gl_XSIZE): Likewise.
35102         Suggested by Jim Meyering.
35103
35104 2008-11-17  Bruce Korb  <bkorb@gnu.org>
35105
35106         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
35107         * lib/parse-duration.c: use a switch instead of cascading if's.
35108
35109 2008-12-29  Eric Blake  <ebb9@byu.net>
35110
35111         wchar.h: supply WEOF on Irix 5.3
35112         * lib/wchar.in.h (wint_t): Also supply WEOF.
35113         * lib/wctype.in.h (wint_t): Likewise.
35114         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
35115         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
35116         Reported by Tom G. Christensen.
35117
35118 2008-12-26  Bruno Haible  <bruno@clisp.org>
35119
35120         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
35121         i486, i586, i686.
35122
35123 2008-12-26  Bruno Haible  <bruno@clisp.org>
35124
35125         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
35126
35127 2008-12-26  Bruno Haible  <bruno@clisp.org>
35128
35129         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
35130         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
35131         not __STDC_CONSTANT_MACROS.
35132         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
35133
35134 2008-12-25  Bruno Haible  <bruno@clisp.org>
35135
35136         Add support for universal builds to vasnprintf.
35137         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
35138         universal builds, guess no.
35139         * modules/vasnprintf-posix (Depends-on): Add multiarch.
35140         * modules/vasprintf-posix (Depends-on): Likewise.
35141         * modules/fprintf-posix (Depends-on): Likewise.
35142         * modules/vfprintf-posix (Depends-on): Likewise.
35143         * modules/snprintf-posix (Depends-on): Likewise.
35144         * modules/vsnprintf-posix (Depends-on): Likewise.
35145         * modules/sprintf-posix (Depends-on): Likewise.
35146         * modules/vsprintf-posix (Depends-on): Likewise.
35147         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35148         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35149         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35150         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35151         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35152         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35153         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35154
35155         Add support for universal builds to <inttypes.h>.
35156         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
35157         _SCNu64_PREFIX): In Apple
35158         universal builds, define directly, using _LP64.
35159         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
35160         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
35161         * modules/inttypes (Depends-on): Add multiarch.
35162         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
35163
35164         Add support for universal builds to <stdint.h>.
35165         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
35166         universal builds, define directly, using _LP64.
35167         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
35168         Apple universal builds, don't test for the size and suffix of ptrdiff_t
35169         and size_t.
35170         * modules/stdint (Depends-on): Add multiarch.
35171         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
35172
35173         New module 'multiarch'.
35174         * modules/multiarch: New file.
35175         * m4/multiarch.m4: New file.
35176
35177 2008-12-25  Bruno Haible  <bruno@clisp.org>
35178
35179         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
35180
35181 2008-12-25  Bruno Haible  <bruno@clisp.org>
35182
35183         * modules/btowc (License): Relicense under LGPLv2+.
35184         * modules/mbsinit (License): Likewise.
35185         * modules/mbrtowc (License): Likewise.
35186         * modules/wcrtomb (License): Likewise.
35187         * modules/streq (License): Likewise.
35188         Reported by David Lutterkort <lutter@redhat.com>.
35189
35190 2008-12-23  Bruno Haible  <bruno@clisp.org>
35191
35192         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
35193
35194 2008-12-23  Bruno Haible  <bruno@clisp.org>
35195
35196         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
35197         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
35198         GETADDRINFO_LIB, not in LIBS.
35199         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
35200         * modules/canon-host (Link): Likewise.
35201         * NEWS: Mention the change.
35202         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
35203         GETADDRINFO_LIB.
35204
35205 2008-12-22  Bruno Haible  <bruno@clisp.org>
35206
35207         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
35208         * doc/posix-functions/iswalpha_l.texi: Likewise.
35209         * doc/posix-functions/iswblank_l.texi: Likewise.
35210         * doc/posix-functions/iswcntrl_l.texi: Likewise.
35211         * doc/posix-functions/iswctype_l.texi: Likewise.
35212         * doc/posix-functions/iswdigit_l.texi: Likewise.
35213         * doc/posix-functions/iswgraph_l.texi: Likewise.
35214         * doc/posix-functions/iswlower_l.texi: Likewise.
35215         * doc/posix-functions/iswprint_l.texi: Likewise.
35216         * doc/posix-functions/iswpunct_l.texi: Likewise.
35217         * doc/posix-functions/iswspace_l.texi: Likewise.
35218         * doc/posix-functions/iswupper_l.texi: Likewise.
35219         * doc/posix-functions/iswxdigit_l.texi: Likewise.
35220         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
35221         * doc/posix-functions/open_wmemstream.texi: Likewise.
35222         * doc/posix-functions/swscanf.texi: Likewise.
35223         * doc/posix-functions/towctrans_l.texi: Likewise.
35224         * doc/posix-functions/towlower.texi: Likewise.
35225         * doc/posix-functions/towlower_l.texi: Likewise.
35226         * doc/posix-functions/towupper.texi: Likewise.
35227         * doc/posix-functions/towupper_l.texi: Likewise.
35228         * doc/posix-functions/vfwprintf.texi: Likewise.
35229         * doc/posix-functions/vfwscanf.texi: Likewise.
35230         * doc/posix-functions/vswscanf.texi: Likewise.
35231         * doc/posix-functions/vwprintf.texi: Likewise.
35232         * doc/posix-functions/vwscanf.texi: Likewise.
35233         * doc/posix-functions/wcpcpy.texi: Likewise.
35234         * doc/posix-functions/wcpncpy.texi: Likewise.
35235         * doc/posix-functions/wcscasecmp.texi: Likewise.
35236         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
35237         * doc/posix-functions/wcscoll_l.texi: Likewise.
35238         * doc/posix-functions/wcsdup.texi: Likewise.
35239         * doc/posix-functions/wcsncasecmp.texi: Likewise.
35240         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
35241         * doc/posix-functions/wcsnlen.texi: Likewise.
35242         * doc/posix-functions/wcsnrtombs.texi: Likewise.
35243         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35244         * doc/posix-functions/wctrans_l.texi: Likewise.
35245         * doc/posix-functions/wctype_l.texi: Likewise.
35246         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
35247         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
35248         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
35249         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
35250         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
35251         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
35252         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
35253         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
35254         * doc/glibc-functions/wcschrnul.texi: Likewise.
35255         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35256         * doc/glibc-functions/wcstod_l.texi: Likewise.
35257         * doc/glibc-functions/wcstof_l.texi: Likewise.
35258         * doc/glibc-functions/wcstol_l.texi: Likewise.
35259         * doc/glibc-functions/wcstold_l.texi: Likewise.
35260         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35261         * doc/glibc-functions/wcstoq.texi: Likewise.
35262         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35263         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35264         * doc/glibc-functions/wcstouq.texi: Likewise.
35265         * doc/glibc-functions/wmempcpy.texi: Likewise.
35266
35267 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
35268             Eric Blake  <ebb9@byu.net>
35269             Paolo Bonzini  <bonzini@gnu.org>
35270             Bruno Haible  <bruno@clisp.org>
35271
35272         Make c-stack work on Haiku.
35273         * lib/c-stack.c (SA_ONSTACK): Define fallback.
35274         (c_stack_action): Use SA_ONSTACK flag.
35275
35276 2008-12-22  Bruno Haible  <bruno@clisp.org>
35277
35278         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
35279
35280 2008-12-22  Bruno Haible  <bruno@clisp.org>
35281
35282         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
35283         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
35284         being overridden.
35285         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
35286         New macros.
35287         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
35288         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
35289         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
35290         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
35291
35292 2008-12-22  Bruno Haible  <bruno@clisp.org>
35293
35294         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
35295         from test code.
35296
35297 2008-12-22  Eric Blake  <ebb9@byu.net>
35298
35299         Avoid gcc warnings on cygwin.
35300         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
35301         Avoid unused variable.
35302         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
35303         Likewise.
35304
35305 2008-12-22  Bruno Haible  <bruno@clisp.org>
35306
35307         Remove HAVE_MBRTOWC conditionals.
35308         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
35309         (mbscasecmp): Assume mbrtowc function.
35310         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
35311         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
35312         * lib/mbschr.c: Include mbuiter.h unconditionally.
35313         (mbschr): Assume mbrtowc function.
35314         * lib/mbscspn.c: Include mbuiter.h unconditionally.
35315         (mbscspn): Assume mbrtowc function.
35316         * lib/mbslen.c: Include mbuiter.h unconditionally.
35317         (mbslen): Assume mbrtowc function.
35318         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
35319         (mbsncasecmp): Assume mbrtowc function.
35320         * lib/mbsnlen.c: Include mbiter.h unconditionally.
35321         (mbsnlen): Assume mbrtowc function.
35322         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
35323         (mbspbrk): Assume mbrtowc function.
35324         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
35325         (mbspcasecmp): Assume mbrtowc function.
35326         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
35327         (mbsrchr): Assume mbrtowc function.
35328         * lib/mbssep.c: Include mbuiter.h unconditionally.
35329         (mbssep): Assume mbrtowc function.
35330         * lib/mbsspn.c: Include mbuiter.h unconditionally.
35331         (mbsspn): Assume mbrtowc function.
35332         * lib/mbsstr.c: Include mbuiter.h unconditionally.
35333         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
35334         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
35335         (mbstok_r): Assume mbrtowc function.
35336         * lib/propername.c: Include mbuiter.h unconditionally.
35337         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
35338         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
35339         (trim2): Assume mbrtowc function.
35340         * lib/mbswidth.c (mbsinit): Remove fallback definition.
35341         (mbsnwidth): Assume mbrtowc function.
35342         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
35343         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
35344         fallback definitions.
35345         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
35346
35347 2008-12-22  Bruno Haible  <bruno@clisp.org>
35348
35349         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
35350
35351 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
35352
35353         * modules/regex: Request emulations for the mb*/wc* functions we need.
35354         * m4/regex.m4: Don't look for those functions here.
35355         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
35356
35357 2008-12-22  Bruno Haible  <bruno@clisp.org>
35358
35359         * modules/fnmatch (Depends-on): Remove duplicated dependency.
35360
35361 2008-12-21  Bruno Haible  <bruno@clisp.org>
35362
35363         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
35364         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
35365         (Include): Remove conditionalization.
35366         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
35367         (Include): Remove conditionalization.
35368         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
35369         (Include): Remove conditionalization.
35370         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
35371         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35372         * NEWS: Mention the change.
35373         Reported by Alan Hourihane <alanh@fairlite.co.uk>
35374         via Sergey Poznyakoff <gray@gnu.org.ua>.
35375
35376 2008-12-21  Bruno Haible  <bruno@clisp.org>
35377
35378         * MODULES.html.sh (Extended multibyte and wide character utilities
35379         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
35380         wcrtomb, wcsrtombs.
35381         (Support for systems lacking POSIX:2008): Add accept, bind, close,
35382         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
35383         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
35384         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
35385
35386 2008-12-21  Bruno Haible  <bruno@clisp.org>
35387
35388         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
35389
35390 2008-12-21  Bruno Haible  <bruno@clisp.org>
35391
35392         * modules/wcsnrtombs-tests: New file.
35393         * tests/test-wcsnrtombs1.sh: New file.
35394         * tests/test-wcsnrtombs2.sh: New file.
35395         * tests/test-wcsnrtombs3.sh: New file.
35396         * tests/test-wcsnrtombs4.sh: New file.
35397         * tests/test-wcsnrtombs.c: New file.
35398
35399         New module 'wcsnrtombs'.
35400         * lib/wchar.in.h (wcsnrtombs): New declaration.
35401         * lib/wcsnrtombs.c: New file.
35402         * lib/wcsrtombs-state.c: New file.
35403         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
35404         (internal_state): Remove variable.
35405         * m4/wcsnrtombs.m4: New file.
35406         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
35407         compilation units.
35408         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
35409         HAVE_WCSNRTOMBS.
35410         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
35411         HAVE_WCSNRTOMBS.
35412         * modules/wcsnrtombs: New file.
35413         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
35414         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
35415
35416 2008-12-21  Bruno Haible  <bruno@clisp.org>
35417
35418         * modules/wcsrtombs-tests: New file.
35419         * tests/test-wcsrtombs1.sh: New file.
35420         * tests/test-wcsrtombs2.sh: New file.
35421         * tests/test-wcsrtombs3.sh: New file.
35422         * tests/test-wcsrtombs4.sh: New file.
35423         * tests/test-wcsrtombs.c: New file.
35424
35425         New module 'wcsrtombs'.
35426         * lib/wchar.in.h (wcsrtombs): New declaration.
35427         * lib/wcsrtombs.c: New file.
35428         * m4/wcsrtombs.m4: New file.
35429         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
35430         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
35431         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
35432         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
35433         * modules/wcsrtombs: New file.
35434         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
35435         bugs.
35436
35437 2008-12-21  Bruno Haible  <bruno@clisp.org>
35438
35439         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
35440         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
35441         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
35442         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
35443         if not correct.
35444         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
35445         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
35446         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
35447         m4/locale-zh.m4, m4/codeset.m4.
35448         * doc/posix-functions/wcrtomb.texi: Document the bug.
35449
35450 2008-12-21  Bruno Haible  <bruno@clisp.org>
35451
35452         Work around a btowc() bug on IRIX 6.5.
35453         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
35454         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
35455         REPLACE_WTOBC if not.
35456         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
35457         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
35458         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
35459
35460 2008-12-21  Bruno Haible  <bruno@clisp.org>
35461
35462         * modules/wcrtomb-tests: New file.
35463         * tests/test-wcrtomb.sh: New file.
35464         * tests/test-wcrtomb.c: New file.
35465
35466         New module 'wcrtomb'.
35467         * lib/wchar.in.h (wcrtomb): New declaration.
35468         * lib/wcrtomb.c: New file.
35469         * m4/wcrtomb.m4: New file.
35470         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
35471         HAVE_WCRTOMB.
35472         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
35473         HAVE_WCRTOMB.
35474         * modules/wcrtomb: New file.
35475         * doc/posix-functions/wcrtomb.texi: Mention the new module.
35476
35477 2008-12-21  Bruno Haible  <bruno@clisp.org>
35478
35479         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
35480         * modules/mbsrtowcs (Files): Likewise.
35481         * modules/wctob (Files): Likewise.
35482         * modules/c-strcase-tests (Files): Likewise.
35483         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35484         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35485         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35486         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35487         * modules/vasnprintf-posix-tests (Files): Likewise.
35488
35489 2008-12-21  William Pursell  <bill.pursell@gmail.com>
35490
35491         gitlog-to-changelog: pass all command-line arguments to git-log
35492         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
35493         it is sometimes convenient to filter the commits in various ways.
35494         gitlog-to-changelog only allows --since to specify a start date,
35495         but git-log itself supports many other filtering mechanisms.
35496         At the moment, I want to filter by branch name.  Rather than
35497         adding a --branch option to gitlog-to-changelog, it seems more
35498         flexible to simply pass all options directly to git-log and let
35499         git do the work.  Notice that this effectively makes --since a
35500         redundant option for gitlog-to-changelog, but removing it would
35501         require current usage to change since calls would then require
35502         an additional '--'.
35503
35504 2008-12-21  Bruno Haible  <bruno@clisp.org>
35505
35506         * modules/mbsnrtowcs-tests: New file.
35507         * tests/test-mbsnrtowcs1.sh: New file.
35508         * tests/test-mbsnrtowcs2.sh: New file.
35509         * tests/test-mbsnrtowcs3.sh: New file.
35510         * tests/test-mbsnrtowcs4.sh: New file.
35511         * tests/test-mbsnrtowcs.c: New file.
35512
35513         New module 'mbsnrtowcs'.
35514         * lib/wchar.in.h (mbsnrtowcs): New declaration.
35515         * lib/mbsnrtowcs.c: New file.
35516         * lib/mbsrtowcs-state.c: New file.
35517         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
35518         (internal_state): Remove variable.
35519         * m4/mbsnrtowcs.m4: New file.
35520         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
35521         compilation units.
35522         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
35523         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
35524         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
35525         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
35526         * modules/mbsnrtowcs: New file.
35527         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
35528         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
35529         portability problem.
35530
35531 2008-12-21  Bruno Haible  <bruno@clisp.org>
35532
35533         Work around mbsrtowcs bug.
35534         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
35535         (gl_FUNC_MBSRTOWCS): Invoke it.
35536         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
35537         m4/locale-zh.m4.
35538         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
35539
35540 2008-12-21  Bruno Haible  <bruno@clisp.org>
35541
35542         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
35543
35544 2008-12-21  Bruno Haible  <bruno@clisp.org>
35545
35546         Update doc for AIX.
35547         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
35548         16-bit wchar_t type.
35549         * doc/posix-functions/btowc.texi: Likewise.
35550         * doc/posix-functions/fgetwc.texi: Likewise.
35551         * doc/posix-functions/fgetws.texi: Likewise.
35552         * doc/posix-functions/fputwc.texi: Likewise.
35553         * doc/posix-functions/fputws.texi: Likewise.
35554         * doc/posix-functions/fwide.texi: Likewise.
35555         * doc/posix-functions/fwprintf.texi: Likewise.
35556         * doc/posix-functions/fwscanf.texi: Likewise.
35557         * doc/posix-functions/getwchar.texi: Likewise.
35558         * doc/posix-functions/getwc.texi: Likewise.
35559         * doc/posix-functions/iswalnum.texi: Likewise.
35560         * doc/posix-functions/iswalpha.texi: Likewise.
35561         * doc/posix-functions/iswblank.texi: Likewise.
35562         * doc/posix-functions/iswcntrl.texi: Likewise.
35563         * doc/posix-functions/iswctype.texi: Likewise.
35564         * doc/posix-functions/iswdigit.texi: Likewise.
35565         * doc/posix-functions/iswgraph.texi: Likewise.
35566         * doc/posix-functions/iswlower.texi: Likewise.
35567         * doc/posix-functions/iswprint.texi: Likewise.
35568         * doc/posix-functions/iswpunct.texi: Likewise.
35569         * doc/posix-functions/iswspace.texi: Likewise.
35570         * doc/posix-functions/iswupper.texi: Likewise.
35571         * doc/posix-functions/iswxdigit.texi: Likewise.
35572         * doc/posix-functions/mbrtowc.texi: Likewise.
35573         * doc/posix-functions/mbsrtowcs.texi: Likewise.
35574         * doc/posix-functions/mbstowcs.texi: Likewise.
35575         * doc/posix-functions/mbtowc.texi: Likewise.
35576         * doc/posix-functions/putwchar.texi: Likewise.
35577         * doc/posix-functions/putwc.texi: Likewise.
35578         * doc/posix-functions/swprintf.texi: Likewise.
35579         * doc/posix-functions/tolower.texi: Likewise.
35580         * doc/posix-functions/toupper.texi: Likewise.
35581         * doc/posix-functions/towctrans.texi: Likewise.
35582         * doc/posix-functions/ungetwc.texi: Likewise.
35583         * doc/posix-functions/vswprintf.texi: Likewise.
35584         * doc/posix-functions/wcrtomb.texi: Likewise.
35585         * doc/posix-functions/wcscat.texi: Likewise.
35586         * doc/posix-functions/wcschr.texi: Likewise.
35587         * doc/posix-functions/wcscmp.texi: Likewise.
35588         * doc/posix-functions/wcscoll.texi: Likewise.
35589         * doc/posix-functions/wcscpy.texi: Likewise.
35590         * doc/posix-functions/wcscspn.texi: Likewise.
35591         * doc/posix-functions/wcsftime.texi: Likewise.
35592         * doc/posix-functions/wcslen.texi: Likewise.
35593         * doc/posix-functions/wcsncat.texi: Likewise.
35594         * doc/posix-functions/wcsncmp.texi: Likewise.
35595         * doc/posix-functions/wcsncpy.texi: Likewise.
35596         * doc/posix-functions/wcspbrk.texi: Likewise.
35597         * doc/posix-functions/wcsrchr.texi: Likewise.
35598         * doc/posix-functions/wcsrtombs.texi: Likewise.
35599         * doc/posix-functions/wcsspn.texi: Likewise.
35600         * doc/posix-functions/wcsstr.texi: Likewise.
35601         * doc/posix-functions/wcstod.texi: Likewise.
35602         * doc/posix-functions/wcstof.texi: Likewise.
35603         * doc/posix-functions/wcstoimax.texi: Likewise.
35604         * doc/posix-functions/wcstok.texi: Likewise.
35605         * doc/posix-functions/wcstold.texi: Likewise.
35606         * doc/posix-functions/wcstoll.texi: Likewise.
35607         * doc/posix-functions/wcstol.texi: Likewise.
35608         * doc/posix-functions/wcstombs.texi: Likewise.
35609         * doc/posix-functions/wcstoull.texi: Likewise.
35610         * doc/posix-functions/wcstoul.texi: Likewise.
35611         * doc/posix-functions/wcstoumax.texi: Likewise.
35612         * doc/posix-functions/wcswidth.texi: Likewise.
35613         * doc/posix-functions/wcsxfrm.texi: Likewise.
35614         * doc/posix-functions/wctob.texi: Likewise.
35615         * doc/posix-functions/wctomb.texi: Likewise.
35616         * doc/posix-functions/wctrans.texi: Likewise.
35617         * doc/posix-functions/wctype.texi: Likewise.
35618         * doc/posix-functions/wcwidth.texi: Likewise.
35619         * doc/posix-functions/wmemchr.texi: Likewise.
35620         * doc/posix-functions/wmemcmp.texi: Likewise.
35621         * doc/posix-functions/wmemcpy.texi: Likewise.
35622         * doc/posix-functions/wmemmove.texi: Likewise.
35623         * doc/posix-functions/wmemset.texi: Likewise.
35624         * doc/posix-functions/wprintf.texi: Likewise.
35625         * doc/posix-functions/wscanf.texi: Likewise.
35626
35627 2008-12-21  Bruno Haible  <bruno@clisp.org>
35628
35629         Update doc for HP-UX 11.11.
35630         * doc/posix-functions/btowc.texi: Clarify that the function is missing
35631         in HP-UX version 11.00, not in all versions of HP-UX 11.
35632         * doc/posix-functions/fwide.texi: Likewise.
35633         * doc/posix-functions/fwprintf.texi: Likewise.
35634         * doc/posix-functions/fwscanf.texi: Likewise.
35635         * doc/posix-functions/inet_ntop.texi: Likewise.
35636         * doc/posix-functions/inet_pton.texi: Likewise.
35637         * doc/posix-functions/mbrlen.texi: Likewise.
35638         * doc/posix-functions/mbrtowc.texi: Likewise.
35639         * doc/posix-functions/mbsinit.texi: Likewise.
35640         * doc/posix-functions/mbsrtowcs.texi: Likewise.
35641         * doc/posix-functions/swprintf.texi: Likewise.
35642         * doc/posix-functions/swscanf.texi: Likewise.
35643         * doc/posix-functions/towctrans.texi: Likewise.
35644         * doc/posix-functions/vfwprintf.texi: Likewise.
35645         * doc/posix-functions/vswprintf.texi: Likewise.
35646         * doc/posix-functions/vwprintf.texi: Likewise.
35647         * doc/posix-functions/wcrtomb.texi: Likewise.
35648         * doc/posix-functions/wcsrtombs.texi: Likewise.
35649         * doc/posix-functions/wcsstr.texi: Likewise.
35650         * doc/posix-functions/wctob.texi: Likewise.
35651         * doc/posix-functions/wctrans.texi: Likewise.
35652         * doc/posix-functions/wmemchr.texi: Likewise.
35653         * doc/posix-functions/wmemcmp.texi: Likewise.
35654         * doc/posix-functions/wmemcpy.texi: Likewise.
35655         * doc/posix-functions/wmemmove.texi: Likewise.
35656         * doc/posix-functions/wmemset.texi: Likewise.
35657         * doc/posix-functions/wprintf.texi: Likewise.
35658         * doc/posix-functions/wscanf.texi: Likewise.
35659
35660 2008-12-21  Bruno Haible  <bruno@clisp.org>
35661
35662         Work around a portability problem.
35663         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
35664         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
35665
35666 2008-12-20  Bruno Haible  <bruno@clisp.org>
35667
35668         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
35669         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
35670         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
35671         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
35672         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
35673
35674         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
35675         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
35676         set.
35677         (GNULIB_defined_mbstate_t): New macro.
35678         (mbsinit): Redefine if REPLACE_MBSINIT is set.
35679         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
35680         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
35681         reuses the system's mbrtowc function but works around the bugs.
35682         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
35683         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
35684         macros.
35685         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
35686         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
35687         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
35688         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
35689         REPLACE_MBSINIT if mbsinit needs to be overridden.
35690         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
35691         REPLACE_MBSINIT, REPLACE_MBRTOWC.
35692         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
35693         REPLACE_MBSINIT, REPLACE_MBRTOWC.
35694         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
35695         m4/locale-zh.m4.
35696         (Depends): Add mbsinit.
35697         * modules/mbsinit (Depends): Add mbrtowc.
35698         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
35699
35700 2008-12-20  Bruno Haible  <bruno@clisp.org>
35701
35702         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
35703         so that there are no conversion errors on AIX.
35704         * tests/test-mbsrtowcs.c (main): LIkewise.
35705
35706 2008-12-20  Bruno Haible  <bruno@clisp.org>
35707
35708         Work around wctob bug on Solaris <= 9.
35709         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
35710         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
35711         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
35712         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
35713         * modules/wctob (Files): Add m4/locale-fr.m4.
35714         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
35715
35716 2008-12-20  Bruno Haible  <bruno@clisp.org>
35717
35718         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
35719         /dev/null.
35720         * tests/test-select-in.sh: Likewise.
35721         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35722
35723 2008-12-20  Bruno Haible  <bruno@clisp.org>
35724
35725         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
35726         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
35727         Cygwin 1.5.x.
35728
35729 2008-12-20  Bruno Haible  <bruno@clisp.org>
35730
35731         Ensure mbstate_t is defined on HP-UX 11.11.
35732         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
35733         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
35734         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
35735         AC_USE_SYSTEM_EXTENSIONS.
35736         * modules/fnmatch (Depends-on): Add extensions.
35737         * modules/mbrlen (Depends-on): Likewise.
35738         * modules/mbrtowc (Depends-on): Likewise.
35739         * modules/mbsinit (Depends-on): Likewise.
35740         * modules/mbsrtowcs (Depends-on): Likewise.
35741         * modules/mbswidth (Depends-on): Likewise.
35742         * modules/quotearg (Depends-on): Likewise.
35743         * modules/strftime (Depends-on): Likewise.
35744
35745 2008-12-20  Bruno Haible  <bruno@clisp.org>
35746
35747         Ensure wctob is declared on IRIX 6.5.
35748         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
35749         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
35750         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
35751         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
35752         of HAVE_WCTOB.
35753         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
35754         HAVE_WCTOB.
35755         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
35756
35757 2008-12-19  Bruno Haible  <bruno@clisp.org>
35758
35759         * modules/mbsrtowcs-tests: New file.
35760         * tests/test-mbsrtowcs1.sh: New file.
35761         * tests/test-mbsrtowcs2.sh: New file.
35762         * tests/test-mbsrtowcs3.sh: New file.
35763         * tests/test-mbsrtowcs4.sh: New file.
35764         * tests/test-mbsrtowcs.c: New file.
35765
35766         New module 'mbsrtowcs'.
35767         * lib/wchar.in.h (mbsrtowcs): New declaration.
35768         * lib/mbsrtowcs.c: New file.
35769         * m4/mbsrtowcs.m4: New file.
35770         * modules/mbsrtowcs: New file.
35771         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
35772         HAVE_MBSRTOWCS.
35773         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
35774         HAVE_MBSRTOWCS.
35775         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
35776
35777 2008-12-19  Bruno Haible  <bruno@clisp.org>
35778
35779         New module 'mbrlen'.
35780         * lib/wchar.in.h (mbrlen): New declaration.
35781         * lib/mbrlen.c: New file.
35782         * m4/mbrlen.m4: New file.
35783         * modules/mbrlen: New file.
35784         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
35785         HAVE_MBRLEN.
35786         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
35787         HAVE_MBRLEN.
35788         * doc/posix-functions/mbrlen.texi: Document the new module.
35789
35790 2008-12-19  Bruno Haible  <bruno@clisp.org>
35791
35792         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
35793         * modules/mbrtowc (Depends-on): Add verify.
35794         Suggested by Paul Eggert.
35795
35796 2008-12-18  Bruno Haible  <bruno@clisp.org>
35797
35798         * modules/mbsinit-tests: New file.
35799         * tests/test-mbsinit.sh: New file.
35800         * tests/test-mbsinit.c: New file.
35801
35802 2008-12-18  Bruno Haible  <bruno@clisp.org>
35803
35804         * modules/mbrtowc-tests: New file.
35805         * tests/test-mbrtowc1.sh: New file.
35806         * tests/test-mbrtowc2.sh: New file.
35807         * tests/test-mbrtowc3.sh: New file.
35808         * tests/test-mbrtowc4.sh: New file.
35809         * tests/test-mbrtowc.c: New file.
35810
35811         New module 'mbrtowc'.
35812         * lib/wchar.in.h (mbstate_t): Override when the system does not have
35813         mbsinit and mbrtowc.
35814         (mbrtowc): New declaration.
35815         * lib/mbrtowc.c: New file.
35816         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
35817         * modules/mbrtowc: New file.
35818         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
35819         HAVE_MBRTOWC.
35820         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
35821         HAVE_MBRTOWC.
35822         * doc/posix-functions/mbrtowc.texi: Document the new module.
35823
35824 2008-12-18  Bruno Haible  <bruno@clisp.org>
35825
35826         New module 'wctob'.
35827         * lib/wchar.in.h (wctob): New declaration.
35828         * lib/wctob.c: New file.
35829         * m4/wctob.m4: New file.
35830         * modules/wctob: New file.
35831         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
35832         HAVE_WCTOB.
35833         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
35834         * doc/posix-functions/wctob.texi: Document the new module.
35835
35836 2008-12-18  Bruno Haible  <bruno@clisp.org>
35837
35838         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
35839         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
35840
35841 2008-12-18  Simon Josefsson  <simon@josefsson.org>
35842
35843         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
35844         G. Christensen" <tgc@jupiterrise.com>.
35845
35846         * lib/flock.c: Need to include errno.h.  Reported by "Tom
35847         G. Christensen" <tgc@jupiterrise.com>.
35848
35849         * lib/flock.c: Need to include string.h.  Reported by "Tom
35850         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
35851         <ebb9@byu.net>.
35852
35853 2008-12-18  Bruno Haible  <bruno@clisp.org>
35854
35855         * m4/locale-ja.m4: New file, from GNU gettext.
35856
35857 2008-12-17  Bruno Haible  <bruno@clisp.org>
35858
35859         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
35860         Suggested by Eric Blake.
35861
35862 2008-12-17  Bruno Haible  <bruno@clisp.org>
35863
35864         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
35865
35866 2008-12-17  Bruno Haible  <bruno@clisp.org>
35867
35868         * lib/mbsinit.c: Include verify.h. Verify an assumption.
35869         * modules/mbsinit (Depends-on): Add verify.
35870         Suggested by Paul Eggert.
35871
35872 2008-12-17  Bruno Haible  <bruno@clisp.org>
35873
35874         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
35875         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
35876         gl_FUNC_MBRTOWC.
35877         * m4/mbiter.m4 (gl_MBITER): LIkewise.
35878         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
35879         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
35880         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
35881         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
35882         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
35883         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
35884         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
35885         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
35886         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
35887         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
35888         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
35889         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
35890         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
35891         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
35892         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
35893         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
35894         * modules/trim (configure.ac): Likewise.
35895
35896 2008-12-17  Bruno Haible  <bruno@clisp.org>
35897
35898         * modules/btowc-tests: New file.
35899         * tests/test-btowc1.sh: New file.
35900         * tests/test-btowc2.sh: New file.
35901         * tests/test-btowc.c: New file.
35902
35903         New module 'btowc'.
35904         * lib/wchar.in.h (btowc): New declaration.
35905         * lib/btowc.c: New file.
35906         * m4/btowc.m4: New file.
35907         * modules/btowc: New file.
35908         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
35909         HAVE_BTOWC.
35910         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
35911         * doc/posix-functions/btowc.texi: Document the new module.
35912
35913 2008-12-17  Bruno Haible  <bruno@clisp.org>
35914
35915         New module 'mbsinit'.
35916         * lib/wchar.in.h (mbsinit): New declaration.
35917         * lib/mbsinit.c: New file.
35918         * m4/mbsinit.m4: New file.
35919         * modules/mbsinit: New file.
35920         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
35921         HAVE_MBSINIT.
35922         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
35923         HAVE_MBSINIT.
35924         * doc/posix-functions/mbsinit.texi: Document the new module.
35925
35926 2008-12-16  Bruno Haible  <bruno@clisp.org>
35927
35928         * lib/unistd.in.h: Add comment.
35929         * tests/test-environ.c: Don't include <stdlib.h>.
35930
35931 2008-12-16  Bruno Haible  <bruno@clisp.org>
35932
35933         * lib/parse-duration.h (parse_duration): Document return value
35934         convention.
35935         * lib/parse-duration.c: Include specification header first. Add
35936         comments.
35937         (_): Remove macro.
35938         (parse_year_month_day, parse_hour_minute_second): Move side effects
35939         outside of strchr call.
35940         (parse_non_iso8601): Move side effects outside of isspace call.
35941         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
35942         call.
35943
35944 2008-12-16  Bruno Haible  <bruno@clisp.org>
35945
35946         * tests/test-parse-duration.sh: Produce no output when the test
35947         succeeds.
35948
35949 2008-12-16  Bruno Haible  <bruno@clisp.org>
35950
35951         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
35952         expressions.
35953
35954 2008-12-15  Bruno Haible  <bruno@clisp.org>
35955
35956         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
35957         * doc/glibc-functions/flistxattr.texi: Likewise.
35958         * doc/glibc-functions/fopencookie.texi: Likewise.
35959         * doc/glibc-functions/fremovexattr.texi: Likewise.
35960         * doc/glibc-functions/fsetxattr.texi: Likewise.
35961         * doc/glibc-functions/getxattr.texi: Likewise.
35962         * doc/glibc-functions/lgetxattr.texi: Likewise.
35963         * doc/glibc-functions/listxattr.texi: Likewise.
35964         * doc/glibc-functions/llistxattr.texi: Likewise.
35965         * doc/glibc-functions/lremovexattr.texi: Likewise.
35966         * doc/glibc-functions/lsetxattr.texi: Likewise.
35967         * doc/glibc-functions/removexattr.texi: Likewise.
35968         * doc/glibc-functions/setxattr.texi: Likewise.
35969         * doc/posix-functions/open_memstream.texi: Likewise.
35970
35971 2008-12-15  Eric Blake  <ebb9@byu.net>
35972
35973         Update doc for cygwin 1.7.
35974         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
35975         functions.
35976         * doc/posix-functions/fchmodat.texi: Likewise.
35977         * doc/posix-functions/fchownat.texi: Likewise.
35978         * doc/posix-functions/fdopendir.texi: Likewise.
35979         * doc/posix-functions/fmemopen.texi: Likewise.
35980         * doc/posix-functions/freeaddrinfo.texi: Likewise.
35981         * doc/posix-functions/fstatat.texi: Likewise.
35982         * doc/posix-functions/futimens.texi: Likewise.
35983         * doc/posix-functions/gai_strerror.texi: Likewise.
35984         * doc/posix-functions/getaddrinfo.texi: Likewise.
35985         * doc/posix-functions/getnameinfo.texi: Likewise.
35986         * doc/posix-functions/if_freenameindex.texi: Likewise.
35987         * doc/posix-functions/if_indextoname.texi: Likewise.
35988         * doc/posix-functions/if_nameindex.texi: Likewise.
35989         * doc/posix-functions/if_nametoindex.texi: Likewise.
35990         * doc/posix-functions/insque.texi: Likewise.
35991         * doc/posix-functions/linkat.texi: Likewise.
35992         * doc/posix-functions/llrint.texi: Likewise.
35993         * doc/posix-functions/llrintf.texi: Likewise.
35994         * doc/posix-functions/llrintl.texi: Likewise.
35995         * doc/posix-functions/lockf.texi: Likewise.
35996         * doc/posix-functions/lrintl.texi: Likewise.
35997         * doc/posix-functions/mkdirat.texi: Likewise.
35998         * doc/posix-functions/mkfifoat.texi: Likewise.
35999         * doc/posix-functions/mknodat.texi: Likewise.
36000         * doc/posix-functions/mq_close.texi: Likewise.
36001         * doc/posix-functions/mq_getattr.texi: Likewise.
36002         * doc/posix-functions/mq_notify.texi: Likewise.
36003         * doc/posix-functions/mq_open.texi: Likewise.
36004         * doc/posix-functions/mq_receive.texi: Likewise.
36005         * doc/posix-functions/mq_send.texi: Likewise.
36006         * doc/posix-functions/mq_setattr.texi: Likewise.
36007         * doc/posix-functions/mq_timedreceive.texi: Likewise.
36008         * doc/posix-functions/mq_timedsend.texi: Likewise.
36009         * doc/posix-functions/mq_unlink.texi: Likewise.
36010         * doc/posix-functions/open_memstream.texi: Likewise.
36011         * doc/posix-functions/openat.texi: Likewise.
36012         * doc/posix-functions/posix_fadvise.texi: Likewise.
36013         * doc/posix-functions/posix_fallocate.texi: Likewise.
36014         * doc/posix-functions/posix_madvise.texi: Likewise.
36015         * doc/posix-functions/posix_memalign.texi: Likewise.
36016         * doc/posix-functions/posix_openpt.texi: Likewise.
36017         * doc/posix-functions/readlinkat.texi: Likewise.
36018         * doc/posix-functions/remque.texi: Likewise.
36019         * doc/posix-functions/renameat.texi: Likewise.
36020         * doc/posix-functions/rintl.texi: Likewise.
36021         * doc/posix-functions/sem_unlink.texi: Likewise.
36022         * doc/posix-functions/shm_open.texi: Likewise.
36023         * doc/posix-functions/shm_unlink.texi: Likewise.
36024         * doc/posix-functions/signgam.texi: Likewise.
36025         * doc/posix-functions/sigset.texi: Likewise.
36026         * doc/posix-functions/stpcpy.texi: Likewise.
36027         * doc/posix-functions/stpncpy.texi: Likewise.
36028         * doc/posix-functions/strerror.texi: Likewise.
36029         * doc/posix-functions/strtod.texi: Likewise.
36030         * doc/posix-functions/symlinkat.texi: Likewise.
36031         * doc/posix-functions/unlinkat.texi: Likewise.
36032         * doc/posix-functions/utimensat.texi: Likewise.
36033         * doc/glibc-functions/bindresvport.texi: Likewise.
36034         * doc/glibc-functions/dn_expand.texi: Likewise.
36035         * doc/glibc-functions/exp10.texi: Likewise.
36036         * doc/glibc-functions/exp10f.texi: Likewise.
36037         * doc/glibc-functions/fgetxattr.texi: Likewise.
36038         * doc/glibc-functions/flistxattr.texi: Likewise.
36039         * doc/glibc-functions/fopencookie.texi: Likewise.
36040         * doc/glibc-functions/freeifaddrs.texi: Likewise.
36041         * doc/glibc-functions/fremovexattr.texi: Likewise.
36042         * doc/glibc-functions/fsetxattr.texi: Likewise.
36043         * doc/glibc-functions/getifaddrs.texi: Likewise.
36044         * doc/glibc-functions/getxattr.texi: Likewise.
36045         * doc/glibc-functions/lgetxattr.texi: Likewise.
36046         * doc/glibc-functions/listxattr.texi: Likewise.
36047         * doc/glibc-functions/llistxattr.texi: Likewise.
36048         * doc/glibc-functions/lremovexattr.texi: Likewise.
36049         * doc/glibc-functions/lsetxattr.texi: Likewise.
36050         * doc/glibc-functions/pow10.texi: Likewise.
36051         * doc/glibc-functions/pow10f.texi: Likewise.
36052         * doc/glibc-functions/rcmd_af.texi: Likewise.
36053         * doc/glibc-functions/removexattr.texi: Likewise.
36054         * doc/glibc-functions/res_init.texi: Likewise.
36055         * doc/glibc-functions/res_mkquery.texi: Likewise.
36056         * doc/glibc-functions/res_query.texi: Likewise.
36057         * doc/glibc-functions/res_querydomain.texi: Likewise.
36058         * doc/glibc-functions/res_send.texi: Likewise.
36059         * doc/glibc-functions/rresvport_af.texi: Likewise.
36060         * doc/glibc-functions/setxattr.texi: Likewise.
36061         * doc/glibc-functions/strcasestr.texi: Likewise.
36062
36063 2008-12-15  Bruno Haible  <bruno@clisp.org>
36064
36065         Fix compilation error on OSF/1 4.0.
36066         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
36067         <sys/time.h>, simply delegate to the system header.
36068         Reported by Daniel Richard G. <oss@teragram.com>.
36069
36070 2008-12-15  Bruno Haible  <bruno@clisp.org>
36071
36072         * doc/posix-functions/openat.texi: Mention the 'openat' module.
36073         * doc/posix-functions/fchmodat.texi: Likewise.
36074         * doc/posix-functions/fchownat.texi: Likewise.
36075         * doc/posix-functions/fdopendir.texi: Likewise.
36076         * doc/posix-functions/fstatat.texi: Likewise.
36077         * doc/posix-functions/mkdirat.texi: Likewise.
36078         * doc/posix-functions/unlinkat.texi: Likewise.
36079
36080 2008-12-14  Bruno Haible  <bruno@clisp.org>
36081
36082         Update doc for POSIX:2008.
36083         * doc/posix-functions/faccessat.texi: New file.
36084         * doc/posix-functions/fchmodat.texi: New file.
36085         * doc/posix-functions/fchownat.texi: New file.
36086         * doc/posix-functions/fdopendir.texi: New file.
36087         * doc/posix-functions/fstatat.texi: New file.
36088         * doc/posix-functions/futimens.texi: New file.
36089         * doc/posix-functions/linkat.texi: New file.
36090         * doc/posix-functions/mkdirat.texi: New file.
36091         * doc/posix-functions/mkfifoat.texi: New file.
36092         * doc/posix-functions/mknodat.texi: New file.
36093         * doc/posix-functions/open_wmemstream.texi: New file.
36094         * doc/posix-functions/openat.texi: New file.
36095         * doc/posix-functions/psiginfo.texi: New file.
36096         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
36097         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
36098         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
36099         * doc/posix-functions/readlinkat.texi: New file.
36100         * doc/posix-functions/renameat.texi: New file.
36101         * doc/posix-functions/strerror_l.texi: New file.
36102         * doc/posix-functions/symlinkat.texi: New file.
36103         * doc/posix-functions/unlinkat.texi: New file.
36104         * doc/posix-functions/utimensat.texi: New file.
36105         * doc/gnulib.texi (Function Substitutes): Add these subsections.
36106
36107 2008-12-14  Bruno Haible  <bruno@clisp.org>
36108
36109         Update doc for POSIX:2008.
36110         * doc/posix-functions/alphasort.texi: Renamed from
36111         doc/glibc-functions/alphasort.texi.
36112         * doc/posix-functions/dirfd.texi: Renamed from
36113         doc/glibc-functions/dirfd.texi.
36114         * doc/posix-functions/dprintf.texi: Renamed from
36115         doc/glibc-functions/dprintf.texi.
36116         * doc/posix-functions/duplocale.texi: Renamed from
36117         doc/glibc-functions/duplocale.texi.
36118         * doc/posix-functions/fexecve.texi: Renamed from
36119         doc/glibc-functions/fexecve.texi.
36120         * doc/posix-functions/fmemopen.texi: Renamed from
36121         doc/glibc-functions/fmemopen.texi.
36122         * doc/posix-functions/freelocale.texi: Renamed from
36123         doc/glibc-functions/freelocale.texi.
36124         * doc/posix-functions/getdate_err.texi: Renamed from
36125         doc/glibc-functions/getdate_err.texi.
36126         * doc/posix-functions/isalnum_l.texi: Renamed from
36127         doc/glibc-functions/isalnum_l.texi.
36128         * doc/posix-functions/isalpha_l.texi: Renamed from
36129         doc/glibc-functions/isalpha_l.texi.
36130         * doc/posix-functions/isblank_l.texi: Renamed from
36131         doc/glibc-functions/isblank_l.texi.
36132         * doc/posix-functions/iscntrl_l.texi: Renamed from
36133         doc/glibc-functions/iscntrl_l.texi.
36134         * doc/posix-functions/isdigit_l.texi: Renamed from
36135         doc/glibc-functions/isdigit_l.texi.
36136         * doc/posix-functions/isgraph_l.texi: Renamed from
36137         doc/glibc-functions/isgraph_l.texi.
36138         * doc/posix-functions/islower_l.texi: Renamed from
36139         doc/glibc-functions/islower_l.texi.
36140         * doc/posix-functions/isprint_l.texi: Renamed from
36141         doc/glibc-functions/isprint_l.texi.
36142         * doc/posix-functions/ispunct_l.texi: Renamed from
36143         doc/glibc-functions/ispunct_l.texi.
36144         * doc/posix-functions/isspace_l.texi: Renamed from
36145         doc/glibc-functions/isspace_l.texi.
36146         * doc/posix-functions/isupper_l.texi: Renamed from
36147         doc/glibc-functions/isupper_l.texi.
36148         * doc/posix-functions/iswalnum_l.texi: Renamed from
36149         doc/glibc-functions/iswalnum_l.texi.
36150         * doc/posix-functions/iswalpha_l.texi: Renamed from
36151         doc/glibc-functions/iswalpha_l.texi.
36152         * doc/posix-functions/iswblank_l.texi: Renamed from
36153         doc/glibc-functions/iswblank_l.texi.
36154         * doc/posix-functions/iswcntrl_l.texi: Renamed from
36155         doc/glibc-functions/iswcntrl_l.texi.
36156         * doc/posix-functions/iswctype_l.texi: Renamed from
36157         doc/glibc-functions/iswctype_l.texi.
36158         * doc/posix-functions/iswdigit_l.texi: Renamed from
36159         doc/glibc-functions/iswdigit_l.texi.
36160         * doc/posix-functions/iswgraph_l.texi: Renamed from
36161         doc/glibc-functions/iswgraph_l.texi.
36162         * doc/posix-functions/iswlower_l.texi: Renamed from
36163         doc/glibc-functions/iswlower_l.texi.
36164         * doc/posix-functions/iswprint_l.texi: Renamed from
36165         doc/glibc-functions/iswprint_l.texi.
36166         * doc/posix-functions/iswpunct_l.texi: Renamed from
36167         doc/glibc-functions/iswpunct_l.texi.
36168         * doc/posix-functions/iswspace_l.texi: Renamed from
36169         doc/glibc-functions/iswspace_l.texi.
36170         * doc/posix-functions/iswupper_l.texi: Renamed from
36171         doc/glibc-functions/iswupper_l.texi.
36172         * doc/posix-functions/iswxdigit_l.texi: Renamed from
36173         doc/glibc-functions/iswxdigit_l.texi.
36174         * doc/posix-functions/isxdigit_l.texi: Renamed from
36175         doc/glibc-functions/isxdigit_l.texi.
36176         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
36177         doc/glibc-functions/mbsnrtowcs.texi.
36178         * doc/posix-functions/mkdtemp.texi: Renamed from
36179         doc/glibc-functions/mkdtemp.texi.
36180         * doc/posix-functions/newlocale.texi: Renamed from
36181         doc/glibc-functions/newlocale.texi.
36182         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
36183         doc/glibc-functions/nl_langinfo_l.texi.
36184         * doc/posix-functions/open_memstream.texi: Renamed from
36185         doc/glibc-functions/open_memstream.texi.
36186         * doc/posix-functions/opterr.texi: Renamed from
36187         doc/glibc-functions/opterr.texi.
36188         * doc/posix-functions/optind.texi: Renamed from
36189         doc/glibc-functions/optind.texi.
36190         * doc/posix-functions/optopt.texi: Renamed from
36191         doc/glibc-functions/optopt.texi.
36192         * doc/posix-functions/psignal.texi: Renamed from
36193         doc/glibc-functions/psignal.texi.
36194         * doc/posix-functions/scandir.texi: Renamed from
36195         doc/glibc-functions/scandir.texi.
36196         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
36197         doc/glibc-functions/sched_get_priority_min.texi.
36198         * doc/posix-functions/signgam.texi: Renamed from
36199         doc/glibc-functions/signgam.texi.
36200         * doc/posix-functions/stpcpy.texi: Renamed from
36201         doc/glibc-functions/stpcpy.texi.
36202         * doc/posix-functions/stpncpy.texi: Renamed from
36203         doc/glibc-functions/stpncpy.texi.
36204         * doc/posix-functions/strcasecmp_l.texi: Renamed from
36205         doc/glibc-functions/strcasecmp_l.texi.
36206         * doc/posix-functions/strcoll_l.texi: Renamed from
36207         doc/glibc-functions/strcoll_l.texi.
36208         * doc/posix-functions/strfmon_l.texi: Renamed from
36209         doc/glibc-functions/strfmon_l.texi.
36210         * doc/posix-functions/strftime_l.texi: Renamed from
36211         doc/glibc-functions/strftime_l.texi.
36212         * doc/posix-functions/strncasecmp_l.texi: Renamed from
36213         doc/glibc-functions/strncasecmp_l.texi.
36214         * doc/posix-functions/strndup.texi: Renamed from
36215         doc/glibc-functions/strndup.texi.
36216         * doc/posix-functions/strnlen.texi: Renamed from
36217         doc/glibc-functions/strnlen.texi.
36218         * doc/posix-functions/strsignal.texi: Renamed from
36219         doc/glibc-functions/strsignal.texi.
36220         * doc/posix-functions/strxfrm_l.texi: Renamed from
36221         doc/glibc-functions/strxfrm_l.texi.
36222         * doc/posix-functions/timer_gettime.texi: Renamed from
36223         doc/glibc-functions/timer_gettime.texi.
36224         * doc/posix-functions/tolower_l.texi: Renamed from
36225         doc/glibc-functions/tolower_l.texi.
36226         * doc/posix-functions/toupper_l.texi: Renamed from
36227         doc/glibc-functions/toupper_l.texi.
36228         * doc/posix-functions/towctrans_l.texi: Renamed from
36229         doc/glibc-functions/towctrans_l.texi.
36230         * doc/posix-functions/towlower_l.texi: Renamed from
36231         doc/glibc-functions/towlower_l.texi.
36232         * doc/posix-functions/towupper_l.texi: Renamed from
36233         doc/glibc-functions/towupper_l.texi.
36234         * doc/posix-functions/uselocale.texi: Renamed from
36235         doc/glibc-functions/uselocale.texi.
36236         * doc/posix-functions/vdprintf.texi: Renamed from
36237         doc/glibc-functions/vdprintf.texi.
36238         * doc/posix-functions/wcpcpy.texi:
36239         Renamed from doc/glibc-functions/wcpcpy.texi.
36240         * doc/posix-functions/wcpncpy.texi: Renamed from
36241         doc/glibc-functions/wcpncpy.texi.
36242         * doc/posix-functions/wcscasecmp.texi: Renamed from
36243         doc/glibc-functions/wcscasecmp.texi.
36244         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
36245         doc/glibc-functions/wcscasecmp_l.texi.
36246         * doc/posix-functions/wcscoll_l.texi: Renamed from
36247         doc/glibc-functions/wcscoll_l.texi.
36248         * doc/posix-functions/wcsdup.texi: Renamed from
36249         doc/glibc-functions/wcsdup.texi.
36250         * doc/posix-functions/wcsncasecmp.texi: Renamed from
36251         doc/glibc-functions/wcsncasecmp.texi.
36252         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
36253         doc/glibc-functions/wcsncasecmp_l.texi.
36254         * doc/posix-functions/wcsnlen.texi: Renamed from
36255         doc/glibc-functions/wcsnlen.texi.
36256         * doc/posix-functions/wcsnrtombs.texi: Renamed from
36257         doc/glibc-functions/wcsnrtombs.texi.
36258         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
36259         doc/glibc-functions/wcsxfrm_l.texi.
36260         * doc/posix-functions/wctrans_l.texi: Renamed from
36261         doc/glibc-functions/wctrans_l.texi.
36262         * doc/posix-functions/wctype_l.texi: Renamed from
36263         doc/glibc-functions/wctype_l.texi.
36264         * doc/gnulib.texi (Function Substitutes): Add these subsections.
36265         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
36266         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
36267         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
36268         these subsections.
36269         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
36270         Remove sections.
36271
36272 2008-12-14  Bruno Haible  <bruno@clisp.org>
36273
36274         Update doc for POSIX:2008.
36275         * doc/posix-functions/*.texi: Update URL of POSIX specification.
36276
36277 2008-12-14  Bruno Haible  <bruno@clisp.org>
36278
36279         Update doc for POSIX:2008.
36280         * doc/pastposix-functions/bcmp.texi: Renamed from
36281         doc/posix-functions/bcmp.texi.
36282         * doc/pastposix-functions/bcopy.texi: Renamed from
36283         doc/posix-functions/bcopy.texi.
36284         * doc/pastposix-functions/bsd_signal.texi: Renamed from
36285         doc/posix-functions/bsd_signal.texi.
36286         * doc/pastposix-functions/bzero.texi: Renamed from
36287         doc/posix-functions/bzero.texi.
36288         * doc/pastposix-functions/ecvt.texi: Renamed from
36289         doc/posix-functions/ecvt.texi.
36290         * doc/pastposix-functions/fcvt.texi: Renamed from
36291         doc/posix-functions/fcvt.texi.
36292         * doc/pastposix-functions/ftime.texi: Renamed from
36293         doc/posix-functions/ftime.texi.
36294         * doc/pastposix-functions/gcvt.texi: Renamed from
36295         doc/posix-functions/gcvt.texi.
36296         * doc/pastposix-functions/getcontext.texi: Renamed from
36297         doc/posix-functions/getcontext.texi.
36298         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
36299         doc/posix-functions/gethostbyaddr.texi.
36300         * doc/pastposix-functions/gethostbyname.texi: Renamed from
36301         doc/posix-functions/gethostbyname.texi.
36302         * doc/pastposix-functions/getwd.texi: Renamed from
36303         doc/posix-functions/getwd.texi.
36304         * doc/pastposix-functions/h_errno.texi: Renamed from
36305         doc/posix-functions/h_errno.texi.
36306         * doc/pastposix-functions/index.texi: Renamed from
36307         doc/posix-functions/index.texi.
36308         * doc/pastposix-functions/makecontext.texi: Renamed from
36309         doc/posix-functions/makecontext.texi.
36310         * doc/pastposix-functions/mktemp.texi: Renamed from
36311         doc/posix-functions/mktemp.texi.
36312         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
36313         doc/posix-functions/pthread_attr_getstackaddr.texi.
36314         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
36315         doc/posix-functions/pthread_attr_setstackaddr.texi.
36316         * doc/pastposix-functions/rindex.texi: Renamed from
36317         doc/posix-functions/rindex.texi.
36318         * doc/pastposix-functions/scalb.texi: Renamed from
36319         doc/posix-functions/scalb.texi.
36320         * doc/pastposix-functions/setcontext.texi: Renamed from
36321         doc/posix-functions/setcontext.texi.
36322         * doc/pastposix-functions/swapcontext.texi: Renamed from
36323         doc/posix-functions/swapcontext.texi.
36324         * doc/pastposix-functions/ualarm.texi: Renamed from
36325         doc/posix-functions/ualarm.texi.
36326         * doc/pastposix-functions/usleep.texi: Renamed from
36327         doc/posix-functions/usleep.texi.
36328         * doc/pastposix-functions/vfork.texi: Renamed from
36329         doc/posix-functions/vfork.texi.
36330         * doc/pastposix-functions/wcswcs.texi: Renamed from
36331         doc/posix-functions/wcswcs.texi.
36332         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
36333         (Function Substitutes): Update.
36334
36335 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36336
36337         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
36338         m4/strerror.m4.
36339
36340 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36341             Bruno Haible  <bruno@clisp.org>
36342
36343         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
36344
36345 2008-12-13  Bruno Haible  <bruno@clisp.org>
36346
36347         * modules/strtoull (Depends-on): Remove unistd.
36348
36349 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36350
36351         * modules/strtoull (Depends-on): Add stdlib.
36352
36353 2008-12-11  Simon Josefsson  <simon@josefsson.org>
36354
36355         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
36356
36357 2008-12-10  Jim Meyering  <meyering@redhat.com>
36358
36359         gl_ASSERT: don't say assertions are disabled when they're not
36360         * m4/assert.m4 (gl_ASSERT): Do not make configure report
36361         "checking whether to enable assertions... no", when they are in
36362         fact enabled.  This is solely a bug in the output of configure.
36363         In spite of saying "no", NDEBUG was not defined in that case.
36364         Also, as noted by Eric Blake, leave assertions enabled upon
36365         --enable-assert=INVALID.
36366
36367 2008-12-10  Bruno Haible  <bruno@clisp.org>
36368
36369         Change MODULES.html to refer to POSIX:2008 where possible.
36370         * MODULES.html.sh (POSIX2008_URL): New variable.
36371         (posix_headers): Remove sys/timeb, ucontext.
36372         (posix2001_headers): New variable.
36373         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
36374         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
36375         index, makecontext, mktemp, pthread_attr_getstackaddr,
36376         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
36377         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
36378         (posix2001_functions): New variable.
36379         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
36380         otherwise.
36381
36382 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36383
36384         add missing include to parse-duration.c
36385         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
36386         * modules/parse-duration (Depends-on): Add xalloc.
36387
36388         fix sed script reading maint.mk
36389         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
36390         (syntax-check-rules): Use it.
36391
36392 2008-12-09  Bruno Haible  <bruno@clisp.org>
36393
36394         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
36395         MacOS X 10.4/PowerPC.
36396         Reported by Simon Josefsson.
36397
36398 2008-12-08  Jim Meyering  <meyering@redhat.com>
36399
36400         work around mingw's lack of some S_IF definitions
36401         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
36402         Reported by Simon Josefsson.
36403
36404 2008-12-08  Bruno Haible  <bruno@clisp.org>
36405
36406         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
36407         applied to variables. Needed on MacOS X 10.4/PowerPC.
36408         Reported by Simon Josefsson.
36409
36410 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
36411         and Eric Blake  <ebb9@byu.net>
36412
36413         assert: honor --enable-assert
36414         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
36415         order to honor --enable-assert, rather than treating it as a
36416         synonym for --disable-assert.
36417
36418 2008-12-08  Jim Meyering  <meyering@redhat.com>
36419
36420         * lib/posixtm.c: Remove now-useless declaration of mktime.
36421
36422         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
36423
36424 2008-12-07  Bruno Haible  <bruno@clisp.org>
36425
36426         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
36427         test_once): Mark functions as static.
36428         * tests/test-tls.c (test_tls): Likewise.
36429
36430 2008-12-07  Bruno Haible  <bruno@clisp.org>
36431
36432         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
36433         iconv_register_autodetect.
36434
36435 2008-12-07  Jim Meyering  <meyering@redhat.com>
36436
36437         posixtm.c: avoid a warning
36438         * lib/posixtm.c (posixtime): Don't initialize tm0.
36439         It's no longer needed to placate gcc4's -Wuninitialized,
36440         and the attempt to placate would elicit a new warning.
36441
36442         unicodeio.c: mark unused parameters
36443         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
36444         (fallback_failure_callback): Likewise.
36445
36446 2008-12-07  Bruno Haible  <bruno@clisp.org>
36447
36448         * gnulib-tool (func_create_testdir): When building the tests
36449         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
36450         Reported by Simon Josefsson.
36451
36452 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36453
36454         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
36455
36456 2008-12-06  Bruno Haible  <bruno@clisp.org>
36457
36458         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
36459         Suggested by Eric Blake.
36460
36461 2008-12-06  Bruno Haible  <bruno@clisp.org>
36462
36463         Fix a c-stack test failure on MacOS X.
36464         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
36465         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
36466         handler for SIGBUS as well.
36467         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
36468         install a signal handler for SIGBUS as well.
36469         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
36470
36471 2008-12-06  Bruno Haible  <bruno@clisp.org>
36472
36473         Advocacy documentation.
36474         * doc/gnulib-intro.texi (Benefits): New section.
36475         * doc/gnulib.texi: Update.
36476
36477 2008-12-06  Bruno Haible  <bruno@clisp.org>
36478
36479         Document the 'manywarnings' module.
36480         * doc/manywarnings.texi: New file.
36481         * doc/gnulib.texi: Include it.
36482
36483 2008-12-05  Eric Blake  <ebb9@byu.net>
36484
36485         tests: silence some gcc warnings
36486         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
36487         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
36488         type mismatches.
36489
36490 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36491             Bruno Haible  <bruno@clisp.org>
36492
36493         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
36494
36495 2008-11-29  Jim Meyering  <meyering@redhat.com>
36496
36497         unicodeio.c: mark unused parameters
36498         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
36499         (fallback_failure_callback): Likewise.
36500
36501         fts: fix a thinko
36502         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
36503         (set_stat_type): Return S_IF*-valued "type" directly.
36504         Prompted by James Youngman's spotting a related bug.
36505         Confirmed by further testing through find.
36506
36507         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
36508         * lib/fts.c (D_TYPE): Define.
36509         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
36510         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
36511         (s_ifmt_shift_bits): New function.
36512         (set_stat_type): New function.
36513         (fts_build): When not calling fts_stat, call set_stat_type
36514         to propagate dirent.d_type info to fts_read caller.
36515         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
36516         fts_statp->st_mode type information may be valid.
36517
36518 2008-11-28  Simon Josefsson  <simon@josefsson.org>
36519
36520         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
36521         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
36522         <sds@gnu.org>.
36523
36524 2008-11-20  Bruno Haible  <bruno@clisp.org>
36525
36526         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
36527         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
36528         INCLUDE_NEXT.
36529         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
36530         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
36531         * modules/math (Makefile.am): Substitute
36532         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
36533         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36534
36535 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
36536             Bruno Haible  <bruno@clisp.org>
36537
36538         * lib/stdint.in.h: Define all type macros so that their expansion is
36539         a single typedef'ed token. Fixes a compilation failure in Boost which
36540         does "using ::int8_t;".
36541
36542 2008-11-18  Simon Josefsson  <simon@josefsson.org>
36543
36544         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
36545         gl_MANYWARN_ALL_GCC.
36546         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
36547         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
36548         * modules/manywarnings: New file.
36549         * MODULES.html.sh: Mention manywarnings module.
36550
36551 2008-11-18  Bruno Haible  <bruno@clisp.org>
36552
36553         * doc/gnulib-tool.texi (Unit tests): New section.
36554
36555 2008-11-18  Simon Josefsson  <simon@josefsson.org>
36556
36557         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
36558         paths like 'lib/po/foo.po'.
36559
36560 2008-11-17  Simon Josefsson  <simon@josefsson.org>
36561
36562         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
36563         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
36564
36565 2008-11-17  Simon Josefsson  <simon@josefsson.org>
36566
36567         * m4/warnings.m4: Use CPPFLAGS to really check whether the
36568         parameter works.
36569
36570 2008-11-17  Simon Josefsson  <simon@josefsson.org>
36571
36572         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
36573
36574 2008-11-17  Bruce Korb  <bkorb@gnu.org>
36575
36576         * modules/parse-duration-tests: New file.
36577         * tests/test-parse-duration.sh: New file.
36578         * tests/test-parse-duration.c: New file.
36579
36580         New module 'parse-duration'.
36581         * lib/parse-duration.h: New file.
36582         * lib/parse-duration.c: New file.
36583         * modules/parse-duration: New file.
36584
36585 2008-11-17  Bruno Haible  <bruno@clisp.org>
36586
36587         * tests/test-select-out.sh: Comment out the first pipe test.
36588         Reported by Simon Josefsson.
36589
36590 2008-11-17  Bruno Haible  <bruno@clisp.org>
36591
36592         * modules/getaddrinfo (Depends-on): Add servent, hostent.
36593         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
36594         gl_HOSTENT.
36595
36596 2008-11-17  Bruno Haible  <bruno@clisp.org>
36597
36598         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
36599         -lnetwork and -lnet. Needed for Haiku and BeOS.
36600
36601 2008-11-16  Bruno Haible  <bruno@clisp.org>
36602
36603         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
36604
36605 2008-11-16  Bruno Haible  <bruno@clisp.org>
36606
36607         Avoid test failure on Haiku.
36608         * tests/test-fsync.c: Include <errno.h>.
36609         (main): Don't require that fsync (0) fails.
36610
36611 2008-11-15  Bruno Haible  <bruno@clisp.org>
36612
36613         New module 'hostent'.
36614         * modules/hostent: New file.
36615         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
36616
36617 2008-11-15  Bruno Haible  <bruno@clisp.org>
36618
36619         New module 'servent'.
36620         * modules/servent: New file.
36621         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
36622
36623 2008-11-15  Bruno Haible  <bruno@clisp.org>
36624
36625         Avoid generating same test program with two different rules.
36626         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
36627         test-frexp to test-frexp-nolibm.
36628         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
36629         test-frexpl to test-frexpl-nolibm.
36630
36631 2008-11-15  Bruno Haible  <bruno@clisp.org>
36632
36633         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
36634         $(FREXPL_LIBM).
36635
36636 2008-11-15  Bruno Haible  <bruno@clisp.org>
36637
36638         * lib/netdb.in.h: Activate the definitions also when the system's
36639         <netdb.h> has 'struct addrinfo'.
36640         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
36641         EAI_OVERFLOW or AI_NUMERICSERV.
36642         * doc/posix-headers/netdb.texi: Document the problem.
36643
36644 2008-11-15  Bruno Haible  <bruno@clisp.org>
36645
36646         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
36647
36648         Make the 'sched' module work on platforms where <sched.h> exists but
36649         is incomplete (such as Haiku).
36650         * lib/sched.in.h; Include the system's <sched.h> if it exists.
36651         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
36652         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
36653         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
36654         HAVE_STRUCT_SCHED_PARAM.
36655         * modules/sched (Depends-on): Add include_next.
36656         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
36657         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
36658         * doc/posix-headers/sched.texi: Document the issue.
36659
36660 2008-11-13  Jim Meyering  <meyering@redhat.com>
36661
36662         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
36663         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
36664         test would fail due to the difference in the Report bugs to ...
36665         line.  The expected address is empty, "<>", while the actual
36666         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
36667
36668 2008-11-12  Bruno Haible  <bruno@clisp.org>
36669
36670         lstat: don't compile lstat.c on systems lacking lstat
36671         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
36672         which don't have lstat; this is handled by lib/sys_stat.in.h already.
36673         Reported by Daniel P. Berrange via Jim Meyering.
36674
36675 2008-11-12  Jim Meyering  <meyering@redhat.com>
36676
36677         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
36678
36679 2008-11-12  Simon Josefsson  <simon@josefsson.org>
36680
36681         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
36682         instead.
36683
36684 2008-11-12  Bruno Haible  <bruno@clisp.org>
36685
36686         * lib/unicodeio.c: Include unistr.h.
36687         (utf8_wctomb): Remove function.
36688         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
36689
36690 2008-11-12  Simon Josefsson  <simon@josefsson.org>
36691
36692         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
36693         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
36694         <bruno@clisp.org>.
36695         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
36696
36697 2008-11-12  Simon Josefsson  <simon@josefsson.org>
36698
36699         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
36700         * doc/gnulib.texi: Add section for warnings.
36701
36702 2008-11-11  Bruno Haible  <bruno@clisp.org>
36703
36704         * lib/sockets.h: Add a comment.
36705
36706 2008-11-11  Karl Berry  <karl@gnu.org>
36707
36708         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
36709
36710 2008-11-11  Eric Blake  <ebb9@byu.net>
36711
36712         fdl.texi: avoid git symlinks
36713         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
36714
36715 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36716
36717         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
36718
36719 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36720
36721         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
36722         (gl_WARN_ADD): Substitute $2 if literal.
36723
36724 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36725
36726         * m4/warning.m4: Remove.
36727
36728 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36729
36730         * m4/warnings.m4: Almost complete rewrite. :-)
36731
36732 2008-11-10  Simon Josefsson  <simon@josefsson.org>
36733
36734         * modules/warnings: New module.
36735         * m4/warnings.m4: New file.
36736         * MODULES.html.sh: Mention warnings module.
36737         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
36738         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36739
36740 2008-11-10  Eric Blake  <ebb9@byu.net>
36741
36742         fdl.texi: make a symlink to the latest version
36743         * doc/standards.texi: Revert today's earlier change.
36744         * doc/fdl-1.2.texi: Rename from old fdl.texi...
36745         * doc/fdl.texi: ...and replace this with a symlink to the newer
36746         fdl-1.3.texi.
36747
36748 2008-11-10  Bruno Haible  <bruno@clisp.org>
36749
36750         * tests/test-select-fd.c (main): Accept the result file name as fourth
36751         argument.
36752         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
36753         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
36754
36755 2008-11-10  Bruno Haible  <bruno@clisp.org>
36756
36757         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
36758         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
36759         as autoconf-substituted macros.
36760         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
36761         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
36762         gl_NETDB_H_DEFAULTS. Set these variables.
36763         * modules/netdb (Makefile.am): Substitute these variables.
36764
36765 2008-11-10  Eric Blake  <ebb9@byu.net>
36766
36767         standards.texi: include correct file for FDL 1.3
36768         * doc/standards.texi (GNU Free Documentation License): Change
36769         include file to pull in FDL 1.3, not 1.2.
36770
36771         fdl.texi: revert accidental change to license
36772         * doc/fdl.texi: This is FDL 1.2, not 1.3.
36773
36774 2008-11-10  Bruno Haible  <bruno@clisp.org>
36775
36776         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
36777         cross-compiling guesses also when the native compile gives no result.
36778
36779 2008-11-10  Bruno Haible  <bruno@clisp.org>
36780
36781         * lib/spawni.c (__spawni): Force variable into the stack.
36782
36783 2008-11-10  Bruno Haible  <bruno@clisp.org>
36784
36785         Add support for Haiku.
36786         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
36787         glibc and BeOS, but also on Haiku.
36788         * lib/fpurge.c (fpurge): Likewise.
36789         * lib/freadable.c (freadable): Likewise.
36790         * lib/freadahead.c (freadahead): Likewise.
36791         * lib/freading.c (freading): Likewise.
36792         * lib/freadptr.c (freadptr): Likewise.
36793         * lib/freadseek.c (freadptrinc): Likewise.
36794         * lib/fseeko.c (rpl_fseeko): Likewise.
36795         * lib/fseterr.c (fseterr): Likewise.
36796         * lib/fwritable.c (fwritable): Likewise.
36797         * lib/fwriting.c (fwriting): Likewise.
36798         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
36799
36800 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
36801
36802         * lib/config.charset: Treat Haiku like BeOS.
36803
36804 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
36805
36806         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
36807         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
36808
36809 2008-11-08  Bruno Haible  <bruno@clisp.org>
36810
36811         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
36812         AC_CACHE_CHECK.
36813
36814 2008-11-08  Bruno Haible  <bruno@clisp.org>
36815
36816         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
36817
36818 2008-11-08  Bruno Haible  <bruno@clisp.org>
36819
36820         * tests/test-select-fd.c: New file.
36821         * tests/test-select-in.sh: New file.
36822         * tests/test-select-out.sh: New file.
36823         * tests/test-select-stdin.c: New file.
36824         * modules/select-tests (Files): Add the new files.
36825         (Depends-on): Add gettimeofday.
36826         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
36827         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
36828         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
36829
36830 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
36831             Bruno Haible  <bruno@clisp.org>
36832
36833         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
36834
36835 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
36836
36837         * build-aux/pmccabe2html: Added support for C++ source files.
36838
36839 2008-11-05  Ben Pfaff  <blp@gnu.org>
36840
36841         Fix lib/close.c build on Windows.
36842         * modules/close (Files): Add lib/w32sock.h.
36843
36844 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
36845
36846         Accept Bison's NEWS format.
36847         * build-aux/announce-gen (print_news_deltas): Tweak
36848         $re_prefix.
36849
36850 2008-11-04  Bruno Haible  <bruno@clisp.org>
36851
36852         * modules/random_r (Maintainer): Add glibc.
36853
36854 2008-11-04  Simon Josefsson  <simon@josefsson.org>
36855
36856         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
36857         by karl@freefriends.org (Karl Berry).
36858         * doc/alloca.texi: Likewise.
36859         * doc/c-ctype.texi: Likewise.
36860         * doc/c-strcase.texi: Likewise.
36861         * doc/c-strcaseeq.texi: Likewise.
36862         * doc/c-strcasestr.texi: Likewise.
36863         * doc/c-strstr.texi: Likewise.
36864         * doc/c-strtod.texi: Likewise.
36865         * doc/c-strtold.texi: Likewise.
36866         * doc/ctime.texi: Likewise.
36867         * doc/error.texi: Likewise.
36868         * doc/fdl.texi: Likewise.
36869         * doc/gcd.texi: Likewise.
36870         * doc/getdate.texi: Likewise.
36871         * doc/gnulib-intro.texi: Likewise.
36872         * doc/gnulib-tool.texi: Likewise.
36873         * doc/gnulib.texi: Likewise.
36874         * doc/inet_ntoa.texi: Likewise.
36875         * doc/maintain.texi: Likewise.
36876         * doc/make-stds.texi: Likewise.
36877         * doc/quote.texi: Likewise.
36878         * doc/regexprops-generic.texi: Likewise.
36879         * doc/standards.texi: Likewise.
36880         * doc/verify.texi: Likewise.
36881         * doc/visibility.texi: Likewise.
36882         * doc/gnulib.texi (GNU Free Documentation License): Include
36883         fdl-1.3.texi instead of fdl.texi.
36884
36885 2008-11-04  Simon Josefsson  <simon@josefsson.org>
36886
36887         * doc/fdl-1.3.texi: New file, from
36888         <http://www.gnu.org/licenses/fdl-1.3.texi>.
36889         * modules/fdl-1.3: Add.
36890         * MODULES.html.sh: Add fdl-1.3.
36891
36892 2008-11-03  Bruno Haible  <bruno@clisp.org>
36893
36894         Make determination of absolute name of header file work with AIX xlc.
36895         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
36896         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
36897         preprocessing.
36898         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
36899         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
36900
36901 2008-11-03  Simon Josefsson  <simon@josefsson.org>
36902
36903         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
36904         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
36905         <ludo@gnu.org>.
36906
36907 2008-11-02  Bruno Haible  <bruno@clisp.org>
36908
36909         Mark 'strpbrk' obsolete.
36910         * modules/strpbrk (Status, Notice): New sections.
36911         * modules/strtok_r (Depends-on): Add strpbrk.
36912
36913 2008-11-02  Bruno Haible  <bruno@clisp.org>
36914
36915         Mark 'strdup' obsolete.
36916         * modules/strdup (Status, Notice): New sections.
36917         * modules/findprog (Depends-on): Add strdup.
36918         * modules/getaddrinfo (Depends-on): Likewise.
36919         * modules/localename (Depends-on): Likewise.
36920         * modules/relocatable-lib (Depends-on): Likewise.
36921         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
36922         * modules/relocatable-prog (Depends-on): Likewise.
36923         * modules/trim (Depends-on): Likewise.
36924         * modules/unictype/gen-ctype (Depends-on): Likewise.
36925         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
36926
36927 2008-11-02  Bruno Haible  <bruno@clisp.org>
36928
36929         Mark 'strcspn' obsolete.
36930         * modules/strcspn (Status, Notice): New sections.
36931
36932 2008-11-02  Bruno Haible  <bruno@clisp.org>
36933
36934         Mark 'rmdir' obsolete.
36935         * modules/rmdir (Status, Notice): New sections.
36936         * modules/clean-temp (Depends-on): Add rmdir.
36937         * modules/openat (Depends-on): Likewise.
36938
36939 2008-11-02  Bruno Haible  <bruno@clisp.org>
36940
36941         Mark 'raise' obsolete.
36942         * modules/raise (Status, Notice): New sections.
36943         (Include): Specify <signal.h>.
36944         * modules/stdio (Depends-on): Add raise.
36945         * modules/write (Depends-on): Likewise.
36946
36947 2008-11-02  Bruno Haible  <bruno@clisp.org>
36948
36949         Mark 'memset' obsolete.
36950         * modules/memset (Status, Notice): New sections.
36951
36952 2008-11-02  Bruno Haible  <bruno@clisp.org>
36953
36954         Mark 'memmove' obsolete.
36955         * modules/memmove (Status, Notice): New sections.
36956         * modules/argp (Depends-on): Add memmove.
36957         * modules/argz (Depends-on): Likewise.
36958         * modules/canonicalize (Depends-on): Likewise.
36959         * modules/canonicalize-lgpl (Depends-on): Likewise.
36960         * modules/fts (Depends-on): Likewise.
36961         * modules/getcwd (Depends-on): Likewise.
36962         * modules/human (Depends-on): Likewise.
36963         * modules/regex (Depends-on): Likewise.
36964         * modules/striconveh (Depends-on): Likewise.
36965         * modules/trim (Depends-on): Likewise.
36966         * modules/unistr/u8-move (Depends-on): Likewise.
36967         * modules/unistr/u16-move (Depends-on): Likewise.
36968         * modules/unistr/u32-move (Depends-on): Likewise.
36969
36970 2008-11-02  Bruno Haible  <bruno@clisp.org>
36971
36972         Mark 'memcpy' obsolete.
36973         * modules/memcpy (Status, Notice): New sections.
36974
36975 2008-11-02  Bruno Haible  <bruno@clisp.org>
36976
36977         Mark 'memcmp' obsolete.
36978         * modules/memcmp (Status, Notice): New sections.
36979         * modules/argmatch (Depends-on): Add memchr.
36980         * modules/backupfile (Depends-on): Likewise.
36981         * modules/c-strcasestr (Depends-on): Likewise.
36982         * modules/crypto/des (Depends-on): Likewise.
36983         * modules/csharpcomp (Depends-on): Likewise.
36984         * modules/fnmatch (Depends-on): Likewise.
36985         * modules/git-merge-changelog (Depends-on): Likewise.
36986         * modules/isnand (Depends-on): Likewise.
36987         * modules/isnand-nolibm (Depends-on): Likewise.
36988         * modules/isnanf (Depends-on): Likewise.
36989         * modules/isnanf-nolibm (Depends-on): Likewise.
36990         * modules/isnanl (Depends-on): Likewise.
36991         * modules/isnanl-nolibm (Depends-on): Likewise.
36992         * modules/mbchar (Depends-on): Likewise.
36993         * modules/memcoll (Depends-on): Likewise.
36994         * modules/quotearg (Depends-on): Likewise.
36995         * modules/regex (Depends-on): Likewise.
36996         * modules/relocatable-prog (Depends-on): Likewise.
36997         * modules/same (Depends-on): Likewise.
36998         * modules/signbit (Depends-on): Likewise.
36999         * modules/strcasestr-simple (Depends-on): Likewise.
37000         * modules/unictype/gen-ctype (Depends-on): Likewise.
37001         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
37002         * modules/uniname/uniname (Depends-on): Likewise.
37003         * modules/unistr/u8-cmp (Depends-on): Likewise.
37004
37005 2008-11-02  Bruno Haible  <bruno@clisp.org>
37006
37007         Mark 'memchr' obsolete.
37008         * modules/memchr (Status, Notice): New sections.
37009         * modules/argp (Depends-on): Add memchr.
37010         * modules/base64 (Depends-on): Likewise.
37011         * modules/c-strcasestr (Depends-on): Likewise.
37012         * modules/chdir-long (Depends-on): Likewise.
37013         * modules/fnmatch (Depends-on): Likewise.
37014         * modules/getsubopt (Depends-on): Likewise.
37015         * modules/git-merge-changelog (Depends-on): Likewise.
37016         * modules/glob (Depends-on): Likewise.
37017         * modules/strcasestr-simple (Depends-on): Likewise.
37018         * modules/strnlen (Depends-on): Likewise.
37019
37020 2008-11-02  Bruno Haible  <bruno@clisp.org>
37021
37022         Mark 'atexit' obsolete.
37023         * modules/atexit (Status, Notice): New sections.
37024         * modules/chdir-long (Depends-on): Add atexit.
37025         * modules/wait-process (Depends-on): Likewise.
37026
37027 2008-11-02  Bruno Haible  <bruno@clisp.org>
37028
37029         * gnulib-tool: New option --with-obsolete.
37030         (func_usage): Document it.
37031         (func_modules_transitive_closure): Drop obsolete dependencies if
37032         incobsolete is not true.
37033         (func_import): Read and save the incobsolete variable to the cache.
37034
37035 2008-11-02  Bruno Haible  <bruno@clisp.org>
37036
37037         * modules/TEMPLATE-EXTENDED: New field 'Status'.
37038         * gnulib-tool: New option --extract-status.
37039         (func_usage): Document it.
37040         (sed_extract_prog): Recognize it.
37041         (func_get_status): New function.
37042
37043 2008-10-30  Simon Josefsson  <simon@josefsson.org>
37044
37045         * modules/sockets (License): Change from LGPL to LGPLv2+.
37046
37047 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37048
37049         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
37050
37051 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37052
37053         * MODULES.html.sh (Support for systems lacking POSIX:2001):
37054         Mention times and sys_times.
37055         * modules/sys_times, modules/sys_times-tests: New modules.
37056         * modules/times, modules/times-tests: Likewise
37057         * m4/sys_times_h.m4: New file.
37058         * lib/sys_times.in.h: Likewise
37059         * lib/times.c: Likewise.
37060         * tests/test-sys_times.c: Likewise.
37061         * tests/test-times.c: Likewise.
37062         * doc/posix-headers/sys_times.texi: Update.
37063         * doc/posix-functions/times.texi: Update.
37064
37065 2008-10-28  Jim Meyering  <meyering@redhat.com>
37066
37067         * modules/tempname (Depends-on): Add lstat.
37068
37069         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
37070
37071 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37072
37073         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
37074         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
37075         using idiom used elsewhere in gnulib.
37076
37077 2008-10-27  Jim Meyering  <meyering@redhat.com>
37078
37079         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
37080
37081 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37082
37083         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
37084         TESTS_ENVIRONMENT, for shell scripts that needs to call built
37085         programs.
37086         * tests/test-argp-2.sh: Use $EXEEXT when needed.
37087
37088 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37089
37090         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
37091
37092 2008-10-27  Bruno Haible  <bruno@clisp.org>
37093
37094         * tests/test-lstat.c: Include <stdio.h>.
37095
37096 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37097
37098         * modules/lstat-tests: New module.
37099         * tests/test-lstat.c: New file.
37100
37101 2008-10-26  Jim Meyering  <meyering@redhat.com>
37102
37103         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
37104
37105 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37106             Bruno Haible  <bruno@clisp.org>
37107
37108         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
37109         * modules/configmake (Include): Add a note that the include must come
37110         after all system headers.
37111         * lib/javaversion.c: Include configmake.h after all other includes.
37112
37113 2008-10-26  Bruno Haible  <bruno@clisp.org>
37114
37115         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
37116         HAVE_STRUCT_RANDOM_DATA to 1.
37117         (gl_STDLIB_H): Simplify.
37118
37119 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37120
37121         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
37122         substitute HAVE_STRUCT_RANDOM_DATA.
37123         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
37124         random_data.
37125         * modules/stdlib (Makefile.am): Substitute
37126         HAVE_STRUCT_RANDOM_DATA.
37127
37128 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37129
37130         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
37131         * doc/gnulib-intro.texi (Copyright): Likewise.
37132
37133 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37134
37135         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
37136         findings.
37137
37138 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
37139             Bruno Haible  <bruno@clisp.org>
37140
37141         * lib/unistd.in.h: Include <winsock2.h>.
37142         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
37143         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
37144         Provide dummy declarations.
37145         (gethostname): Override.
37146         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
37147         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
37148         gl_PREREQ_SYS_H_WINSOCK2.
37149         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
37150         * doc/posix-functions/gethostname.texi: More details.
37151
37152 2008-10-25  Bruno Haible  <bruno@clisp.org>
37153
37154         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
37155         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
37156         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
37157
37158         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
37159         here ...
37160         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
37161         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
37162         gl_UNISTD_H_DEFAULTS.
37163
37164 2008-10-25  Eric Blake  <ebb9@byu.net>
37165
37166         signbit: avoid spurious compiler failure
37167         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
37168         declarations inside function.
37169
37170 2008-10-24  Simon Josefsson  <simon@josefsson.org>
37171             Bruno Haible  <bruno@clisp.org>
37172
37173         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
37174         * modules/random_r (Depends-on): Add stdint.
37175
37176 2008-10-24  Bruno Haible  <bruno@clisp.org>
37177
37178         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
37179         Eggert.
37180         * modules/strerror (License): Likewise.
37181
37182 2008-10-24  Jim Meyering  <meyering@redhat.com>
37183
37184         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
37185         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
37186
37187 2008-10-24  Eric Blake  <ebb9@byu.net>
37188
37189         getgroups: fix compilation when getgroups is available
37190         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
37191         but with <config.h> override of getgroups disabled.
37192
37193 2008-10-24  Simon Josefsson  <simon@josefsson.org>
37194
37195         * doc/gnulib.texi (Header files): Add note about C++ problems.
37196         Explained by Bruno Haible <bruno@clisp.org>.
37197
37198 2008-10-23  Bruno Haible  <bruno@clisp.org>
37199
37200         Define a dummy SA_NODEFER macro on Interix.
37201         * lib/signal.in.h (SA_NODEFER): Define fallback.
37202         Reported by Aleksey Cheusov <cheusov@tut.by> via
37203         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
37204
37205 2008-10-23  Bruno Haible  <bruno@clisp.org>
37206
37207         * modules/freadahead (License): Change to LGPLv2+.
37208         Suggested by Simon Josefsson.
37209
37210 2008-10-23  Jim Meyering  <meyering@redhat.com>
37211
37212         random_r: new module
37213         * modules/random_r: New file.
37214         * m4/random_r.m4: New file.
37215         * lib/random_r.c: New file, from glibc.
37216         * modules/random_r-tests: New file.
37217         * tests/test-random_r.c: New file.
37218         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
37219          Declare.
37220         (RAND_MAX): Define.
37221         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
37222         * modules/stdlib: Substitute them, too.
37223         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
37224         * doc/glibc-functions/initstate_r.texi: Mention the new module.
37225         * doc/glibc-functions/random_r.texi: Likewise.
37226         * doc/glibc-functions/setstate_r.texi: Likewise.
37227         * doc/glibc-functions/srandom_r.texi: Likewise.
37228         * config/srclist.txt: Mention it.
37229
37230 2008-10-23  David Lutterkort  <lutter@redhat.com>
37231
37232         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
37233         link requirement
37234
37235 2008-10-23  Jim Meyering  <meyering@redhat.com>
37236
37237         selinux-h: mark parameters of stub functions as intentionally unused
37238         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
37239         * lib/se-context.in.h: Likewise.
37240
37241 2008-10-22  Simon Josefsson  <simon@josefsson.org>
37242
37243         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
37244
37245 2008-10-22  Simon Josefsson  <simon@josefsson.org>
37246
37247         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
37248
37249 2008-10-22  Eric Blake  <ebb9@byu.net>
37250
37251         glthread/thread: avoid compiler warning
37252         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
37253         Add unreachable abort to silence compiler.
37254
37255 2008-10-22  Eric Blake  <ebb9@byu.net>
37256
37257         netdb: also supply struct addrinfo for cygwin 1.5.x
37258         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
37259         older cygwin.
37260         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
37261         cygwin.
37262         * doc/posix-headers/netdb.texi (netdb.h): Document this.
37263
37264 2008-10-22  Bruno Haible  <bruno@clisp.org>
37265
37266         * users.txt: Update entry about pspp.
37267
37268 2008-10-21  Bruno Haible  <bruno@clisp.org>
37269
37270         Simplification.
37271         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
37272         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
37273
37274         Simplification.
37275         * lib/ioctl.c (ioctl): Don't undefine.
37276         * lib/socket.c (socket): Don't undefine.
37277
37278         Remove unused module indicator macros.
37279         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
37280         GNULIB_$1 as a C macro.
37281
37282         * doc/posix-functions/close.texi: Undo last change.
37283         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
37284         Windows platforms.
37285
37286 2008-10-21  Bruno Haible  <bruno@clisp.org>
37287
37288         Add gethostname() declaration to <unistd.h>.
37289         * lib/unistd.in.h (gethostname): New declaration.
37290         * lib/gethostname.c: Include <unistd.h>.
37291         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
37292         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
37293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
37294         and HAVE_GETHOSTNAME.
37295         * modules/gethostname (Depends-on): Add unistd.
37296         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37297         (Include): Specify <unistd.h>.
37298         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
37299         HAVE_GETHOSTNAME.
37300         * tests/test-gethostname.c: Include <unistd.h> first.
37301
37302 2008-10-21  Bruno Haible  <bruno@clisp.org>
37303
37304         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
37305         * modules/select-tests (Depends-on): Likewise.
37306         Reported by Simon Josefsson.
37307
37308 2008-10-21  Simon Josefsson  <simon@josefsson.org>
37309
37310         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
37311         * lib/accept.c: New file, based on winsock.c.
37312         * lib/bind.c: New file, based on winsock.c.
37313         * lib/connect.c: New file, based on winsock.c.
37314         * lib/getpeername.c: New file, based on winsock.c.
37315         * lib/getsockname.c: New file, based on winsock.c.
37316         * lib/getsockopt.c: New file, based on winsock.c.
37317         * lib/ioctl.c: New file, based on winsock.c.
37318         * lib/listen.c: New file, based on winsock.c.
37319         * lib/recv.c: New file, based on winsock.c.
37320         * lib/recvfrom.c: New file, based on winsock.c.
37321         * lib/send.c: New file, based on winsock.c.
37322         * lib/sendto.c: New file, based on winsock.c.
37323         * lib/setsockopt.c: New file, based on winsock.c.
37324         * lib/shutdown.c: New file, based on winsock.c.
37325         * lib/socket.c: New file, based on winsock.c.
37326         * lib/w32sock.h: New file, based on winsock.c.
37327         * lib/winsock.c: Remove file.
37328         * modules/accept: Likewise.
37329         * modules/bind: Likewise.
37330         * modules/connect: Likewise.
37331         * modules/getpeername: Likewise.
37332         * modules/getsockname: Likewise.
37333         * modules/getsockopt: Likewise.
37334         * modules/ioctl: Likewise.
37335         * modules/listen: Likewise.
37336         * modules/recv: Likewise.
37337         * modules/recvfrom: Likewise.
37338         * modules/send: Likewise.
37339         * modules/sendto: Likewise.
37340         * modules/setsockopt: Likewise.
37341         * modules/shutdown: Likewise.
37342         * modules/socket: Use socket.c instead of winsock.c.
37343         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
37344         * doc/posix-functions/accept.texi: Doc fix.
37345         * doc/posix-functions/bind.texi: Doc fix.
37346         * doc/posix-functions/close.texi: Doc fix.
37347         * doc/posix-functions/connect.texi: Doc fix.
37348         * doc/posix-functions/getpeername.texi: Doc fix.
37349         * doc/posix-functions/getsockname.texi: Doc fix.
37350         * doc/posix-functions/getsockopt.texi: Doc fix.
37351         * doc/posix-functions/ioctl.texi: Doc fix.
37352         * doc/posix-functions/listen.texi: Doc fix.
37353         * doc/posix-functions/recv.texi: Doc fix.
37354         * doc/posix-functions/recvfrom.texi: Doc fix.
37355         * doc/posix-functions/send.texi: Doc fix.
37356         * doc/posix-functions/sendto.texi: Doc fix.
37357         * doc/posix-functions/setsockopt.texi: Doc fix.
37358         * doc/posix-functions/shutdown.texi: Doc fix.
37359         * doc/posix-functions/socket.texi: Doc fix.
37360
37361 2008-10-20  Bruno Haible  <bruno@clisp.org>
37362
37363         Take into account the role of SIGABRT_COMPAT on Windows 2008.
37364         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
37365         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
37366         as an alias for SIGABRT.
37367         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
37368         (sigaction): Map it to SIGABRT.
37369         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
37370
37371 2008-10-20  Bruno Haible  <bruno@clisp.org>
37372
37373         * lib/fts.c: Don't include lstat.h.
37374         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
37375
37376         Move the lstat() declaration to <sys/stat.h>.
37377         * lib/lstat.h: Remove file.
37378         * lib/sys_stat.in.h: Add special invocation convention.
37379         (lstat): New declaration.
37380         * lib/lstat.c (orig_lstat): New function.
37381         (rpl_lstat): Use orig_lstat instead of lstat.
37382         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
37383         AC_C_INLINE. Set REPLACE_LSTAT.
37384         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
37385         and REPLACE_LSTAT.
37386         * modules/lstat (Files): Remove lib/lstat.h.
37387         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
37388         (Include): Specify <sys/stat.h> instead of lstat.h.
37389         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
37390         REPLACE_LSTAT.
37391         * NEWS: Mention the change.
37392
37393 2008-10-20  Bruno Haible  <bruno@clisp.org>
37394
37395         * modules/posix_spawn-tests: New file.
37396         * tests/test-posix_spawn3.c: New file.
37397
37398 2008-10-20  Bruno Haible  <bruno@clisp.org>
37399
37400         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
37401         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
37402         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
37403         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
37404         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
37405
37406 2008-10-20  Bruno Haible  <bruno@clisp.org>
37407
37408         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
37409         of posix_spawn on AIX 5.3.
37410
37411 2008-10-20  Bruno Haible  <bruno@clisp.org>
37412
37413         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
37414
37415 2008-10-20  Bruno Haible  <bruno@clisp.org>
37416
37417         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
37418         of AC_LANG_PROGRAM.
37419
37420 2008-10-20  Simon Josefsson  <simon@josefsson.org>
37421
37422         * lib/netdb.in.h: Don't define GNU specific constants until they
37423         are supported or needed.  Reported by Bruno Haible
37424         <bruno@clisp.org>.
37425
37426 2008-10-20  Simon Josefsson  <simon@josefsson.org>
37427
37428         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
37429
37430 2008-10-20  Simon Josefsson  <simon@josefsson.org>
37431
37432         * lib/getaddrinfo.h: Remove file.
37433         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
37434         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
37435         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
37436         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
37437         * modules/netdb: Substitute GNULIB_GETADDRINFO.
37438         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
37439         * tests/test-getaddrinfo.c: Likewise.
37440         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
37441         * NEWS: Mention change.
37442
37443 2008-10-19  Bruno Haible  <bruno@clisp.org>
37444
37445         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
37446
37447 2008-10-19  Bruno Haible  <bruno@clisp.org>
37448
37449         * lib/wait-process.c: Include simply <sys/wait.h>.
37450         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
37451         WIFSTOPPED): Remove fallback definitions.
37452         * modules/wait-process (Depends-on): Add sys_wait.
37453
37454         New module 'sys_wait'.
37455         * modules/sys_wait: New file.
37456         * lib/sys_wait.in.h: New file, partially copied from
37457         lib/wait-process.c.
37458         * m4/sys_wait_h.m4: New file.
37459         * doc/posix-headers/sys_wait.texi: Mention the new module.
37460
37461 2008-10-19  Bruno Haible  <bruno@clisp.org>
37462
37463         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
37464
37465 2008-10-19  Bruno Haible  <bruno@clisp.org>
37466
37467         Assume that waitpid() fills an 'int' status, not a 'union wait'.
37468         * lib/wait-process.c (WAIT_T): Remove type.
37469         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
37470         (wait_subprocess): Update.
37471
37472 2008-10-19  Bruno Haible  <bruno@clisp.org>
37473
37474         New module 'atoll'.
37475         * modules/atoll: New file.
37476         * lib/stdlib.in.h (atoll): New declaration.
37477         * lib/atoll.c: New file, from glibc with modifications.
37478         * m4/atoll.m4: New file.
37479         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
37480         HAVE_ATOLL.
37481         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
37482         * doc/posix-functions/atoll.texi: Mention the new module.
37483
37484 2008-10-19  Bruno Haible  <bruno@clisp.org>
37485
37486         Add strtoull() declaration to <stdlib.h>.
37487         * lib/stdlib.in.h (strtoull): New declaration.
37488         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
37489         Set HAVE_STRTOULL.
37490         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
37491         HAVE_STRTOULL.
37492         * modules/strtoull (Depends-on): Add stdlib.
37493         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37494         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
37495         HAVE_STRTOULL.
37496
37497 2008-10-19  Bruno Haible  <bruno@clisp.org>
37498
37499         Add strtoll() declaration to <stdlib.h>.
37500         * lib/stdlib.in.h (strtoll): New declaration.
37501         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
37502         Set HAVE_STRTOLL.
37503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
37504         HAVE_STRTOLL.
37505         * modules/strtoll (Depends-on): Add stdlib.
37506         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37507         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
37508
37509 2008-10-19  Bruno Haible  <bruno@clisp.org>
37510
37511         * modules/bcopy (Depends-on): Add strings.
37512         (Include): Specify <strings.h>.
37513
37514 2008-10-19  Bruno Haible  <bruno@clisp.org>
37515
37516         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
37517
37518 2008-10-19  Bruno Haible  <bruno@clisp.org>
37519
37520         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
37521         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
37522         mingw.
37523
37524 2008-10-19  Bruno Haible  <bruno@clisp.org>
37525
37526         * lib/atanl.c: Don't include isnanl.h.
37527         * lib/cosl.c: Likewise.
37528         * lib/ldexpl.c: Likewise.
37529         * lib/logl.c: Likewise.
37530         * lib/sinl.c: Likewise.
37531         * lib/sqrtl.c: Likewise.
37532         * lib/tanl.c: Likewise.
37533
37534         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
37535         * lib/isnanf.h: Remove file.
37536         * lib/isnand.h: Remove file.
37537         * lib/isnanl.h: Remove file.
37538         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
37539         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
37540         macros.
37541         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
37542         HAVE_ISNANF, don't define it as a C macro.
37543         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
37544         HAVE_ISNAND, don't define it as a C macro.
37545         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
37546         HAVE_ISNANL, don't define it as a C macro.
37547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
37548         HAVE_ISNAN[FDL].
37549         * modules/isnanf (Files): Remove lib/isnanf.h.
37550         (Depends-on): Add math.
37551         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
37552         (Include): Specify <math.h> instead of isnanf.h.
37553         * modules/isnand (Files): Remove lib/isnand.h.
37554         (Depends-on): Add math.
37555         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
37556         (Include): Specify <math.h> instead of isnand.h.
37557         * modules/isnanl (Files): Remove lib/isnanl.h.
37558         (Depends-on): Add math.
37559         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
37560         (Include): Specify <math.h> instead of isnanl.h.
37561         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
37562         HAVE_ISNAN[FDL].
37563         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
37564         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
37565         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
37566         * NEWS: Mention the change.
37567
37568 2008-10-18  Bruno Haible  <bruno@clisp.org>
37569
37570         Add getusershell(), setusershell(), endusershell() declarations to
37571         <unistd.h>.
37572         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
37573         declarations.
37574         * lib/getusershell.c: Include unistd.h.
37575         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
37576         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
37577         HAVE_GETUSERSHELL.
37578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
37579         and HAVE_GETUSERSHELL.
37580         * modules/getusershell (Depends-on): Add unistd, extensions.
37581         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37582         (Include): Specify <unistd.h>.
37583         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
37584         HAVE_GETUSERSHELL.
37585
37586 2008-10-18  Bruno Haible  <bruno@clisp.org>
37587
37588         Add a getloadavg() declaration to <stdlib.h>.
37589         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
37590         getloadavg declaration.
37591         (getloadavg): New declaration.
37592         * lib/getloadavg.c: Include <stdlib.h> first.
37593         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
37594         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
37595         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
37596         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
37597         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
37598         * modules/getloadavg (Depends-on): Add stdlib, extensions.
37599         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37600         (Include): Specify <stdlib.h>.
37601         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
37602         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
37603
37604 2008-10-18  Bruno Haible  <bruno@clisp.org>
37605
37606         * lib/dirchownmod.c: Don't include lchmod.h.
37607
37608         Move the lchmod() declaration to <sys/stat.h>.
37609         * lib/lchmod.h: Remove file.
37610         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
37611         (lchmod): New declaration, moved here from lib/lchown.h.
37612         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
37613         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
37614         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
37615         and HAVE_LCHMOD.
37616         * modules/lchmod (Files): Remove lib/lchmod.h.
37617         (Depends-on): Add sys_stat, extensions.
37618         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
37619         (Include): Specify <sys/stat.h> instead of lchmod.h.
37620         * modules/sys_stat (Depends-on): Add link-warning.
37621         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
37622         definition of GL_LINK_WARNING.
37623         * NEWS: Mention the change.
37624
37625 2008-10-18  Bruno Haible  <bruno@clisp.org>
37626
37627         * lib/fchdir.c: Don't include dirfd.h.
37628         * lib/fts.c: Likewise.
37629         * lib/getcwd.c: Likewise.
37630         * lib/glob.c: Likewise.
37631
37632         Move the dirfd() declaration to <dirent.h>.
37633         * lib/dirfd.h: Remove file.
37634         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
37635         (dirfd): New declaration.
37636         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
37637         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
37638         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
37639         HAVE_DECL_DIRFD.
37640         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
37641         HAVE_DECL_DIRFD.
37642         * modules/dirfd (Files): Remove lib/dirfd.h.
37643         (Depends-on): Add dirent, extensions.
37644         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
37645         (Include): Specify <dirent.h> instead of dirfd.h.
37646         * modules/dirent (Depends-on): Add link-warning.
37647         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
37648         definition of GL_LINK_WARNING.
37649         * NEWS: Mention the change.
37650
37651 2008-10-18  Bruno Haible  <bruno@clisp.org>
37652
37653         Move the euidaccess() declaration to <unistd.h>.
37654         * lib/euidaccess.h: Remove file.
37655         * lib/unistd.in.h (euidaccess): New declaration.
37656         * lib/euidaccess.c: Don't include euidaccess.h.
37657         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
37658         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
37659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
37660         and HAVE_EUIDACCESS.
37661         * modules/euidaccess (Files): Remove lib/euidaccess.h.
37662         (Depends-on): Add unistd.
37663         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37664         (Include): Specify <unistd.h> instead of euidaccess.h.
37665         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
37666         HAVE_EUIDACCESS.
37667         * NEWS: Mention the change.
37668
37669 2008-10-18  Bruno Haible  <bruno@clisp.org>
37670
37671         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
37672
37673         Move the getdomainname() declaration to <unistd.h>.
37674         * lib/getdomainname.h: Remove file.
37675         * lib/unistd.in.h (getdomainname): New declaration.
37676         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
37677         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
37678         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
37679         HAVE_GETDOMAINNAME.
37680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37681         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
37682         * modules/getdomainname (Files): Remove lib/getdomainname.h.
37683         (Depends-on): Add unistd, extensions.
37684         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37685         (Includes): Specify <unistd.h> instead of getdomainname.h.
37686         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
37687         HAVE_GETDOMAINNAME.
37688         * NEWS: Mention the change.
37689
37690 2008-10-18  Bruno Haible  <bruno@clisp.org>
37691
37692         * modules/dirent: New file.
37693         * m4/dirent_h.m4: New file.
37694         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
37695         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
37696         * modules/fchdir (Files): Remove lib/dirent.in.h.
37697         (Depends-on): Add dirent.
37698         (Makefile.am): Move rules to modules/dirent.
37699         * doc/posix-headers/dirent.texi: Mention the new module.
37700
37701 2008-10-18  Bruno Haible  <bruno@clisp.org>
37702
37703         Avoid -Wunused-parameter warnings in public gnulib header files.
37704         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
37705         macro.
37706         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
37707
37708 2008-10-18  Bruno Haible  <bruno@clisp.org>
37709
37710         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
37711         * doc/glibc-functions/error.texi: Mention the module 'error'.
37712         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
37713         * doc/glibc-functions/getdomainname.texi: Mention the module
37714         'getdomainname'.
37715         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
37716         * doc/glibc-functions/getpagesize.texi: Mention the module
37717         'getpagesize'.
37718         * doc/glibc-functions/getusershell.texi: Mention the module
37719         'getusershell'.
37720         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
37721         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
37722         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
37723         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
37724         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
37725         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
37726         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
37727         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
37728         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
37729         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
37730         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
37731         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
37732         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
37733         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
37734
37735 2008-10-17  Bruno Haible  <bruno@clisp.org>
37736
37737         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
37738         HP-UX and IRIX, use -0.0L.
37739         * tests/test-ceill.c (minus_zero): Likewise.
37740         * tests/test-floorl.c (minus_zero): Likewise.
37741         * tests/test-frexpl.c (minus_zero): Likewise.
37742         * tests/test-isnan.c (minus_zerol): Likewise.
37743         * tests/test-isnanl.h (minus_zero): Likewise.
37744         * tests/test-ldexpl.c (minus_zero): Likewise.
37745         * tests/test-roundl.c (minus_zero): Likewise.
37746         * tests/test-signbit.c (minus_zerol): Likewise.
37747         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
37748         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
37749         * tests/test-truncl.c (minus_zero): Likewise.
37750         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
37751         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
37752         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
37753         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
37754
37755 2008-10-17  Bruno Haible  <bruno@clisp.org>
37756
37757         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
37758         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
37759         that it gets activated only for gcc >= 3.0.
37760         * lib/dirent.in.h: Likewise.
37761         * lib/errno.in.h: Likewise.
37762         * lib/fcntl.in.h: Likewise.
37763         * lib/float.in.h: Likewise.
37764         * lib/iconv.in.h: Likewise.
37765         * lib/inttypes.in.h: Likewise.
37766         * lib/locale.in.h: Likewise.
37767         * lib/math.in.h: Likewise.
37768         * lib/netdb.in.h: Likewise.
37769         * lib/netinet_in.in.h: Likewise.
37770         * lib/search.in.h: Likewise.
37771         * lib/signal.in.h: Likewise.
37772         * lib/spawn.in.h: Likewise.
37773         * lib/stdarg.in.h: Likewise.
37774         * lib/stdint.in.h: Likewise.
37775         * lib/stdio.in.h: Likewise.
37776         * lib/stdlib.in.h: Likewise.
37777         * lib/string.in.h: Likewise.
37778         * lib/strings.in.h: Likewise.
37779         * lib/sys_file.in.h: Likewise.
37780         * lib/sys_ioctl.in.h: Likewise.
37781         * lib/sys_select.in.h: Likewise.
37782         * lib/sys_socket.in.h: Likewise.
37783         * lib/sys_stat.in.h: Likewise.
37784         * lib/sys_time.in.h: Likewise.
37785         * lib/sysexits.in.h: Likewise.
37786         * lib/time.in.h: Likewise.
37787         * lib/unistd.in.h: Likewise.
37788         * lib/wchar.in.h: Likewise.
37789         * lib/wctype.in.h: Likewise.
37790         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37791
37792 2008-10-17  Jim Meyering  <meyering@redhat.com>
37793
37794         ignore-value: don't depend on inline module
37795         * modules/ignore-value (Depends-on): Remove 'inline'.
37796         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
37797         Suggestion from Bruno Haible.
37798
37799 2008-10-17  Bruno Haible  <bruno@clisp.org>
37800
37801         New implementation of condition variables for Win32.
37802         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
37803         (gl_linked_waitqueue_t): New type.
37804         (gl_cond_t): Use it.
37805         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
37806         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
37807         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
37808         (glthread_cond_init_func, glthread_cond_wait_func,
37809         glthread_cond_timedwait_func, glthread_cond_signal_func,
37810         glthread_cond_broadcast_func, glthread_cond_destroy_func):
37811         Reimplemented on the basis of gl_linked_waitqueue_t.
37812         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
37813         gl_waitqueue_t.
37814         (gl_rwlock_t): Update.
37815         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
37816
37817 2008-10-17  Simon Josefsson  <simon@josefsson.org>
37818
37819         * modules/recvfrom (Depends-on): Add dependency on getpeername.
37820         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37821
37822 2008-10-17  Jim Meyering  <meyering@redhat.com>
37823
37824         ignore-value: new module
37825         * modules/ignore-value: New file.
37826         * lib/ignore-value.h: New file.
37827         * MODULES.html.sh (Compiler warning management): New section,
37828         just for this module.  More to come.
37829
37830 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37831
37832         open-safer.c: avoid 'signed and unsigned in conditional...' warning
37833         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
37834         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
37835
37836 2008-10-16  Jim Meyering  <meyering@redhat.com>
37837
37838         openat-die.c: avoid 'no previous prototype' warning
37839         * lib/openat-die.c: Include "openat.h".
37840         Reported by Reuben Thomas <rrt@sc3d.org>.
37841
37842 2008-10-16  Simon Josefsson  <simon@josefsson.org>
37843
37844         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
37845         * lib/netdb.in.h: Fix typo.
37846         Reported by Bruno Haible  <bruno@clisp.org>
37847
37848         * lib/netdb.in.h: Include sys/socket.h for platforms without
37849         netdb.h, to get structures like hostent on MinGW.
37850         * modules/netdb (Depends-on): Add sys_socket.
37851
37852 2008-10-15  Simon Josefsson  <simon@josefsson.org>
37853
37854         * modules/netdb, modules/netdb-tests: New file.
37855         * m4/netdb_h.m4: New file.
37856         * lib/netdb.in.h: Add, currently just an empty file pending
37857         definitions.
37858         * tests/test-netdb.c: New file.
37859         * doc/posix-headers/netdb.texi: Mention that we replace it if
37860         needed.
37861         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37862         netdb.
37863
37864 2008-10-15  Simon Josefsson  <simon@josefsson.org>
37865
37866         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
37867         with code.
37868
37869 2008-10-13  Bruno Haible  <bruno@clisp.org>
37870
37871         * lib/glthread/cond.c (glthread_cond_wait_func,
37872         glthread_cond_timedwait_func): Add a comment.
37873
37874 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
37875
37876         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
37877         * tests/test-select.c: Likewise,
37878
37879 2008-10-13  Bruno Haible  <bruno@clisp.org>
37880
37881         * lib/glthread/cond.c (glthread_cond_wait_func,
37882         glthread_cond_timedwait_func): Fix variable name.
37883         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37884
37885 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
37886
37887         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
37888         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
37889         struct sockaddr.sa_len.
37890         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
37891
37892 2008-10-13  Simon Josefsson  <simon@josefsson.org>
37893
37894         * build-aux/pmccabe2html: Add css and css_url parameters.
37895
37896 2008-10-12  Bruno Haible  <bruno@clisp.org>
37897
37898         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
37899         calling aclx_get.
37900         Reported by Rainer Tammer <tammer@tammer.net>.
37901
37902 2008-10-12  Bruno Haible  <bruno@clisp.org>
37903
37904         Use msvcrt aware primitives for creation/termination of Win32 threads.
37905         * lib/glthread/thread.c: Include <process.h>.
37906         (glthread_create_func): Use _beginthreadex instead of CreateThread.
37907         (wrapper_func): Update signature.
37908         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
37909
37910 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
37911             Bruno Haible  <bruno@clisp.org>
37912
37913         Provide a Win32 implementation of the 'cond' module.
37914         * lib/glthread/cond.h [USE_WIN32]: New implementation.
37915         * lib/glthread/cond.c (glthread_cond_init_func,
37916         glthread_cond_wait_func, glthread_cond_timedwait_func,
37917         glthread_cond_signal_func, glthread_cond_broadcast_func,
37918         glthread_cond_destroy_func) [USE_WIN32]: New functions.
37919         * modules/cond (Dependencies): Add gettimeofday.
37920
37921 2008-10-11  Bruno Haible  <bruno@clisp.org>
37922
37923         Make sleep work on older versions of mingw.
37924         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
37925         only whether it exists.
37926         * doc/posix-functions/sleep.texi: Mention the problem with older
37927         versions of mingw.
37928
37929 2008-10-11  Bruno Haible  <bruno@clisp.org>
37930
37931         New module 'shutdown'.
37932         * modules/shutdown: New file.
37933         * lib/sys_socket.in.h (shutdown): New declaration.
37934         * lib/winsock.c (shutdown): New function.
37935         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
37936         GNULIB_SHUTDOWN.
37937         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
37938         * doc/posix-functions/shutdown.texi: Document the new module.
37939
37940 2008-10-11  Jim Meyering  <meyering@redhat.com>
37941
37942         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
37943
37944 2008-10-11  Bruno Haible  <bruno@clisp.org>
37945
37946         New module 'fclose'.
37947         * modules/fclose: New file.
37948         * lib/stdio.in.h (fclose): New declaration.
37949         * lib/fclose.c: New file.
37950         * m4/fclose.m4: New file.
37951         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
37952         REPLACE_FCLOSE.
37953         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
37954         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
37955         REPLACE_FCLOSE.
37956         * modules/close (Depends-on): fclose.
37957         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
37958
37959 2008-10-11  Bruno Haible  <bruno@clisp.org>
37960
37961         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
37962         set errno and don't call _close.
37963
37964 2008-10-10  Bruno Haible  <bruno@clisp.org>
37965
37966         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
37967         ACL, not afterwards. Fixes test failure on Cygwin.
37968
37969 2008-10-09  Ben Pfaff  <blp@gnu.org>
37970
37971         * build-aux/announce-gen: Fix gnulib version related part of usage
37972         message.  Die with a useful error message if no tarballs are
37973         found.
37974
37975 2008-10-10  Jim Meyering  <meyering@redhat.com>
37976
37977         bootstrap: use git's --depth=N option only if it's supported
37978         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
37979         recognize the --depth option.  Reported by Pádraig Brady.
37980
37981 2008-10-09  Bruno Haible  <bruno@clisp.org>
37982
37983         New module 'ioctl'.
37984         * modules/ioctl: New file.
37985         * lib/sys_socket.in.h (ioctl): Remove declaration.
37986         * lib/winsock.c: Include <sys/ioctl.h>.
37987         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
37988         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
37989         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
37990         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
37991         * doc/posix-functions/ioctl.texi: Mention the new module.
37992
37993 2008-10-09  Bruno Haible  <bruno@clisp.org>
37994
37995         New module 'sys_ioctl'.
37996         * lib/sys_ioctl.in.h: New file.
37997         * m4/sys_ioctl_h.m4: New file.
37998         * modules/sys_ioctl: New file.
37999         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
38000
38001 2008-10-09  Bruno Haible  <bruno@clisp.org>
38002
38003         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
38004         * lib/winsock.c: Include <stdarg.h>.
38005         (rpl_ioctl): Change to second argument 'int' and then varargs.
38006
38007 2008-10-09  Bruno Haible  <bruno@clisp.org>
38008
38009         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
38010         when the sys_socket module is present and the system has <winsock2.h>.
38011
38012 2008-10-09  Bruno Haible  <bruno@clisp.org>
38013
38014         * doc/posix-functions/close.texi: Mention module 'close' instead of
38015         module 'sys_socket'.
38016
38017 2008-10-09  Bruno Haible  <bruno@clisp.org>
38018
38019         * doc/glibc-headers/sys_ioctl.texi: New file.
38020         * doc/gnulib.texi: Include it.
38021
38022 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38023             Bruno Haible  <bruno@clisp.org>
38024
38025         Combine the two replacements of 'close'.
38026         * lib/sys_socket.in.h (close): Define to a reminder to include
38027         <unistd.h>.
38028         (_gl_close_fd_maybe_socket): New declaration.
38029         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
38030         * lib/winsock.c (close): Remove undefinition.
38031         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
38032         needed for the gnulib module 'close'.
38033         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
38034         define to an error symbol or to a warning, if suitable.
38035         * lib/close.c: Include <sys/socket.h>.
38036         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
38037         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
38038         UNISTD_H_HAVE_WINSOCK2_H.
38039         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
38040         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38041         UNISTD_H_HAVE_WINSOCK2_H.
38042         * modules/sys_socket (Files): Add m4/unistd_h.m4.
38043         (configure.ac): Set a module indicator.
38044         (Makefile.am): Substitute GNULIB_CLOSE.
38045         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
38046         * modules/poll-tests (Depends-on): Add close.
38047         * modules/select-tests (Depends-on): Likewise.
38048
38049 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38050             Bruno Haible  <bruno@clisp.org>
38051
38052         New module 'close'.
38053         * modules/close: New file.
38054         * lib/unistd.in.h (close): Move declaration out of the
38055         FCHDIR_REPLACEMENT scope.
38056         (_gl_unregister_fd): New declaration.
38057         * lib/close.c: New file.
38058         * lib/fchdir.c (rpl_close): Remove function.
38059         * m4/close.m4: New file.
38060         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
38061         close.
38062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
38063         REPLACE_CLOSE.
38064         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
38065         REPLACE_CLOSE.
38066         * modules/fchdir (Depends-on): Add close.
38067
38068 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38069             Bruno Haible  <bruno@clisp.org>
38070
38071         * lib/fcntl.in.h (open): Simplify conditionals.
38072         (_gl_register_fd): New declaration.
38073         * lib/fchdir.c (rpl_open): Remove function.
38074         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
38075         also.
38076         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
38077         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
38078         open.
38079
38080 2008-10-09  Jim Meyering  <meyering@redhat.com>
38081
38082         GNUmakefile: use the more name-space-friendly "_version"
38083         * top/GNUmakefile (_dummy): Update.
38084         (_version): Rename from "version".
38085
38086 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38087             Bruno Haible  <bruno@clisp.org>
38088
38089         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
38090         rpl_close.
38091         (_gl_register_fd): New function, extracted from rpl_open.
38092         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
38093         (rpl_open, rpl_opendir): Use _gl_register_fd.
38094
38095 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38096
38097         Fix organization of 'open' replacement.
38098         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
38099         (gl_FUNC_OPEN): Use it.
38100         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
38101
38102 2008-10-08  Bruno Haible  <bruno@clisp.org>
38103
38104         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
38105
38106 2008-10-08  Simon Josefsson  <simon@josefsson.org>
38107
38108         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
38109         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
38110         listen).
38111
38112 2008-10-08  Eric Blake  <ebb9@byu.net>
38113
38114         GNUmakefile: add 'make version' target
38115         * top/GNUmakefile (_curr-ver): Split version update rules...
38116         (version): ...into a target.
38117
38118 2008-10-07  Bruno Haible  <bruno@clisp.org>
38119
38120         Use a more portable replacement expression for -0.0L.
38121         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
38122         instead of -0.0L. Fix m4 quotation.
38123
38124         * tests/test-signbit.c: Include <float.h>.
38125         (minus_zero): New variable.
38126         (test_signbitl): Use minus_zero instead of -zero.
38127         * modules/signbit-tests (Depends-on): Add float.
38128
38129         * tests/test-ceill.c: Include <float.h>.
38130         (zero): Remove variable.
38131         (minus_zero): New variable.
38132         (main): Use minus_zero instead of -zero.
38133         * modules/ceill-tests (Depends-on): Add float.
38134
38135         * tests/test-floorl.c: Include <float.h>.
38136         (zero): Remove variable.
38137         (minus_zero): New variable.
38138         (main): Use minus_zero instead of -zero.
38139         * modules/floorl-tests (Depends-on): Add float.
38140
38141         * tests/test-roundl.c: Include <float.h>.
38142         (zero): Remove variable.
38143         (minus_zero): New variable.
38144         (main): Use minus_zero instead of -zero.
38145         * modules/roundl-tests (Depends-on): Add float.
38146
38147         * tests/test-truncl.c: Include <float.h>.
38148         (zero): Remove variable.
38149         (minus_zero): New variable.
38150         (main): Use minus_zero instead of -zero.
38151         * modules/truncl-tests (Depends-on): Add float.
38152
38153         * tests/test-frexpl.c (zero): Remove variable.
38154         (minus_zero): New variable.
38155         (main): Use minus_zero instead of -zero.
38156         * modules/frexpl-tests (Depends-on): Add float.
38157
38158         * tests/test-isnan.c (zerol): Remove variable.
38159         (minus_zerol): New variable.
38160         (test_long_double): Use minus_zerol instead of -zerol.
38161         * modules/isnan-tests (Depends-on): Add float.
38162
38163         * tests/test-isnanl.h (zero): Remove variable.
38164         (minus_zero): New variable.
38165         (main): Use minus_zero instead of -zero.
38166         * modules/isnanl-nolibm-tests (Depends-on): Add float.
38167         * modules/isnanl-tests (Depends-on): Add float.
38168
38169         * tests/test-ldexpl.c (zero): Remove variable.
38170         (minus_zero): New variable.
38171         (main): Use minus_zero instead of -zero.
38172         * modules/ldexpl-tests (Depends-on): Add float.
38173
38174         * tests/test-snprintf-posix.h (zerol): Remove variable.
38175         (minus_zerol): New variable.
38176         (test_function): Use minus_zerol instead of -zerol.
38177         * modules/snprintf-posix-tests (Depends-on): Add float.
38178         * modules/vsnprintf-posix-tests (Depends-on): Add float.
38179
38180         * tests/test-sprintf-posix.h (zerol): Remove variable.
38181         (minus_zerol): New variable.
38182         (test_function): Use minus_zerol instead of -zerol.
38183         * modules/sprintf-posix-tests (Depends-on): Add float.
38184         * modules/vsprintf-posix-tests (Depends-on): Add float.
38185
38186         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
38187         (minus_zerol): New variable.
38188         (test_function): Use minus_zerol instead of -zerol.
38189         * modules/vasnprintf-posix-tests (Depends-on): Add float.
38190
38191         * tests/test-vasprintf-posix.c (zerol): Remove variable.
38192         (minus_zerol): New variable.
38193         (test_function): Use minus_zerol instead of -zerol.
38194         * modules/vasprintf-posix-tests (Depends-on): Add float.
38195
38196 2008-10-07  Simon Josefsson  <simon@josefsson.org>
38197
38198         * MODULES.html.sh (Support for building documentation): Mention
38199         pmccabe2html.  Sort entries.
38200
38201         Add pmccabe2html module, from gnupdf.
38202         * build-aux/pmccabe.css: New file.
38203         * build-aux/pmccabe2html: New file.
38204         * m4/pmccabe2html.m4: New file.
38205         * modules/pmccabe2html: New file.
38206
38207 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
38208
38209         flock: new module
38210         * MODULES.html.sh: Add to list of modules.
38211         * lib/flock.c: flock implementation for Windows and Unix systems
38212         which have fcntl.
38213         * doc/glibc-functions/flock.texi: Update documentation.
38214         * lib/sys_file.in.h: <sys/file.h> header file.
38215         * m4/flock.m4: M4 macros.
38216         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
38217         * modules/flock: flock module.
38218         * modules/flock-tests: flock tests module.
38219         * modules/sys_file: sys/file.h module.
38220         * tests/test-flock.c: test suite for flock.
38221
38222 2008-10-06  Jim Meyering  <meyering@redhat.com>
38223
38224         bootstrap: check for LT_INIT more portably still ;-)
38225         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
38226         Spotted by Bruno Haible.
38227
38228 2008-10-06  Eric Blake  <ebb9@byu.net>
38229
38230         test-signbit: avoid tripping Irix cc bug on -0.0L
38231         * tests/test-signbit.c (minus_zerol): Delete, and replace with
38232         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
38233         entire testsuite consistent and avoids an Irix 6.2 bug.
38234
38235 2008-10-05  Bruno Haible  <bruno@clisp.org>
38236             Jim Meyering  <jim@meyering.net>
38237
38238         Add an option for ignoring EPIPE during close_stdout.
38239         * lib/closeout.h: Include <stdbool.h>.
38240         (close_stdout_set_ignore_EPIPE): New declaration.
38241         * lib/closeout.c: Include <stdbool.h>.
38242         (ignore_EPIPE): New variable.
38243         (close_stdout_set_ignore_EPIPE): New function.
38244         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
38245         * lib/close-stream.c (close_stream): Mention the possible EPIPE
38246         failure.
38247         * modules/closeout (Depends-on): Add stdbool.
38248
38249 2008-10-05  Bruno Haible  <bruno@clisp.org>
38250
38251         * modules/accept: New file.
38252         * modules/bind: New file.
38253         * modules/connect: New file.
38254         * modules/getpeername: New file.
38255         * modules/getsockname: New file.
38256         * modules/getsockopt: New file.
38257         * modules/listen: New file.
38258         * modules/recv: New file.
38259         * modules/recvfrom: New file.
38260         * modules/send: New file.
38261         * modules/sendto: New file.
38262         * modules/setsockopt: New file.
38263         * modules/socket: New file.
38264         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
38265         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
38266         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
38267         the particular module is requested. Add a link warning when the
38268         particular module is not requested.
38269         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
38270         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
38271         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
38272         the particular module is requested.
38273         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
38274         gl_SYS_SOCKET_H_DEFAULTS): New macros.
38275         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
38276         * modules/sys_socket (Depends-on): Add link-warning.
38277         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
38278         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
38279         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
38280         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
38281         GL_LINK_WARNING.
38282         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
38283         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
38284         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
38285         * doc/posix-functions/getpeername.texi: Mention the new module
38286         'getpeername'.
38287         * doc/posix-functions/getsockname.texi: Mention the new module
38288         'getsockname'.
38289         * doc/posix-functions/getsockopt.texi: Mention the new module
38290         'getsockopt'.
38291         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
38292         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
38293         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
38294         * doc/posix-functions/send.texi: Mention the new module 'send'.
38295         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
38296         * doc/posix-functions/setsockopt.texi: Mention the new module
38297         'setsockopt'.
38298         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
38299         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
38300         listen, connect, accept.
38301         * modules/select-tests (Depends-on): Likewise.
38302
38303 2008-10-05  Bruno Haible  <bruno@clisp.org>
38304
38305         * lib/winsock.c (strerror): Remove unused #undef.
38306         (rpl_close): Remove unused local variable.
38307
38308         * modules/sys_socket (Depends-on); Add errno.
38309
38310 2008-10-05  Bruno Haible  <bruno@clisp.org>
38311
38312         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
38313         (select): Add a link warning when the 'select' module is not used.
38314         * modules/sys_select (Depends-on): Add link-warning.
38315         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
38316         Suggested by Paolo Bonzini.
38317
38318 2008-10-05  Jim Meyering  <meyering@redhat.com>
38319
38320         bootstrap: check for LT_INIT more portably
38321         * build-aux/bootstrap: Avoid using grep -E, since it's not
38322         portable enough.  Suggestion from Bruno Haible.
38323
38324 2008-10-05  Bruno Haible  <bruno@clisp.org>
38325
38326         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
38327         as being fixed by gnulib.
38328
38329 2008-10-05  Bruno Haible  <bruno@clisp.org>
38330
38331         * modules/select-tests: New file, mostly copied from
38332         modules/sys_select-tests.
38333         * tests/test-select.c: New file, mostly copied from
38334         tests/test-sys_select.c.
38335         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
38336         * modules/sys_select-tests (Depends-on): Remove all dependencies.
38337         (Makefile.am): Remove test_sys_select_LDADD.
38338
38339         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
38340         to an undefined symbol, for an error message.
38341         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
38342         (gl_SYS_SELECT_H_DEFAULTS): New macro.
38343         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
38344         winsock-select.c here.
38345         * modules/sys_select (Files): Remove lib/winsock-select.c.
38346         (Depends-on): Remove alloca.
38347         (Makefile.am): Substitute GNULIB_SELECT.
38348         * modules/select: New file.
38349         * doc/posix-functions/select.texi: Update.
38350
38351 2008-10-05  Bruno Haible  <bruno@clisp.org>
38352
38353         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
38354         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
38355         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
38356         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
38357         getdtablesize.
38358         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
38359         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
38360
38361 2008-10-05  Bruno Haible  <bruno@clisp.org>
38362
38363         * modules/getdtablesize-tests: New file.
38364         * tests/test-getdtablesize.c: New file.
38365
38366         New module 'getdtablesize'.
38367         * lib/unistd.in.h (getdtablesize): New declaration.
38368         * lib/getdtablesize.c: New file.
38369         * m4/getdtablesize.m4: New file.
38370         * modules/getdtablesize: New file.
38371         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38372         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
38373         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
38374         HAVE_GETDTABLESIZE.
38375         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
38376
38377 2008-10-05  Bruno Haible  <bruno@clisp.org>
38378
38379         * modules/sched (Makefile.am): Fix typo.
38380         Reported by Simon Josefsson.
38381
38382 2008-10-05  Jim Meyering  <meyering@redhat.com>
38383
38384         bootstrap: check for LT_INIT, too
38385         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
38386         are deprecated.  Suggestion from Ralf Wildenhues.
38387
38388 2008-10-05  Bruno Haible  <bruno@clisp.org>
38389
38390         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
38391         overriding them by ours.
38392         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
38393
38394 2008-10-05  Jim Meyering  <meyering@redhat.com>
38395
38396         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
38397         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
38398         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
38399
38400 2008-10-04  Bruno Haible  <bruno@clisp.org>
38401
38402         * modules/dup2 (License): Change to LGPLv2+.
38403         * modules/sleep (License): Likewise.
38404         * modules/perror (License): Likewise.
38405         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
38406         Blake.
38407         * modules/signal (License): Likewise.
38408         * modules/sigprocmask (License): Likewise.
38409         * modules/raise (License): Change to LGPLv2+, with approval by Jim
38410         Meyering.
38411
38412 2008-10-04  Bruno Haible  <bruno@clisp.org>
38413
38414         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
38415         Reported by Rainer Tammer <tammer@tammer.net>.
38416
38417 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
38418             Bruno Haible  <bruno@clisp.org>
38419
38420         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
38421         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
38422         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
38423
38424 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
38425
38426         filevercmp: new module
38427         * lib/filevercmp.h: New function filevercmp comparing version strings.
38428         * lib/filevercmp.c: Implementation of filevercmp function.
38429         * modules/filevercmp: Module metadata.
38430         * tests/test-filevercmp.c: Unit test for new module.
38431         * modules/filevercmp-tests: Unit test metadata.
38432         * MODULES.html.sh: Add filevercmp module.
38433
38434 2008-10-03  Bruno Haible  <bruno@clisp.org>
38435
38436         * lib/c-ctype.h: Add comment.
38437         Reported by Jim Meyering.
38438
38439 2008-10-02  Bruno Haible  <bruno@clisp.org>
38440
38441         * modules/posix_spawn-internal (Depends-on): Add 'open'.
38442
38443 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
38444
38445         * build-aux/bootstrap: Allow renaming bootstrap, and change the
38446         name of bootstrap.conf accordingly.
38447
38448 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
38449
38450         * build-aux/bootstrap: Install git-merge-changelog configuration
38451         items into .gitconfig if needed.
38452
38453 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
38454
38455         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
38456         git repository, and initialize/update it accordingly.
38457
38458 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
38459
38460         * modules/fsync-tests: New file.
38461         * tests/test-fsync.c: New file.
38462
38463         New module 'fsync'.
38464         * lib/fsync.c: New file.
38465         * m4/fsync.m4: New file.
38466         * modules/fsync: New file.
38467         * lib/unistd.in.h (fsync): New declaration.
38468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
38469         GNULIB_FSYNC and HAVE_FSYNC.
38470         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
38471         * MODULES.html.sh (posix_functions): Add fsync.
38472         * doc/posix-functions/fsync.texi: Mention the new module.
38473
38474 2008-10-02  Jim Meyering  <meyering@redhat.com>
38475
38476         fts.c: sync with similar code from coreutils' remove.c
38477         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
38478         Guard also with "#if defined __linux__", since for now at least,
38479         this code is Linux-kernel-specific.
38480
38481 2008-10-02  Jim Meyering  <meyering@redhat.com>
38482
38483         fts: bug fixes
38484         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
38485         Include <sys/vfs.h>, not <sys/statfs.h>.
38486
38487         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
38488         Include <sys/vfs.h>, not <sys/statfs.h>.
38489
38490 2008-10-01  Bruno Haible  <bruno@clisp.org>
38491
38492         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
38493         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
38494         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
38495         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
38496         * doc/posix-functions/posix_spawnp.texi: Likewise.
38497         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
38498         whether posix_spawn actually works.
38499         * m4/pipe.m4 (gl_PIPE): Likewise.
38500         * modules/execute (Files): Add m4/posix_spawn.m4.
38501         * modules/pipe (Files): Add m4/posix_spawn.m4.
38502         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
38503
38504 2008-10-01  Jim Meyering  <meyering@redhat.com>
38505
38506         remove trailing spaces
38507         * NEWS: Likewise.
38508         * lib/poll.c (poll): Likewise.
38509         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
38510         * lib/winsock.c (rpl_close): Likewise.
38511         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
38512         * modules/yield: Likewise.
38513         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
38514         * tests/test-sys_select.c (connect_to_socket): Likewise.
38515
38516         fts.c: adjust a new interface to be more generally useful
38517         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
38518         (fts_build): Adjust caller.
38519
38520 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38521
38522         * modules/cond-tests: New file.
38523         * tests/test-cond.c: New file.
38524
38525 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38526             Bruno Haible  <bruno@clisp.org>
38527
38528         * modules/cond (Dependencies): Add errno, time.
38529         * lib/glthread/cond.h: Include <time.h>.
38530         (gl_cond_define, gl_cond_define_initialized): Use the same definition
38531         across platforms.
38532
38533 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38534             Bruno Haible  <bruno@clisp.org>
38535
38536         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
38537
38538 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38539             Bruno Haible  <bruno@clisp.org>
38540
38541         * modules/tls-tests (Depends-on): Add thread, yield.
38542         (configure.ac): Remove all checks.
38543         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
38544         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
38545         gl_thread_self): Remove definitions. Include glthread/thread.h and
38546         glthread/yield.h instead.
38547         (test_tls): Pass an additional NULL argument to gl_thread_join.
38548
38549 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38550             Bruno Haible  <bruno@clisp.org>
38551
38552         * modules/lock-tests (Depends-on): Add thread, yield.
38553         (configure.ac): Remove all checks.
38554         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
38555         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
38556         gl_thread_self): Remove definitions. Include glthread/thread.h and
38557         glthread/yield.h instead.
38558         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
38559         additional NULL argument to gl_thread_join.
38560
38561 2008-09-30  Bruno Haible  <bruno@clisp.org>
38562
38563         Fix the Win32 implementation of the 'thread' module.
38564         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
38565         pointer type.
38566         (gl_thread_self): Invoke gl_thread_self_func.
38567         (gl_thread_self_func): New declaration.
38568         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
38569         (do_init_self_key, init_self_key): New functions.
38570         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
38571         Remove some fields.
38572         (running_threads, running_lock): Remove variables.
38573         (get_current_thread_handle): New function.
38574         (gl_thread_self_func, wrapper_func, glthread_create_func,
38575         glthread_join_func, gl_thread_exit_func): Largely rewritten and
38576         simplified.
38577
38578 2008-09-30  Bruno Haible  <bruno@clisp.org>
38579
38580         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
38581         files.
38582
38583 2008-09-30  Jim Meyering  <meyering@redhat.com>
38584
38585         fts.m4: correct the test for statfs.f_type
38586         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
38587         when checking for statfs.f_type.
38588
38589 2008-09-15  Simon Josefsson  <simon@josefsson.org>
38590
38591         tests: avoid some compiler warnings
38592         * tests/test-memchr.c (main): Pass NULL indirectly.
38593         * tests/test-getdate.c (main): Remove unused variable 'ret'.
38594
38595 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
38596
38597         getdate.y: disallow countable dayshifts like "4 yesterday ago"
38598         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
38599         exactly specified dayshifts.
38600         (dayshift): New rule.
38601         (rel): Add dayshift.
38602         (relative_time_table) [tomorrow, yesterday, today, now]:
38603         Use tDAY_SHIFT in place of tDAY_UNIT.
38604         * tests/test-getdate.c: Add tests for now-disallowed countable
38605         dayshifts, e.g., "4 yesterday ago".
38606
38607 2008-09-29  Bruno Haible  <bruno@clisp.org>
38608
38609         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
38610         * tests/test-posix_spawn1.in.sh: Renamed from
38611         tests/test-posix_spawn.in.sh.
38612         * tests/test-posix_spawn2.c: New file.
38613         * tests/test-posix_spawn2.in.sh: New file.
38614         * modules/posix_spawnp-tests (Files): Update.
38615         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
38616
38617 2008-09-29  Bruno Haible  <bruno@clisp.org>
38618
38619         Propagate effects of putenv/setenv/unsetenv to child processes.
38620         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
38621         * lib/pipe.c (create_pipe): Likewise.
38622
38623 2008-09-29  Bruno Haible  <bruno@clisp.org>
38624
38625         Enable use of shell scripts as executables in mingw.
38626         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
38627         run the program as a shell script.
38628         * lib/pipe.c (create_pipe): Likewise.
38629         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
38630         resulting array.
38631
38632 2008-09-29  Eric Blake  <ebb9@byu.net>
38633
38634         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
38635
38636 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
38637
38638         * doc/posix-functions/accept.texi: Update mingw problems.
38639         * doc/posix-functions/bind.texi: Update mingw problems.
38640         * doc/posix-functions/close.texi: Update mingw problems.
38641         * doc/posix-functions/connect.texi: Update mingw problems.
38642         * doc/posix-functions/getpeername.texi: Update mingw problems.
38643         * doc/posix-functions/getsockname.texi: Update mingw problems.
38644         * doc/posix-functions/getsockopt.texi: Update mingw problems.
38645         * doc/posix-functions/ioctl.texi: Update mingw problems.
38646         * doc/posix-functions/listen.texi: Update mingw problems.
38647         * doc/posix-functions/recv.texi: Update mingw problems.
38648         * doc/posix-functions/recvfrom.texi: Update mingw problems.
38649         * doc/posix-functions/select.texi: Update mingw problems.
38650         * doc/posix-functions/send.texi: Update mingw problems.
38651         * doc/posix-functions/sendto.texi: Update mingw problems.
38652         * doc/posix-functions/setsockopt.texi: Update mingw problems.
38653         * doc/posix-functions/socket.texi: Update mingw problems.
38654
38655 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
38656             Bruno Haible  <bruno@clisp.org>
38657
38658         * lib/sys_select.in.h: Include sys/time.h.
38659         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
38660         * modules/sys_select: Depend on sys_time.
38661         * tests/test-sys_select.c: Test that sys/select.h defines struct
38662         timeval fully.
38663
38664 2008-09-29  Bruno Haible  <bruno@clisp.org>
38665
38666         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
38667         * lib/sys_select.in.h: Likewise.
38668
38669 2008-09-29  Bruno Haible  <bruno@clisp.org>
38670
38671         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
38672
38673 2008-09-29  Bruno Haible  <bruno@clisp.org>
38674
38675         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
38676         Set LIBSOCKET instead of augmenting LIBS.
38677         * modules/sockets (Link): New section.
38678         * modules/sockets-tests (test_sockets_LDADD): New variable.
38679         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
38680         * modules/poll-tests (test_poll_LDADD): New variable.
38681         * NEWS: Document the change.
38682
38683 2008-09-29  Bruno Haible  <bruno@clisp.org>
38684
38685         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
38686         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
38687         ARPA_INET_H directly.
38688         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38689
38690 2008-09-28  Bruno Haible  <bruno@clisp.org>
38691
38692         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
38693         from gl_HEADER_SYS_SOCKET.
38694         (gl_HEADER_SYS_SOCKET): Invoke it.
38695         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38696
38697 2008-09-28  Bruno Haible  <bruno@clisp.org>
38698
38699         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
38700         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
38701         Needed on OSF/1 4.0.
38702
38703 2008-09-28  Bruno Haible  <bruno@clisp.org>
38704
38705         Override open more carefully.
38706         * lib/open.c (orig_open): New function.
38707         (rpl_open): Use orig_open instead of open.
38708         * lib/fcntl.in.h: Add special invocation convention.
38709         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
38710         (gl_FUNC_OPEN): Invoke it.
38711
38712         Override freopen more carefully.
38713         * lib/freopen.c (orig_freopen): New function.
38714         (rpl_freopen): Use orig_freopen instead of freopen.
38715         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
38716         (gl_FUNC_FREOPEN): Invoke it.
38717
38718         Override fopen more carefully.
38719         * lib/fopen.c (orig_fopen): New function.
38720         (rpl_fopen): Use orig_fopen instead of fopen.
38721         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
38722         (gl_FUNC_FOPEN): Invoke it.
38723         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
38724
38725 2008-09-28  Bruno Haible  <bruno@clisp.org>
38726
38727         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
38728         SIGPIPE.
38729
38730 2008-09-28  Bruno Haible  <bruno@clisp.org>
38731
38732         * tests/test-sigaction.c (handler, main): Disable the check whether
38733         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
38734         glibc systems with LinuxThreads.
38735
38736 2008-09-28  Bruno Haible  <bruno@clisp.org>
38737
38738         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
38739
38740         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
38741         with AIX xlc.
38742         * lib/fcntl.in.h (open): Likewise.
38743         Reported by Rainer Tammer <tammer@tammer.net>.
38744
38745 2008-09-28  Bruno Haible  <bruno@clisp.org>
38746
38747         * modules/posix_spawnp-tests: New file.
38748         * tests/test-posix_spawn.c: New file.
38749         * tests/test-posix_spawn.in.sh: New file.
38750
38751         New module 'posix_spawnp'.
38752         * modules/posix_spawnp: New file.
38753         * lib/spawnp.c: New file, from GNU libc with modifications.
38754         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
38755
38756         New module 'posix_spawn'.
38757         * modules/posix_spawn: New file.
38758         * lib/spawn.c: New file, from GNU libc with modifications.
38759         * doc/posix-functions/posix_spawn.texi: Mention the new module.
38760
38761         New module 'posix_spawnattr_destroy'.
38762         * modules/posix_spawnattr_destroy: New file.
38763         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
38764         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
38765         module.
38766
38767         New module 'posix_spawnattr_setsigmask'.
38768         * modules/posix_spawnattr_setsigmask: New file.
38769         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
38770         modifications.
38771         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
38772         new module.
38773
38774         New module 'posix_spawnattr_getsigmask'.
38775         * modules/posix_spawnattr_getsigmask: New file.
38776         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
38777         modifications.
38778         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
38779         new module.
38780
38781         New module 'posix_spawnattr_setsigdefault'.
38782         * modules/posix_spawnattr_setsigdefault: New file.
38783         * lib/spawnattr_setdefault.c: New file, from GNU libc with
38784         modifications.
38785         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
38786         new module.
38787
38788         New module 'posix_spawnattr_getsigdefault'.
38789         * modules/posix_spawnattr_getsigdefault: New file.
38790         * lib/spawnattr_getdefault.c: New file, from GNU libc with
38791         modifications.
38792         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
38793         new module.
38794
38795         New module 'posix_spawnattr_setschedpolicy'.
38796         * modules/posix_spawnattr_setschedpolicy: New file.
38797         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
38798         modifications.
38799         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
38800         new module.
38801
38802         New module 'posix_spawnattr_getschedpolicy'.
38803         * modules/posix_spawnattr_getschedpolicy: New file.
38804         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
38805         modifications.
38806         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
38807         new module.
38808
38809         New module 'posix_spawnattr_setschedparam'.
38810         * modules/posix_spawnattr_setschedparam: New file.
38811         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
38812         modifications.
38813         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
38814         new module.
38815
38816         New module 'posix_spawnattr_getschedparam'.
38817         * modules/posix_spawnattr_getschedparam: New file.
38818         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
38819         modifications.
38820         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
38821         new module.
38822
38823         New module 'posix_spawnattr_setpgroup'.
38824         * modules/posix_spawnattr_setpgroup: New file.
38825         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
38826         modifications.
38827         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
38828         module.
38829
38830         New module 'posix_spawnattr_getpgroup'.
38831         * modules/posix_spawnattr_getpgroup: New file.
38832         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
38833         modifications.
38834         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
38835         module.
38836
38837         New module 'posix_spawnattr_setflags'.
38838         * modules/posix_spawnattr_setflags: New file.
38839         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
38840         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
38841         module.
38842
38843         New module 'posix_spawnattr_getflags'.
38844         * modules/posix_spawnattr_getflags: New file.
38845         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
38846         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
38847         module.
38848
38849         New module 'posix_spawnattr_init'.
38850         * modules/posix_spawnattr_init: New file.
38851         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
38852         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
38853         module.
38854
38855         New module 'posix_spawn_file_actions_destroy'.
38856         * modules/posix_spawn_file_actions_destroy: New file.
38857         * lib/spawn_faction_destroy.c: New file, from GNU libc with
38858         modifications.
38859         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
38860         the new module.
38861
38862         New module 'posix_spawn_file_actions_addopen'.
38863         * modules/posix_spawn_file_actions_addopen: New file.
38864         * lib/spawn_faction_addopen.c: New file, from GNU libc with
38865         modifications.
38866         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
38867         the new module.
38868
38869         New module 'posix_spawn_file_actions_adddup2'.
38870         * modules/posix_spawn_file_actions_adddup2: New file.
38871         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
38872         modifications.
38873         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
38874         the new module.
38875
38876         New module 'posix_spawn_file_actions_addclose'.
38877         * modules/posix_spawn_file_actions_addclose: New file.
38878         * lib/spawn_faction_addclose.c: New file, from GNU libc with
38879         modifications.
38880         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
38881         the new module.
38882
38883         New module 'posix_spawn_file_actions_init'.
38884         * modules/posix_spawn_file_actions_init: New file.
38885         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
38886         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
38887         new module.
38888
38889         New module 'posix_spawn-internal'.
38890         * modules/posix_spawn-internal: New file.
38891         * lib/spawn_int.h: New file, from GNU libc with modifications.
38892         * lib/spawni.c: New file, from GNU libc with modifications.
38893         * m4/posix_spawn.m4: New file.
38894
38895         New module 'spawn'.
38896         * modules/spawn: New file.
38897         * lib/spawn.in.h: New file, from GNU libc with modifications.
38898         * m4/spawn_h.m4: New file.
38899         * doc/posix-headers/spawn.texi: Mention the new module.
38900
38901 2008-09-28  Bruno Haible  <bruno@clisp.org>
38902
38903         * modules/sched-tests: New file.
38904         * tests/test-sched.c: New file.
38905
38906         New module 'sched'.
38907         * modules/sched: New file.
38908         * lib/sched.in.h: New file.
38909         * m4/sched_h.m4: New file.
38910         * doc/posix-headers/sched.texi: Mention the new module.
38911
38912 2008-09-27  Eric Blake  <ebb9@byu.net>
38913
38914         Fix previous patch, and tweak references to $0.
38915         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
38916         (func_version, func_gnulib_dir): Don't call this program
38917         gnulib-tool.
38918         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
38919         with using $0 in function.
38920         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
38921         (func_fatal_error): Reuse the name the user invoked us with.
38922
38923 2008-09-27  Bruno Haible  <bruno@clisp.org>
38924
38925         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
38926         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
38927         (gl_ICONV_H): Not here.
38928         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
38929         instead of assigning ICONV_H directly.
38930
38931         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
38932         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
38933         WCHAR_H directly.
38934
38935 2008-09-27  Bruno Haible  <bruno@clisp.org>
38936
38937         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
38938         * modules/arpa_inet (Depends-on): Add link-warning.
38939         (Makefile.am): Insert the definition of GL_LINK-WARNING.
38940         * modules/unistd (Makefile.am): Likewise.
38941
38942 2008-09-26  Bruno Haible  <bruno@clisp.org>
38943
38944         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
38945         variables.
38946         (func_version): Essentially copied from gnulib-tool.
38947         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
38948         func_readlink): Copied from gnulib-tool.
38949
38950 2008-09-26  Bruno Haible  <bruno@clisp.org>
38951
38952         * gnulib-tool (func_version): Change directory to $gnulib_dir before
38953         invoking git-version-gen.
38954
38955 2008-09-26  Bruno Haible  <bruno@clisp.org>
38956
38957         * posix-modules: Update to directory names changed on 2008-01-19.
38958         Remove commas in output before splitting into words. No more need to
38959         avoid 'ftruncate' since 2007-02-19.
38960
38961 2008-09-26  Bruno Haible  <bruno@clisp.org>
38962
38963         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
38964
38965 2008-09-26  Bruno Haible  <bruno@clisp.org>
38966
38967         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
38968         * modules/fwriteerror (Depends-on): Add errno.
38969
38970 2008-09-26  Bruno Haible  <bruno@clisp.org>
38971
38972         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
38973         * tests/test-vc-list-files-cvs.sh: Likewise.
38974
38975 2008-09-26  Bruno Haible  <bruno@clisp.org>
38976
38977         * doc/posix-headers/sys_resource.texi: Reorder items.
38978
38979 2008-09-26  Jim Meyering  <meyering@redhat.com>
38980
38981         fts: tweak inode comparison function
38982         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
38983         inode numbers, as documented.
38984
38985         fts: sort dirent entries on inode number before traversing
38986         This avoids a quadratic, seek-related performance penalty when
38987         operating on a directory containing many entries (measurable at 10k;
38988         3.5 hours at 2 million entries with a cold cache) on certain types
38989         of file systems, including ext3 and ext4, but not tmpfs.
38990         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
38991         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
38992         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
38993         (fs_handles_readdir_ordered_dirents_efficiently): New function.
38994         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
38995         (fts_build): Set the stat.st_ino member from D_INO.
38996         If it is likely to be useful, sort dirent entries on inode number.
38997
38998         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
38999         and the struct statfs.f_type member.
39000         * modules/fts (Depends-on): Add d-ino.
39001
39002 2008-09-26  Bruno Haible  <bruno@clisp.org>
39003
39004         * modules/sigpipe-die (Depends-on): Add sigpipe.
39005
39006         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
39007         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
39008         and GNULIB_STDIO_H_SIGPIPE are set.
39009         * lib/stdio-write.c: New file.
39010         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
39011         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39012         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39013         REPLACE_STDIO_WRITE_FUNCS.
39014         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
39015         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39016         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39017         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
39018         * modules/stdio (Files): Add lib/stdio-write.c.
39019         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
39020         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39021         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39022         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
39023         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
39024         REPLACE_FPRINTF_POSIX.
39025         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
39026         REPLACE_PRINTF_POSIX.
39027         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
39028         REPLACE_VFPRINTF_POSIX.
39029         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
39030         REPLACE_VPRINTF_POSIX.
39031         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
39032         SIGPIPE issue.
39033         * doc/posix-functions/fputc.texi: Likewise.
39034         * doc/posix-functions/fputs.texi: Likewise.
39035         * doc/posix-functions/fwrite.texi: Likewise.
39036         * doc/posix-functions/printf.texi: Likewise.
39037         * doc/posix-functions/putc.texi: Likewise.
39038         * doc/posix-functions/putchar.texi: Likewise.
39039         * doc/posix-functions/puts.texi: Likewise.
39040         * doc/posix-functions/vfprintf.texi: Likewise.
39041         * doc/posix-functions/vprintf.texi: Likewise.
39042
39043         * modules/safe-write (Depends-on): Add write.
39044
39045         * modules/sigpipe-tests: New file.
39046         * tests/test-sigpipe.c: New file.
39047         * tests/test-sigpipe.sh: New file.
39048
39049         * modules/write: New file.
39050         * lib/unistd.in.h: Include <sys/types.h>.
39051         (write): New declaration.
39052         * lib/write.c: New file.
39053         * m4/write.m4: New file.
39054         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39055         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
39056         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
39057         GNULIB_WRITE, REPLACE_WRITE.
39058         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
39059         and the SIGPIPE issue.
39060
39061         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
39062         (raise): New declaration.
39063         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
39064         (ext_signal): New function.
39065         (rpl_raise): New function.
39066         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
39067         GNULIB_SIGNAL_H_SIGPIPE.
39068         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
39069         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
39070
39071         * modules/sigpipe: New file.
39072         * m4/sigpipe.m4: New file.
39073
39074 2008-09-25  Derek Price  <derek@ximbiot.com>
39075             Bruno Haible  <bruno@clisp.org>
39076
39077         * gnulib-tool (func_import): Report all license incompatibilities, not
39078         just the first one.
39079
39080 2008-09-25  Bruno Haible  <bruno@clisp.org>
39081
39082         * gnulib-tool (func_import): When computing the edits, consider not
39083         only the Makefile.ams that exist but also those that will be generated.
39084
39085 2008-09-25  Simon Josefsson  <simon@josefsson.org>
39086
39087         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
39088         fixes gnulib-tool --test warning about duplicate dependency.
39089
39090 2008-09-25  Bruno Haible  <bruno@clisp.org>
39091
39092         * gnulib-tool: Don't ask the user to perform edits in the generated
39093         Makefile.ams.
39094         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
39095         apply to the Makefile.am being generated.
39096         (func_emit_tests_Makefile_am): Execute edits that apply to the
39097         Makefile.am being generated.
39098         (func_import): Setup list of Makefile.am edits before emitting the
39099         Makefile.ams, not at the end.
39100         (func_create_testdir): Update.
39101         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39102
39103 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39104
39105         * gnulib-tool (func_import): Store the --tests-base option in the
39106         comment in gnulib-cache.m4.
39107
39108 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
39109
39110         * NEWS: Document increased portability that sys_select now provides.
39111
39112         * lib/sys_select.in.h: Install select wrapper.
39113         * lib/sys_socket.in.h: Use more descriptive name when there is no
39114         select wrapper.
39115         * lib/winsock-select.c: New.
39116         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
39117         Require gl_HEADER_SYS_SOCKET.
39118         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
39119         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
39120         * tests/test-sys_select.c: Add functional tests.
39121
39122 2008-09-24  Eric Blake  <ebb9@byu.net>
39123
39124         open, fopen: close fd leak in last patch
39125         * lib/open.c (rpl_open): Close fd before returning error.
39126         * lib/fopen.c (rpl_fopen): Close fd before returning error.
39127         * doc/posix-functions/open.texi (open): Document that Irix also
39128         has the bug.
39129         * doc/posix-functions/fopen.texi (fopen): Likewise.
39130         Reported by Paolo Bonzini.
39131
39132 2008-09-24  Bruno Haible  <bruno@clisp.org>
39133
39134         Ensure that a filename ending in a slash cannot be used to access a
39135         non-directory.
39136         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
39137         to check whether it's really a directory.
39138         * lib/fopen.c: Include fcntl.h, unistd.h.
39139         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
39140         and fdopen().
39141         * modules/fopen (Depends-on): Add unistd.
39142         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
39143         * tests/test-fopen.c (main): Likewise.
39144         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
39145         * doc/posix-functions/fopen.texi: Likewise.
39146         Reported by Eric Blake.
39147
39148 2008-09-23  Eric Blake  <ebb9@byu.net>
39149
39150         c-stack: avoid compiler optimizations when provoking overflow
39151         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
39152         recursion harder to optimize, to ensure a stack overflow occurs.
39153         * tests/test-c-stack.c (recurse): Likewise.
39154         Borrowed from libsigsegv.
39155
39156         c-stack: work around Irix sigaltstack bug
39157         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
39158         whether sigaltstack uses wrong end of stack_t (copied in part from
39159         libsigsegv).
39160         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
39161         Irix bug, without requiring an over-allocation.
39162         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
39163         bug.
39164
39165         fopen: document mingw bug on directories
39166         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
39167         not allowing a stream visiting a directory, even though reading
39168         from such a stream is not portable.
39169
39170 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39171
39172         * lib/poll.c: Rewrite.
39173         * modules/poll: Depend on alloca.
39174
39175 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39176
39177         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
39178         instead define prototypes for a full set of wrappers.  Ensure
39179         that Cygwin does not use the compatibility code, which is only
39180         for MinGW.
39181         * lib/winsock.c: New.
39182         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
39183         * modules/sys_socket: Add lib/winsock.c.
39184
39185         * modules/poll-tests: Add errno and perror.
39186         * tests/test-poll.c: Use ioctl, not ioctlsocket.
39187
39188 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39189
39190         * tests/test-poll.c: Downgrade minimum needed Winsock version.
39191
39192 2008-09-23  Bruno Haible  <bruno@clisp.org>
39193
39194         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
39195         * doc/glibc-functions/*: Likewise.
39196
39197 2008-09-23  Simon Josefsson  <simon@josefsson.org>
39198
39199         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
39200         success.
39201
39202 2008-09-22  Eric Blake  <ebb9@byu.net>
39203             Bruno Haible  <bruno@clisp.org>
39204
39205         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
39206         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
39207         supply %A but mishandle pseudo-NaN.
39208         Reported by Simon Josefsson.
39209
39210 2008-09-21  Bruno Haible  <bruno@clisp.org>
39211
39212         * tests/test-lock.c (main): Tweak skip message.
39213         * tests/test-tls.c (main): Likewise.
39214
39215 2008-09-21  Bruno Haible  <bruno@clisp.org>
39216
39217         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
39218         whether 'struct sigaction' has sa_sigaction here...
39219         (gl_PREREQ_SIG_HANDLER_H): ... not here.
39220         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
39221
39222 2008-09-21  Bruno Haible  <bruno@clisp.org>
39223
39224         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
39225         section.
39226         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
39227         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
39228         the new section.
39229         (Support for obsolete systems lacking POSIX:2001): New section.
39230         (String handling <string.h>): Move strdup to the new section.
39231         Suggested by Simon Josefsson and Paolo Bonzini.
39232
39233 2008-09-21  Bruno Haible  <bruno@clisp.org>
39234
39235         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
39236         exponents in %e and %g results on 'long double'. Needed for mingw's
39237         improved *printf functions.
39238         * tests/test-vasprintf-posix.c (test_function): Likewise.
39239         * tests/test-snprintf-posix.h (test_function): Likewise.
39240         * tests/test-sprintf-posix.h (test_function): Likewise.
39241         Reported by Eric Blake.
39242
39243 2008-09-21  Bruno Haible  <bruno@clisp.org>
39244
39245         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
39246         * tests/test-sprintf-posix.h (test_function): Likewise.
39247
39248 2008-09-21  Bruno Haible  <bruno@clisp.org>
39249
39250         * modules/getpass (Depends-on): Add strdup-posix.
39251
39252         New module 'strdup-posix'.
39253         * modules/strdup-posix: New file.
39254         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
39255         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
39256         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39257         REPLACE_STRDUP.
39258         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
39259         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
39260         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39261         strdup-posix.
39262
39263         * modules/strdup (Depends-on): Remove malloc-posix.
39264
39265 2008-09-20  Bruno Haible  <bruno@clisp.org>
39266
39267         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
39268         Wildenhues.
39269
39270 2008-09-20  Bruno Haible  <bruno@clisp.org>
39271
39272         Ensure that wint_t gets defined on IRIX 5.3.
39273         * lib/wchar.in.h (wint_t): Define if not defined by the system.
39274         * lib/wctype.in.h (wint_t): Likewise.
39275         (__wctype_wint_t): Remove type.
39276         (isw*): Use wint_t instead of __wctype_wint_t.
39277         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
39278         * modules/wchar (Files): Add m4/wint_t.m4.
39279         (Makefile.am): Substitute HAVE_WINT_T.
39280         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
39281         * tests/test-wctype.c: Check that wint_t is defined.
39282         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
39283         * doc/posix-headers/wctype.texi: Likewise.
39284         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39285
39286 2008-09-18  Bruno Haible  <bruno@clisp.org>
39287
39288         * gnulib-tool (func_exit): Update comment.
39289
39290 2008-09-18  Simon Josefsson  <simon@josefsson.org>
39291
39292         * modules/getaddrinfo (Depends-on): Remove strdup, this module
39293         assumes strdup exists and does not depend on strdup to return
39294         ENOMEM on out of memory conditions.
39295
39296 2008-09-18  Bruno Haible  <bruno@clisp.org>
39297
39298         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
39299         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
39300         digits for the exponent.
39301
39302 2008-09-18  Jim Meyering  <meyering@redhat.com>
39303             Bruno Haible  <bruno@clisp.org>
39304
39305         * lib/vasnprintf.c (decimal_point_char): Define also if
39306         NEED_PRINTF_INFINITE_LONG_DOUBLE.
39307
39308 2008-09-16  Bruno Haible  <bruno@clisp.org>
39309         and Eric Blake  <ebb9@byu.net>
39310
39311         vasnprintf: support Irix 5.3
39312         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
39313         that mishandle long double infinity.
39314         Reported by Tom G. Christensen.
39315
39316 2008-09-16  Bruno Haible  <bruno@clisp.org>
39317
39318         * doc/glibc-functions/scandir.texi: Mention the function is missing on
39319         Solaris 9.
39320         * doc/glibc-functions/alphasort.texi: Likewise.
39321         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
39322
39323 2008-09-16  Jim Meyering  <meyering@redhat.com>
39324
39325         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
39326         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
39327         a umask modification leak out of a subshell.  Otherwise, the
39328         opensolaris /bin/sh would be accepted and thus cause unwarranted
39329         failures in the coreutils test suite.
39330
39331 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
39332
39333         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
39334         to succeed.
39335
39336 2008-09-16  Jim Meyering  <meyering@redhat.com>
39337
39338         avoid spurious test failure when library is built without ACL support
39339         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
39340         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
39341         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
39342         * tests/test-copy-acl.sh: Likewise.
39343
39344 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39345
39346         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
39347         based on character occurrence counts.
39348
39349 2008-09-15  Eric Blake  <ebb9@byu.net>
39350
39351         tests: avoid some compiler warnings
39352         * tests/test-memchr.c (main): Pass NULL indirectly.
39353         * tests/test-closein.c (main): Avoid unused variable.
39354
39355 2008-09-15  Bruno Haible  <bruno@clisp.org>
39356
39357         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
39358         are missing on OpenBSD 4.0 individually.
39359         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39360
39361 2008-09-15  Bruno Haible  <bruno@clisp.org>
39362
39363         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
39364         * doc/posix-functions/strerror.texi: Mention also Cygwin.
39365         * doc/posix-functions/perror.texi: Likewise.
39366         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
39367         is missing.
39368         Reported by Eric Blake.
39369
39370         * lib/errno.in.h: Use replacement values >= 2000.
39371         Reported by Eric Blake.
39372
39373 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39374
39375         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
39376         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
39377         limit.
39378         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
39379         compareseq was aborted.
39380
39381 2008-09-14  Bruno Haible  <bruno@clisp.org>
39382
39383         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
39384         yvec_edit_count.
39385         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
39386         (fstrcmp_bounded): Simplify result computation accordingly.
39387
39388 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39389
39390         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
39391         (fstrcmp): Define in terms of fstrcmp_bounded.
39392         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
39393         lower_bound argument.
39394         Return quickly if the result is certainly < lower_bound.
39395         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
39396
39397 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39398
39399         * lib/diffseq.h (EARLY_ABORT): New macro.
39400         (compareseq): Change return type to bool. Return true when EARLY_ABORT
39401         evaluates to true.
39402
39403 2008-09-14  Bruno Haible  <bruno@clisp.org>
39404
39405         * modules/perror-tests: New file.
39406         * tests/test-perror.sh: New file.
39407         * tests/test-perror.c: New file.
39408
39409         New module 'perror'.
39410         * lib/stdio.in.h (perror): New declaration.
39411         * lib/perror.c: New file.
39412         * m4/perror.m4: New file.
39413         * modules/perror: New file.
39414         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
39415         * doc/posix-functions/perror.texi: Mention the perror module.
39416         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
39417         REPLACE_PERROR.
39418         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
39419         REPLACE_PERROR.
39420
39421 2008-09-14  Bruno Haible  <bruno@clisp.org>
39422
39423         * modules/stdio (Makefile.am): Reorder to match the order in
39424         lib/stdio.in.h.
39425         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39426
39427 2008-09-13  Bruno Haible  <bruno@clisp.org>
39428
39429         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
39430
39431 2008-09-13  Bruno Haible  <bruno@clisp.org>
39432
39433         Extend strerror to cover the added errno values.
39434         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
39435         (rpl_strerror): Provide error messages for the added errno values and
39436         for the WSA* values.
39437         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
39438         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
39439         strerror.
39440         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
39441         * modules/strerror (Depends-on): Add errno.
39442         * doc/posix-functions/strerror.texi: Document the change.
39443         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
39444         and EOVERFLOW.
39445
39446 2008-09-13  Bruno Haible  <bruno@clisp.org>
39447
39448         * modules/EOVERFLOW: Remove file.
39449         * m4/eoverflow.m4: Remove file.
39450         * modules/EOVERFLOW-tests: Remove file.
39451         * tests/test-EOVERFLOW.c: Remove file.
39452         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
39453         * modules/ftell (Depends-on): Likewise.
39454         * modules/getdelim (Depends-on): Likewise.
39455         * modules/getugroups (Depends-on): Likewise.
39456         * modules/poll (Depends-on): Likewise.
39457         * modules/snprintf (Depends-on): Likewise.
39458         * modules/sprintf-posix (Depends-on): Likewise.
39459         * modules/vasnprintf (Depends-on): Likewise.
39460         * modules/vasprintf (Depends-on): Likewise.
39461         * modules/vfprintf-posix (Depends-on): Likewise.
39462         * modules/vsnprintf (Depends-on): Likewise.
39463         * modules/vsprintf-posix (Depends-on): Likewise.
39464         * modules/xvasprintf (Depends-on): Likewise.
39465         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
39466         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
39467         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
39468         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
39469         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
39470         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
39471         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
39472         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
39473         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
39474         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
39475         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
39476         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
39477         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
39478         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
39479         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
39480         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
39481         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
39482         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
39483         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
39484         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
39485         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
39486         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
39487         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
39488         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
39489         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
39490         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
39491         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
39492         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
39493         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
39494         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
39495         * MODULES.html.sh: Remove EOVERFLOW.
39496         * NEWS: Mention the change.
39497
39498 2008-09-13  Bruno Haible  <bruno@clisp.org>
39499
39500         * modules/errno-tests: New file.
39501         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
39502
39503         * lib/errno.in.h: New file.
39504         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
39505         * modules/errno: New file.
39506         * doc/posix-headers/errno.texi: Update documentation.
39507         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
39508
39509 2008-09-13  Bruno Haible  <bruno@clisp.org>
39510
39511         * tests/test-poll.c: Use #if for native Windows, rather than testing
39512         __MSVCRT__.
39513
39514 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39515             Bruno Haible  <bruno@clisp.org>
39516
39517         * lib/glob.c: Don't include <pwd.h> on native Windows.
39518         (WINDOWS32): New macro.
39519         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
39520
39521 2008-09-13  Bruno Haible  <bruno@clisp.org>
39522
39523         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
39524         (ETIMEDOUT): Remove macro.
39525         (glthread_cond_timedwait_multithreaded): New declaration.
39526         (glthread_cond_timedwait): Use it.
39527         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
39528         (glthread_cond_timedwait_multithreaded): New function.
39529
39530 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
39531
39532         * modules/poll-tests: Do not check for io.h.
39533         * tests/test-poll.c: Check for __MSVCRT__ instead.
39534
39535 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
39536
39537         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
39538         * modules/poll-tests: Add inet_pton, stdbool, sockets.
39539         * tests/test-poll.c: Use them.  Use _pipe on Windows.
39540
39541 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
39542
39543         * modules/poll-tests: New.
39544         * tests/test-poll.c: New.
39545
39546 2008-09-12  Eric Blake  <ebb9@byu.net>
39547
39548         frexp: test for NetBSD failure on -0.0
39549         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
39550         not all, bugs from NetBSD 3.0 have been fixed.
39551         * doc/posix-functions/frexp.texi (frexp): Document bug.
39552         Reported by Thomas Klausner.
39553
39554         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
39555         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
39556         literal -0.0.
39557         Reported by Jonathan C. Patschke <jp@centtech.com>.
39558
39559 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39560
39561         * lib/glthread/cond.h: Use dummy implementation also if
39562         USE_WIN32_THREADS.
39563
39564 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39565
39566         * modules/fnmatch-posix (License): Change to LGPLv2+.
39567         * modules/fnmatch-gnu (License): Likewise.
39568
39569 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39570
39571         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
39572
39573 2008-09-11  Jim Meyering  <meyering@redhat.com>
39574
39575         * users.txt: Add gtk-vnc.
39576
39577 2008-09-08  Simon Josefsson  <simon@josefsson.org>
39578
39579         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
39580         rotate amounts.
39581
39582         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
39583         required for 16-bit and 8-bit rotates.
39584         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
39585         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
39586         UINT8_MAX instead of hard-coded constants.
39587         Suggested by Paul Eggert.
39588
39589 2008-09-07  Bruno Haible  <bruno@clisp.org>
39590
39591         * tests/test-striconveh.c (main): Check behaviour when converting from
39592         UTF-7.
39593
39594         Make striconveh work better with stateful encodings.
39595         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
39596         that iconv does not increment the inptr when returning -1/EINVAL.
39597
39598 2008-09-07  Bruno Haible  <bruno@clisp.org>
39599
39600         * build-aux/config.rpath: Update according to libtool-2.2.6.
39601         * build-aux/config.libpath: Likewise.
39602
39603 2008-09-06  Bruno Haible  <bruno@clisp.org>
39604
39605         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
39606         * lib/freadptr.c (freadptr): Likewise.
39607         * lib/freadseek.c (freadptrinc): Likewise.
39608         Reported by Simon Josefsson.
39609
39610 2008-09-06  Bruno Haible  <bruno@clisp.org>
39611
39612         * modules/freadptr (License): Change to LGPLv2+.
39613         * modules/freadseek (License): Likewise.
39614         Suggested by Eric Blake.
39615
39616         * modules/memchr2 (License): Change to LGPLv2+.
39617         Approved by Eric Blake.
39618
39619 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39620             Bruno Haible  <bruno@clisp.org>
39621
39622         Make gnulib-tool work with native 'sed' on AIX.
39623         * gnulib-tool (sed_noop): New variable.
39624         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
39625         func_add_or_update, func_create_testdir): Use it to initialize sed
39626         script variables.
39627         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39628
39629 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
39630             Bruno Haible  <bruno@clisp.org>
39631
39632         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
39633         also works after #include directives.
39634
39635 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
39636
39637         getdate.y: reject an out-of-range timezone value
39638         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
39639         the range [-24...+24].  When specified with only one or two digits,
39640         * tests/test-getdate.c: Tests for the fix.
39641         * doc/getdate.texi: Document this change.
39642
39643 2008-09-03  Bruno Haible  <bruno@clisp.org>
39644
39645         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
39646
39647 2008-09-02  Simon Josefsson  <simon@josefsson.org>
39648
39649         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
39650         <bruce.korb@gmail.com> with ideas from Ben Pfaff
39651         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
39652         Blake <ebb9@byu.net>.
39653
39654         * tests/test-bitrotate.c: Add more test vectors.
39655
39656 2008-09-02  Eric Blake  <ebb9@byu.net>
39657
39658         vasnprintf-posix: handle large precision via %.*d
39659         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
39660         when handling it ourselves.
39661         * tests/test-vasnprintf-posix.c (test_function): Add test.
39662         * tests/test-snprintf-posix.h (test_function): Likewise.
39663         * tests/test-sprintf-posix.h (test_function): Likewise.
39664         * tests/test-vasprintf-posix.c (test_function): Likewise.
39665         Reported by Alain Guibert.
39666
39667 2008-09-01  Eric Blake  <ebb9@byu.net>
39668
39669         c-stack: make configure-time check more robust
39670         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
39671         successful sigaction call.
39672         Reported by Tom G. Christensen.
39673
39674 2008-09-01  Bruno Haible  <bruno@clisp.org>
39675
39676         New module 'findprog-lgpl'.
39677         * modules/findprog-lgpl: New file.
39678         * lib/findprog-lgpl.c: New file.
39679         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
39680         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
39681         to decide whether to use strdup or xstrdup, concatenated_filename or
39682         xconcatenated_filename.
39683
39684 2008-09-01  Bruno Haible  <bruno@clisp.org>
39685
39686         Split module 'concat-filename' into 'concat-filename' (LGPL) and
39687         'xconcat-filename' (GPL).
39688         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
39689         (License): Change to LGPLv2+.
39690         * modules/xconcat-filename: New file.
39691         * lib/concat-filename.h (concatenated_filename): Change specification.
39692         (xconcatenated_filename): New declaration.
39693         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
39694         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
39695         memory situations.
39696         * lib/xconcat-filename.c: New file.
39697         * NEWS: Mention the change.
39698         * lib/findprog.c: Include concat-filename.h, not filename.h.
39699         (find_in_path): Use xconcatenated_filename instead of
39700         concatenated_filename.
39701         * lib/javacomp.c: Include concat-filename.h, not filename.h.
39702         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
39703         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
39704         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
39705         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
39706         instead of concatenated_filename.
39707         * lib/javaexec.c: Include concat-filename.h, not filename.h.
39708         (execute_java_class): Use xconcatenated_filename instead of
39709         concatenated_filename.
39710         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
39711         * modules/javacomp (Depends-on): Likewise.
39712         * modules/javaexec (Depends-on): Likewise.
39713
39714 2008-09-01  Bruno Haible  <bruno@clisp.org>
39715
39716         Split module 'filename' into 'filename' and 'concat-filename'.
39717         * modules/filename: Keep only lib/filename.h.
39718         (License): Change to LGPLv2+.
39719         * modules/concat-filename: New file, extracted from modules/filename.
39720         * lib/filename.h (concatenated_filename): Remove declaration.
39721         * lib/concat-filename.h: New file, extracted from lib/filename.h.
39722         * lib/concat-filename.c: Include concat-filename.h.
39723         * NEWS: Mention the change.
39724
39725 2008-09-01  Simon Josefsson  <simon@josefsson.org>
39726
39727         * lib/bitrotate.h (rotl8, rotr8): Add.
39728
39729         * modules/bitrotate (configure.ac): Need
39730         AC_REQUIRE([AC_C_INLINE]).
39731         (Description): Mention stdint.h.  Reported by Bruno Haible
39732         <bruno@clisp.org>.
39733
39734         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
39735         Paolo Bonzini <bonzini@gnu.org>.
39736
39737 2008-08-31  Bruno Haible  <bruno@clisp.org>
39738
39739         Assume Solaris specific bi-arch conventions on Solaris systems.
39740         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
39741         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
39742         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
39743         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
39744         like acl_libdirstem.
39745         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
39746         acl_libdirstem.
39747         * NEWS: Mention the change.
39748         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
39749
39750 2008-08-31  Jim Meyering  <meyering@redhat.com>
39751
39752         * lib/strftime.h: Add comments describing the two added arguments.
39753
39754         remove duplicate #include directives
39755         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
39756         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
39757
39758 2008-08-31  Bruno Haible  <bruno@clisp.org>
39759
39760         New module 'sigpipe-die'.
39761         * modules/sigpipe-die: New file.
39762         * lib/sigpipe-die.h: New file.
39763         * lib/sigpipe-die.c: New file.
39764         * MODULES.html.sh (Signal handling): Add sigpipe-die.
39765
39766 2008-08-31  Bruno Haible  <bruno@clisp.org>
39767
39768         Don't override previously installed signal handlers.
39769         * lib/fatal-signal.c (saved_sigactions): New variable.
39770         (uninstall_handlers): Reset the signal to the saved handler, not
39771         to SIG_DFL (except when ignored).
39772         (install_handlers): Save the previous handlers.
39773
39774 2008-08-30  Bruno Haible  <bruno@clisp.org>
39775
39776         * gnulib-tool (func_reset_sigpipe): New function.
39777         (func_get_automake_snippet, func_modules_transitive_closure,
39778         func_import): Invoke it before a join command that reads from stdin,
39779         to avoid "echo: write error: Broken pipe" error messages on stderr.
39780         Reported by Sam Steingold <sds@gnu.org>.
39781
39782 2008-08-30  Bruno Haible  <bruno@clisp.org>
39783
39784         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
39785         Code copied from m4/open.m4.
39786         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
39787         access and the filename ends in a slash. Code copied from lib/open.c.
39788         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
39789         * tests/test-fopen.c (main): Check against bug with trailing slash.
39790
39791 2008-08-29  Bruno Haible  <bruno@clisp.org>
39792
39793         Avoid some "gcc -pedantic" warnings.
39794         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
39795         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
39796         * lib/dirent.in.h: Likewise.
39797         * lib/fcntl.in.h: Likewise.
39798         * lib/float.in.h: Likewise.
39799         * lib/iconv.in.h: Likewise.
39800         * lib/inttypes.in.h: Likewise.
39801         * lib/locale.in.h: Likewise.
39802         * lib/math.in.h: Likewise.
39803         * lib/netinet_in.in.h: Likewise.
39804         * lib/search.in.h: Likewise.
39805         * lib/signal.in.h: Likewise.
39806         * lib/stdarg.in.h: Likewise.
39807         * lib/stdint.in.h: Likewise.
39808         * lib/stdio.in.h: Likewise.
39809         * lib/stdlib.in.h: Likewise.
39810         * lib/string.in.h: Likewise.
39811         * lib/strings.in.h: Likewise.
39812         * lib/sys_select.in.h: Likewise.
39813         * lib/sys_socket.in.h: Likewise.
39814         * lib/sys_stat.in.h: Likewise.
39815         * lib/sys_time.in.h: Likewise.
39816         * lib/sysexits.in.h: Likewise.
39817         * lib/time.in.h: Likewise.
39818         * lib/unistd.in.h: Likewise.
39819         * lib/wchar.in.h: Likewise.
39820         * lib/wctype.in.h: Likewise.
39821         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
39822         * modules/fchdir (Makefile.am): Likewise.
39823         * modules/fcntl (Makefile.am): Likewise.
39824         * modules/float (Makefile.am): Likewise.
39825         * modules/iconv_open (Makefile.am): Likewise.
39826         * modules/inttypes (Makefile.am): Likewise.
39827         * modules/locale (Makefile.am): Likewise.
39828         * modules/math (Makefile.am): Likewise.
39829         * modules/netinet_in (Makefile.am): Likewise.
39830         * modules/search (Makefile.am): Likewise.
39831         * modules/signal (Makefile.am): Likewise.
39832         * modules/stdarg (Makefile.am): Likewise.
39833         * modules/stdint (Makefile.am): Likewise.
39834         * modules/stdio (Makefile.am): Likewise.
39835         * modules/stdlib (Makefile.am): Likewise.
39836         * modules/string (Makefile.am): Likewise.
39837         * modules/strings (Makefile.am): Likewise.
39838         * modules/sys_select (Makefile.am): Likewise.
39839         * modules/sys_socket (Makefile.am): Likewise.
39840         * modules/sys_stat (Makefile.am): Likewise.
39841         * modules/sys_time (Makefile.am): Likewise.
39842         * modules/sysexits (Makefile.am): Likewise.
39843         * modules/time (Makefile.am): Likewise.
39844         * modules/unistd (Makefile.am): Likewise.
39845         * modules/wchar (Makefile.am): Likewise.
39846         * modules/wctype (Makefile.am): Likewise.
39847         Reported by Reuben Thomas <rrt@sc3d.org>.
39848
39849 2008-08-29  Bruno Haible  <bruno@clisp.org>
39850
39851         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
39852         any more.
39853
39854 2008-08-29  Simon Josefsson  <simon@josefsson.org>
39855
39856         * MODULES.html.sh (Misc): Add bitrotate.
39857
39858         * modules/bitrotate: New file.
39859
39860         * lib/bitrotate.h: New file.
39861
39862         * modules/bitrotate-tests: New file.
39863
39864         * tests/test-bitrotate.c: New file.
39865
39866         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
39867         on the bitrotate module.
39868
39869         * lib/arctwo.c: Use new bitrotate module.
39870
39871 2008-08-29  Jim Meyering  <meyering@redhat.com>
39872
39873         bootstrap: merge changes from coreutils
39874         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
39875         of copied files.  Remove a kludge, now that this is fixed.
39876         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
39877         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
39878         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
39879
39880 2008-08-29  Bruno Haible  <bruno@clisp.org>
39881
39882         * MODULES.html.sh: Remove --cvs-urls option.
39883
39884 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
39885
39886         maint.mk: adjust to file name change
39887         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
39888
39889 2008-08-28  Jim Meyering  <meyering@redhat.com>
39890
39891         * modules/getndelim2 (License): Relicense to LGPLv2+.
39892         Approved by Richard Stallman for the version of 1995, and by
39893         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
39894
39895 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
39896
39897         * lib/getdelim.c (flockfile, funlockfile): Make all of them
39898         dummy if one is not available.  Do not touch them if
39899         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
39900         (getc_maybe_unlocked): New.
39901         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
39902
39903 2008-08-26  Eric Blake  <ebb9@byu.net>
39904
39905         doc/INSTALL: resync from autoconf
39906         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
39907         (INSTALL_PRELUDE): Delete; this is done more efficiently by
39908         moving...
39909         * install.texi [!autoconf]: ...here.  Resync from autoconf.
39910         * INSTALL: Regenerate.
39911         * INSTALL.ISO: New file.
39912         * INSTALL.UTF-8: Likewise.
39913
39914 2008-08-26  Jim Meyering  <meyering@redhat.com>
39915
39916         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
39917         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
39918         these definitions conditional, so that they may be overridden, too.
39919
39920 2008-08-26  Bruno Haible  <bruno@clisp.org>
39921
39922         Generate INSTALL file variants with prettier quotes.
39923         * doc/Makefile (INSTALL_PRELUDE): New macro.
39924         (INSTALL): Use it.
39925         (INSTALL.ISO, INSTALL.UTF-8): New rules.
39926
39927 2008-08-26  Bruno Haible  <bruno@clisp.org>
39928
39929         Run makeinfo in an English locale.
39930         * doc/Makefile (MAKEINFO): New variable.
39931
39932 2008-08-26  Bruno Haible  <bruno@clisp.org>
39933
39934         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
39935         Suggested by Eric Blake.
39936
39937 2008-08-25  Bruno Haible  <bruno@clisp.org>
39938
39939         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
39940
39941 2008-08-25  Eric Blake  <ebb9@byu.net>
39942
39943         c-stack: test that stack overflow can be caught
39944         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
39945         that platform allows handling stack overflow; at least OS/2 EMX
39946         has sigaltstack, but crashes before transferring control to
39947         handler on stack overflow.
39948         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
39949         check for HAVE_STACK_OVERFLOW_HANDLING.
39950         Reported by Elbert Pol.
39951
39952 2008-08-25  Bruno Haible  <bruno@clisp.org>
39953
39954         * doc/posix-functions/strftime.texi: Fix description of strftime
39955         module.
39956
39957 2008-08-24  Bruno Haible  <bruno@clisp.org>
39958
39959         * tests/uniwidth/test-uc_width2.c: New file.
39960         * tests/uniwidth/test-uc_width2.sh: New file.
39961         * modules/uniwidth/width-tests (Files): Add the new files.
39962         (TESTS): Add uniwidth/test-uc_width2.sh.
39963         (TESTS_ENVIRONMENT): New variable.
39964         (check_PROGRAMS): Add test-uc_width2.
39965         (test_uc_width2_SOURCES): New variable.
39966
39967         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
39968         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
39969         not 0x00AB.
39970         Reported by Alexander V. Lukyanov <lav@netis.ru>.
39971
39972 2008-08-22  Eric Blake  <ebb9@byu.net>
39973
39974         test-lock, test-tls: mention why a test is skipped
39975         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
39976         skipped.
39977         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
39978
39979         count-one-bits: relax license
39980         * modules/count-one-bits (License): Relicense to LGPLv2+.
39981         Suggested by Ludovic Courtès, approved by Ben Pfaff.
39982
39983 2008-08-22  Andreas Schwab  <schwab@suse.de>
39984
39985         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
39986         Remove spurious space in assignment.
39987
39988 2008-08-21  Simon Josefsson  <simon@josefsson.org>
39989
39990         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
39991         Paul Eggert <eggert@CS.UCLA.EDU>.
39992
39993 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
39994
39995         * modules/gettext: Add m4/threadlib.m4.
39996
39997 2008-08-19  Eric Blake  <ebb9@byu.net>
39998
39999         test-c-stack: fix compilation failure on FreeBSD 5.0
40000         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
40001         headers before <sys/resource.h>.
40002         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
40003         the bug.
40004         Reported by Nelson H. F. Beebe.
40005
40006         strverscmp: migrate from "strverscmp.h" to <string.h>
40007         * modules/string (Makefile.am): Add new hooks.
40008         * modules/strverscmp (Files): Remove strverscmp.h.
40009         (Depends-on): Add string.
40010         (configure.ac): Add indicator.
40011         (Include): Mention new header.
40012         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
40013         defaults.
40014         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
40015         results.
40016         * lib/strverscmp.h: Delete.
40017         * lib/string.in.h (strverscmp): Provide declaration, when needed.
40018         * tests/test-strverscmp.c (includes): Adjust client.
40019         * lib/check-version.c (includes): Likewise.
40020         * NEWS: Document the change.
40021
40022         strverscmp: add unit test
40023         * modules/strverscmp-tests: New file.
40024         * tests/test-strverscmp.c: Likewise.
40025
40026 2008-08-19  Simon Josefsson  <simon@josefsson.org>
40027
40028         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
40029         regarding Windows crypto stuff, from Mono.
40030
40031 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
40032
40033         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
40034         if present, for intel RND.  Return error on failures.
40035
40036 2008-08-18  Ben Pfaff  <blp@gnu.org>
40037
40038         gitlog-to-changelog: give better diagnostic for failed pipe-open
40039         * build-aux/gitlog-to-changelog: Improve error message: suggest
40040         that the version of Git may be too old.
40041
40042 2008-08-18  Simon Josefsson  <simon@josefsson.org>
40043
40044         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
40045         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
40046
40047 2008-08-18  Bruno Haible  <bruno@clisp.org>
40048
40049         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
40050         pthread_in_use().
40051
40052 2008-08-18  Bruno Haible  <bruno@clisp.org>
40053
40054         * lib/glthread/threadlib.c: Include <pthread.h>.
40055
40056 2008-08-18  Bruno Haible  <bruno@clisp.org>
40057
40058         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
40059         glthread_recursive_lock_* macros.
40060         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
40061         Fix syntax error.
40062
40063 2008-08-18  Bruno Haible  <bruno@clisp.org>
40064
40065         * lib/glthread/thread.c: Avoid forcing a context switch right after
40066         thread creation.
40067
40068 2008-08-17  Bruno Haible  <bruno@clisp.org>
40069
40070         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
40071         * lib/glthread/thread.h: Provide Win32 specific implementation.
40072         * modules/thread (Files): Add lib/glthread/thread.c.
40073         (Depends-on): Add lock.
40074         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
40075
40076 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40077
40078         New module 'yield'.
40079         * modules/yield: New file.
40080         * lib/glthread/yield.h: New file.
40081         * m4/yield.m4: New file.
40082         * MODULES.html.sh (Multithreading): Add yield.
40083
40084 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40085
40086         New module 'thread'.
40087         * modules/thread: New file.
40088         * lib/glthread/thread.h: New file.
40089         * m4/thread.m4: New file.
40090         * MODULES.html.sh (Multithreading): Add thread.
40091
40092 2008-08-17  Bruno Haible  <bruno@clisp.org>
40093
40094         * lib/glthread/lock.h: Include <stdlib.h> always.
40095         * lib/glthread/tls.h: Likewise.
40096         * lib/glthread/cond.h: Likewise.
40097
40098 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40099
40100         New module 'cond'.
40101         * modules/cond: New file.
40102         * lib/glthread/cond.h: New file.
40103         * lib/glthread/cond.c: New file.
40104         * m4/cond.m4: New file.
40105         * MODULES.html.sh (Multithreading): Add cond.
40106
40107 2008-08-16  Eric Blake  <ebb9@byu.net>
40108
40109         c-stack: fix regression on Irix 5.3 from 2008-06-21
40110         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
40111         sa_sigaction...
40112         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
40113         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
40114         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
40115         * modules/signal (Makefile.am): Use the value.
40116         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
40117         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
40118         * doc/posix-headers/signal.texi (signal.h): Document this
40119         portability issue.
40120         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
40121         Reported by Tom G. Christensen.
40122
40123 2008-08-17  Bruno Haible  <bruno@clisp.org>
40124
40125         New module 'threadlib'.
40126         * modules/threadlib: New file.
40127         * lib/glthread/threadlib.c: New file, extracted from
40128         lib/glthread/lock.c.
40129         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
40130         functions.
40131         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
40132         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
40133         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
40134         macros.
40135         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
40136         (gl_DISABLE_THREADS): Remove macro.
40137         * modules/lock (Files): Remove build-aux/config.rpath.
40138         (Depends-on): Remove havelib. Add threadlib.
40139         (configure.ac-early): Remove section.
40140         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
40141         * modules/tls (Depends-on): Remove lock. Add threadlib.
40142         (Link): New section, copied from threadlib.
40143         * MODULES.html.sh (Multithreading): Add threadlib.
40144
40145 2008-08-14  Bruno Haible  <bruno@clisp.org>
40146
40147         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
40148         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
40149         glthread_rwlock_unlock, glthread_rwlock_destroy,
40150         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
40151         glthread_recursive_lock_destroy): Define as macros always.
40152         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
40153         glthread_lock_lock.
40154         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
40155         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
40156         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
40157         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
40158         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
40159         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
40160         (glthread_recursive_lock_lock_func): Renamed from
40161         glthread_recursive_lock_lock.
40162         (glthread_recursive_lock_unlock_func): Renamed from
40163         glthread_recursive_lock_unlock.
40164         (glthread_recursive_lock_destroy_func): Renamed from
40165         glthread_recursive_lock_destroy.
40166
40167 2008-08-14  Bruno Haible  <bruno@clisp.org>
40168
40169         * lib/glthread/lock.h: Renamed from lib/lock.h.
40170         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
40171         * lib/glthread/tls.h: Renamed from lib/tls.h.
40172         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
40173         * lib/fstrcmp.c: Update includes.
40174         * lib/strsignal.c: Update includes.
40175         * modules/lock (Files, Makefile.am): Update.
40176         (Include): Change to "glthread/lock.h".
40177         * modules/tls (Files, Makefile.am): Update.
40178         (Include): Change to "glthread/tls.h".
40179         * tests/test-lock.c: Update includes.
40180         * tests/test-tls.c: Update includes.
40181         * NEWS: Mention the renamed header files.
40182
40183 2008-08-11  Jim Meyering  <meyering@redhat.com>
40184
40185         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
40186
40187 2008-08-11  Eric Blake  <ebb9@byu.net>
40188
40189         test-c-stack: avoid C99-ism
40190         * tests/test-c-stack.c (main): Fix whitespace, move declaration
40191         before statement.
40192         Reported by Alain Guibert.
40193
40194 2008-08-10  Jim Meyering  <meyering@redhat.com>
40195
40196         ensure that return value of uinttostr et al are not ignored
40197         * lib/inttostr.h (__GNUC_PREREQ): Define.
40198         (__attribute_warn_unused_result__): Define.
40199         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
40200
40201 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
40202
40203         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
40204         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
40205
40206 2008-08-07  Jim Meyering  <meyering@redhat.com>
40207
40208         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
40209
40210         * modules/mkstemp (License): Relicense under LGPLv2+.
40211         * modules/tempname (License): Likewise.
40212
40213 2008-08-06  Bruno Haible  <bruno@clisp.org>
40214
40215         * lib/poll.c (poll): Further micro-optimization.
40216
40217 2008-08-06  Jim Meyering  <meyering@redhat.com>
40218
40219         inet_pton.c: use locale-independent tolower
40220         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
40221         (inet_pton6): Use c_tolower rather than tolower.
40222         * modules/inet_pton (Depends-on): Add c-ctype.
40223
40224 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
40225
40226         * lib/poll.c (poll): Avoid division when timeout is 0, cache
40227         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
40228
40229 2008-08-06  Jim Meyering  <meyering@redhat.com>
40230
40231         * modules/inet_pton (License): Relicense under LGPLv2+.
40232
40233 2008-08-03  Bruno Haible  <bruno@clisp.org>
40234
40235         Additional non-aborting API for lock and tls.
40236         * lib/lock.h: Include <errno.h>.
40237         (glthread_lock_init): New macro/function.
40238         (gl_lock_init): Define as wrapper around glthread_lock_init.
40239         (glthread_lock_lock): New macro/function.
40240         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
40241         (glthread_lock_unlock): New macro/function.
40242         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
40243         (glthread_lock_destroy): New macro/function.
40244         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
40245         (glthread_rwlock_init): New macro/function.
40246         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
40247         (glthread_rwlock_rdlock): New macro/function.
40248         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
40249         (glthread_rwlock_wrlock): New macro/function.
40250         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
40251         (glthread_rwlock_unlock): New macro/function.
40252         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
40253         (glthread_rwlock_destroy): New macro/function.
40254         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
40255         (glthread_recursive_lock_init): New macro/function.
40256         (gl_recursive_lock_init): Define as wrapper around
40257         glthread_recursive_lock_init.
40258         (glthread_recursive_lock_lock): New macro/function.
40259         (gl_recursive_lock_lock): Define as wrapper around
40260         glthread_recursive_lock_lock.
40261         (glthread_recursive_lock_unlock): New macro/function.
40262         (gl_recursive_lock_unlock): Define as wrapper around
40263         glthread_recursive_lock_unlock.
40264         (glthread_recursive_lock_destroy): New macro/function.
40265         (gl_recursive_lock_destroy): Define as wrapper around
40266         glthread_recursive_lock_destroy.
40267         (glthread_once): New macro/function.
40268         (gl_once): Define as wrapper around glthread_once.
40269         Update function declarations.
40270         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
40271         glthread_rwlock_init. Return error code.
40272         (glthread_rwlock_rdlock_multithreaded): Renamed from
40273         glthread_rwlock_rdlock. Return error code.
40274         (glthread_rwlock_wrlock_multithreaded): Renamed from
40275         glthread_rwlock_wrlock. Return error code.
40276         (glthread_rwlock_unlock_multithreaded): Renamed from
40277         glthread_rwlock_unlock. Return error code.
40278         (glthread_rwlock_destroy_multithreaded): Renamed from
40279         glthread_rwlock_destroy. Return error code.
40280         (glthread_recursive_lock_init_multithreaded): Renamed from
40281         glthread_recursive_lock_init. Return error code.
40282         (glthread_recursive_lock_lock_multithreaded): Renamed from
40283         glthread_recursive_lock_lock. Return error code.
40284         (glthread_recursive_lock_unlock_multithreaded): Renamed from
40285         glthread_recursive_lock_unlock. Return error code.
40286         (glthread_recursive_lock_destroy_multithreaded): Renamed from
40287         glthread_recursive_lock_destroy. Return error code.
40288         (glthread_once_call): Make static.
40289         (glthread_once_multithreaded): Renamed from glthread_once.
40290         * lib/tls.h: Include <errno.h>.
40291         (glthread_tls_key_init): New macro/function.
40292         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
40293         (glthread_tls_set): New macro/function.
40294         (gl_tls_set): Define as wrapper around glthread_tls_set.
40295         (glthread_tls_key_destroy): New macro/function.
40296         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
40297         Update function declarations.
40298         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
40299         glthread_tls_get.
40300         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40301
40302 2008-08-04  Eric Blake  <ebb9@byu.net>
40303
40304         gnumakefile: use space, not TAB, outside of targets
40305         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
40306
40307 2008-08-02  Jim Meyering  <meyering@redhat.com>
40308
40309         getdate.y: avoid locale-dependent date parsing failure
40310         In Turkish locales, getdate would fail to recognize keywords
40311         containing a lowercase "i".  The solution is not to rely on
40312         locale-sensitive case-conversion.
40313         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
40314         (lookup_word): Use c_toupper in place of toupper.
40315         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
40316         Reported by Vefa Bicakci <bicave@superonline.com> in
40317         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
40318         * modules/getdate (Depends-on): Add c-ctype.
40319
40320 2008-08-02  Bruno Haible  <bruno@clisp.org>
40321
40322         * gnulib-tool (func_import): When updating or creating a .gitignore
40323         file, prepend each added line with a slash, and ignore leading slashes
40324         from the existing lines.
40325         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
40326
40327 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40328
40329         Portability fix for GNU make 3.79.1.
40330         * top/GNUmakefile: Avoid 'else COND', which older GNU make
40331         versions do not understand.
40332
40333 2008-08-01  Bruno Haible  <bruno@clisp.org>
40334
40335         Work around bug of HP-UX 10.20 cc with -0.0 literal.
40336         * tests/test-isnanf.h (zero): New variable.
40337         (main): Avoid literal -0.0f.
40338         * tests/test-isnand.h (zero): New variable.
40339         (main): Avoid literal -0.0.
40340         * tests/test-isnanl.h (zero): New variable.
40341         (main): Avoid literal -0.0L.
40342         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
40343         (test_float, test_double, test_long_double): Avoid literals -0.0f,
40344         -0.0, -0.0L.
40345         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
40346         (test_signbitd): Avoid literal -0.0.
40347         (test_signbitl): Avoid literal -0.0L.
40348         * tests/test-ceilf1.c (zero): New variable.
40349         (main): Avoid literal -0.0f.
40350         * tests/test-ceill.c (zero): New variable.
40351         (main): Avoid literal -0.0L.
40352         * tests/test-floorf1.c (zero): New variable.
40353         (main): Avoid literal -0.0f.
40354         * tests/test-floorl.c (zero): New variable.
40355         (main): Avoid literal -0.0L.
40356         * tests/test-roundf1.c (zero): New variable.
40357         (main): Avoid literal -0.0f.
40358         * tests/test-round1.c (zero): New variable.
40359         (main): Avoid literal -0.0.
40360         * tests/test-roundl.c (zero): New variable.
40361         (main): Avoid literal -0.0L.
40362         * tests/test-truncf1.c (zero): New variable.
40363         (main): Avoid literal -0.0f.
40364         * tests/test-trunc1.c (zero): New variable.
40365         (main): Avoid literal -0.0.
40366         * tests/test-truncl.c (zero): New variable.
40367         (main): Avoid literal -0.0L.
40368         * tests/test-frexp.c (zero): New variable.
40369         (main): Avoid literal -0.0.
40370         * tests/test-frexpl.c (zero): New variable.
40371         (main): Avoid literal -0.0L.
40372         * tests/test-ldexpl.c (zero): New variable.
40373         (main): Avoid literal -0.0L.
40374         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
40375         (zerod, zerol): New variables.
40376         (test_function): Avoid literals -0.0, -0.0L.
40377         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
40378         (zerod, zerol): New variables.
40379         (test_function): Avoid literals -0.0, -0.0L.
40380         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
40381         (zerod, zerol): New variables.
40382         (test_function): Avoid literals -0.0, -0.0L.
40383         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
40384         (zerod, zerol): New variables.
40385         (test_function): Avoid literals -0.0, -0.0L.
40386         * tests/test-strtod.c (zero): New variable.
40387         (main): Avoid literal -0.0.
40388         Reported by Jonathan C. Patschke <jp@centtech.com>.
40389
40390 2008-07-31  Jim Meyering  <meyering@redhat.com>
40391
40392         sha256.h: correct definition of SHA224_DIGEST_SIZE
40393         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
40394         Reported by Paulie Pena IV <paulie4@gmail.com>.
40395         Define as 224 / 8, rather than as a literal.
40396         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
40397         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
40398         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
40399
40400 2008-07-31  Bruno Haible  <bruno@clisp.org>
40401
40402         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
40403         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
40404         Reported by Jonathan Patschke <jp@centtech.com>.
40405
40406 2008-07-31  Bruno Haible  <bruno@clisp.org>
40407
40408         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
40409         Reported by Paolo Bonzini <bonzini@gnu.org>.
40410
40411 2008-07-30  Eric Blake  <ebb9@byu.net>
40412
40413         test-strtod: allow compilation without -lm
40414         * tests/test-strtod.c (main): Avoid link dependence on fabs.
40415         Reported by Dennis Clarke <blastwave@gmail.com>.
40416
40417 2008-07-28  Jim Meyering  <meyering@redhat.com>
40418
40419         bootstrap: work also when there are no .po files in po/
40420         * build-aux/bootstrap (update_po_files): Complete the change
40421         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
40422
40423 2008-07-27  Jim Meyering  <meyering@redhat.com>
40424
40425         * users.txt: Add zile.
40426
40427 2008-07-26  Ben Pfaff  <blp@gnu.org>
40428
40429         Add missing dependencies on new m4/exponent[fdl].m4 files.
40430         * modules/isnanf-nolibm: Add m4/exponentf.m4.
40431         * modules/isnand-nolibm: Add m4/exponentd.m4.
40432         * modules/isnanl-nolibm: Add m4/exponentl.m4.
40433         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
40434         m4/isnan[fdl].m4, because the macros actually used moved.
40435         Reported by Jim Meyering.
40436
40437 2008-07-14  Ben Pfaff  <blp@gnu.org>
40438
40439         Add isinf module.
40440         * lib/isinf.c: New file.
40441         * lib/math.in.h: Define isinf macro if we have decided to replace
40442         it.
40443         * m4/isinf.m4: New file.
40444         * m4/math_h.m4: Initialize and substitute variables for isinf
40445         module.
40446         * modules/isinf: New file.
40447         * modules/isinf-tests: New file.
40448         * modules/math: Add substitutions for new module.
40449         * tests/test-isinf.c: New file.
40450         * doc/posix-functions/isinf.texi: Mention new module.
40451         * MODULES.html.sh: Mention new module.
40452
40453 2008-07-14  Ben Pfaff  <blp@gnu.org>
40454
40455         Factor out some macros for use by additional modules.
40456         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
40457         exponentf.m4.
40458         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
40459         exponentd.m4.
40460         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
40461         file exponentl.m4.
40462         * m4/exponentf.m4: New file.
40463         * m4/exponentd.m4: New file.
40464         * m4/exponentl.m4: New file.
40465         * modules/isnanf: Use new file m4/exponentf.m4.
40466         * modules/isnand: Use new file m4/exponentd.m4.
40467         * modules/isnanl: Use new file m4/exponentl.m4.
40468
40469 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
40470
40471         mktime.c: normalize tp->tm_isdst value to -1/0/1.
40472         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
40473         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
40474         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
40475
40476         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
40477         readlink on platforms without PATH_MAX.
40478
40479 2008-07-21  Eric Blake  <ebb9@byu.net>
40480
40481         Warn, not fail, on stale version.
40482         * top/GNUmakefile (_curr-ver): Tone down previous patch.
40483
40484         Don't allow installation with stale devel version number.
40485         * top/GNUmakefile (_is-install-target): New macro.
40486         (_curr-ver): Forbid installation with stale version number.
40487
40488 2008-07-20  Bruno Haible  <bruno@clisp.org>
40489
40490         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
40491         TESTS_ENVIRONMENT.
40492         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
40493
40494 2008-07-20  Bruno Haible  <bruno@clisp.org>
40495
40496         * lib/c-stack.h (c_stack_action): Add documentation.
40497         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
40498
40499 2008-07-20  Bruno Haible  <bruno@clisp.org>
40500
40501         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
40502         * modules/readlink (License): Likewise.
40503
40504 2008-07-17  Eric Blake  <ebb9@byu.net>
40505
40506         * modules/c-stack (Link): Fix typo.
40507
40508         Make c-stack use libsigsegv, when available.
40509         * modules/c-stack (Depends-on): Add libsigsegv.
40510         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
40511         needed.
40512         * lib/c-stack.c (SIGSTKSZ): Define fallback.
40513         (segv_handler, overflow_handler, c_stack_action)
40514         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
40515         implementation when libsigsegv is available, but only when using
40516         the library is necessary.
40517         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
40518         comment, explaining why XSI check fails on Linux.
40519         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
40520         * tests/test-c-stack2.sh: Tweak skip message.
40521         * NEWS: Document new link-time requirements.
40522
40523 2008-07-16  Eric Blake  <ebb9@byu.net>
40524
40525         c-stack: Expose false positives when not using libsigsegv.
40526         * modules/c-stack-tests (Files): Expand test.
40527         * tests/test-c-stack.c (main): Add means to conditionally trigger
40528         non-overflow SIGSEGV.
40529         * tests/test-c-stack2.sh: New file.
40530
40531 2008-07-14  Bruno Haible  <bruno@clisp.org>
40532
40533         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
40534         Reported by Eric Blake.
40535
40536 2008-07-14  Sam Steingold  <sds@gnu.org>
40537             Bruno Haible  <bruno@clisp.org>
40538
40539         New module libsigsegv.
40540         * modules/libsigsegv: New file.
40541         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
40542         modifications.
40543         * MODULES.html.sh (Signal handling): New section.
40544
40545 2008-07-14  Bruno Haible  <bruno@clisp.org>
40546
40547         * modules/unictype/ctype-* (Description): Add the word "function".
40548         Improves the resulting doc in MODULES.html.
40549
40550 2008-07-12  Ben Pfaff  <blp@gnu.org>
40551
40552         Add longlong module.
40553         * modules/longlong: New file.
40554
40555 2008-07-12  Bruno Haible  <bruno@clisp.org>
40556
40557         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
40558         to empty.
40559
40560 2008-07-10  Ben Pfaff  <blp@gnu.org>
40561
40562         Add isnan module.
40563         * doc/posix-functions/isnan.texi: Mention new module.
40564         * lib/math.in.h: Define isnan macro if we have decided to replace
40565         it.
40566         * m4/isnan.m4: New file.
40567         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
40568         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
40569         also.
40570         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
40571         redundancy.
40572         * m4/math_h.m4: Initialize and substitute variables for isnan
40573         module.
40574         * modules/isnan: New file.
40575         * modules/isnan-tests: New file.
40576         * modules/math: Add substitutions for new module.
40577         * tests/test-isnan.c: New file.
40578         * MODULES.html.sh: Mention new module.
40579
40580 2008-07-10  Ben Pfaff  <blp@gnu.org>
40581
40582         Add isnanf module.
40583         * lib/isnanf.m4: New file.
40584         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
40585         (gl_HAVE_ISNANF_IN_LIBM): New macro.
40586         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
40587         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
40588         * modules/isnanf: New file.
40589         * modules/isnanf-tests: New file.
40590         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
40591         files.
40592         * tests/test-isnanf-nolibm.c: factored most of its contents into
40593         new file tests/test-isnanf.h.
40594         * tests/test-isnanf.h: New file.
40595         * tests/test-isnanf.c: New file.
40596         * MODULES.html.sh: Mention new module.
40597         * doc/glibc-functions/isnanf.texi: Mention new module.
40598
40599 2008-07-10  Ben Pfaff  <blp@gnu.org>
40600
40601         Add isnand module.
40602         * lib/isnand.h: New file.
40603         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
40604         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
40605         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
40606         functionality also.
40607         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
40608         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
40609         (gl_HAVE_ISNAND_IN_LIBM): New macro.
40610         * modules/isnand: New file.
40611         * modules/isnand-tests: New file.
40612         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
40613         files.
40614         * tests/test-isnand-nolibm.c: factored most of its contents into
40615         new file tests/test-isnand.h.
40616         * tests/test-isnand.h: New file.
40617         * tests/test-isnand.c: New file.
40618         * MODULES.html.sh: Mention new module.
40619
40620 2008-07-10  Ben Pfaff  <blp@gnu.org>
40621
40622         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
40623         * lib/isnand.h: Rename lib/isnand-nolibm.h.
40624         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
40625         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
40626         * modules/isnanf-nolibm: Update references to renamed files.
40627         * modules/isnand-nolibm: Likewise.
40628         * modules/isnanf-nolibm-tests: Likewise.
40629         * modules/isnand-nolibm-tests: Likewise.
40630         * lib/frexp.c: Likewise.
40631         * lib/isfinite.c: Likewise.
40632         * lib/signbitd.c: Likewise.
40633         * lib/signbitf.c: Likewise.
40634         * lib/vasnprintf.c: Likewise.
40635         * tests/test-ceilf1.c: Likewise.
40636         * tests/test-ceilf2.c: Likewise.
40637         * tests/test-floorf1.c: Likewise.
40638         * tests/test-floorf2.c: Likewise.
40639         * tests/test-frexp.c: Likewise.
40640         * tests/test-round1.c: Likewise.
40641         * tests/test-round2.c: Likewise.
40642         * tests/test-roundf1.c: Likewise.
40643         * tests/test-strtod.c: Likewise.
40644         * tests/test-trunc1.c: Likewise.
40645         * tests/test-trunc2.c: Likewise.
40646         * tests/test-truncf1.c: Likewise.
40647         * tests/test-truncf2.c: Likewise.
40648         * NEWS: Mention the renamed header files.
40649
40650 2008-07-11  Jim Meyering  <meyering@redhat.com>
40651
40652         vc-list-files: make the last-resort awk code more portable
40653         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
40654         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
40655         does not support it.
40656
40657 2008-07-10  Eric Blake  <ebb9@byu.net>
40658
40659         Work with tar's bootstrap.
40660         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
40661         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
40662         an m4 comment.
40663
40664 2008-07-09  Jim Meyering  <meyering@redhat.com>
40665
40666         posix-shell.m4: fix typo that made this test malfunction
40667         * m4/posix-shell.m4: Remove capitalization in variable name.
40668
40669 2008-07-08  Bruno Haible  <bruno@clisp.org>
40670
40671         * m4/onceonly.m4: Update comments.
40672         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40673
40674 2008-07-04  Jim Meyering  <meyering@redhat.com>
40675
40676         * users.txt: Add vc-dwim.
40677         (bison, coreutils): Use the gitweb URL.
40678
40679 2008-07-03  Jim Meyering  <meyering@redhat.com>
40680
40681         * users.txt: Add libffcall.  From Sam Steingold.
40682
40683 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
40684
40685         getdate.y: do not ignore TZ with relative day, month or year offset
40686         * lib/getdate.y (get_date): Move the tz-handling block to follow the
40687         relative-date-handling, since otherwise, the latter would clobber the
40688         sole output (an updated Start value) of the tz-handling block.
40689         * tests/test-getdate.c: Tests for the fix
40690
40691 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40692
40693         Recognize 'foo_LIBRARIES += libgnu.a'.
40694         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
40695         makefile snippet has already specified an installation location,
40696         also using '+='.
40697
40698 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
40699
40700         getdate.y: factor out common actions
40701         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
40702         Use them in place of open-coded actions.
40703
40704 2008-07-01  Simon Josefsson  <simon@josefsson.org>
40705
40706         Add self-test for getdate module.
40707         * modules/getdate-tests: New file.
40708         * tests/test-getdate.c: New file.
40709
40710 2008-06-29  Bruno Haible  <bruno@clisp.org>
40711
40712         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
40713         .gitignore.
40714         Reported by Sylvain Beucler <beuc@beuc.net>.
40715
40716 2008-06-29  Bruno Haible  <bruno@clisp.org>
40717
40718         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
40719         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
40720
40721 2008-06-29  Bruno Haible  <bruno@clisp.org>
40722
40723         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
40724         EXTRA_DIST.
40725         Reported by Sylvain Beucler <beuc@beuc.net>.
40726
40727 2008-06-26  Jim Meyering  <meyering@redhat.com>
40728
40729         make several modules depend on the "open" module
40730         This provides slightly increased consistency when opening-for-write
40731         the name of a non-directory spelled with a trailing slash.
40732         * modules/chdir-safer: Likewise.
40733         * modules/chown: Likewise.
40734         * modules/clean-temp: Likewise.
40735         * modules/copy-file: Likewise.
40736         * modules/fchdir: Likewise.
40737         * modules/fcntl-safer: Likewise.
40738         * modules/pipe: Likewise.
40739         * modules/utime: Likewise.
40740         Prompted by Eric Blake and Bruno Haible.
40741
40742 2008-06-24  Andreas Schwab  <schwab@suse.de>
40743
40744         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
40745         literals can be used as initializers for global variables.
40746
40747 2008-06-23  Eric Blake  <ebb9@byu.net>
40748
40749         Make gnulib-cache.m4 easier to diff.
40750         * gnulib-tool (func_import): Allow newlines when reading cached
40751         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
40752
40753 2008-06-23  Bruno Haible  <bruno@clisp.org>
40754
40755         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
40756         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
40757         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
40758         m4/signalblocking.m4.
40759         (gl_PREREQ_SIGACTION): Don't invoke it.
40760         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
40761         gl_PREREQ_SIG_HANDLER_H.
40762         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
40763         Don't check for sigaction here.
40764
40765 2008-06-23  Bruno Haible  <bruno@clisp.org>
40766
40767         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
40768         (install_handlers): Don't set the SA_RESETHAND flag.
40769
40770 2008-06-23  Bruno Haible  <bruno@clisp.org>
40771
40772         * m4/sigaction.m4: Comment fixes.
40773         * lib/signal.in.h: Likewise.
40774
40775 2008-06-23  Eric Blake  <ebb9@byu.net>
40776
40777         Fix typo.
40778         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
40779
40780         Avoid SA_ namespace.
40781         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
40782         Reported by Ralf Wildenhues.
40783
40784         Avoid test failure due to SA_RESTORER.
40785         * tests/test-sigaction.c (SA_MASK): New macro.
40786         (main): Avoid failing due to extension flags being set.
40787         Reported by Jim Meyering.
40788
40789         Revert use of sig-handler.h in sigprocmask.c.
40790         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
40791         it requires the existence of struct sigaction.
40792         * lib/sigprocmask.c (handler_t): Restore typedef.
40793         (rpl_signal, old_handlers): Use local type.
40794
40795 2008-06-22  Bruno Haible  <bruno@clisp.org>
40796
40797         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
40798         conditionally.
40799         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40800
40801 2008-06-22  Bruno Haible  <bruno@clisp.org>
40802
40803         * doc/posix-functions/siginterrupt.texi: Move note.
40804
40805         * lib/signal.in.h (SA_RESTART): New macro.
40806         * lib/sigaction.c: Update comment.
40807
40808         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
40809
40810         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
40811         (gl_PREREQ_SIGPROCMASK): Invoke it.
40812         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
40813
40814         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
40815
40816         * lib/sigprocmask.c: Update a comment.
40817
40818 2008-06-21  Eric Blake  <ebb9@byu.net>
40819
40820         Use sigaction module rather than signal().
40821         * modules/c-stack (Depends-on): Add sigaction.
40822         * modules/fatal-signal (Depends-on): Likewise.
40823         * modules/nanosleep (Depends-on): Likewise.
40824         * modules/sigprocmask (Files): Add sig-handler.h.
40825         * modules/sigaction (Files): Likewise.
40826         * lib/sig-handler.h (get_handler): New file, suggested by Paul
40827         Eggert.
40828         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
40829         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
40830         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
40831         (init_fatal_signals): Likewise.
40832         * lib/nanosleep.c (rpl_nanosleep): Likewise.
40833         (siginterrupt): Delete fallback.
40834         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
40835         instead.
40836         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
40837         siginterrupt.
40838
40839         New module sigaction, for mingw.
40840         * modules/sigaction: New module...
40841         * modules/sigaction-tests: ...and its test.
40842         * m4/sigaction.m4: New file.
40843         * lib/sigaction.c: Likewise.
40844         * tests/test-sigaction.c: Likewise.
40845         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
40846         * modules/signal (Makefile.am): Likewise.
40847         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
40848         needed.
40849         * doc/posix-headers/signal.texi (signal.h): Mention provided
40850         types.
40851         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
40852         that sigaction is preferable.
40853         * doc/posix-functions/sigaction.texi (sigaction): Mention new
40854         module.
40855         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40856         sigaction.
40857
40858         Improve robustness of sigprocmask by overriding signal.
40859         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
40860         is in use.
40861         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
40862         (SIGKILL, SIGSTOP): Provide fallbacks.
40863         (rpl_signal): Implement.
40864         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
40865         signal can be called inside handlers.
40866
40867         Fix nanosleep module on mingw.
40868         * modules/nanosleep (Depends-on): Add sys_select.
40869         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
40870
40871         Fix licensing of sigprocmask.
40872         * modules/raise (License): Relicense as LGPL.
40873
40874 2008-06-21  Bruno Haible  <bruno@clisp.org>
40875
40876         * lib/propername.c (proper_name_utf8): Don't use the transliterated
40877         result if it contains question marks.
40878         Reported by Michael Geng <linux@michaelgeng.de>.
40879
40880 2008-06-19  Bruno Haible  <bruno@clisp.org>
40881
40882         Fix CVS-ism.
40883         * doc/gnulib.texi: Include updated-stamp.texi.
40884         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
40885         (updated-stamp.texi): New rule.
40886         (gnulib.info): Depend on it.
40887         * doc/.gitignore: Add updated-stamp.texi.
40888         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
40889
40890 2008-06-19  Bruno Haible  <bruno@clisp.org>
40891
40892         * doc/Makefile (gnulib.info): Update and simplify dependencies.
40893         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40894
40895 2008-06-19  Eric Blake  <ebb9@byu.net>
40896
40897         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
40898         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
40899         Reported by Stepan Kasal.
40900
40901 2008-06-18  Bruno Haible  <bruno@clisp.org>
40902
40903         * lib/fatal-signal.c (init_fatal_signals): Add comment.
40904         Reported by Eric Blake.
40905
40906 2008-06-18  Eric Blake  <ebb9@byu.net>
40907
40908         Work around cygwin 1.5.25 strsignal bug.
40909         * tests/test-strsignal.c: Allow for const char *.
40910         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
40911
40912 2008-06-18  Simon Josefsson  <simon@josefsson.org>
40913
40914         * users.txt: Update URL to article and add author/date
40915         information.
40916
40917 2008-06-17  Bruno Haible  <bruno@clisp.org>
40918
40919         New macro gl_DISABLE_THREADS.
40920         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
40921         if the user did not pass --enable-threads or --disable-threads option.
40922         (gl_DISABLE_THREADS): New macro.
40923         Reported by Eric Blake <ebb9@byu.net>.
40924
40925 2008-06-17  Bruno Haible  <bruno@clisp.org>
40926
40927         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
40928         when the macro ignores it.
40929         Based on a patch by Eric Blake <ebb9@byu.net>.
40930
40931 2008-06-17  Bruno Haible  <bruno@clisp.org>
40932
40933         * modules/tls (License): Change to LGPLv2+.
40934         Reported by Eric Blake.
40935
40936 2008-06-17  Eric Blake  <ebb9@byu.net>
40937
40938         Simplify c-stack prerequisites.
40939         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
40940         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
40941         no longer requires <ucontext.h> to exist.  Optimize setrlimit
40942         check.
40943         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
40944         <sys/resource.h>.
40945
40946         Move c-stack test into testsuite.
40947         * modules/c-stack-tests: New file.
40948         * lib/c-stack.c [DEBUG]: Move test program...
40949         * tests/test-c-stack.c: ...into this new file.  Skip rather than
40950         fail test if sigaltstack is lacking.
40951         * tests/test-c-stack.sh: New driver file.
40952
40953 2008-06-16  Eric Blake  <ebb9@byu.net>
40954
40955         Use raise module consistently.
40956         * modules/fatal-signal (Depends-on): Add raise.
40957         * modules/sigprocmask (Depends-on): Likewise.
40958         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
40959         * lib/sigprocmask.c (sigprocmask): Likewise.
40960         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
40961         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
40962
40963         Fix compliance bug in sigpending.
40964         * lib/sigprocmask.c (sigpending): Return pending array via
40965         parameter, not return value.
40966
40967 2008-06-14  Eric Blake  <ebb9@byu.net>
40968
40969         Improve obstack-printf test code.
40970         * tests/test-obstack-printf.c (test_function): Fix comment, and
40971         simplify usage of obstack_* in macros.  Add a test for coverage.
40972         Reported by Bruno Haible.
40973
40974 2008-06-14  Bruno Haible  <bruno@clisp.org>
40975
40976         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
40977         array size as a constant, not as a const variable.
40978         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
40979         AC_USE_SYSTEM_EXTENSIONS.
40980         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40981         Test whether the obstack_printf function actually exists.
40982         * modules/obstack-printf (Depends-on): Add extensions.
40983         (Include): Remove obstack.h.
40984         * modules/obstack-printf-posix (Depends-on): Add extensions.
40985         (Include): Remove obstack.h.
40986
40987 2008-06-13  Eric Blake  <ebb9@byu.net>
40988
40989         Add obstack-printf and obstack-printf-posix modules.
40990         * modules/obstack-printf: New file.
40991         * modules/obstack-printf-posix: Likewise.
40992         * MODULES.html.sh (Misc): Mention them.
40993         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
40994         Likewise.
40995         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
40996         Likewise.
40997         * modules/stdio (Makefile.am): Accomodate new modules.
40998         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40999         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
41000         Declare.
41001         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
41002         functions.
41003         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
41004         (gl_REPLACE_OBSTACK_PRINTF): New macros
41005         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
41006         * tests/test-obstack-printf.c: New file.
41007         * modules/obstack-printf-tests: Likewise.
41008         * modules/obstack-printf-posix-tests: Likewise.
41009
41010 2008-06-11  Bruno Haible  <bruno@clisp.org>
41011
41012         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
41013         * lib/open.c: Include errno.h.
41014         (open): Fail when attempting to write to a file that has a trailing
41015         slash.
41016         * tests/test-open.c (main): Test against trailing slash bug.
41017         * doc/posix-functions/open.texi: Mention the trailing slash bug.
41018
41019 2008-06-10  Bruno Haible  <bruno@clisp.org>
41020
41021         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
41022         for $? to work inside the trap command, with various /bin/sh-s.
41023         * tests/test-vc-list-files-cvs.sh: Likewise.
41024
41025 2008-06-10  Bruno Haible  <bruno@clisp.org>
41026
41027         * lib/acl-internal.h: Don't include gettext.h here.
41028         * lib/set-mode-acl.c: Include gettext.h here.
41029         * lib/copy-acl.c: Likewise.
41030
41031 2008-06-10  Bruno Haible  <bruno@clisp.org>
41032
41033         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
41034         * lib/wait-process.c (wait_subprocess): Likewise.
41035         * lib/execute.h (execute): Add termsigp argument.
41036         * lib/execute.c (execute): Likewise.
41037         * lib/csharpcomp.c (compile_csharp_using_pnet,
41038         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
41039         * lib/csharpexec.c (execute_csharp_using_pnet,
41040         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
41041         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
41042         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
41043         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
41044         is_jikes_present): Update.
41045         * lib/javaexec.c (execute_java_class): Update.
41046         * lib/javaversion.c (execute_and_read_line): Update.
41047         * NEWS: Document the changes.
41048         Reported by Eric Blake.
41049
41050 2008-06-10  Eric Blake  <ebb9@byu.net>
41051
41052         Add missing include.
41053         * tests/test-strstr.c (includes): Add <signal.h>.
41054         * tests/test-strcasestr.c (includes): Likewise.
41055         * tests/test-memmem.c (includes): Likewise.
41056
41057 2008-06-10  Bruno Haible  <bruno@clisp.org>
41058
41059         * lib/wait-process.c (wait_subprocess): Add an assertion.
41060
41061 2008-06-10  Bruno Haible  <bruno@clisp.org>
41062
41063         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
41064
41065 2008-06-10  Bruno Haible  <bruno@clisp.org>
41066
41067         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
41068         using alarm().
41069         * tests/test-strcasestr.c (main): Likewise.
41070         * tests/test-strstr.c (main): Likewise.
41071
41072 2008-06-09  Bruno Haible  <bruno@clisp.org>
41073
41074         Work around the Solaris 10 ACE ACLs ABI change.
41075         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
41076         declare if ACL_NO_TRIVIAL is present.
41077         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
41078         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
41079         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
41080         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
41081         define if ACL_NO_TRIVIAL is present.
41082         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
41083         and use the current ABI.
41084         (file_has_acl): Use same #if condition as elsewhere.
41085         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
41086         in use, and use the current ABI.
41087         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
41088         Reported by Jim Meyering.
41089
41090 2008-06-09  Eric Blake  <ebb9@byu.net>
41091
41092         Work around environments that (stupidly) ignore SIGALRM.
41093         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
41094         before using alarm().
41095         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41096         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41097         Reported by Ian Beckwith <ianb@erislabs.net>.
41098
41099         Produce autobuild blurb earlier in log.
41100         * modules/autobuild (configure.ac-early): Move AB_INIT here.
41101
41102 2008-06-09  Jim Meyering  <meyering@redhat.com>
41103         and OndÅ™ej Vašík  <ovasik@redhat.com>
41104
41105         utimens.c: correct kernel bug work-around
41106         OndÅ™ej Vašík found that the invalid return value of 280 indicates
41107         failure, not success, and the kernel bug we're trying to work
41108         around affects not just the utimensat call, but also the fallback
41109         futimens call.
41110         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
41111         not success.
41112         [HAVE_FUTIMENS]: Use the same work-around, here.
41113
41114 2008-06-09  Jim Meyering  <meyering@redhat.com>
41115
41116         add more guards around definition of ACE_-related code
41117         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
41118         ALLOW and ACE_OWNER are also defined.
41119
41120 2008-06-08  Bruno Haible  <bruno@clisp.org>
41121
41122         * lib/acl-internal.h: Add me as co-author.
41123         * lib/file-has-acl.c: Likewise.
41124         * lib/set-mode-acl.c: Likewise.
41125         * lib/copy-acl.c: Likewise.
41126
41127 2008-06-08  Bruno Haible  <bruno@clisp.org>
41128
41129         Add support for AIX ACLs.
41130         * lib/acl-internal.h (acl_nontrivial): New declaration.
41131         * lib/file-has-acl.c (acl_nontrivial): New function.
41132         (file_has_acl): Add implementation using AIX 4 ACL API.
41133         * lib/set-mode-acl.c (qset_acl): Likewise.
41134         * lib/copy-acl.c (qcopy_acl): Likewise.
41135
41136 2008-06-08  Bruno Haible  <bruno@clisp.org>
41137
41138         Add support for HP-UX ACLs.
41139         * lib/acl-internal.h (acl_nontrivial): New declaration.
41140         * lib/file-has-acl.c (acl_nontrivial): New function.
41141         (file_has_acl): Add implementation using HP-UX 11 ACL API.
41142         * lib/set-mode-acl.c (qset_acl): Likewise.
41143         * lib/copy-acl.c (qcopy_acl): Likewise.
41144
41145 2008-06-08  Bruno Haible  <bruno@clisp.org>
41146
41147         Add support for Cygwin ACLs.
41148         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
41149         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
41150         the chmod_or_fchmod call.
41151         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
41152
41153 2008-06-08  Bruno Haible  <bruno@clisp.org>
41154
41155         Fix bug with setuid modes in Solaris 10+ code.
41156         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
41157         succeeded, when the mode contains some special bits.
41158
41159 2008-06-08  Bruno Haible  <bruno@clisp.org>
41160
41161         Add support for Solaris 7..10 ACLs.
41162         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
41163         declarations.
41164         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
41165         functions.
41166         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
41167         * lib/set-mode-acl.c (qset_acl): Likewise.
41168         * lib/copy-acl.c (qcopy_acl): Likewise.
41169
41170 2008-06-08  Bruno Haible  <bruno@clisp.org>
41171
41172         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
41173         declaration.
41174         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
41175         (acl_access_nontrivial): Remove MacOS X case.
41176         (file_has_acl): Use acl_extended_nontrivial.
41177         * lib/copy-acl.c (qcopy_acl): Likewise.
41178
41179 2008-06-08  Bruno Haible  <bruno@clisp.org>
41180
41181         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
41182
41183 2008-06-08  Jim Meyering  <meyering@redhat.com>
41184
41185         * modules/acl (Maintainer): Add Bruno Haible.
41186
41187 2008-06-07  Bruno Haible  <bruno@clisp.org>
41188
41189         Improve support for Tru64 ACLs.
41190         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
41191         ACL on OSF/1.
41192
41193 2008-06-07  Bruno Haible  <bruno@clisp.org>
41194
41195         Add support for MacOS X ACLs.
41196         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
41197         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
41198         * lib/set-mode-acl.c (qset_acl): Likewise.
41199         * lib/copy-acl.c (qcopy_acl): Likewise.
41200
41201 2008-06-07  Bruno Haible  <bruno@clisp.org>
41202
41203         Fix memory leak introduced on 2008-05-22.
41204         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
41205         use.
41206
41207 2008-06-07  Bruno Haible  <bruno@clisp.org>
41208
41209         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
41210         to construct an empty ACL.
41211
41212 2008-06-07  Bruno Haible  <bruno@clisp.org>
41213
41214         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
41215         precisely.
41216         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
41217
41218 2008-06-07  Bruno Haible  <bruno@clisp.org>
41219
41220         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
41221         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
41222
41223 2008-06-07  Bruno Haible  <bruno@clisp.org>
41224
41225         * doc/posix-functions/_setjmp.texi: Explain the use of this function
41226         regardless of POSIX.
41227         * doc/posix-functions/_longjmp.texi: Likewise.
41228         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
41229         SystemV platform in this case.
41230
41231 2008-06-06  Eric Blake  <ebb9@byu.net>
41232
41233         Document abort() bugs.
41234         * doc/posix-functions/abort.texi (abort): Mention anomalies.
41235
41236         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
41237         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
41238         sigsetjmp.
41239         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
41240         siglongjmp, but only as a macro.
41241         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
41242         is obsolete.
41243         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
41244
41245         Tweak documentation to cover cygwin argz bugs.
41246         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
41247         argz bug fix; no code change needed since no cygwin releases
41248         occurred between the last fix and the bug being tested.
41249         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
41250         module and recently fixed cygwin bugs.
41251         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
41252         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
41253         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
41254         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
41255         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
41256         Likewise.
41257         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
41258         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
41259         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
41260         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
41261         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
41262         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
41263         Likewise.
41264
41265         Avoid gcc warning on cygwin.
41266         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
41267         !ACL_NO_TRIVIAL]: Avoid unused variable.
41268
41269 2008-06-05  Eric Blake  <ebb9@byu.net>
41270
41271         Be tolerant of UNKNOWN version in gnulib-tool test dir.
41272         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
41273         git-version-gen fails to come up with a version.
41274         Reported by Simon Josefsson.
41275
41276 2008-06-05  Jim Meyering  <meyering@redhat.com>
41277             Paul Eggert  <eggert@cs.ucla.edu>
41278
41279         utimens.c: work around a probable Linux kernel bug
41280         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
41281         appears to be a kernel bug that causes utimensat to return 280
41282         instead of 0, indicating success.
41283
41284 2008-06-04  Bruno Haible  <bruno@clisp.org>
41285
41286         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
41287         2008-06-01 commit.
41288
41289 2008-06-04  Bruno Haible  <bruno@clisp.org>
41290
41291         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
41292         * lib/file-has-acl.c (acl_access_nontrivial): New function.
41293         (file_has_acl): Use it. Save errno afterwards.
41294         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
41295
41296 2008-06-03  Bruno Haible  <bruno@clisp.org>
41297
41298         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
41299         draft code. Simplify #ifs.
41300         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
41301         Put Solaris code after POSIX-draft code. Fix comments regarding
41302         Solaris 10, HP-UX. Mention Cygwin.
41303         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
41304
41305 2008-06-03  Eric Blake  <ebb9@byu.net>
41306
41307         Provide fallback for older kernels.
41308         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
41309         Provide runtime fallback if kernel lacks support.
41310         Reported by Mike Frysinger.
41311
41312 2008-06-02  Bruno Haible  <bruno@clisp.org>
41313
41314         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
41315         it exists.
41316
41317 2008-06-02  Bruno Haible  <bruno@clisp.org>
41318
41319         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
41320         * lib/copy-acl.c (qcopy_acl): Update comment.
41321
41322 2008-06-02  Bruno Haible  <bruno@clisp.org>
41323
41324         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
41325         like ACL APIs.
41326
41327 2008-06-02  Bruno Haible  <bruno@clisp.org>
41328
41329         * tests/test-file-has-acl.sh: Use different code for Cygwin.
41330         * tests/test-set-mode-acl.sh: Likewise.
41331         * tests/test-copy-acl.sh: Likewise.
41332         * tests/test-copy-file.sh: Likewise.
41333
41334 2008-06-02  Bruno Haible  <bruno@clisp.org>
41335
41336         * tests/test-file-has-acl.sh: Remove unused code.
41337
41338 2008-06-01  Bruno Haible  <bruno@clisp.org>
41339
41340         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
41341         (copy_acl): Just a wrapper around qcopy_acl that emits the error
41342         messages.
41343         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
41344
41345 2008-06-01  Bruno Haible  <bruno@clisp.org>
41346
41347         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
41348         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
41349         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
41350         APIs.
41351         * modules/acl-tests (configure.ac): Remove tests now contained in
41352         m4/acl.m4.
41353
41354 2008-06-02  Jim Meyering  <meyering@redhat.com>
41355
41356         announce-gen: use a better key-server host name
41357         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
41358         it may be more consistently reliable.  Suggested by Werner Koch
41359         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
41360
41361 2008-06-01  Bruno Haible  <bruno@clisp.org>
41362
41363         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
41364         Reported by Voroskoi Andras <voroskoi@gmail.com>.
41365
41366 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
41367
41368         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
41369
41370 2008-06-01  Bruno Haible  <bruno@clisp.org>
41371
41372         New ACL tests.
41373         * tests/test-file-has-acl.sh: New file.
41374         * tests/test-file-has-acl.c: New file.
41375         * tests/test-set-mode-acl.sh: New file.
41376         * tests/test-set-mode-acl.c: New file.
41377         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
41378         * tests/test-copy-acl.c: New file.
41379         * modules/acl-tests: New file, based on modules/copy-file-tests.
41380         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
41381         (Depends-on): Add acl-tests.
41382         (configure.ac): Remove checks.
41383         (Makefile.am): Don't create test-sameacls program here any more.
41384
41385 2008-06-01  Bruno Haible  <bruno@clisp.org>
41386
41387         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
41388         * tests/test-sameacls.c: Include progname.h.
41389         (main): Invoke set_program_name. Portability fixes for MacOS X,
41390         Solaris, HP-UX.
41391
41392 2008-06-01  Bruno Haible  <bruno@clisp.org>
41393
41394         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
41395         function.
41396         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
41397
41398 2008-06-01  Bruno Haible  <bruno@clisp.org>
41399
41400         * modules/rpmatch (Depends-on): Add strdup.
41401
41402 2008-06-01  Bruno Haible  <bruno@clisp.org>
41403
41404         * lib/pipe.c: Include unistd-safer.h.
41405         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
41406         * modules/pipe (Depends-on): Add unistd-safer.
41407
41408 2008-05-30  Simon Josefsson  <simon@josefsson.org>
41409
41410         * modules/autobuild (configure.ac): Call AB_INIT.
41411
41412 2008-05-30  Simon Josefsson  <simon@josefsson.org>
41413
41414         * tests/test-getaddrinfo.c: Don't print debug messages by default.
41415         Suggested by Bruno Haible <bruno@clisp.org>.
41416
41417 2008-05-30  Simon Josefsson  <simon@josefsson.org>
41418
41419         * tests/test-base64.c: Cast size_t to unsigned long when invoking
41420         printf.  Use %lu instead of %d.  Reported by Bruno Haible
41421         <bruno@clisp.org>.
41422
41423 2008-05-29  Eric Blake  <ebb9@byu.net>
41424
41425         Prefer new POSIX 200x interfaces over futimesat.
41426         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
41427         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
41428         when available.
41429         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
41430
41431 2008-05-28  Bruno Haible  <bruno@clisp.org>
41432
41433         * modules/stpcpy (License): Change to LGPLv2+.
41434         Requested by David Lutterkort <dlutter@redhat.com>.
41435
41436 2008-05-27  Bruno Haible  <bruno@clisp.org>
41437
41438         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
41439         current mingw.
41440         Reported by Jose E. Marchesi <jemarch@gnu.org>.
41441
41442 2008-05-27  Bruno Haible  <bruno@clisp.org>
41443
41444         * modules/iconv_open (Link): New section, from module 'iconv'.
41445         * modules/striconv (Link): Likewise.
41446         * modules/striconveh (Link): Likewise.
41447         * modules/xstriconv (Link): Likewise.
41448         * modules/unicodeio (Link): Likewise.
41449         * modules/propername (Link): Likewise.
41450         Reported by Jim Meyering.
41451
41452 2008-05-26  Jim Meyering  <meyering@redhat.com>
41453
41454         sha256: do not artificially restrict buffer length to be < 2^32
41455         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
41456         uint32_t to size_t.
41457         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
41458         to match.
41459
41460         avoid unaligned access errors, e.g., on sparc
41461         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
41462         direct access through a possibly-unaligned uint64* pointer.
41463         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
41464         direct access through a possibly-unaligned uint32* pointer.
41465         Prompted by this patch from Tom "spot" Callaway:
41466         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
41467
41468         sha512.c: fix typo in comment
41469         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
41470
41471 2008-05-25  Bruno Haible  <bruno@clisp.org>
41472
41473         * lib/set-mode-acl.c: Renamed from lib/acl.c.
41474         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
41475         (Makefile.am): Update lib_SOURCES.
41476
41477 2008-05-25  Bruno Haible  <bruno@clisp.org>
41478
41479         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
41480
41481 2008-05-25  Jim Meyering  <meyering@redhat.com>
41482
41483         useless-if-before-free: freed expr may have white-space differences
41484         * build-aux/useless-if-before-free: Recognize cases in which the
41485         freed expression differs from the tested one in embedded white
41486         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
41487         $1 was used, so we can't make any regexp shy.  Improved tests now
41488         detect this.
41489
41490         useless-if-before-free: accept white space in the expression.
41491         * build-aux/useless-if-before-free: For now, any white space
41492         in the expression must be identical in the free argument.
41493
41494         useless-if-before-free: efficiency tweak
41495         * build-aux/useless-if-before-free: Make the expression-matching
41496         regexp "shy".
41497         Make the *outer* regexp shy, not the expr-matching one.
41498
41499         update code-in-comment to accept cast of free arg
41500         * build-aux/useless-if-before-free: Update regexp.
41501
41502 2008-05-25  Bruno Haible  <bruno@clisp.org>
41503
41504         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
41505         * modules/copy-file-tests (Files, Makefile.am): Update.
41506         * tests/test-copy-file.c (func_test_copy): Update.
41507
41508 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
41509
41510         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
41511
41512 2008-05-23  Bruno Haible  <bruno@clisp.org>
41513
41514         Improve support for ACLs on OSF/1.
41515         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
41516         Remove fallback for unknown flavors of ACLs.
41517
41518 2008-05-22  Bruno Haible  <bruno@clisp.org>
41519
41520         Add support for ACLs on OSF/1.
41521         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
41522         replacements.
41523         (acl_free_text): New macro fallback.
41524         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
41525         acl_free.
41526         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
41527         acl_free_text function. Require AC_C_INLINE.
41528
41529 2008-05-22  Bruno Haible  <bruno@clisp.org>
41530
41531         Make copy_acl work on MacOS X 10.5.
41532         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
41533         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
41534         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
41535         If MODE_INSIDE_ACL, don't assume that every system has the same text
41536         representation for ACLs as FreeBSD.
41537         * lib/copy-acl.c (copy_acl): Add support for platforms with
41538         !MODE_INSIDE_ACL.
41539         * lib/file-has-acl.c (file_has_acl): Likewise.
41540         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
41541         FreeBSD, MacOS X, or IRIX, respectively.
41542
41543 2008-05-22  Bruno Haible  <bruno@clisp.org>
41544
41545         * lib/acl.h: Don't include <sys/acl.h>.
41546         (GETACLCNT): Move fallback to lib/acl-internal.h.
41547         * lib/acl-internal.h: Include <sys/acl.h> here.
41548         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
41549
41550 2008-05-22  Bruno Haible  <bruno@clisp.org>
41551
41552         Split off copy_acl function to separate file.
41553         * lib/copy-acl.c: New file, extracted from lib/acl.c.
41554         * lib/acl.c (copy_acl): Moved function to separate file.
41555         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
41556         * modules/acl (Files): Add lib/copy-acl.c.
41557         (Makefiles.am): Augment lib_SOURCES.
41558
41559 2008-05-22  Bruno Haible  <bruno@clisp.org>
41560
41561         * modules/copy-file-tests: New file.
41562         * tests/test-copy-file.sh: New file.
41563         * tests/test-copy-file.c: New file.
41564         * tests/test-copy-file-sameacls.c: New file.
41565
41566 2008-05-22  Eric Blake  <ebb9@byu.net>
41567
41568         Avoid gcc warning.
41569         * tests/test-memcmp.c (main): Pass NULL indirectly.
41570
41571 2008-05-21  Bruno Haible  <bruno@clisp.org>
41572
41573         Add reference doc about ACLs.
41574         * doc/acl-resources.txt: New file.
41575         * doc/acl-cygwin.txt: New file.
41576
41577 2008-05-21  Bruno Haible  <bruno@clisp.org>
41578
41579         Avoid one more warning from gcc.
41580         * lib/vasnprintf.c (IF_LINT): Update comments.
41581         (VASNPRINTF): Use it also for the 'prefix' array initializer.
41582
41583 2008-05-21  Jim Meyering  <meyering@redhat.com>
41584
41585         avoid a warning from gcc
41586         * lib/vasnprintf.c (IF_LINT): Define.
41587         (scale10_round_decimal_long_double):
41588         Use it to avoid a "may be used uninitialized" warning.
41589         (scale10_round_decimal_double): Likewise.
41590
41591 2008-05-21  Simon Josefsson  <simon@josefsson.org>
41592
41593         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
41594         declared.
41595
41596 2008-05-20  Bruno Haible  <bruno@clisp.org>
41597
41598         * tests/test-memcmp.c (main): Test also the sign of the result. Test
41599         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
41600
41601 2008-05-20  Simon Josefsson  <simon@josefsson.org>
41602
41603         * modules/memcmp-tests: New file.
41604         * tests/test-memcmp.c: New file.
41605
41606 2008-05-19  Bruno Haible  <bruno@clisp.org>
41607
41608         * modules/propername (Notice, configure.ac): Put quoted "..." into
41609         --keyword option.
41610         * lib/propername.h: Update comments accordingly.
41611         Reported by Eric Blake.
41612
41613 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
41614
41615         * modules/getpass-gnu (Depends-on): Add fseeko.
41616
41617 2008-05-19  Simon Josefsson  <simon@josefsson.org>
41618
41619         * modules/base64-tests: New file.
41620
41621 2008-05-19  Bo Borgerson <gigabo@gmail.com>
41622
41623         * lib/base64.c (base64_decode_ctx): If a decode context structure
41624         was passed in use it to ignore newlines.  If a context structure
41625         was _not_ passed in, continue to treat newlines as garbage (this
41626         is the historical behavior).  Formerly base64_decode.
41627         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
41628         takes a decode context structure.
41629         * lib/base64.h (base64_decode): Macro for four-argument calls.
41630         (base64_decode_alloc): Likewise.
41631         * lib/base64.c (base64_decode_ctx): If a decode context structure
41632         was passed in use it to ignore newlines.  If a context structure
41633         was _not_ passed in, continue to treat newlines as garbage (this
41634         is the historical behavior).  Formerly base64_decode.
41635         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
41636         takes a decode context structure.
41637         * lib/base64.h (base64_decode): Macro for four-argument calls.
41638         (base64_decode_alloc): Likewise.
41639
41640 2008-05-19  Jim Meyering  <meyering@redhat.com>
41641
41642         avoid a warning from gcc
41643         * lib/trim.c (IF_LINT): Define.
41644         (trim2): Use it to avoid a "may be used uninitialized" warning.
41645
41646         Fix doc typo.
41647         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
41648
41649 2008-05-19  Bruno Haible  <bruno@clisp.org>
41650
41651         * doc/glibc-functions/getpass.texi: Document limits of other
41652         implementations.
41653
41654 2008-05-19  Simon Josefsson  <simon@josefsson.org>
41655             Bruno Haible <bruno@clisp.org>
41656
41657         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
41658
41659 2008-05-18  Bruno Haible  <bruno@clisp.org>
41660
41661         * modules/propername: New file, from GNU gettext.
41662         * lib/propername.h: New file, from GNU gettext.
41663         * lib/propername.c: New file, from GNU gettext.
41664         * MODULES.html.sh (Internationalization functions): Add propername.
41665
41666 2008-05-16  Jim Meyering  <meyering@redhat.com>
41667             Bruno Haible  <bruno@clisp.org>
41668
41669         Avoid some warnings from "gcc -Wshadow".
41670         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
41671
41672 2008-05-15  Eric Blake  <ebb9@byu.net>
41673
41674         Extend previous patch to cygwin 1.7.0.
41675         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
41676         fast implementation in cygwin >= 1.7.0.
41677         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41678         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41679
41680 2008-05-15  Bruno Haible  <bruno@clisp.org>
41681
41682         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
41683         implementation in glibc >= 2.9.
41684         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41685         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41686
41687 2008-05-15  Bruno Haible  <bruno@clisp.org>
41688
41689         * MODULES.html.sh (Internationalization functions): Remove linebreak.
41690         (Unicode string functions): Add unilbrk/*.
41691         Reported by Karl Berry.
41692
41693 2008-05-15  Eric Blake  <ebb9@byu.net>
41694
41695         Fix violation of <stdbool.h> replacement in regex.
41696         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
41697         * lib/regexec.c (re_search_internal): Likewise.
41698         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
41699
41700 2008-05-15  Jim Meyering  <meyering@redhat.com>
41701
41702         avoid distracting test output when git or cvs is not found
41703         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
41704         * tests/test-vc-list-files-git.sh: Likewise.
41705
41706 2008-05-15  Eric Blake  <ebb9@byu.net>
41707
41708         Glibc finally accepted the memmem speedup code, bugzilla #5514.
41709         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
41710         glibc version.
41711         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
41712         * doc/posix-functions/strstr.texi (strstr): Likewise.
41713         * lib/str-two-way.h (MAX): Sychronize with glibc.
41714
41715 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
41716
41717         * lib/regcomp.c (optimize_utf8): Add a note on why we test
41718         opr.ctx_type.
41719         (calc_first): Initialize constraint field.
41720         (duplicate_node_closure): Use it instead of special casing ANCHORS.
41721         Fix grammar.
41722         (duplicate_node): Merge constraint field for all node types.
41723         (calc_eclosure_iter): Look at constraint field for all node types.
41724         * lib/regex_internal.c (create_cd_newstate): Don't look at
41725         opr.ctx_type.
41726
41727 2008-05-14  Bruno Haible  <bruno@clisp.org>
41728
41729         Help GCC to do better code generation.
41730         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
41731         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
41732         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
41733         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
41734         Declare with attribute 'malloc' if supported.
41735
41736 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
41737
41738         use "echo STR|wc -c" rather than unportable "expr length STR"
41739         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
41740         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
41741
41742 2008-05-14  Jim Meyering  <meyering@redhat.com>
41743
41744         use dd ibs=$n count=1 ... rather than less-portable head -c$n
41745         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
41746         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
41747         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
41748         via Collin Lasse.
41749
41750 2008-05-14  Eric Blake  <ebb9@byu.net>
41751
41752         Avoid quadratic growth in gl_LIBSOURCES.
41753         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
41754         Suggested by Bruno Haible.
41755
41756         Test xmemdup0.
41757         * modules/xmemdup0-tests: New file.
41758         * tests/test-xmemdup0.c: Likewise.
41759
41760 2008-05-13  Eric Blake  <ebb9@byu.net>
41761
41762         Split xmemdup0 into its own module.
41763         * modules/xmemdup0: New file.
41764         * lib/xmemdup0.h: Likewise.
41765         * lib/xmemdup0.c: Likewise.
41766         * MODULES.html.sh (Memory management functions): Add xmemdup0.
41767         * lib/xalloc.h (xmemdup0): Remove.
41768         * lib/xmalloc.c (xmemdup0): Likewise.
41769
41770 2008-05-13  Eric Blake  <ebb9@byu.net>
41771             Bruno Haible  <bruno@clisp.org>
41772
41773         Reduce number of forks required during autoconf.
41774         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
41775         and gl_LIBSOURCES_DIR.
41776         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
41777         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
41778         m4_syscmd per file.
41779         <m4_foreach_w>: Move...
41780         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
41781
41782 2008-05-13  Eric Blake  <ebb9@byu.net>
41783
41784         * gnulib-tool: Fix various comment typos.
41785
41786 2008-05-12  Bruno Haible  <bruno@clisp.org>
41787
41788         Tailor the linebreaking algorithm.
41789         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
41790
41791 2008-05-12  Bruno Haible  <bruno@clisp.org>
41792
41793         Update to Unicode 5.0.0.
41794         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
41795         LBP_JV, LBP_JT. Redistribute values.
41796         (unilbrk_table): Change size.
41797         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
41798         Unicode TR#14 rev. 22.
41799         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
41800         LBP_JV, LBP_JT. Redistribute values.
41801         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
41802         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
41803         Update.
41804         * lib/unilbrk/lbrkprop1.h: Regenerated.
41805         * lib/unilbrk/lbrkprop2.h: Regenerated.
41806         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
41807         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
41808         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
41809         Likewise.
41810         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
41811         Likewise.
41812         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
41813         result.
41814         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
41815         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
41816         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
41817         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
41818         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
41819         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
41820
41821 2008-05-11  Bruno Haible  <bruno@clisp.org>
41822
41823         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
41824
41825 2008-05-11  Bruno Haible  <bruno@clisp.org>
41826
41827         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
41828         * modules/unilbrk/gen-lbrk: New file.
41829
41830 2008-05-11  Bruno Haible  <bruno@clisp.org>
41831
41832         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
41833         * m4/sha512.m4 (gl_SHA512): Likewise.
41834
41835 2008-05-11  Jim Meyering  <meyering@redhat.com>
41836
41837         New modules: crypto/sha256, crypto/sha512 (from coreutils)
41838         * modules/crypto/sha256: New file.
41839         * modules/crypto/sha512: Likewise.
41840         * lib/sha256.c: Likewise.
41841         * lib/sha256.h: Likewise.
41842         * lib/sha512.c: Likewise.
41843         * lib/sha512.h: Likewise.
41844         * lib/u64.h: Likewise.
41845         * m4/sha256.m4: Likewise.
41846         * m4/sha512.m4: Likewise.
41847         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
41848
41849 2008-05-10  Bruno Haible  <bruno@clisp.org>
41850
41851         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
41852         (Input/Output <stdio.h>): Add xprintf.
41853         (Signal handling <signal.h>): Add strsignal.
41854         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
41855         (Core language properties): Add func.
41856         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
41857         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
41858         strings.
41859         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
41860         (Input/output): New section.
41861         (File system functions): Add openat-die, stat-macros.
41862         (Networking functions): Add sockets.
41863         (Unicode string functions): Add unictype/*.
41864         (Support for building libraries and executables): Add gperf.
41865         (Support for building documentation): Add agpl-3.0.
41866         (Misc): Add nocrash.
41867
41868 2008-05-10  Bruno Haible  <bruno@clisp.org>
41869
41870         * modules/unictype/gen-ctype: New file.
41871
41872 2008-05-10  Jim Meyering  <meyering@redhat.com>
41873
41874         Make chdir-safer.c more efficient on a system with no symlinks.
41875         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
41876         also if ELOOP is zero.  Suggested by Bruno Haible.
41877
41878         Make chdir-safer.c slightly safer.
41879         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
41880         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
41881
41882         Avoid compile failure on systems without ELOOP (like mingw).
41883         * lib/chdir-safer.c (ELOOP): Define if not already defined.
41884         Reported by Bruno Haible.
41885
41886 2008-05-10  Bruno Haible  <bruno@clisp.org>
41887
41888         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
41889         (is_utf8_encoding): Use a case-insensitive comparison.
41890         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
41891         streq.
41892
41893 2008-05-10  Bruno Haible  <bruno@clisp.org>
41894
41895         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
41896         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
41897         * lib/unilbrk/ulc-common.h (iconv_string_length,
41898         iconv_string_keeping_offsets): Remove declarations.
41899         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
41900         Don't include <iconv.h>, streq.h, xsize.h.
41901         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
41902         conversion.
41903         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
41904         <iconv.h>, streq.h, xsize.h.
41905         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
41906         conversion.
41907         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
41908         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
41909         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
41910         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
41911
41912 2008-05-10  Bruno Haible  <bruno@clisp.org>
41913
41914         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
41915         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
41916
41917         * modules/unilbrk/u32-width-linebreaks-tests: New file.
41918         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
41919
41920         * modules/unilbrk/u16-width-linebreaks-tests: New file.
41921         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
41922
41923         * modules/unilbrk/u8-width-linebreaks-tests: New file.
41924         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
41925
41926         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
41927         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
41928
41929         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
41930         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
41931
41932         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
41933         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
41934
41935         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
41936         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
41937
41938 2008-05-10  Bruno Haible  <bruno@clisp.org>
41939
41940         Split up 'linebreak' module.
41941         * lib/unilbrk.h: New file, based on lib/linebreak.h.
41942         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
41943         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
41944         modifications.
41945         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
41946         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
41947         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
41948         lib/linebreak.c.
41949         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
41950         lib/linebreak.c.
41951         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
41952         lib/linebreak.c.
41953         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
41954         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
41955         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
41956         lib/linebreak.c.
41957         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
41958         lib/linebreak.c.
41959         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
41960         lib/linebreak.c.
41961         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
41962         lib/linebreak.c.
41963         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
41964         lib/linebreak.c.
41965         * modules/unilbrk/base: New file.
41966         * modules/unilbrk/tables: New file.
41967         * modules/unilbrk/u8-possible-linebreaks: New file.
41968         * modules/unilbrk/u16-possible-linebreaks: New file.
41969         * modules/unilbrk/u32-possible-linebreaks: New file.
41970         * modules/unilbrk/ulc-common: New file.
41971         * modules/unilbrk/ulc-possible-linebreaks: New file.
41972         * modules/unilbrk/u8-width-linebreaks: New file.
41973         * modules/unilbrk/u16-width-linebreaks: New file.
41974         * modules/unilbrk/u32-width-linebreaks: New file.
41975         * modules/unilbrk/ulc-width-linebreaks: New file.
41976         * lib/linebreak.h: Remove file.
41977         * lib/linebreak.c: Remove file.
41978         * m4/linebreak.m4: Remove file.
41979         * modules/linebreak: Remove file.
41980         * NEWS: Mention the changes.
41981
41982 2008-05-09  Eric Blake  <ebb9@byu.net>
41983
41984         Add xmemdup0.
41985         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
41986         implementation.
41987         * lib/xmalloc.c (xmemdup0): New C implementation.
41988
41989 2008-05-08  Bruno Haible  <bruno@clisp.org>
41990
41991         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
41992
41993 2008-05-07  Eric Blake  <ebb9@byu.net>
41994
41995         Support cross-compilation of <wctype.h>.
41996         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
41997         AC_CACHE_CHECK.
41998
41999 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
42000
42001         * build-aux/vc-list-files: Add support for bzr.
42002
42003 2008-05-03  Jim Meyering  <meyering@redhat.com>
42004
42005         avoid failed assertion with tight malloc
42006         * tests/test-getndelim2.c: Correct an off-by-one assertion.
42007
42008 2008-05-03  Simon Josefsson  <simon@josefsson.org>
42009
42010         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
42011         are needed from arpa/inet.h.
42012         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
42013         Reported by Bruno Haible.
42014
42015 2008-05-02  Jim Meyering  <meyering@redhat.com>
42016
42017         avoid compilation error on FreeBSD 6
42018         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
42019
42020 2008-05-01  Jim Meyering  <meyering@redhat.com>
42021
42022         useless-if-before-free: correct --help's exit status description
42023         * build-aux/useless-if-before-free (usage): Like grep, exit 0
42024         for one or more matches, etc.  Reported by Bruno Haible.
42025
42026         vc-list-files: make the stand-alone gnulib test work
42027         * modules/vc-list-files-tests (configure.ac):
42028         Define and AC_SUBST abs_aux_dir.
42029         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
42030         $(abs_top_srcdir) to each script and having each of them
42031         duplicate the work of setting PATH, set PATH here, using
42032         the new variable, abs_aux_dir instead.
42033         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
42034         * tests/test-vc-list-files-git.sh: Likewise.
42035         Reported by Bruno Haible.
42036
42037 2008-05-01  Bruno Haible  <bruno@clisp.org>
42038
42039         * lib/getndelim2.c (getndelim2): Fix newsize computation during
42040         reallocation. Rename 'done' to 'found_delimiter'.
42041
42042 2008-05-01  Jim Meyering  <meyering@redhat.com>
42043
42044         vc-list-files: accommodate /bin/sh like the one from Solaris 10
42045         * build-aux/vc-list-files: Use `...`, not $(...).
42046
42047 2008-04-30  Jim Meyering  <meyering@redhat.com>
42048
42049         add tests for vc-list-files
42050         * modules/vc-list-files-tests: New module.
42051         * tests/test-vc-list-files-cvs.sh: New file.
42052         * tests/test-vc-list-files-git.sh: New file.
42053
42054         avoid a warning from gcc
42055         * lib/getndelim2.c (IF_LINT): Define.
42056         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
42057
42058         vc-list-files: work properly with build-aux/cvsu, too
42059         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
42060         to all cvs-based clauses.
42061
42062         vc-list-files: work properly in the CVS+awk case, too
42063         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
42064
42065         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
42066         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
42067         take more than one file argument, so .  Add quotes, just in case $dir
42068         ever contains a shell meta-character.  Prompted by Soren Hansen in
42069         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
42070
42071 2008-04-29  Eric Blake  <ebb9@byu.net>
42072
42073         Optimize getndelim2 to use block operations when possible.
42074         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
42075         freadseek, and memchr2.
42076         * lib/getndelim2.c (getndelim2): Use them for block reads.
42077
42078 2008-04-29  Bruno Haible  <bruno@clisp.org>
42079
42080         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
42081         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42082         * modules/inet_ntop (Depends-on): Add extensions.
42083         * modules/inet_pton (Depends-on): Likewise.
42084         Reported by Simon Josefsson.
42085
42086 2008-04-29  Jim Meyering  <meyering@redhat.com>
42087
42088         When the is more than one match in a block, match all of them.
42089         * build-aux/useless-if-before-free: Iterate through each block
42090         until there are no more matches.
42091
42092         Fix broken useless-if-before-free script.
42093         * build-aux/useless-if-before-free: Fix typo: missing "?" after
42094         the expression to match cast of argument to free-like function.
42095
42096 2008-04-29  Eric Blake  <ebb9@byu.net>
42097
42098         Use new header.
42099         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
42100
42101 2008-04-29  Jim Meyering  <meyering@redhat.com>
42102
42103         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
42104         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
42105         by gnulib to exist and to declare e.g., inet_ntop.
42106         Don't include "inet_ntop.h", now removed.
42107
42108         * m4/arpa_inet_h.m4: Remove trailing blanks.
42109
42110 2008-04-29  Eric Blake  <ebb9@byu.net>
42111
42112         Silence valgrind on safe reads beyond potential array bounds.
42113         * lib/rawmemchr.valgrind: New file.
42114         * lib/strchrnul.valgrind: Likewise.
42115         * modules/rawmemchr (Files): Distribute new file.
42116         * modules/strchrnul (Files): Likewise.
42117         Suggested by Bruno Haible.
42118
42119 2008-04-29  Bruno Haible  <bruno@clisp.org>
42120
42121         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
42122         (inet_ntop, inet_pton): Change portability warning's wording.
42123         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
42124         Invoke gl_CHECK_NEXT_HEADERS.
42125         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
42126         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
42127         set ARPA_INET_H.
42128         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42129         * modules/arpa_inet (Description): No longer only for systems that
42130         lack it.
42131         (Depends-on): Add include_next.
42132         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
42133         HAVE_ARPA_INET_H.
42134
42135 2008-04-29  Jim Meyering  <meyering@redhat.com>
42136
42137         * modules/mkdir (License): Re-license as LGPLv2+.
42138
42139 2008-04-29  Bruno Haible  <bruno@clisp.org>
42140
42141         * modules/rawmemchr (Maintainer): Set to Eric.
42142         * modules/strchrnul (Maintainer): Likewise.
42143
42144 2008-04-29  Simon Josefsson  <simon@josefsson.org>
42145
42146         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
42147         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
42148
42149         * modules/arpa_inet (arpa/inet.h): Use them.
42150
42151 2008-04-28  Eric Blake  <ebb9@byu.net>
42152
42153         Test getndelim2.
42154         * modules/getndelim2-tests: New file.
42155         * tests/test-getndelim2.c: Likewise.
42156         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
42157         stream.
42158         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
42159
42160         * MODULES.html.sh: Document new module.
42161
42162 2008-04-20  Bruno Haible  <bruno@clisp.org>
42163
42164         * lib/c-stack.c (die): Use raise.
42165         * modules/c-stack (Depends-on): Add raise.
42166
42167 2008-04-28  Bruno Haible  <bruno@clisp.org>
42168
42169         Expect rpmatch to be declared.
42170         * lib/yesno.c (rpmatch): Remove declaration.
42171
42172         Declare rpmatch.
42173         * lib/stdlib.in.h (rpmatch): New declaration.
42174         * lib/rpmatch.c: Include <stdlib.h> first.
42175         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
42176         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
42177         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
42178         HAVE_RPMATCH.
42179         * modules/rpmatch (Depends-on): Add stdlib, extensions.
42180         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42181         (Include): Set to <stdlib.h>.
42182         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
42183         HAVE_RPMATCH.
42184         * NEWS: Document the change.
42185
42186 2008-04-28  Bruno Haible  <bruno@clisp.org>
42187
42188         Change rpmatch to use nl_langinfo when appropriate.
42189         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
42190         (N_): New macro.
42191         (localized_pattern): New function/macro.
42192         (try): Remove match, nomatch arguments. Copy the pattern into safe
42193         memory before caching it.
42194         (rpmatch): Use localized_pattern. Add translator comments.
42195         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
42196         Suggested by Eric Blake.
42197         * modules/rpmatch (Depends-on): Add stdbool.
42198
42199 2008-04-28  Eric Blake  <ebb9@byu.net>
42200
42201         Add rawmemchr module, matching glibc.
42202         * modules/string (Makefile.am): New indicator.
42203         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
42204         * lib/string.in.h (rawmemchr): Declare when appropriate.
42205         * modules/rawmemchr: New file.
42206         * m4/rawmemchr.m4: Likewise.
42207         * lib/rawmemchr.c: Likewise.
42208         * modules/rawmemchr-tests: Likewise.
42209         * tests/test-rawmemchr.c: Likewise.
42210         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
42211         module.
42212         * modules/strchrnul (Depends-on): Add rawmemchr.
42213         * lib/strchrnul.c (strchrnul): Optimize a corner case.
42214
42215         Whitespace cleanup.
42216         * tests/test-strchrnul.c: Reindent.
42217         * lib/strchrnul.c: Likewise.
42218
42219         Optimize and test strchrnul.
42220         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
42221         * modules/strchrnul-tests: New file.
42222         * tests/test-strchrnul.c: Likewise.
42223
42224         Remove intprops dependency.
42225         * modules/memchr (Depends-on): Remove intprops.
42226         * modules/memrchr (Depends-on): Likewise.
42227         * modules/memchr2 (Depends-on): Likewise.
42228         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
42229         * lib/memrchr.c (__memrchr): Likewise.
42230         * lib/memrchr2.c (memchr2): Likewise.
42231         Reported by Simon Josefsson.
42232
42233 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42234
42235         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
42236         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42237
42238 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42239
42240         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
42241
42242         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
42243
42244         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
42245
42246         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
42247         declarations.
42248         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
42249
42250         * m4/inet_pton.m4: Don't check for header files.
42251
42252         * m4/inet_ntop.m4: Don't check for header files.
42253
42254 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42255
42256         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
42257         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
42258         trigger for cygwin).
42259         Reported by Bruno Haible  <bruno@clisp.org>.
42260
42261 2008-04-28  Bruno Haible  <bruno@clisp.org>
42262
42263         * doc/posix-functions/strdup.texi: Mention mingw problem.
42264
42265 2008-04-27  Bruno Haible  <bruno@clisp.org>
42266
42267         * modules/stat-time-tests (Depends-on): Add sleep.
42268         * tests/test-stat-time.c (force_unlink): New function.
42269         (cleanup): Use it.
42270         (test_mtime): Remove the ctime related tests.
42271         (test_ctime): New function, containing the ctime related tests.
42272         (main): Call test_ctime, except on native Windows platforms.
42273
42274 2008-04-27  Bruno Haible  <bruno@clisp.org>
42275
42276         * lib/rpmatch.c (rpmatch): Add some comments.
42277         Reported by James Youngman <jay@gnu.org>.
42278
42279 2008-04-27  Bruno Haible  <bruno@clisp.org>
42280
42281         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
42282         quiet NaNs.
42283
42284 2008-04-27  Bruno Haible  <bruno@clisp.org>
42285
42286         Make test-yesno.sh work on mingw.
42287         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
42288         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
42289         (main): Set stdin to binary mode.
42290         * modules/yesno-tests (Depends-on): Add binary-io.
42291
42292 2008-04-27  Bruno Haible  <bruno@clisp.org>
42293
42294         Fix 'isfinite' on x86, x86_64, ia64 platforms.
42295         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
42296         argument that lie outside the IEEE 854 domain.
42297         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
42298         (gl_ISFINITE): Use it.
42299         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
42300
42301 2008-04-27  Bruno Haible  <bruno@clisp.org>
42302
42303         Allow local renaming in config.h.
42304         * lib/memrchr.c (memrchr): Don't undefine outside libc.
42305
42306 2008-04-27  Bruno Haible  <bruno@clisp.org>
42307
42308         * lib/memchr.c (__memchr): Change type of 'i'.
42309         * lib/memchr2.c (memchr2): Likewise.
42310
42311 2008-04-26  Eric Blake  <ebb9@byu.net>
42312         and Bruno Haible  <bruno@clisp.org>
42313
42314         Optimize and test memrchr.
42315         * modules/memrchr (Depends-on): Add intprops.
42316         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
42317         * modules/memrchr-tests: New file.
42318         * tests/test-memrchr.c: New file.
42319
42320 2008-04-26  Bruno Haible  <bruno@clisp.org>
42321
42322         Add tentative support for DragonFly BSD.
42323         * lib/stdio-impl.h: Add macros for DragonFly BSD.
42324         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
42325         fp.
42326         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
42327         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
42328         * lib/fpurge.c (fpurge): Likewise.
42329         * lib/freadable.c (freaadable): Likewise.
42330         * lib/freadahead.c (freadahead): Likewise.
42331         * lib/freading.c (freading): Likewise.
42332         * lib/freadptr.c (freadptr): Likewise.
42333         * lib/freadseek.c (freadptrinc): Likewise.
42334         * lib/fseeko.c (fseeko): Likewise.
42335         * lib/fseterr.c (fseterr): Likewise.
42336         * lib/fwritable.c (fwritable): Likewise.
42337         * lib/fwriting.c (fwriting): Likewise.
42338
42339 2008-04-26  Bruno Haible  <bruno@clisp.org>
42340
42341         * lib/stdio-impl.h: New file.
42342         * lib/fbufmode.c: Include stdio-impl.h.
42343         (fbufmode): Use fp_, remove redundant #defines.
42344         * lib/fflush.c: Include stdio-impl.h.
42345         (clear_ungetc_buffer): Remove redundant #defines.
42346         * lib/fpurge.c: Include stdio-impl.h.
42347         (fpurge): Remove redundant #defines.
42348         * lib/freadable.c: Include stdio-impl.h.
42349         (freadable): Remove redundant #defines.
42350         * lib/freadahead.c: Include stdio-impl.h.
42351         (freadahead): Remove redundant #defines.
42352         * lib/freading.c: Include stdio-impl.h.
42353         (freading): Remove redundant #defines.
42354         * lib/freadptr.c: Include stdio-impl.h.
42355         (freadptr): Remove redundant #defines.
42356         * lib/freadseek.c: Include stdio-impl.h.
42357         (freadptrinc): Remove redundant #defines.
42358         * lib/fseeko.c: Include stdio-impl.h.
42359         (rpl_fseeko): Remove redundant #defines.
42360         * lib/fseterr.c: Include stdio-impl.h.
42361         (fseterr): Remove redundant #defines.
42362         * lib/fwritable.c: Include stdio-impl.h.
42363         (fwritable: Remove redundant #defines.
42364         * lib/fwriting.c: Include stdio-impl.h.
42365         (fwriting): Remove redundant #defines.
42366         * modules/fbufmode (Files): Add lib/stdio-impl.h.
42367         * modules/fflush (Files): Likewise.
42368         * modules/fpurge (Files): Likewise.
42369         * modules/freadable (Files): Likewise.
42370         * modules/freadahead (Files): Likewise.
42371         * modules/freading (Files): Likewise.
42372         * modules/freadptr (Files): Likewise.
42373         * modules/freadseek (Files): Likewise.
42374         * modules/fseeko (Files): Likewise.
42375         * modules/fseterr (Files): Likewise.
42376         * modules/fwritable (Files): Likewise.
42377         * modules/fwriting (Files): Likewise.
42378
42379 2008-04-26  Bruno Haible  <bruno@clisp.org>
42380
42381         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
42382         restore_seek_optimization, update_fpos_cache): New functions, extracted
42383         from rpl_fflush.
42384         (rpl_fflush): Use them.
42385         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
42386         (gl_REPLACE_FFLUSH): Use it.
42387
42388 2008-04-26  Bruno Haible  <bruno@clisp.org>
42389
42390         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
42391         on Solaris.
42392         * tests/test-xstrtoimax.sh: Likewise.
42393         * tests/test-xstrtoumax.sh: Likewise.
42394         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42395
42396 2008-04-26  Bruno Haible  <bruno@clisp.org>
42397
42398         * modules/memchr-tests: New file.
42399         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
42400
42401 2008-04-26  Eric Blake  <ebb9@byu.net>
42402             Bruno Haible  <bruno@clisp.org>
42403
42404         * lib/memchr.c: Include intprops.h.
42405         (__memchr): Optimize parallel detection of matching bytes. Rename local
42406         variables. Add explanatory comments.
42407
42408 2008-04-26  Bruno Haible  <bruno@clisp.org>
42409
42410         Fix module 'memchr', broken since 2000-10-28.
42411         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
42412
42413 2008-04-26  Bruno Haible  <bruno@clisp.org>
42414
42415         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
42416         comments.
42417
42418 2008-04-25  Eric Blake  <ebb9@byu.net>
42419
42420         Use native fstatat on cygwin 1.7.0.
42421         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
42422         first.
42423
42424 2008-04-23  Eric Blake  <ebb9@byu.net>
42425
42426         Improve memchr2 performance.
42427         * lib/memchr2.c (memchr2): Further optimize parallel detection of
42428         NUL bytes.
42429         * modules/memchr2 (Depends-on): Use intprops.h.
42430
42431 2008-04-23  Simon Josefsson  <simon@josefsson.org>
42432
42433         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
42434         an inline function instead of a CPP macro.  Patch by Ben Pfaff
42435         <blp@cs.stanford.edu>.
42436
42437 2008-04-23  Simon Josefsson  <simon@josefsson.org>
42438
42439         * lib/arpa_inet.in.h: New file.
42440
42441         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
42442         (Makefile.am): Sed in substitute header file.
42443
42444         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
42445         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
42446
42447         * modules/inet_ntop (configure.ac): Use
42448         gl_ARPA_INET_MODULE_INDICATOR.
42449
42450         * modules/inet_pton (configure.ac): Use
42451         gl_ARPA_INET_MODULE_INDICATOR.
42452
42453 2008-04-22  Jim Meyering  <meyering@redhat.com>
42454
42455         * modules/verify (License): Re-license as LGPLv2+.
42456
42457 2008-04-22  Simon Josefsson  <simon@josefsson.org>
42458
42459         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
42460         parameter to void* as per POSIX standard (MinGW uses char*).
42461
42462 2008-04-21  Bruno Haible  <bruno@clisp.org>
42463
42464         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
42465         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
42466         Define to replacements if REPLACE_ISWCNTRL is 1.
42467         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
42468         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
42469         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
42470         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
42471         what it fixes.
42472         * doc/posix-functions/iswalpha.texi: Likewise.
42473         * doc/posix-functions/iswblank.texi: Likewise.
42474         * doc/posix-functions/iswcntrl.texi: Likewise.
42475         * doc/posix-functions/iswdigit.texi: Likewise.
42476         * doc/posix-functions/iswgraph.texi: Likewise.
42477         * doc/posix-functions/iswlower.texi: Likewise.
42478         * doc/posix-functions/iswprint.texi: Likewise.
42479         * doc/posix-functions/iswpunct.texi: Likewise.
42480         * doc/posix-functions/iswspace.texi: Likewise.
42481         * doc/posix-functions/iswupper.texi: Likewise.
42482         * doc/posix-functions/iswxdigit.texi: Likewise.
42483         Reported by Alain Guibert.
42484
42485 2008-04-21  Bruno Haible  <bruno@clisp.org>
42486
42487         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
42488         Patch by Alain Guibert.
42489
42490 2008-04-21  Bruno Haible  <bruno@clisp.org>
42491
42492         Fix test failures on mingw.
42493         * tests/test-xstrtol.c (print_no_progname): New function.
42494         (main): Install it in error_print_progname hook.
42495         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
42496         * tests/test-xstrtoimax.sh: Likewise.
42497         * tests/test-xstrtoumax.sh: Likewise.
42498
42499 2008-04-21  Bruno Haible  <bruno@clisp.org>
42500
42501         Fix test failure on mingw.
42502         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
42503
42504 2008-04-21  Bruno Haible  <bruno@clisp.org>
42505
42506         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
42507         Actually assign a value.
42508
42509 2008-04-20  Bruno Haible  <bruno@clisp.org>
42510
42511         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
42512         take 2.
42513         * lib/canonicalize.c (canonicalize_file_name): Elide if the
42514         'canonicalize-lgpl' module is also used.
42515         * lib/canonicalize-lgpl.c: Undo last change.
42516         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
42517
42518 2008-04-20  Bruno Haible  <bruno@clisp.org>
42519
42520         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
42521         config.h. Provide _mkdir based fallback for mingw.
42522         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
42523         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
42524         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
42525         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
42526         rather than defining mkdir in config.h.
42527         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
42528         (gl_SYS_STAT_H_DEFAULTS): New macro.
42529         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
42530         HAVE_IO_H any more.
42531         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
42532         HAVE_DECL_MKDIR and HAVE_IO_H.
42533
42534 2008-04-20  Bruno Haible  <bruno@clisp.org>
42535
42536         * lib/isapipe.c: Port to native Windows platforms.
42537
42538 2008-04-20  Bruno Haible  <bruno@clisp.org>
42539
42540         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
42541
42542 2008-04-21  Eric Blake  <ebb9@byu.net>
42543
42544         Work around preprocessors that don't handle UINTMAX_MAX.
42545         * lib/memchr2.c (memchr2): Avoid embedded #if.
42546         Reported by Alain Guibert, fix suggested by Bruno Haible.
42547
42548 2008-04-21  Simon Josefsson  <simon@josefsson.org>
42549
42550         * doc/posix-functions/strftime.texi (strftime): Explain better
42551         Windows incompatibility.  Suggested by Micah Cowan
42552         <micah@cowan.name>.
42553
42554 2008-04-20  Bruno Haible  <bruno@clisp.org>
42555
42556         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
42557         unistr/u8-mblen.
42558
42559 2008-04-20  Bruno Haible  <bruno@clisp.org>
42560
42561         Fix test failure on platforms with non-GNU iconv.
42562         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
42563         (U_TO_U8): Use it, rather than u16_to_u8.
42564         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
42565         units at the end of the input string.
42566         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
42567
42568 2008-04-20  Bruno Haible  <bruno@clisp.org>
42569
42570         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
42571         when the resulting length is 0.
42572         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
42573
42574 2008-04-20  Bruno Haible  <bruno@clisp.org>
42575
42576         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
42577         works.
42578         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
42579
42580 2008-04-20  Bruno Haible  <bruno@clisp.org>
42581
42582         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
42583         * modules/tsearch-tests (configure.ac): Test for initstate function.
42584
42585 2008-04-20  Bruno Haible  <bruno@clisp.org>
42586
42587         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
42588         for nlink_t if missing.
42589         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
42590
42591 2008-04-19  Bruno Haible  <bruno@clisp.org>
42592
42593         Work around snprintf bug on Linux libc5.
42594         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
42595         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
42596         gl_SNPRINTF_SIZE1.
42597         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42598         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
42599         that test failed.
42600         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
42601         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
42602         * modules/snprintf (Files): Add m4/printf.m4.
42603         * modules/vsnprintf (Files): Likewise.
42604         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
42605         * doc/posix-functions/vsnprintf.texi: Likewise.
42606
42607 2008-04-19  Bruno Haible  <bruno@clisp.org>
42608
42609         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
42610         from 0.0058 to less than 10^-7.
42611
42612 2008-04-19  Bruno Haible  <bruno@clisp.org>
42613
42614         Fix rounding when a precision is given.
42615         * lib/vasnprintf.c (is_borderline): New function.
42616         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
42617         9...9x.
42618         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
42619         %e, %g.
42620         * tests/test-vasprintf-posix.c (test_function): Likewise.
42621         * tests/test-snprintf-posix.h (test_function): Likewise.
42622         * tests/test-sprintf-posix.h (test_function): Likewise.
42623         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
42624         * tests/test-printf-posix.h (test_function): Likewise.
42625         * tests/test-printf-posix.output: Update.
42626         Reported by John Darrington <john@darrington.wattle.id.au> via
42627         Ben Pfaff <blp@cs.stanford.edu>.
42628
42629 2008-04-18  Simon Josefsson  <simon@josefsson.org>
42630
42631         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
42632         Suggested by Bruno Haible <bruno@clisp.org>.
42633
42634 2008-04-17  Bruno Haible  <bruno@clisp.org>
42635
42636         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
42637         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
42638         implementation.
42639         Patch by Bruce Merry <bmerry@gmail.com>.
42640
42641 2008-04-17  Simon Josefsson  <simon@josefsson.org>
42642
42643         * doc/posix-functions/strftime.texi (strftime): Mention that %e
42644         doesn't work under Windows.
42645
42646 2008-04-16  Bruno Haible  <bruno@clisp.org>
42647
42648         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
42649         New macros.
42650         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
42651         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
42652         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
42653         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
42654         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
42655         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
42656         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
42657         macros.
42658         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
42659         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
42660         Northern Sotho, Uighur.
42661
42662 2008-04-16  Bruno Haible  <bruno@clisp.org>
42663
42664         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
42665         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
42666         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
42667         Reported by Daniel Bergström <daniel@octocode.com>.
42668
42669 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
42670             Bruno Haible  <bruno@clisp.org>
42671
42672         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
42673         function.
42674         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
42675         New functions, mostly extracted from gl_locale_name_default.
42676         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
42677
42678 2008-04-16  Eric Blake  <ebb9@byu.net>
42679
42680         Adjust strtod detection to catch glibc 2.7 bug.
42681         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
42682         Reported by John Gatewood Ham.
42683
42684 2008-04-16  Bruno Haible  <bruno@clisp.org>
42685
42686         Add tentative support for Linux libc5.
42687         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
42688         * lib/fpurge.c (fpurge): Likewise.
42689         * lib/freadable.c (freadable): Likewise.
42690         * lib/freadahead.c (freadahead): Likewise.
42691         * lib/freading.c (freading): Likewise.
42692         * lib/freadptr.c (freadptr): Likewise.
42693         * lib/freadseek.c (freadptrinc): Likewise.
42694         * lib/fseeko.c (rpl_fseeko): Likewise.
42695         * lib/fseterr.c (fseterr): Likewise.
42696         * lib/fwritable.c (fwritable): Likewise.
42697         * lib/fwriting.c (fwriting): Likewise.
42698         Reported by Alain Guibert <alguibert+bts@free.fr>.
42699
42700 2008-04-15  Bruno Haible  <bruno@clisp.org>
42701
42702         * modules/mathl (configure.ac): Define module indicator.
42703
42704 2008-04-15  Bruno Haible  <bruno@clisp.org>
42705
42706         * lib/logl.c (logl): Remove unused variables.
42707
42708 2008-04-15  Bruno Haible  <bruno@clisp.org>
42709
42710         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
42711         fails.
42712
42713 2008-04-15  Bruno Haible  <bruno@clisp.org>
42714
42715         * lib/trim.c (trim2): Fix argument of isspace() macro.
42716
42717 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
42718
42719         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
42720         to 0.
42721         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
42722
42723 2008-04-14  Bruno Haible  <bruno@clisp.org>
42724
42725         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
42726         AC_LANG_PROGRAM argument.
42727         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
42728         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
42729         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42730         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
42731         * m4/math_h.m4 (gl_MATH_H): Likewise.
42732         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
42733         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
42734         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
42735         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
42736         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
42737         * m4/regex.m4 (gl_REGEX): Likewise.
42738         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
42739         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
42740         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42741         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
42742         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
42743         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42744         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
42745         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
42746
42747 2008-04-14  Jim Meyering  <meyering@redhat.com>
42748
42749         test-strtod: fix typos: s/abs/fabs/
42750         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
42751
42752 2008-04-13  Bruno Haible  <bruno@clisp.org>
42753
42754         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
42755         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
42756         module is also used and while not building the reloc-wrapper.
42757
42758 2008-04-13  Bruno Haible  <bruno@clisp.org>
42759
42760         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
42761
42762 2008-04-13  Bruno Haible  <bruno@clisp.org>
42763
42764         Fix AIX compilation failure introduced on 2008-04-02.
42765         * tests/test-frexp.c (exp): Undefine before redefining.
42766         * tests/test-frexpl.c (exp): Likewise.
42767
42768 2008-04-13  Bruno Haible  <bruno@clisp.org>
42769
42770         Work around a HP-UX stdio bug.
42771         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
42772         * tests/test-ftello.c (main): Likewise.
42773         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
42774         * doc/posix-functions/ftello.texi: Likewise.
42775
42776 2008-04-13  Bruno Haible  <bruno@clisp.org>
42777
42778         Make test-signbit pass on HP-UX/hppa.
42779         * tests/test-signbit.c (minus_zerol): New variable.
42780         (test_signbitl): Use it.
42781
42782 2008-04-13  Bruno Haible  <bruno@clisp.org>
42783
42784         Make truncl work on OSF/1 4.0.
42785         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
42786         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
42787         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
42788         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
42789         HAVE_DECL_TRUNCL.
42790         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
42791         HAVE_DECL_TRUNCL.
42792         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
42793
42794 2008-04-13  Bruno Haible  <bruno@clisp.org>
42795
42796         * lib/unictype.h: Remove trailing comma from enumeration definitions.
42797
42798 2008-04-13  Bruno Haible  <bruno@clisp.org>
42799
42800         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
42801         expression, so as to avoid HP-UX 11 cc compiler bug.
42802
42803 2008-04-13  Bruno Haible  <bruno@clisp.org>
42804
42805         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
42806
42807 2008-04-13  Bruno Haible  <bruno@clisp.org>
42808
42809         * lib/git-merge-changelog.c: Remove empty declaration outside of
42810         functions.
42811
42812 2008-04-13  Bruno Haible  <bruno@clisp.org>
42813
42814         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
42815
42816 2008-04-13  Bruno Haible  <bruno@clisp.org>
42817
42818         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
42819         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
42820         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
42821         also if it exists but lacks definitions of the SHUT_* macros.
42822         * modules/sys_socket (Description): Update.
42823         Reported by Elbert Pol <e.pol@chello.nl>.
42824
42825 2008-04-13  Bruno Haible  <bruno@clisp.org>
42826
42827         * lib/localcharset.c (OS2): Don't redefine if already defined.
42828         Reported by Elbert Pol <e.pol@chello.nl>.
42829
42830 2008-04-13  Bruno Haible  <bruno@clisp.org>
42831
42832         * lib/binary-io.h [__EMX__]: Include <io.h>.
42833         Reported by Elbert Pol <e.pol@chello.nl>.
42834
42835 2008-04-12  Bruno Haible  <bruno@clisp.org>
42836
42837         * lib/fpucw.h: Enable the definitions also for x86_64.
42838         Needed for NetBSD/x86_64.
42839         Reported by Thomas Klausner <tk@giga.or.at>.
42840
42841 2008-04-12  Bruno Haible  <bruno@clisp.org>
42842
42843         * tests/test-strtod.c: Include isnand.h.
42844         (main): Use isnand instead of isnan.
42845         Reported by Jim Meyering.
42846
42847 2008-04-12  Bruno Haible  <bruno@clisp.org>
42848
42849         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
42850         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
42851
42852 2008-04-12  Jim Meyering  <meyering@redhat.com>
42853
42854         * m4/math_h.m4 (gl_MATH_H): Fix typos.
42855
42856 2008-04-12  Bruno Haible  <bruno@clisp.org>
42857
42858         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
42859         Reported by Elbert Pol <e.pol@chello.nl>.
42860
42861 2008-04-12  Eric Blake  <ebb9@byu.net>
42862
42863         Work around Solaris 10 math.h bug.
42864         * m4/math_h.m4 (gl_MATH_H): Check for bug.
42865         (gl_MATH_H_DEFAULTS): Set up default.
42866         * modules/math (Makefile.am): Replace new indicators.
42867         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
42868         * tests/test-math.c (main): Test this.
42869         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
42870         * doc/posix-headers/math.texi (math.h): Mention bug.
42871         Reported by Nelson H. F. Beebe and Jim Meyering.
42872
42873 2008-04-11  Bruno Haible  <bruno@clisp.org>
42874
42875         Adapt to future versions of Apple GCC.
42876         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
42877         Reported by Peter O'Gorman <peter@pogma.com>.
42878
42879 2008-04-11  Bruno Haible  <bruno@clisp.org>
42880
42881         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
42882
42883 2008-04-11  Bruno Haible  <bruno@clisp.org>
42884
42885         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
42886
42887         * modules/getaddrinfo-tests (Makefile.am): Define
42888         test_getaddrinfo_LDADD.
42889
42890 2008-04-11  Bruno Haible  <bruno@clisp.org>
42891
42892         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
42893         (init): Fix syntax error.
42894         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
42895         is declared.
42896
42897 2008-04-11  Bruno Haible  <bruno@clisp.org>
42898
42899         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
42900         * modules/glob (Depends-on): Add stdbool.
42901
42902 2008-04-11  Bruno Haible  <bruno@clisp.org>
42903
42904         * lib/trim.c: Include <string.h>.
42905
42906 2008-04-11  Eric Blake  <ebb9@byu.net>
42907
42908         Avoid compile failure on OS/2.
42909         * lib/regex_internal.h (internal_function): Disable optimization
42910         on OS/2 (__EMX__), where it caused compiler error.
42911         Reported by Elbert Pol.
42912
42913 2008-04-11  Bruno Haible  <bruno@clisp.org>
42914
42915         Flush the standard error stream before aborting. Needed on mingw.
42916         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
42917         * tests/test-array_list.c (ASSERT): Likewise.
42918         * tests/test-array_oset.c (ASSERT): Likewise.
42919         * tests/test-avltree_list.c (ASSERT): Likewise.
42920         * tests/test-avltree_oset.c (ASSERT): Likewise.
42921         * tests/test-avltreehash_list.c (ASSERT): Likewise.
42922         * tests/test-binary-io.c (ASSERT): Likewise.
42923         * tests/test-byteswap.c (ASSERT): Likewise.
42924         * tests/test-c-ctype.c (ASSERT): Likewise.
42925         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
42926         * tests/test-c-strcasestr.c (ASSERT): Likewise.
42927         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
42928         * tests/test-c-strstr.c (ASSERT): Likewise.
42929         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
42930         * tests/test-canonicalize.c (ASSERT): Likewise.
42931         * tests/test-carray_list.c (ASSERT): Likewise.
42932         * tests/test-ceilf1.c (ASSERT): Likewise.
42933         * tests/test-ceilf2.c (ASSERT): Likewise.
42934         * tests/test-ceill.c (ASSERT): Likewise.
42935         * tests/test-count-one-bits.c (ASSERT): Likewise.
42936         * tests/test-fbufmode.c (ASSERT): Likewise.
42937         * tests/test-fflush2.c (ASSERT): Likewise.
42938         * tests/test-floorf1.c (ASSERT): Likewise.
42939         * tests/test-floorf2.c (ASSERT): Likewise.
42940         * tests/test-floorl.c (ASSERT): Likewise.
42941         * tests/test-fopen.c (ASSERT): Likewise.
42942         * tests/test-fpending.c (ASSERT): Likewise.
42943         * tests/test-fprintf-posix.c (ASSERT): Likewise.
42944         * tests/test-fpurge.c (ASSERT): Likewise.
42945         * tests/test-freadable.c (ASSERT): Likewise.
42946         * tests/test-freadahead.c (ASSERT): Likewise.
42947         * tests/test-freading.c (ASSERT): Likewise.
42948         * tests/test-freadptr.c (ASSERT): Likewise.
42949         * tests/test-freadptr2.c (ASSERT): Likewise.
42950         * tests/test-freadseek.c (ASSERT): Likewise.
42951         * tests/test-freopen.c (ASSERT): Likewise.
42952         * tests/test-frexp.c (ASSERT): Likewise.
42953         * tests/test-frexpl.c (ASSERT): Likewise.
42954         * tests/test-fseek.c (ASSERT): Likewise.
42955         * tests/test-fseeko.c (ASSERT): Likewise.
42956         * tests/test-fstrcmp.c (ASSERT): Likewise.
42957         * tests/test-ftell.c (ASSERT): Likewise.
42958         * tests/test-ftello.c (ASSERT): Likewise.
42959         * tests/test-func.c (ASSERT): Likewise.
42960         * tests/test-fwritable.c (ASSERT): Likewise.
42961         * tests/test-fwriting.c (ASSERT): Likewise.
42962         * tests/test-getdelim.c (ASSERT): Likewise.
42963         * tests/test-getline.c (ASSERT): Likewise.
42964         * tests/test-i-ring.c (ASSERT): Likewise.
42965         * tests/test-iconv-utf.c (ASSERT): Likewise.
42966         * tests/test-iconv.c (ASSERT): Likewise.
42967         * tests/test-isfinite.c (ASSERT): Likewise.
42968         * tests/test-isnand.c (ASSERT): Likewise.
42969         * tests/test-isnanf.c (ASSERT): Likewise.
42970         * tests/test-isnanl.h (ASSERT): Likewise.
42971         * tests/test-ldexpl.c (ASSERT): Likewise.
42972         * tests/test-linked_list.c (ASSERT): Likewise.
42973         * tests/test-linkedhash_list.c (ASSERT): Likewise.
42974         * tests/test-localename.c (ASSERT): Likewise.
42975         * tests/test-lseek.c (ASSERT): Likewise.
42976         * tests/test-mbscasecmp.c (ASSERT): Likewise.
42977         * tests/test-mbscasestr1.c (ASSERT): Likewise.
42978         * tests/test-mbscasestr2.c (ASSERT): Likewise.
42979         * tests/test-mbscasestr3.c (ASSERT): Likewise.
42980         * tests/test-mbscasestr4.c (ASSERT): Likewise.
42981         * tests/test-mbschr.c (ASSERT): Likewise.
42982         * tests/test-mbscspn.c (ASSERT): Likewise.
42983         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
42984         * tests/test-mbspbrk.c (ASSERT): Likewise.
42985         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
42986         * tests/test-mbsrchr.c (ASSERT): Likewise.
42987         * tests/test-mbsspn.c (ASSERT): Likewise.
42988         * tests/test-mbsstr1.c (ASSERT): Likewise.
42989         * tests/test-mbsstr2.c (ASSERT): Likewise.
42990         * tests/test-mbsstr3.c (ASSERT): Likewise.
42991         * tests/test-memchr2.c (ASSERT): Likewise.
42992         * tests/test-memmem.c (ASSERT): Likewise.
42993         * tests/test-open.c (ASSERT): Likewise.
42994         * tests/test-printf-frexp.c (ASSERT): Likewise.
42995         * tests/test-printf-frexpl.c (ASSERT): Likewise.
42996         * tests/test-printf-posix.c (ASSERT): Likewise.
42997         * tests/test-quotearg.c (ASSERT): Likewise.
42998         * tests/test-rbtree_list.c (ASSERT): Likewise.
42999         * tests/test-rbtree_oset.c (ASSERT): Likewise.
43000         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
43001         * tests/test-round1.c (ASSERT): Likewise.
43002         * tests/test-roundf1.c (ASSERT): Likewise.
43003         * tests/test-roundl.c (ASSERT): Likewise.
43004         * tests/test-signbit.c (ASSERT): Likewise.
43005         * tests/test-sleep.c (ASSERT): Likewise.
43006         * tests/test-snprintf-posix.c (ASSERT): Likewise.
43007         * tests/test-snprintf.c (ASSERT): Likewise.
43008         * tests/test-sprintf-posix.c (ASSERT): Likewise.
43009         * tests/test-stat-time.c (ASSERT): Likewise.
43010         * tests/test-strcasestr.c (ASSERT): Likewise.
43011         * tests/test-strerror.c (ASSERT): Likewise.
43012         * tests/test-striconv.c (ASSERT): Likewise.
43013         * tests/test-striconveh.c (ASSERT): Likewise.
43014         * tests/test-striconveha.c (ASSERT): Likewise.
43015         * tests/test-strsignal.c (ASSERT): Likewise.
43016         * tests/test-strstr.c (ASSERT): Likewise.
43017         * tests/test-strtod.c (ASSERT): Likewise.
43018         * tests/test-trunc1.c (ASSERT): Likewise.
43019         * tests/test-trunc2.c (ASSERT): Likewise.
43020         * tests/test-truncf1.c (ASSERT): Likewise.
43021         * tests/test-truncf2.c (ASSERT): Likewise.
43022         * tests/test-truncl.c (ASSERT): Likewise.
43023         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
43024         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
43025         * tests/test-vasnprintf.c (ASSERT): Likewise.
43026         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
43027         * tests/test-vasprintf.c (ASSERT): Likewise.
43028         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
43029         * tests/test-vprintf-posix.c (ASSERT): Likewise.
43030         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
43031         * tests/test-vsnprintf.c (ASSERT): Likewise.
43032         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
43033         * tests/test-wcwidth.c (ASSERT): Likewise.
43034         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
43035         * tests/test-xprintf-posix.c (ASSERT): Likewise.
43036         * tests/test-xvasprintf.c (ASSERT): Likewise.
43037         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
43038         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
43039         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
43040         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
43041         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
43042         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
43043         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
43044         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
43045         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
43046         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
43047         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
43048         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
43049         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
43050         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
43051         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
43052         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
43053         * tests/unictype/test-block_list.c (ASSERT): Likewise.
43054         * tests/unictype/test-block_of.c (ASSERT): Likewise.
43055         * tests/unictype/test-block_test.c (ASSERT): Likewise.
43056         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
43057         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
43058         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
43059         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
43060         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
43061         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
43062         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
43063         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
43064         * tests/unictype/test-combining.c (ASSERT): Likewise.
43065         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
43066         * tests/unictype/test-digit.c (ASSERT): Likewise.
43067         * tests/unictype/test-mirror.c (ASSERT): Likewise.
43068         * tests/unictype/test-numeric.c (ASSERT): Likewise.
43069         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
43070         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
43071         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
43072         * tests/unictype/test-scripts.c (ASSERT): Likewise.
43073         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
43074         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
43075         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
43076         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
43077         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
43078         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
43079         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
43080         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
43081         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
43082         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
43083         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
43084         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
43085         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
43086         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
43087         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
43088         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
43089         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
43090         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
43091         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
43092         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
43093         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
43094         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
43095         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
43096         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
43097         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
43098         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
43099         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
43100         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
43101         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
43102         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
43103         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
43104         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
43105         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
43106         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
43107         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
43108         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
43109         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
43110         Reported by Eric Blake.
43111
43112 2008-04-11  Bruno Haible  <bruno@clisp.org>
43113
43114         * lib/wchar.in.h: Tweak comment.
43115
43116 2008-04-11  Bruno Haible  <bruno@clisp.org>
43117
43118         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
43119         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
43120         gl_COMMON.
43121         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
43122
43123 2008-04-11  Bruno Haible  <bruno@clisp.org>
43124
43125         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
43126
43127 2008-04-11  Simon Josefsson  <simon@josefsson.org>
43128
43129         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
43130         of attempting to use non-existing /dev/*random.  Based on patch
43131         from Adam Strzelecki <ono@java.pl> in
43132         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
43133
43134 2008-04-08  Bruno Haible  <bruno@clisp.org>
43135
43136         Add tentative support for emx+gcc.
43137         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
43138         * lib/fpurge.c (fpurge): Likewise.
43139         * lib/freadable.c (freadable): Likewise.
43140         * lib/freadahead.c (freadahead): Likewise.
43141         * lib/freading.c (freading): Likewise.
43142         * lib/freadptr.c (freadptr): Likewise.
43143         * lib/freadseek.c (freadptrinc): Likewise.
43144         * lib/fseeko.c (rpl_fseeko): Likewise.
43145         * lib/fseterr.c (fseterr): Likewise.
43146         * lib/fwritable.c (fwritable): Likewise.
43147         * lib/fwriting.c (fwriting): Likewise.
43148         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
43149
43150 2008-04-09  Eric Blake  <ebb9@byu.net>
43151
43152         Avoid some autoconf warnings.
43153         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
43154         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
43155         * m4/afs.m4 (gl_AFS): Likewise.
43156         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
43157         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
43158         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43159         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
43160         (gl_INTEGER_TYPE_SUFFIX): Likewise.
43161         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
43162         (AC_CHECK_DECLS_ONCE): Likewise.
43163         Rename file...
43164         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
43165         gnulib-tool requires autoconf 2.59 or better.
43166         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
43167
43168 2008-04-08  Eric Blake  <ebb9@byu.net>
43169
43170         Use 'git describe --match' if present (added in git 1.5.5).
43171         * build-aux/git-version-gen: Limit result to tags that match 'v*'
43172         if possible.
43173
43174 2008-04-08  Bruno Haible  <bruno@clisp.org>
43175
43176         Add tentative support for OpenServer.
43177         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
43178         _ptr, _cnt.
43179         * lib/fpurge.c (fpurge): Likewise.
43180         * lib/freadable.c (freadable): Likewise.
43181         * lib/freadahead.c (freadahead): Likewise.
43182         * lib/freading.c (freading): Likewise.
43183         * lib/freadptr.c (freadptr): Likewise.
43184         * lib/freadseek.c (freadptrinc): Likewise.
43185         * lib/fseeko.c (rpl_fseeko): Likewise.
43186         * lib/fseterr.c (fseterr): Likewise.
43187         * lib/fwritable.c (fwritable): Likewise.
43188         * lib/fwriting.c (fwriting): Likewise.
43189         Reported by Roger Cornelius <rac@tenzing.org> and
43190         Brian K. White <brian@aljex.com>.
43191
43192 2008-04-06  Jim Meyering  <meyering@redhat.com>
43193
43194         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
43195
43196 2008-04-06  Bruno Haible  <bruno@clisp.org>
43197
43198         Avoid possible error with non-ASCII bytes in UTF-8 locales.
43199         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
43200         * tests/test-printf-posix.sh: Likewise.
43201         * tests/test-vfprintf-posix.sh: Likewise.
43202         * tests/test-vprintf-posix.sh: Likewise.
43203         * tests/test-xprintf-posix.sh: Likewise.
43204
43205 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43206
43207         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
43208         hide error from 'ls', needed on OS/2.
43209         Report by Elbert Pol <elbert.pol@gmail.com>.
43210
43211 2008-04-04  Eric Blake  <ebb9@byu.net>
43212
43213         Make test-fseeko.c failures meaningful.
43214         * tests/test-fseeko.c: Print line number on failure.
43215         * tests/test-fseek.c: Likewise.
43216         Reported by Nelson H. F. Beebe.
43217
43218         Improve strtod bug detection check.
43219         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
43220         required for Solaris 10.
43221         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
43222
43223 2008-04-04  Bruno Haible  <bruno@clisp.org>
43224
43225         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
43226         by m4/setenv.m4.
43227
43228 2008-04-03  Eric Blake  <ebb9@byu.net>
43229
43230         Ensure sane .version contents.
43231         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
43232         version string.
43233         * build-aux/git-version-gen: Improve documentation.
43234
43235         Make GNU make output nicer.
43236         * top/GNUmakefile [!_have-Makefile]: Add dependency on
43237         MAKECMDGOALS to enforce message for all command line targets.  Set
43238         srcdir for use in maint.mk.
43239
43240         Another maintainer tweak.
43241         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
43242         a target that regenerates version.
43243
43244 2008-04-03  Jim Meyering  <meyering@redhat.com>
43245
43246         vc-list-files: don't cause coreutils "make po-check" failure
43247         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
43248
43249 2008-04-03  Eric Blake  <ebb9@byu.net>
43250
43251         Allow VPATH usage of vc-list-files.
43252         * build-aux/vc-list-files (scriptversion): Add timestamp.
43253         (options): Add --help, --version, -C.
43254         (CVS): Support installed cvsu.
43255
43256 2008-04-02  Bruno Haible  <bruno@clisp.org>
43257
43258         Avoid some "statement with no effect" warnings from gcc.
43259         * tests/test-wctype.c (main): Explicitly ignore unused values.
43260         Reported by Jim Meyering.
43261
43262 2008-04-02  Jim Meyering  <meyering@redhat.com>
43263
43264         Avoid some warnings from "gcc -Wshadow".
43265         * tests/test-frexp.c (exp): Define to a different identifier.
43266         * tests/test-frexpl.c (exp): Likewise.
43267
43268 2008-04-03  Jim Meyering  <meyering@redhat.com>
43269
43270         bootstrap: remove dangling *.[ch] symlinks from lib
43271         * build-aux/bootstrap [dangling symlink removal]: Move find's
43272         -depth option to precede all others, to avoid a warning.
43273         Remove *.[ch] files too, and from "$source_base" (usually lib/).
43274
43275 2008-04-02  Bruno Haible  <bruno@clisp.org>
43276
43277         Avoid some warnings from "gcc -Wshadow".
43278         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
43279         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
43280         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
43281         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
43282         Reported by Jim Meyering.
43283
43284 2008-04-01  Bruno Haible  <bruno@clisp.org>
43285
43286         Fix test to work on IRIX 6.5 with cc.
43287         * tests/test-math.c (numeric_equal): New function.
43288         (main): Use it.
43289
43290 2008-04-01  Bruno Haible  <bruno@clisp.org>
43291
43292         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
43293
43294 2008-04-01  Bruno Haible  <bruno@clisp.org>
43295
43296         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
43297         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43298         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
43299         (Depends-on): Remove math.
43300
43301         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
43302         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43303         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
43304         (Depends-on): Remove math.
43305
43306         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
43307         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43308         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
43309         (Depends-on): Remove math.
43310         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
43311         (Depends-on): Remove math.
43312
43313         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
43314         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43315         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
43316         (Depends-on): Remove math.
43317         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
43318         (Depends-on): Remove math.
43319
43320         * tests/test-round1.c: Include nan.h.
43321         (main): Use NaNd instead of NAN.
43322         * modules/round-tests (Files): Add tests/nan.h.
43323
43324         * tests/test-trunc1.c: Include nan.h.
43325         (main): Use NaNd instead of NAN.
43326         * modules/trunc-tests (Files): Add tests/nan.h.
43327
43328         * tests/test-roundf1.c: Include nan.h.
43329         (main): Use NaNf instead of NAN.
43330         * modules/roundf-tests (Files): Add tests/nan.h.
43331
43332         * tests/test-truncf1.c: Include nan.h.
43333         (main): Use NaNf instead of NAN.
43334         * modules/truncf-tests (Files): Add tests/nan.h.
43335
43336         * tests/test-ceilf1.c: Include nan.h.
43337         (main): Use NaNf instead of NAN.
43338         * modules/ceilf-tests (Files): Add tests/nan.h.
43339
43340         * tests/test-floorf1.c: Include nan.h.
43341         (main): Use NaNf instead of NAN.
43342         * modules/floorf-tests (Files): Add tests/nan.h.
43343
43344         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
43345         (main): Use NaNf instead of NAN.
43346         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
43347
43348         * tests/test-isnand.c: Include nan.h instead of <math.h>.
43349         (main): Use NaNd instead of NAN.
43350         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
43351
43352         * tests/test-frexp.c: Include nan.h.
43353         (main): Use NaNd instead of NAN.
43354         * modules/frexp-tests (Files): Add tests/nan.h.
43355
43356         * lib/isnan.c: Don't include <math.h>.
43357         (FUNC): Don't use NAN macro.
43358         * modules/isnand-nolibm (Depends-on): Remove math.
43359         * modules/isnanf-nolibm (Depends-on): Remove math.
43360         * modules/isnanl (Depends-on): Remove math.
43361         * modules/isnanl-nolibm (Depends-on): Remove math.
43362
43363         * tests/nan.h: New file.
43364
43365 2008-04-01  Eric Blake  <ebb9@byu.net>
43366
43367         Fix typos.
43368         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
43369         values to be the right type.
43370
43371         For now, cater to gnulib strtod inaccuracies.
43372         * tests/test-strtod.c (main): Allow 1-ulp error on expected
43373         fractional results.  While not as nice from a QoI perspective, it
43374         is a quicker patch than correctly implementing decimal to binary
43375         rounding.
43376
43377 2008-03-31  Eric Blake  <ebb9@byu.net>
43378
43379         Guarantee a definition of NAN.
43380         * lib/math.in.h (NAN): Define if missing.
43381         * tests/test-math.c (main): Test it.
43382         * doc/posix-headers/math.texi (math.h): Document this.
43383         * lib/isnan.c (rpl_isnand): Use it.
43384         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
43385         * tests/test-floorf1.c (NaN): Likewise.
43386         * tests/test-frexp.c (NaN): Likewise.
43387         * tests/test-isnand.c (NaN): Likewise.
43388         * tests/test-isnanf.c (NaN): Likewise.
43389         * tests/test-round1.c (NaN): Likewise.
43390         * tests/test-roundf1.c (NaN): Likewise.
43391         * tests/test-snprintf-posix.h (NaN): Likewise.
43392         * tests/test-sprintf-posix.h (NaN): Likewise.
43393         * tests/test-trunc1.c (NaN): Likewise.
43394         * tests/test-truncf1.c (NaN): Likewise.
43395         * tests/test-vasnprintf-posix.c (NaN): Likewise.
43396         * tests/test-vasprintf-posix.c (NaN): Likewise.
43397         * modules/isnand-nolibm (Depends-on): Add math.
43398         * modules/isnanf-nolibm (Depends-on): Likewise.
43399         * modules/isnanl (Depends-on): Likewise.
43400         * modules/isnanl-nolibm (Depends-on): Likewise.
43401         * modules/snprintf-posix-tests (Depends-on): Likewise.
43402         * modules/sprintf-posix-tests (Depends-on): Likewise.
43403         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
43404         * modules/vsprintf-posix-tests (Depends-on): Likewise.
43405         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
43406         * modules/vasprintf-posix-tests (Depends-on): Likewise.
43407
43408 2008-03-31  Bruno Haible  <bruno@clisp.org>
43409
43410         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
43411         * doc/posix-functions/strtod.texi: Likewise.
43412
43413 2008-03-31  Bruno Haible  <bruno@clisp.org>
43414
43415         * tests/test-strtod.c (main): Don't use C99 syntax.
43416
43417 2008-03-31  Bruno Haible  <bruno@clisp.org>
43418
43419         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
43420         Reported by Eric Blake.
43421
43422 2008-03-31  Jim Meyering  <meyering@redhat.com>
43423
43424         Don't compare actual signbit return values.
43425         * tests/test-strtod.c (main): Rather, compare only their
43426         zero/non-zero nature.
43427
43428 2008-03-31  Eric Blake  <ebb9@byu.net>
43429
43430         More strtod documentation.
43431         * doc/posix-functions/strtod.texi (strtod): Interpret more test
43432         failures as distinct bugs.
43433
43434 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
43435
43436         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
43437         Problem reported by Erik Benada in
43438         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
43439
43440 2008-03-30  Bruno Haible  <bruno@clisp.org>
43441
43442         * tests/test-strtod.c: Add comments about which assertion fails on which
43443         platform.
43444         * doc/posix-functions/strtod.texi: Add info about many more platforms.
43445
43446 2008-03-30  Eric Blake  <ebb9@byu.net>
43447
43448         Test signbit behavior on zeros.
43449         * tests/test-signbit.c (test_signbitf): Add tests for zero.
43450         (test_signbitd, test_signbitl): Likewise.
43451
43452         More strtod touchups.
43453         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
43454         sign of negative underflow, for now.  Use .5, not .1.
43455         * doc/posix-functions/strtod.texi (strtod): Mention these
43456         limitations.
43457         Reported by Jim Meyering.
43458
43459 2008-03-30  Bruno Haible  <bruno@clisp.org>
43460
43461         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
43462         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
43463
43464 2008-03-30  Bruno Haible  <bruno@clisp.org>
43465
43466         Avoid failure when attempting to return empty iconv results on some
43467         platforms.
43468         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
43469         allocation, don't report ENOMEM when the resulting string is empty.
43470
43471 2008-03-30  Bruno Haible  <bruno@clisp.org>
43472
43473         Fix buffer overrun.
43474         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
43475         Don't consider the width for tmp_length. Check count against tmp_length
43476         before doing the padding. Ensure enough allocation during padding.
43477
43478 2008-03-30  Eric Blake  <ebb9@byu.net>
43479
43480         strtod touchups.
43481         * lib/strtod.c (strtod): Avoid compiler warnings.
43482         Reported by Jim Meyering.
43483
43484 2008-03-30  Bruno Haible  <bruno@clisp.org>
43485
43486         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
43487         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
43488         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
43489         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
43490         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
43491         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
43492         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
43493         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
43494
43495         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
43496         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
43497         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
43498         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
43499         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
43500         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
43501         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
43502         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
43503
43504         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
43505         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
43506         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
43507         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
43508         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
43509         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
43510         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
43511         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
43512
43513         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
43514         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
43515
43516         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
43517         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
43518
43519         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
43520         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
43521
43522         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
43523         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
43524         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
43525
43526         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
43527         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
43528         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
43529
43530         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
43531         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
43532         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
43533
43534         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
43535         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
43536         * modules/vasprintf (Depends-on): Add EOVERFLOW.
43537
43538         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
43539         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
43540         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
43541         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
43542         (Depends-on): Add EOVERFLOW.
43543         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
43544         (Depends-on): Add EOVERFLOW.
43545         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
43546         (Depends-on): Add EOVERFLOW.
43547         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
43548         (Depends-on): Add EOVERFLOW.
43549         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
43550         (Depends-on): Add EOVERFLOW.
43551         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
43552         (Depends-on): Add EOVERFLOW.
43553         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
43554         (Depends-on): Add EOVERFLOW.
43555         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
43556         (Depends-on): Add EOVERFLOW.
43557
43558         * lib/sprintf.c (EOVERFLOW): Remove fallback.
43559         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
43560         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
43561
43562         * lib/snprintf.c (EOVERFLOW): Remove fallback.
43563         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
43564         * modules/snprintf (Depends-on): Add EOVERFLOW.
43565
43566         * lib/poll.c (EOVERFLOW): Remove fallback.
43567         * modules/poll (Depends-on): Add EOVERFLOW.
43568
43569         * lib/getugroups.c (EOVERFLOW): Remove fallback.
43570         * modules/getugroups (Depends-on): Add EOVERFLOW.
43571
43572         * lib/getdelim.c (EOVERFLOW): Remove fallback.
43573         * modules/getdelim (Depends-on): Add EOVERFLOW.
43574
43575         * lib/ftell.c (EOVERFLOW): Remove fallback.
43576         * modules/ftell (Depends-on): Add EOVERFLOW.
43577
43578         * lib/fprintf.c (EOVERFLOW): Remove fallback.
43579         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
43580         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
43581
43582         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
43583
43584         * modules/EOVERFLOW-tests: New file.
43585         * tests/test-EOVERFLOW.c: New file.
43586
43587         * modules/EOVERFLOW: New file.
43588         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
43589
43590 2008-03-30  Bruno Haible  <bruno@clisp.org>
43591
43592         Fix bug introduced on 2007-06-10.
43593         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
43594         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
43595
43596 2008-03-30  Bruno Haible  <bruno@clisp.org>
43597
43598         Improve freadseek's efficiency after ungetc.
43599         * lib/freadseek.c: Include freadahead.h.
43600         (freadptrinc): New function, extracted from freadseek.
43601         (freadseek): Use it in a loop. Use freadahead to determine the number
43602         of loop iterations.
43603         * modules/freadseek (Depends-on): Add freadahead.
43604         (configure.ac): Require AC_C_INLINE.
43605
43606 2008-03-30  Bruno Haible  <bruno@clisp.org>
43607
43608         * lib/freadseek.c (freadseek): Don't ignore the return value of
43609         freadptr.
43610
43611 2008-03-29  Eric Blake  <ebb9@byu.net>
43612
43613         Add hex float support.
43614         * modules/strtod (Depends-on): Add c-ctype.
43615         (Link): Mention POW_LIB.
43616         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
43617         whitespace between 'e' and exponent.
43618         * tests/test-strtod.c (main): Enable hex float tests.
43619         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
43620         now provides.
43621
43622         Document various strtod bugs, with some fixes.
43623         * doc/posix-functions/strtod.texi (strtod): Document bugs with
43624         "-0x", "inf", "nan", and hex constants.
43625         * doc/posix-functions/atof.texi (atof): Likewise.
43626         * modules/stdlib (Makefile.am): Support strtod.
43627         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
43628         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
43629         detect additional strtod bugs.
43630         * lib/stdlib.in.h (rpl_strtod): Add declarations.
43631         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
43632         bool where appropriate.  Parse 'inf' and 'nan'.
43633         * tests/test-strtod.c: New file.
43634         * modules/strtod (Depends-on): Add stdbool, stdlib.
43635         (configure.ac): Turn on module indicator.
43636         * modules/strtod-tests: New module.
43637
43638 2008-03-29  Eric Blake  <ebb9@byu.net>
43639
43640         Fix ftell on mingw.
43641         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
43642         * modules/ftell-tests (Depends-on): Add binary-io.
43643         * modules/ftello-tests (Depends-on): Likewise.
43644         * tests/test-ftell.c (main): Enhance test to cover behavior after
43645         ungetc.  Enforce binary mode.
43646         * tests/test-ftello.c (main): Likewise.
43647
43648         Pass test-freadseek on cygwin.
43649         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
43650         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
43651         ungetc buffer.
43652
43653         * tests/test-fflush2.c (main): Fix typo.
43654
43655 2008-03-29  Bruno Haible  <bruno@clisp.org>
43656
43657         * tests/test-fflush2.c (main): Temporarily disable the contents of
43658         this test.
43659         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
43660         Reported by Eric Blake.
43661
43662 2008-03-28  Simon Josefsson  <simon@josefsson.org>
43663
43664         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
43665         (GC_SHA224_DIGEST_SIZE): Add.
43666
43667         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
43668         (gc_hash_digest_length): Likewise.
43669         (gc_hash_buffer): Likewise.
43670
43671 2008-03-25  Bruno Haible  <bruno@clisp.org>
43672
43673         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
43674         detail which gettext release to use.
43675         Reported by Simon Josefsson.
43676
43677 2008-03-26  Jim Meyering  <meyering@redhat.com>
43678
43679         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
43680         * modules/gnumakefile (clean-GNUmakefile): Also, use
43681         test ... && ... || : syntax rather than if-then ... fi.
43682
43683         gnumakefile: Don't double-quote-expand $(VPATH) value.
43684         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
43685
43686 2008-03-24  Eric Blake  <ebb9@byu.net>
43687
43688         Alter GNUmakefile to install into top directory.
43689         * modules/maintainer-makefile: Split, and add dependency...
43690         * modules/gnumakefile: to this new module.
43691         * build-aux/GNUmakefile: Move...
43692         * top/GNUmakefile: ...here.
43693         * build-aux/maint.mk: Move...
43694         * top/maint.mk: ...here.
43695         * MODULES.html.sh (Support for maintaining...): Document new
43696         module.
43697
43698 2008-03-23  Bruno Haible  <bruno@clisp.org>
43699
43700         * gnulib-tool: New options --vc-files, --no-vc-files.
43701         (func_usage): Document them.
43702         (vc_files): New variable.
43703         (func_import): Consider vc_files.
43704         (func_create_testdir): Set vc_files to empty.
43705         Suggested by Jim Meyering and Karl Berry.
43706
43707 2008-03-23  Bruno Haible  <bruno@clisp.org>
43708
43709         Fix regex compilation error on HP-UX 11.
43710         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
43711         * modules/regex (Files): Add m4/mbstate_t.m4.
43712         Reported by Ton Voon <ton.voon@altinity.com>.
43713
43714 2008-03-23  Bruno Haible  <bruno@clisp.org>
43715
43716         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
43717
43718 2008-03-23  Eric Blake  <ebb9@byu.net>
43719             Bruno Haible  <bruno@clisp.org>
43720
43721         Install files from top/ in the destination directory.
43722         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
43723         augmentation also for the files from top/.
43724         (func_import, func_create_testdir): Rewrite file names:
43725         top/filename -> filename.
43726
43727 2008-03-23  Bruno Haible  <bruno@clisp.org>
43728
43729         Tweak "gnulib --version" output.
43730         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
43731
43732 2008-03-23  Bruno Haible  <bruno@clisp.org>
43733
43734         Tweak "gnulib --version" output.
43735         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
43736         rather than contents of ChangeLog, when possible.
43737
43738 2008-03-21  Eric Blake  <ebb9@byu.net>
43739
43740         More --version tweaks.
43741         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
43742         date of last ChangeLog entry.
43743
43744 2008-03-21  Jim Meyering  <meyering@redhat.com>
43745
43746         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
43747
43748 2008-03-20  Eric Blake  <ebb9@byu.net>
43749
43750         VPATH fix.
43751         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
43752
43753 2008-03-20  Simon Josefsson  <simon@josefsson.org>
43754
43755         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
43756         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
43757
43758 2008-03-20  Eric Blake  <ebb9@byu.net>
43759
43760         Sync GNUmakefile with coreutils.
43761         * build-aux/GNUmakefile (have-Makefile): Rename...
43762         (_have-Makefile): ...to this, for namespace consideration.
43763         (GNUmakefile.cfg): Include, if present.
43764         (_autoreconf): Define a default.
43765         (_is-dist-target): New rule for rebuilds to pick up intra-release
43766         version.
43767         (maint-cfg.mk): Rename...
43768         (cfg.mk): ...to this.
43769
43770 2008-03-18  Jim Meyering  <meyering@redhat.com>
43771
43772         New script and module: mktempd
43773         * MODULES.html.sh (maint+release support): Add mktempd.
43774         * build-aux/mktempd: New file.
43775         * modules/mktempd: New file.
43776
43777 2008-03-15  Jim Meyering  <meyering@redhat.com>
43778
43779         Undo last change.
43780         * lib/sha1.c, lib/md5.c: 63 != ~63.
43781         Reported by Andreas Schwab.
43782
43783         sha1.c, md5.c: Hoist a redundant expression.
43784         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
43785         "ctx->buflen" only once, before calling *_process_block.
43786         * lib/md5.c (md5_process_bytes): Likewise.
43787
43788 2008-03-14  Eric Blake  <ebb9@byu.net>
43789
43790         Bump copyright year in files generated by gnulib-tool.
43791         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
43792         gnulib-tool, rather than hard-coding it.
43793
43794         Fix 'gnulib-tool --version' output to work with git.
43795         * gnulib-tool (func_gnulib_dir): New function, extracted from...
43796         (startup): ...here.
43797         (func_version): Use it to invoke git-version-gen, rather than
43798         relying on CVS keyword expansion.  Modernize wording.
43799         (cvsdatestamp, last_checkin_date, version): Kill unused
43800         variables.
43801
43802 2008-03-12  Jim Meyering  <meyering@redhat.com>
43803
43804         Recognize optional cast of the argument to free.
43805         * build-aux/useless-if-before-free: Update regexps.
43806
43807         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
43808
43809 2008-03-11  Bruno Haible  <bruno@clisp.org>
43810
43811         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
43812         by a single package.
43813         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
43814         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
43815         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
43816         Reported by Sam Steingold <sds@gnu.org>.
43817
43818 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43819
43820         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
43821         repositories.
43822
43823 2008-03-11  Bruno Haible  <bruno@clisp.org>
43824
43825         Avoid conflicts between local macro definitions.
43826         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
43827         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
43828
43829 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
43830             Bruno Haible  <bruno@clisp.org>
43831
43832         Make va_copy work with some version of xlc on AIX 5.1.
43833         * lib/stdarg.in.h: New file.
43834         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
43835         On AIX, use a <stdarg.h> file substitute.
43836         * modules/stdarg (Files): Add lib/stdarg.in.h.
43837         (Depends-on): Add include_next.
43838         (Makefile.am): Build a stdarg.h substitute if requested.
43839         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
43840
43841 2008-03-10  Bruno Haible  <bruno@clisp.org>
43842
43843         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
43844         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43845         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
43846
43847 2008-03-10  Bruno Haible  <bruno@clisp.org>
43848
43849         * modules/stdlib (Depends-on): Add include_next, remove
43850         absolute-header.
43851
43852 2008-03-09  Bruno Haible  <bruno@clisp.org>
43853
43854         * lib/freadahead.h (freadahead): Document more precisely.
43855         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
43856         the sum of both buffer sizes.
43857         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
43858         * NEWS: Document the change.
43859
43860 2008-03-09  Bruno Haible  <bruno@clisp.org>
43861
43862         Extend freadptr to return also the buffer size.
43863         * lib/freadptr.h (freadptr): Add sizep argument.
43864         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
43865         (freadptr): Add sizep argument. Determine buffer size like freadahead
43866         does.
43867         * tests/test-freadptr.c: Don't include freadahead.h.
43868         (main): Adapt for new calling convention of freadptr.
43869         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
43870         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
43871         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
43872         tests/test-freadptr2.sh.
43873         (Depends): Remove freadahead.
43874         (TESTS): Add test-freadptr2.sh.
43875         (check_PROGRAMS): Add test-freadptr2.
43876
43877 2008-03-09  Bruno Haible  <bruno@clisp.org>
43878
43879         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
43880         Report and solution by Simon Josefsson.
43881
43882 2008-03-06  Bruno Haible  <bruno@clisp.org>
43883
43884         Make fflush after ungetc work on BSD platforms.
43885         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
43886         * tests/test-fflush2.c: New file.
43887         * tests/test-fflush2.sh: New file.
43888         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
43889         tests/test-fflush2.c.
43890         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
43891         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
43892
43893 2008-03-06  Eric Blake  <ebb9@byu.net>
43894
43895         Likewise for ftello.
43896         * modules/ftello (Dependencies): Add extensions.
43897         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
43898
43899 2008-03-06  Bruno Haible  <bruno@clisp.org>
43900
43901         * modules/fseeko (Dependencies): Add extensions.
43902         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
43903         Needed on glibc systems.
43904
43905 2008-03-06  Bruno Haible  <bruno@clisp.org>
43906
43907         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
43908         email address.
43909         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43910
43911 2008-03-06  Bruno Haible  <bruno@clisp.org>
43912
43913         * users.txt: Add libgnupdf.
43914
43915 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
43916
43917         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
43918         (Header File Substitutes, Function Substitutes,
43919         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
43920         (Build robot for gnulib): Fix typo.
43921
43922 2008-03-06  Bruno Haible  <bruno@clisp.org>
43923
43924         * doc/gnulib-tool.texi (VCS Issues): Small updates.
43925         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43926
43927 2008-03-06  Bruno Haible  <bruno@clisp.org>
43928
43929         * doc/func.texi: New file, extracted from doc/gnulib.texi.
43930         * doc/gnulib.texi: Include it.
43931
43932 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43933
43934         * modules/func (License): Change license to unlimited; there was
43935         no LGPL parts in the module anyway.
43936
43937 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43938
43939         * modules/__func__: Renamed to modules/func.
43940         * modules/__func__-tests: Renamed to modules/func-tests.
43941         * tests/test-__func__.c: Renamed to tests/test-func.c.
43942         * m4/__func__.m4: Renamed to m4/func.m4.
43943         * doc/gnulib.texi (__func__): Section renamed to func.
43944         Suggested by Eric Blake <ebb9@byu.net>.
43945
43946 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43947
43948         * doc/gnulib.texi (__func__): Use C99 terminology when talking
43949         about __func__.  Make example self-contained.  Suggested by Eric
43950         Blake <ebb9@byu.net>.
43951
43952         * tests/test-__func__.c (main): Avoid extraneous () around __func.
43953         Suggested by Eric Blake <ebb9@byu.net>.
43954
43955 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43956
43957         * modules/__func__: New file.
43958         * modules/__func__-tests: New file.
43959         * tests/test-__func__.c: New file.
43960         * m4/__func__.m4: New file.
43961         * doc/gnulib.texi (__func__): Document __func__ module.
43962
43963 2008-03-05  Simon Josefsson  <simon@josefsson.org>
43964
43965         * modules/byteswap (License): Re-license as LGPLv2+.
43966
43967 2008-03-05  Simon Josefsson  <simon@josefsson.org>
43968
43969         * doc/Makefile: Add pdf target.
43970
43971 2008-03-05  Simon Josefsson  <simon@josefsson.org>
43972
43973         * modules/inline (License): Use 'unlimited', since there are only
43974         *.m4 files in this module.
43975
43976 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
43977             Bruno Haible  <bruno@clisp.org>
43978
43979         Add support for HP C 7.1 on OpenVMS 8.3.
43980         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
43981
43982 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
43983
43984         Update VMS specifics.
43985         * lib/getopt.c [VMS]: Remove include of unixlib.h.
43986
43987 2008-03-02  Jim Meyering  <meyering@redhat.com>
43988
43989         Remove the last dependency on the "free" module.
43990         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
43991         Reported by Bob Proulx.
43992
43993         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
43994
43995         Remove useless "if" tests before free.  Deprecate "free" module.
43996         * doc/posix-functions/free.texi: Mention that this
43997         module is no longer useful.
43998         * modules/free (Notice): Say this module is obsolete.
43999         * modules/readutmp (Depends-on): Remove free.
44000         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
44001         * lib/putenv.c (putenv): Likewise.
44002         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
44003         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
44004         * tests/test-c-strcasestr.c (main): Likewise.
44005         * tests/test-c-strstr.c (main): Likewise.
44006         * tests/test-mbscasestr1.c (main): Likewise.
44007         * tests/test-mbscasestr2.c (main): Likewise.
44008         * tests/test-mbsstr1.c (main): Likewise.
44009         * tests/test-mbsstr2.c (main): Likewise.
44010         * tests/test-memmem.c (main): Likewise.
44011         * tests/test-strcasestr.c (main): Likewise.
44012         * tests/test-striconv.c (main): Likewise.
44013         * tests/test-striconveh.c (main): Likewise.
44014         * tests/test-striconveha.c (main): Likewise.
44015         * tests/test-strstr.c (main): Likewise.
44016
44017         * build-aux/git-version-gen: Adjust a comment and the Usage string.
44018
44019         bootstrap: sync from coreutils again
44020         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
44021
44022 2008-03-01  Jim Meyering  <meyering@redhat.com>
44023
44024         bootstrap: sync from coreutils
44025         * build-aux/bootstrap (update_po_files): Copy a .po file into place
44026         also when the target doesn't exist.
44027
44028 2008-03-01  Eric Blake  <ebb9@byu.net>
44029
44030         Fix bugs in last patch.
44031         * lib/memchr2.c (memchr2): Fix typo.
44032         * tests/test-memchr2.c: Test previous bug, and don't use GNU
44033         extension.
44034         Reported by Bruce Korb.
44035
44036         New module 'memchr2'.
44037         * modules/memchr2: New file.
44038         * modules/memchr2-tests: Likewise.
44039         * lib/memchr2.h: Likewise.
44040         * lib/memchr2.c: Likewise, based on memchr.c.
44041         * tests/test-memchr2.c: New test.
44042         * MODULES.html.sh (String handling): Add memchr2.
44043
44044 2008-02-29  Bruno Haible  <bruno@clisp.org>
44045
44046         * modules/freadseek-tests: New file.
44047         * tests/test-freadseek.sh: New file.
44048         * tests/test-freadseek.c: New file.
44049
44050         New module 'freadseek'.
44051         * modules/freadseek: New file.
44052         * lib/freadseek.h: New file.
44053         * lib/freadseek.c: New file.
44054         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
44055
44056 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
44057
44058         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
44059         wydawca.
44060
44061         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
44062         program_invocation_name and program_invocation_short_name are
44063         present.
44064
44065 2008-02-28  Bruno Haible  <bruno@clisp.org>
44066
44067         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
44068         * tests/test-freadptr.sh: Also test non-seekable stdin.
44069
44070 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
44071
44072         * build-aux/bootstrap (source_base, m4_base)
44073         (doc_base, tests_base): New variables.
44074         (gnulib_tool_options): Do not hardcode base directories, use
44075         the above variables instead.
44076
44077 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
44078
44079         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
44080
44081 2008-02-28  Bruno Haible  <bruno@clisp.org>
44082
44083         * modules/freadptr-tests: New file.
44084         * tests/test-freadptr.sh: New file.
44085         * tests/test-freadptr.c: New file.
44086
44087         New module 'freadptr'.
44088         * modules/freadptr: New file.
44089         * lib/freadptr.h: New file.
44090         * lib/freadptr.c: New file.
44091         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
44092
44093 2008-02-26  Karl Berry  <karl@freefriends.org>
44094
44095         Sync from Libtool:
44096         * libltdl/argz.c (argz_add, argz_count): New functions.
44097         * libltdl/argz.in.h: Declare them.
44098         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
44099
44100 2008-02-22  Bruno Haible  <bruno@clisp.org>
44101
44102         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
44103         is a pointer type.  Needed for HP-UX 10.
44104         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
44105         * doc/posix-functions/gmtime_r.texi: Likewise.
44106         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
44107
44108 2008-02-24  Bruno Haible  <bruno@clisp.org>
44109
44110         * modules/environ-tests: New file.
44111         * tests/test-environ.c: New file.
44112
44113         New module 'environ'.
44114         * modules/environ: New file.
44115         * lib/unistd.in.h (environ): New declaration.
44116         * m4/environ.m4: New file.
44117         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
44118         after use.
44119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
44120         HAVE_DECL_ENVIRON.
44121         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
44122         HAVE_DECL_ENVIRON.
44123         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
44124         wrong claim that 'environ' is missing on some systems.
44125         * modules/execute (Depends-on): Add environ.
44126         * lib/execute.c (environ): Remove fallback declaration.
44127         * modules/pipe (Depends-on): Add environ.
44128         * lib/pipe.c (environ): Remove fallback declaration.
44129         * modules/setenv (Depends-on): Add environ.
44130         * lib/setenv.c (environ): Remove fallback declaration.
44131         * modules/unsetenv (Depends-on): Add environ.
44132         * lib/unsetenv.c (environ): Remove fallback declaration.
44133         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
44134         m4/environ.m4.
44135         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
44136         (gl_PREREQ_UNSETENV): Likewise.
44137
44138 2008-02-24  Bruno Haible  <bruno@clisp.org>
44139
44140         * doc/posix-functions/environ.texi: Document the MacOS X problem.
44141
44142 2008-02-20  Bob Proulx  <bob@proulx.com>
44143
44144         Enable use of older two part flavor 'git describe'.
44145         * build-aux/git-version-gen: If using the older two part flavor of
44146         git version then recreate the third part now present in the
44147         newer three part flavor of git describe.
44148
44149 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
44150
44151         * lib/fts.c (fts_build): Typo correction to comment.
44152
44153 2008-02-17  Bruno Haible  <bruno@clisp.org>
44154
44155         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
44156         generating no-op conflicts.
44157
44158 2008-02-17  Bruno Haible  <bruno@clisp.org>
44159
44160         Speed up by 10%.
44161         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
44162         result_entries, rather than an index-based loop.
44163
44164 2008-02-17  Bruno Haible  <bruno@clisp.org>
44165
44166         Speed up by 25%.
44167         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
44168         'hashcode_cached'.
44169         (entry_create): New function.
44170         (entry_hashcode): Use the cached hashcode if possible.
44171         (read_changelog_file, try_split_merged_entry): Use entry_create.
44172
44173 2008-02-17  Bruno Haible  <bruno@clisp.org>
44174
44175         Speed up from O(n^2) to O(n) for long ChangeLog files.
44176         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
44177         (read_changelog_file): Change implementation of entries_reversed list
44178         to rbtreehash.
44179         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
44180
44181 2008-02-17  Bruno Haible  <bruno@clisp.org>
44182
44183         New option --split-merged-entry.
44184         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
44185         (find_paragraph_end, try_split_merged_entry): New functions.
44186         (long_options): Add option --split-merged-entry.
44187         (usage): Document option --split-merged-entry.
44188         (main): Implement option --split-merged-entry.
44189         Reported by Eric Blake.
44190
44191 2008-02-17  Bruno Haible  <bruno@clisp.org>
44192
44193         * lib/git-merge-changelog.c: Include c-strstr.h.
44194         (main): Support the "git pull --rebase" situation.
44195         * modules/git-merge-changelog (Depends-on): Add c-strstr.
44196         Reported by Eric Blake.
44197
44198 2008-02-16  Eric Blake  <ebb9@byu.net>
44199
44200         Avoid doubling \ in common case of "c-maybe" quoting style.
44201         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
44202         eliding outer quotes.
44203         * lib/quotearg.h: Document this.
44204         * tests/test-quotearg.c (result_strings, inputs, results_g)
44205         (flag_results, locale_results): Test it by adding a new string to
44206         each test group.
44207         (compare_strings): Test new string.
44208
44209 2008-02-13  Eric Blake  <ebb9@byu.net>
44210
44211         Avoid trigraph quoting in default output.
44212         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
44213         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
44214         unless explicitly requested.
44215         * tests/test-quotearg.c (flag_results, main): Add additional tests.
44216
44217 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
44218
44219         Don't rely on signed integer overflowing to negative value.
44220         * lib/getugroups.c (getugroups): Include <limits.h>.
44221         Instead, compare against INT_MAX, and increment only if the test passes.
44222
44223 2008-02-13  Jim Meyering  <meyering@redhat.com>
44224         and Eric Blake  <ebb9@byu.net>
44225
44226         Avoid shadowing warning and compile errors on Linux.
44227         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
44228         forwarding macros on Linux.
44229         (dcgettext): Define a stub, for Linux.
44230         (results_g, main): Avoid warnings.
44231
44232 2008-02-12  Eric Blake  <ebb9@byu.net>
44233
44234         Silence warning in last patch.
44235         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
44236
44237         Quotearg part 4: add tests, fix c-maybe colon quoting.
44238         * lib/quotearg.h: Improve documentation.
44239         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
44240         escapes when adding outer quotes.  When quoting trigraphs, use
44241         valid C notation.  When quoting NUL, omit extra characters if next
44242         character is not digit.  Alter prototype.
44243         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
44244         callers.
44245         * modules/quotearg-tests: New module.
44246         * tests/test-quotearg.c: New test.
44247
44248 2008-02-07  Eric Blake  <ebb9@byu.net>
44249
44250         Quotearg part 3: add flag to control outer quote elision.
44251         * lib/quotearg.h (c_maybe_quoting_style): New style.
44252         (enum quoting_flags): Better documentation of flags.
44253         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
44254         c-maybe style.
44255         (quotearg_buffer_restyled): Handle new flag to elide outer
44256         quotes.
44257
44258         Quotearg part 2: add flag that can control NUL elision.
44259         * lib/quotearg.h (set_quoting_flags): New prototype.
44260         * lib/quotearg.c (struct quoting_options): Add flag field.
44261         (set_quoting_flags): New function.
44262         (quotearg_buffer_restyled): Add flags parameter.
44263         (quotearg_alloc_mem): Set the flag if length cannot be returned.
44264         (quotearg_n_options): Set the flag, since length cannot be
44265         returned.
44266         (quoting_options_from_style): Default flags correctly.
44267
44268         Quotearg part 1: more wrappers, restore quotearg_char state.
44269         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
44270         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
44271         (quotearg_colon_mem): New wrappers.
44272         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
44273         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
44274         functions.
44275         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
44276         (quotearg_colon_mem): New functions.
44277
44278 2008-02-11  Bruno Haible  <bruno@clisp.org>
44279
44280         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
44281         library in the current directory: it does not work with parallel make.
44282         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44283
44284 2008-02-11  Bruno Haible  <bruno@clisp.org>
44285
44286         * .gitattributes: New file.
44287
44288 2008-02-11  Jim Meyering  <meyering@redhat.com>
44289
44290         useless-if-before-free: Fix reversed exit values.
44291         * build-aux/useless-if-before-free: Use correct values
44292         for EXIT_MATCH and EXIT_NO_MATCH.
44293
44294         * build-aux/useless-if-before-free: Close stdout carefully.
44295
44296 2008-02-10  Bruno Haible  <bruno@clisp.org>
44297
44298         New module 'git-merge-changelog'.
44299         * modules/git-merge-changelog: New file.
44300         * lib/git-merge-changelog.c: New file.
44301
44302 2008-02-10  Jim Meyering  <meyering@redhat.com>
44303
44304         useless-if-before-free: New option: --list (-l).
44305
44306         useless-if-before-free: Don't exit immediately upon open failure.
44307         * build-aux/useless-if-before-free: Exit 2 for errors.
44308         Upon failure to open a file, don't exit immediately.
44309         Rather, just warn and continue with any remaining files.
44310
44311 2008-02-10  Bruno Haible  <bruno@clisp.org>
44312
44313         New abstract list operation 'node_set_value'.
44314         * lib/gl_list.h (gl_list_node_set_value): New function.
44315         (struct gl_list_implementation): New field node_set_value.
44316         * lib/gl_list.c (gl_list_node_set_value): New function.
44317         * lib/gl_array_list.c (gl_array_node_set_value): New function.
44318         (gl_array_list_implementation): Update.
44319         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
44320         (gl_carray_list_implementation): Update.
44321         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
44322         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
44323         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
44324         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
44325         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
44326         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
44327         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
44328         Update.
44329         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
44330         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
44331         (gl_sublist_list_implementation): Update.
44332
44333 2008-02-10  Bruno Haible  <bruno@clisp.org>
44334
44335         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
44336         Needed when ELEMENT is #defined to 'some_type *'.
44337
44338 2008-02-10  Jim Meyering  <meyering@redhat.com>
44339
44340         New script and module: useless-if-before-free
44341         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
44342         * build-aux/useless-if-before-free: New file.
44343         * modules/useless-if-before-free: New file.
44344
44345         * build-aux/gitlog-to-changelog: Use committer date, not author date.
44346
44347         xstrtol_error: Fix typo.
44348         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
44349         s/exit_failure/exit_status/.
44350
44351 2008-02-09  Jim Meyering  <meyering@redhat.com>
44352
44353         New script and module: gitlog-to-changelog
44354         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
44355         * modules/gitlog-to-changelog: New file.
44356         * build-aux/gitlog-to-changelog: New file.
44357
44358 2008-02-08  Jim Meyering  <meyering@redhat.com>
44359
44360         Avoid two "parameter unused" warnings.
44361         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
44362         Mark "st" as used.
44363
44364         Use "git COMMAND", not "git-COMMAND".
44365         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
44366         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
44367         * build-aux/git-version-gen: Use "git status", not "git-status".
44368
44369 2008-02-07  Bruno Haible  <bruno@clisp.org>
44370
44371         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
44372         Avoids a crash on Windows Vista.
44373         Reported by Adam Strzelecki <ono@java.pl> via
44374         Simon Josefsson <simon@josefsson.org>.
44375
44376 2008-02-06  Bruno Haible  <bruno@clisp.org>
44377
44378         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
44379         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
44380         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
44381         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
44382         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44383         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44384         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
44385         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
44386         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44387         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44388         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44389         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44390         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44391         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44392         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44393         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
44394         left-adjust flag.
44395         * tests/test-snprintf-posix.h (test_function): Likewise.
44396         * tests/test-sprintf-posix.h (test_function): Likewise.
44397         * tests/test-vasprintf-posix.c (test_function): Likewise.
44398         * doc/posix-functions/fprintf.texi: Update.
44399         * doc/posix-functions/printf.texi: Update.
44400         * doc/posix-functions/snprintf.texi: Update.
44401         * doc/posix-functions/sprintf.texi: Update.
44402         * doc/posix-functions/vfprintf.texi: Update.
44403         * doc/posix-functions/vprintf.texi: Update.
44404         * doc/posix-functions/vsnprintf.texi: Update.
44405         * doc/posix-functions/vsprintf.texi: Update.
44406         Reported by Peter Fales <psfales@alcatel-lucent.com>.
44407
44408 2008-02-06  Bruno Haible  <bruno@clisp.org>
44409
44410         Fix bug introduced on 2008-01-26.
44411         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
44412
44413 2008-02-06  Bruno Haible  <bruno@clisp.org>
44414
44415         Fix bug introduced on 2007-06-10.
44416         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
44417         !NEED_PRINTF_FLAG_ZERO.
44418
44419 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
44420
44421         getloadavg: use libperfstat on AIX5
44422         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
44423
44424 2008-02-03  Bruno Haible  <bruno@clisp.org>
44425
44426         * lib/diffseq.h: Add comments about required #includes.
44427         Reported by Michael Biggs <gnulib@doubleplum.net>.
44428
44429 2008-02-01  Bruno Haible  <bruno@clisp.org>
44430
44431         * users.txt: Add gnuit.
44432
44433 2008-01-31  Bruno Haible  <bruno@clisp.org>
44434
44435         * lib/md4.c (set_uint32): Mark as inline.
44436         * lib/md5.c (set_uint32): Likewise.
44437         * lib/sha1.c (set_uint32): Likewise.
44438         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
44439         * m4/md5.m4 (gl_MD5): Likewise.
44440         * m4/sha1.m4 (gl_SHA1): Likewise.
44441
44442 2008-01-31  Jim Meyering  <meyering@redhat.com>
44443
44444         Use "sizeof VAR", rather than a literal "4".
44445         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
44446         * lib/md4.c (md4_read_ctx): Likewise.
44447         * lib/sha1.c (sha1_read_ctx): Likewise.
44448
44449 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44450
44451         * tests/test-sha1.c: New file, based on test-md5.c.
44452
44453         * modules/crypto/sha1-tests: New file.
44454
44455 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44456
44457         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
44458
44459 2008-01-31  Jim Meyering  <meyering@redhat.com>
44460
44461         Prefer "sizeof v" over the equivalent "4".
44462         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
44463         * lib/md5.c (set_uint32): Likewise.
44464         * lib/sha1.c (set_uint32): Likewise.
44465
44466 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44467
44468         * lib/sha1.c (set_uint32): Mark function as static.
44469
44470 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44471
44472         md2: clarify comments to say that alignment is not required.
44473         * lib/md2.h: Remove warning about alignment in comment.
44474         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
44475         never been required.
44476
44477 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44478
44479         md4: adapt alignment constraint fix from sha1.
44480         * lib/md4.c (set_uint32): New function, from sha1.c
44481         (md4_read_ctx): Use it.
44482         (md4_finish_ctx): Doc fix.
44483         * lib/md4.h: Doc fix.
44484
44485 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44486
44487         md5: adapt alignment constraint fix from sha1.
44488         * lib/md5.c (set_uint32): New function, from sha1.c
44489         (md5_read_ctx): Use it.
44490         (md5_finish_ctx): Doc fix.
44491         * lib/md5.h: Doc fix.
44492
44493 2008-01-30  Peter Palfrader  <weasel@debian.org>
44494
44495         sha1: remove the result buffer alignment constraint
44496         * lib/sha1.c (set_uint32): New function.
44497         (sha1_read_ctx): Rewrite to remove the result buffer alignment
44498         constraint.
44499         (sha1_finish_ctx): Remove comment warning about alignment constraint.
44500         * lib/sha1.h: Likewise.
44501
44502 2008-01-30  Andreas Schwab  <schwab@suse.de>
44503             Bruno Haible  <bruno@clisp.org>
44504
44505         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
44506         correct definition of LDBL_MIN_EXP.
44507
44508 2008-01-30  Karl Berry  <karl@gnu.org>
44509
44510         * config/srclist-update: try to preserve x bit on updates.
44511         * config/srclistvars.sh: update for karl.
44512
44513 2008-01-29  Jim Meyering  <meyering@redhat.com>
44514
44515         vasnprintf.c: Avoid warning about unused label
44516         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
44517         "overflow" label definition and associated code with the
44518         same cpp condition that guards the sole use of that label.
44519
44520 2008-01-26  Bruno Haible  <bruno@clisp.org>
44521
44522         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
44523         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
44524         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
44525         * lib/isnanl-nolibm.h (isnanl): Likewise.
44526         Reported by Paul Eggert <eggert@cs.ucla.edu>.
44527
44528 2008-01-26  Bruno Haible  <bruno@clisp.org>
44529
44530         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
44531         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
44532
44533 2008-01-26  Bruno Haible  <bruno@clisp.org>
44534
44535         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
44536         GCC >= 4.0 built-in.
44537         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
44538
44539 2008-01-26  Bruno Haible  <bruno@clisp.org>
44540
44541         Rename isnan, applicable to 'double' only, to isnand.
44542         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
44543         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
44544         (configure.ac): Update.
44545         (Include): Replace "isnan.h" with "isnand.h".
44546         * m4/isnand.m4: Renamed from m4/isnan.m4.
44547         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
44548         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
44549         instead of isnan.c.
44550         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
44551         instead of HAVE_ISNAN_IN_LIBC.
44552         (isnand): Renamed from isnan.
44553         * lib/isnand.c: New file.
44554         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
44555         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
44556         (Makefile.am): Update.
44557         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
44558         Include isnand.h instead of isnan.h.
44559         (main): Test isnand instead of isnan.
44560         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
44561         isnan-nolibm.
44562         * modules/frexp (Depends-on): Likewise.
44563         * modules/frexp-tests (Depends-on): Likewise.
44564         * modules/frexp-nolibm (Depends-on): Likewise.
44565         * modules/frexp-nolibm-tests (Depends-on): Likewise.
44566         * modules/isfinite (Depends-on): Likewise.
44567         * modules/round-tests (Depends-on): Likewise.
44568         * modules/signbit (Depends-on): Likewise.
44569         * modules/signbit-tests (Depends-on): Likewise.
44570         * modules/snprintf-posix (Depends-on): Likewise.
44571         * modules/sprintf-posix (Depends-on): Likewise.
44572         * modules/trunc-tests (Depends-on): Likewise.
44573         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44574         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44575         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44576         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44577         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44578         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44579         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44580         * modules/vasnprintf-posix (Depends-on): Likewise.
44581         * modules/vasprintf-posix (Depends-on): Likewise.
44582         * modules/vfprintf-posix (Depends-on): Likewise.
44583         * modules/vsnprintf-posix (Depends-on): Likewise.
44584         * modules/vsprintf-posix (Depends-on): Likewise.
44585         * lib/frexp.c: Include isnand.h instead of isnan.h.
44586         (ISNAN): Set to isnand instead of isnan.
44587         * lib/isfinite.c: Include isnand.h instead of isnan.h.
44588         (gl_isfinited): Use isnand instead of isnan.
44589         * lib/signbitd.c: Include isnand.h instead of isnan.h.
44590         (gl_signbitd): Use isnand instead of isnan.
44591         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
44592         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
44593         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
44594         (main): Use isnand instead of isnan.
44595         * tests/test-round1.c: Include isnand.h.
44596         (main): Use isnand instead of isnan.
44597         * tests/test-round2.c: Include isnand.h instead of isnan.h.
44598         (ISNAN): Set to isnand instead of isnan.
44599         * tests/test-trunc1.c: Include isnand.h.
44600         (main): Use isnand instead of isnan.
44601         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
44602         (equal): Use isnand instead of isnan.
44603         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
44604         isnand-nolibm.
44605         * NEWS: Mention the change.
44606
44607 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44608             Bruno Haible  <bruno@clisp.org>
44609
44610         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
44611         the GCC builtins for signbits are present and set
44612         REPLACE_SIGNBIT_USING_GCC if so.
44613         * lib/math.in.h (signbit): Define using GCC builtins if
44614         REPLACE_SIGNBIT_USING_GCC is set.
44615         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
44616         REPLACE_SIGNBIT_USING_GCC.
44617         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
44618
44619 2008-01-25  Jim Meyering  <meyering@redhat.com>
44620
44621         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
44622         * lib/poll.c: Include <config.h>, not "config.h".
44623         * tests/test-getaddrinfo.c: Likewise.
44624
44625 2008-01-25  Simon Josefsson  <simon@josefsson.org>
44626
44627         * modules/sockets-tests: New file.
44628
44629 2008-01-24  Simon Josefsson  <simon@josefsson.org>
44630
44631         * modules/sockets: New module, can be used to call WSA_Startup and
44632         WSA_Cleanup when needed.
44633
44634         * lib/sockets.h, lib/sockets.c: New files.
44635
44636         * m4/sockets.m4: New file.
44637
44638         * tests/test-sockets.c: New file.
44639
44640 2008-01-19  Bruno Haible  <bruno@clisp.org>
44641
44642         * doc/posix-headers: Renamed from doc/headers.
44643         * doc/posix-functions: Renamed from doc/functions.
44644         * doc/gnulib.texi: Update.
44645
44646 2008-01-19  Bruno Haible  <bruno@clisp.org>
44647
44648         * doc/glibc-functions/strcasestr.texi: Include contents of
44649         doc/functions/strcasestr.texi, fixing the list of platforms.
44650         * doc/functions/strcasestr.texi: Remove file.
44651
44652 2008-01-19  Bruno Haible  <bruno@clisp.org>
44653
44654         * doc/glibc-functions/memmem.texi: Include contents of
44655         doc/functions/memmem.texi.
44656         * doc/functions/memmem.texi: Remove file.
44657
44658 2008-01-18  Bruno Haible  <bruno@clisp.org>
44659
44660         * doc/glibc-functions/*.texi: New files.
44661         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
44662         to use the new files.
44663
44664 2008-01-17  Bruno Haible  <bruno@clisp.org>
44665
44666         * tests/test-gethostname.c (main): Fix printf statement.
44667
44668 2008-01-17  Simon Josefsson  <simon@josefsson.org>
44669
44670         * modules/gethostname-tests: New file.
44671
44672         * tests/test-gethostname.c: New file.
44673
44674 2008-01-17  Simon Josefsson  <simon@josefsson.org>
44675
44676         * lib/gethostname.c: Include string.h unconditionally, strncpy is
44677         used by the UNAME case.  Reported by Bruno Haible
44678         <bruno@clisp.org>.
44679
44680 2008-01-17  Eric Blake  <ebb9@byu.net>
44681
44682         Convert c-strcasestr to be more efficient.
44683         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
44684         (Depends-on): Add c-strcase, remove malloca, strnlen.
44685         * tests/test-c-strcasestr.c (main): Enhance test.
44686         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
44687
44688 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
44689
44690         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
44691         Use it in creating po/Makevars.
44692
44693 2008-01-15  Simon Josefsson  <simon@josefsson.org>
44694
44695         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
44696         Applications that requires it should initialize libgcrypt
44697         manually.
44698
44699 2008-01-16  Simon Josefsson  <simon@josefsson.org>
44700
44701         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
44702
44703 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
44704
44705         Fix problem with getdate on mingw32 reported by Simon Josefsson
44706         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
44707         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
44708         tzname", when deciding whether to declare tzname.
44709         * lib/strftime.c (tzname): Likewise.
44710
44711 2008-01-15  Bruno Haible  <bruno@clisp.org>
44712
44713         Work around a MacOS X 10.5 bug in frexpl().
44714         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
44715         * doc/functions/frexpl.texi: Document the bug.
44716         Reported by Elias Pipping <pipping@gentoo.org>.
44717
44718 2008-01-14  Eric Blake  <ebb9@byu.net>
44719
44720         Touch up previous patch.
44721         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
44722         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
44723
44724         Convert strcasestr module to use Two-Way algorithm.
44725         * modules/strcasestr-simple: New module, based on the old
44726         strcasestr, but with Two-Way rather than KMP.
44727         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
44728         * lib/string.in.h (rpl_strcasestr): Declare.
44729         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
44730         performance.
44731         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
44732         * modules/string (Makefile.am): Support strcasestr.
44733         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44734         * modules/strcasestr-tests (Depends-on): Check for alarm.
44735         * tests/test-strcasestr.c: Augment test.
44736         * lib/str-two-way.h: Clean up stray macro.
44737         * NEWS: Document new module.
44738         * MODULES.html.sh (string handling): Likewise.
44739         * doc/functions/strcasestr.texi: New file.
44740         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
44741         here, since it is not a POSIX function.
44742
44743 2008-01-14  Colin Watson  <cjwatson@debian.org>
44744             Bruno Haible  <bruno@clisp.org>
44745
44746         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
44747         works fine; if not, set REPLACE_STRSIGNAL.
44748         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
44749         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44750         REPLACE_STRSIGNAL.
44751         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
44752         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
44753         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
44754
44755 2008-01-14  Bruno Haible  <bruno@clisp.org>
44756
44757         * modules/strsignal (Include): Change to <string.h>.
44758
44759 2008-01-14  Colin Watson  <cjwatson@debian.org>
44760
44761         * modules/argp (Notice): Add a notice recommending to change
44762         XGETTEXT_OPTIONS.
44763         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
44764
44765 2008-01-13  Colin Watson  <cjwatson@debian.org>
44766
44767         * modules/strsignal-tests: New file.
44768         * tests/test-strsignal.c: New file.
44769
44770         * lib/strsignal.c: New file, from glibc with modifications.
44771         * lib/siglist.h: New file, from glibc with modifications.
44772         * lib/string.in.h (strsignal): New declaration.
44773         * m4/strsignal.m4: New file.
44774         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44775         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
44776         * modules/strsignal: New file.
44777         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
44778         HAVE_DECL_STRSIGNAL.
44779
44780 2008-01-13  Bruno Haible  <bruno@clisp.org>
44781
44782         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
44783         locale encoding is not ASCII. Needed for OpenBSD 4.0.
44784         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
44785         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44786
44787 2008-01-13  Bruno Haible  <bruno@clisp.org>
44788
44789         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
44790         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
44791         * lib/argp.h (__attribute__): Likewise.
44792         * lib/c-stack.c (__attribute__): Likewise.
44793         * lib/error.h (__attribute__): Likewise.
44794         * lib/fts.c (__attribute__): Likewise.
44795         * lib/openat.h (__attribute__): Likewise.
44796         * lib/stdio.in.h (__attribute__): Likewise.
44797         * lib/string.in.h (__attribute__): Likewise.
44798         * lib/utimens.c (__attribute__): Likewise.
44799         * lib/vasnprintf.h (__attribute__): Likewise.
44800         * lib/xalloc.h (__attribute__): Likewise.
44801         * lib/xprintf.h (__attribute__): Likewise.
44802         * lib/xstrtol.h (__attribute__): Likewise.
44803         * lib/xvasprintf.h (__attribute__): Likewise.
44804
44805 2008-01-12  Bruno Haible  <bruno@clisp.org>
44806
44807         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
44808         * doc/glibc-headers/a.out.texi: New file.
44809         * doc/glibc-headers/aliases.texi: New file.
44810         * doc/glibc-headers/alloca.texi: New file.
44811         * doc/glibc-headers/ar.texi: New file.
44812         * doc/glibc-headers/argp.texi: New file.
44813         * doc/glibc-headers/argz.texi: New file.
44814         * doc/glibc-headers/byteswap.texi: New file.
44815         * doc/glibc-headers/crypt.texi: New file.
44816         * doc/glibc-headers/endian.texi: New file.
44817         * doc/glibc-headers/envz.texi: New file.
44818         * doc/glibc-headers/err.texi: New file.
44819         * doc/glibc-headers/error.texi: New file.
44820         * doc/glibc-headers/execinfo.texi: New file.
44821         * doc/glibc-headers/fpu_control.texi: New file.
44822         * doc/glibc-headers/fstab.texi: New file.
44823         * doc/glibc-headers/fts.texi: New file.
44824         * doc/glibc-headers/getopt.texi: New file.
44825         * doc/glibc-headers/ieee754.texi: New file.
44826         * doc/glibc-headers/ifaddrs.texi: New file.
44827         * doc/glibc-headers/libintl.texi: New file.
44828         * doc/glibc-headers/mcheck.texi: New file.
44829         * doc/glibc-headers/mntent.texi: New file.
44830         * doc/glibc-headers/obstack.texi: New file.
44831         * doc/glibc-headers/paths.texi: New file.
44832         * doc/glibc-headers/printf.texi: New file.
44833         * doc/glibc-headers/pty.texi: New file.
44834         * doc/glibc-headers/resolv.texi: New file.
44835         * doc/glibc-headers/shadow.texi: New file.
44836         * doc/glibc-headers/sysexits.texi: New file.
44837         * doc/glibc-headers/ttyent.texi: New file.
44838
44839 2008-01-12  Jim Meyering  <meyering@redhat.com>
44840
44841         announce-gen: emit Gnulib's git-based version string.
44842         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
44843         New option --gnulib-version=V, where V is expected to be
44844         the output of running git describe in the gnulib directory.
44845         (get_tool_versions): Request feedback on xdelta.  I suspect it's
44846         not useful, and plan to stop publishing an xdelta file with each
44847         coreutils release.
44848
44849         * build-aux/announce-gen: Also check for lzma-compressed files.
44850
44851 2008-01-11  Bruno Haible  <bruno@clisp.org>
44852
44853         * tests/test-memmem.c (main): Increase maximum allowed time.
44854         * tests/test-strstr.c (main): Likewise.
44855
44856 2008-01-11  Bruno Haible  <bruno@clisp.org>
44857
44858         * doc/functions/memmem.texi: Add more precisions about platforms.
44859         * doc/functions/strstr.texi: Likewise.
44860
44861 2008-01-10  Eric Blake  <ebb9@byu.net>
44862
44863         * m4/strstr.m4: Delete cruft from copy-n-paste.
44864         Reported by Bruno Haible.
44865
44866 2008-01-10  Bruno Haible  <bruno@clisp.org>
44867
44868         Make c-strstr rely on strstr.
44869         * lib/c-strstr.c: Don't include str-kmp.h.
44870         (c_strstr): Define in terms of strstr.
44871         * modules/c-strstr (Files): Remove lib/str-kmp.h.
44872         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
44873
44874 2008-01-10  Bruno Haible  <bruno@clisp.org>
44875
44876         * doc/gnulib.texi (String Functions in C Locale): New section.
44877         * doc/c-ctype.texi: New file.
44878         * doc/c-strcase.texi: New file.
44879         * doc/c-strcaseeq.texi: New file.
44880         * doc/c-strcasestr.texi: New file.
44881         * doc/c-strstr.texi: New file.
44882         * doc/c-strtod.texi: New file.
44883         * doc/c-strtold.texi: New file.
44884
44885 2008-01-10  Eric Blake  <ebb9@byu.net>
44886
44887         * lib/relocatable.h: Fix a comment.
44888
44889 2008-01-10  Eric Blake  <ebb9@byu.net>
44890
44891         Share two-way algorithm.
44892         * lib/str-two-way.h: New file, merged from...
44893         * lib/memmem.c: ...here...
44894         * lib/strstr.c: ...and here.
44895         * modules/memmem (Files): Use it.
44896         * modules/strstr (Files): Likewise.
44897
44898         Avoid quadratic strstr implementations.
44899         * lib/strstr.c: New file.
44900         * m4/strstr.m4: Likewise.
44901         * modules/strstr: Likewise.
44902         * modules/strstr-tests: Likewise.
44903         * tests/test-strstr.c: Likewise.
44904         * lib/string.in.h (rpl_strstr): Declare.
44905         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
44906         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
44907         * modules/string (Makefile.am): Likewise.
44908         * MODULES.html.sh (string handling): Mention new module.
44909         * doc/functions/strstr.texi (strstr): Document the bug.
44910
44911 2008-01-10  Bruno Haible  <bruno@clisp.org>
44912
44913         * lib/relocatable.h (relocate): State whether result is freshly
44914         allocated or not.
44915         * lib/relocatable.c (relocate): Return a freshly allocated string
44916         instead of a pointer to a privately held string.
44917         Reported by Sylvain Beucler <beuc@gnu.org>.
44918
44919 2008-01-10  Colin Watson  <cjwatson@debian.org>
44920
44921         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
44922         s/S_ISNLK/S_ISLNK/.
44923
44924 2008-01-09  Bruno Haible  <bruno@clisp.org>
44925
44926         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
44927         and other files.
44928         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
44929         if it's only a guess.
44930         * modules/memmem: Simplify by depending on memmem-simple.
44931
44932 2008-01-09  Bruno Haible  <bruno@clisp.org>
44933
44934         Work around OpenBSD 4.0 tdelete() bug.
44935         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
44936         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
44937         macros and don't redefine the enum values.
44938         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
44939         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
44940         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
44941
44942 2008-01-09  Bruno Haible  <bruno@clisp.org>
44943
44944         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
44945         (main): Don't perform the tests if setlocale did not install a UTF-8
44946         locale. Needed on OpenBSD 4.0.
44947         * modules/wcwidth-tests (Depends-on): Add localcharset.
44948
44949 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44950
44951         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
44952         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
44953         * NEWS: announce this.
44954         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
44955
44956 2008-01-09  Simon Josefsson  <simon@josefsson.org>
44957         and Eric Blake  <ebb9@byu.net>
44958
44959         Add memmem-simple module.
44960         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
44961         (gl_FUNC_MEMMEM): Separate performance from presence checks.
44962         * modules/memmem-simple: New file.
44963         * modules/memmem (Description): Tweak.
44964         * MODULES.html.sh (string handling): Mention new module.
44965         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
44966         addressed by memmem-simple.
44967         * NEWS: Document the difference.
44968
44969 2008-01-09  Eric Blake  <ebb9@byu.net>
44970
44971         Give gcc some memmem optimization hints.
44972         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
44973         (strcasestr): Declare as pure.
44974         * modules/memmem (Maintainer): Claim my implementation.
44975
44976 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44977
44978         Support AIX 6.1 and higher.
44979         * build-aux/config.libpath: Likewise.
44980         * build-aux/config.rpath: Likewise.
44981
44982 2008-01-08  Jim Meyering  <meyering@redhat.com>
44983             Bruno Haible  <bruno@clisp.org>
44984
44985         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
44986         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
44987         Reported by Peter Fales in
44988         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
44989
44990 2008-01-08  Bruno Haible  <bruno@clisp.org>
44991
44992         * modules/unictype/category-of (Depends-on): Add
44993         unictype/category-none.
44994         * modules/unictype/category-and-tests (Depends-on): Add
44995         unictype/category-{L,N,Lu,Nd}.
44996         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
44997         * modules/unictype/category-or-tests (Depends-on): Add
44998         unictype/category-{L,N}.
44999         * modules/unictype/category-name-tests (Depends-on): Add
45000         unictype/category-{Z,Nl}.
45001         Reported by Simon Josefsson.
45002
45003 2008-01-08  Bruno Haible  <bruno@clisp.org>
45004
45005         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
45006         convention better.
45007         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
45008         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
45009         Reported by Peter Miller <millerp@canb.auug.org.au>.
45010
45011 2008-01-08  Eric Blake  <ebb9@byu.net>
45012
45013         Rewrite memmem to guarantee linear complexity without malloc.
45014         * lib/memmem.c (memmem): Use Two-Way rather than
45015         Knuth-Morris-Pratt, to allow O(1) space usage.
45016         (critical_factorization, two_way_short_needle)
45017         (two_way_long_needle): New functions.
45018         (knuth_morris_pratt): Delete.
45019         * modules/memmem (Depends-on): No longer need malloca or stdbool.
45020         Add stdint.
45021         * tests/test-memmem.c (main): Add tests for periodic needle and
45022         sublinear performance.
45023         * doc/functions/memmem.texi (memmem): Document other deficiencies
45024         in cygwin and older glibc.
45025
45026 2008-01-08  Bruno Haible  <bruno@clisp.org>
45027
45028         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
45029         augmentation.
45030
45031 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
45032
45033         Add a configure time option: --disable-acl.
45034         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
45035         AC_ARG_ENABLE(acl).
45036
45037 2008-01-06  Simon Josefsson  <simon@josefsson.org>
45038
45039         * tests/test-localename.c: Don't include obsolete "setenv.h".
45040
45041         * modules/localename-tests (Depends-on): Need unsetenv.
45042
45043 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45044
45045         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
45046
45047 2008-01-06  Colin Watson  <cjwatson@debian.org>
45048
45049         * users.txt: Add man-db.
45050
45051 2008-01-07  Bruno Haible  <bruno@clisp.org>
45052
45053         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
45054         previous section name.
45055
45056 2008-01-07  Bruno Haible  <bruno@clisp.org>
45057
45058         * lib/progname.c (set_program_name): Don't strip off a leading
45059         "lt-" prefix outside a .libs directory.
45060         Suggested by Paul Eggert.
45061
45062 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
45063             Bruno Haible  <bruno@clisp.org>
45064
45065         Improve memory cleanup in 'relocatable' module.
45066         * lib/relocatable.h (compute_curr_prefix): Change return type to
45067         'char *'.
45068         * lib/relocatable.c (compute_curr_prefix): Change return type to
45069         'char *'. Free curr_installdir after use.
45070         (relocate): Free curr_prefix_better after use.
45071         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
45072
45073 2008-01-01  Bruno Haible  <bruno@clisp.org>
45074
45075         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
45076         failure on older glibc systems.
45077         Reported by Peter Fales <psfales@alcatel-lucent.com>.
45078
45079 2008-01-05  Eric Blake  <ebb9@byu.net>
45080
45081         Avoid quadratic system memmem.
45082         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
45083         Reported by Ralf Wildenhues.
45084
45085         Fix memmem test for mingw.
45086         * modules/memmem-tests (configure.ac): Check for alarm.
45087         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
45088         it.
45089         * doc/functions/memmem.texi: New file.
45090         * doc/gnulib.texi (Function Substitutes): Add memmem.
45091         Reported by Bruno Haible.
45092
45093 2008-01-04  Bruno Haible  <bruno@clisp.org>
45094
45095         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
45096         Require gl_HEADER_STRINGS_H_DEFAULTS, not
45097         gl_HEADER_STRING_H_DEFAULTS.
45098
45099 2008-01-04  Eric Blake  <ebb9@byu.net>
45100
45101         Shorten duration of memmem test.
45102         * tests/test-memmem.c (main): Use alarm to declare failure if test
45103         is taking too long.
45104         Reported by Ralf Wildenhues.
45105
45106 2007-12-21  Simon Josefsson  <simon@josefsson.org>
45107
45108         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
45109         string, needed by strerror.
45110
45111 2008-01-03  Colin Watson  <cjwatson@debian.org>
45112             Bruno Haible  <bruno@clisp.org>
45113
45114         * doc/gnulib-tool.texi (Localization): New section.
45115
45116 2008-01-02  Bruno Haible  <bruno@clisp.org>
45117
45118         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
45119         variables to 'unsigned char *' type.
45120         Reported by Paul Eggert.
45121
45122 2008-01-02  Jim Meyering  <jim@meyering.net>
45123
45124         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
45125
45126 2007-12-31  Jim Meyering  <jim@meyering.net>
45127
45128         Avoid use of private FTS type name.
45129         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
45130
45131 2007-12-30  Karl Berry  <karl@gnu.org>
45132
45133         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
45134         work around defect in Texinfo and/or the standalone Info browser.
45135
45136 2007-12-30  Bruno Haible  <bruno@clisp.org>
45137
45138         Unify 5 copies of the KMP code.
45139         * lib/str-kmp.h: New file.
45140         * lib/c-strcasestr.c: Include str-kmp.h.
45141         (knuth_morris_pratt): Remove function.
45142         (c_strcasestr): Update.
45143         * lib/c-strstr.c: Include str-kmp.h.
45144         (knuth_morris_pratt): Remove function.
45145         (c_strcasestr): Update.
45146         * lib/mbscasestr.c: Include str-kmp.h.
45147         (knuth_morris_pratt_unibyte): Remove function.
45148         * lib/mbsstr.c: Include str-kmp.h.
45149         (knuth_morris_pratt_unibyte): Remove function.
45150         * lib/strcasestr.c: Include str-kmp.h.
45151         (knuth_morris_pratt): Remove function.
45152         (strcasestr): Update.
45153         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
45154         * modules/c-strstr (Files): Likewise.
45155         * modules/mbscasestr (Files): Likewise.
45156         * modules/mbsstr (Files): Likewise.
45157         * modules/strcasestr (Files): Likewise.
45158         Suggested by Paul Eggert.
45159
45160 2007-12-30  Bruno Haible  <bruno@clisp.org>
45161
45162         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
45163         defined.
45164
45165 2007-12-30  Bruno Haible  <bruno@clisp.org>
45166
45167         * lib/xmalloca.h: Include xalloc.h.
45168         (xnmalloca): New macro.
45169
45170 2007-12-30  Bruno Haible  <bruno@clisp.org>
45171
45172         * lib/malloca.h (nmalloca): New macro.
45173         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
45174         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
45175         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
45176         knuth_morris_pratt_multibyte): Likewise.
45177         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
45178         knuth_morris_pratt_multibyte): Likewise.
45179         * lib/memmem.c (knuth_morris_pratt): Likewise.
45180         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
45181
45182 2007-12-25  Bruno Haible  <bruno@clisp.org>
45183
45184         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
45185         * lib/glob.c: Don't include openat.h.
45186         (link_exists2_p): Add back the code that deals with the
45187         !GLOB_ALTDIRFUNC case.
45188         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
45189         let it do the filename concatenation.
45190         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
45191         * modules/glob (Depends-on): Remove openat.
45192
45193 2007-12-31  Bruno Haible  <bruno@clisp.org>
45194
45195         * modules/dirfd (License): Change to LGPLv2+.
45196         Approved by Jim Meyering.
45197
45198 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
45199
45200         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
45201         when multiplying M by sizeof (size_t).
45202
45203 2007-12-10  Martin Lambers  <marlam@marlam.de>
45204
45205         Override getpagesize on mingw.
45206         * lib/getpagesize.c: New file.
45207         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
45208         * modules/getpagesize (Files): Add lib/getpagesize.c.
45209         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
45210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45211         REPLACE_GETPAGESIZE.
45212         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
45213
45214 2007-12-25  Bruno Haible  <bruno@clisp.org>
45215
45216         * modules/localcharset (Notice): New field.
45217         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
45218         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
45219
45220 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45221             Bruno Haible  <bruno@clisp.org>
45222
45223         Avoid using the syntax symbol() in formatted documentation.
45224         * MODULES.html.sh (func_module): When replacing symbol() with a
45225         hyperlink, remove the parentheses. Show an error if some remain.
45226         Recognize and render the '...' syntax.
45227         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
45228         Rework. Add paragraph about GCC's inlining.
45229         * doc/alloca.texi: Likewise.
45230         * doc/error.texi: Remove parentheses from symbol reference.
45231         * doc/gnulib-intro.texi: Likewise.
45232         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
45233         * modules/fnmatch (Description): Reword to say "the ... function".
45234         * modules/full-read (Description): Likewise.
45235         * modules/full-write (Description): Likewise.
45236         * modules/safe-read (Description): Likewise.
45237         * modules/safe-write (Description): Likewise.
45238         * modules/strchrnul (Description): Likewise.
45239         * modules/trim (Description): Likewise.
45240         * modules/error (Description): Remove parentheses from symbol
45241         references.
45242         * modules/verror (Description): Likewise.
45243         Reported by Karl Berry.
45244
45245 2007-12-25  Bruno Haible  <bruno@clisp.org>
45246
45247         Fixup after 2007-10-16 commit.
45248         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
45249
45250 2007-12-24  Bruno Haible  <bruno@clisp.org>
45251
45252         Make --enable-relocatable work with DESTDIR.
45253         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
45254         to compute installdir from destprog.
45255         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
45256         also set the RELOC_DESTDIR variable.
45257         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45258
45259 2007-12-24  Bruno Haible  <bruno@clisp.org>
45260
45261         Fix link error due to xalloc_die().
45262         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
45263         of xreadlink.
45264         * lib/relocwrapper.c: Update comments.
45265         * build-aux/install-reloc: Remove xreadlink.c from file list.
45266         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
45267         xreadlink.c.
45268         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45269
45270 2007-12-24  Bruno Haible  <bruno@clisp.org>
45271
45272         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
45273         * lib/setenv.h: Remove file.
45274         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
45275         lib/setenv.h.
45276         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
45277         (Depends-on): Add stdlib.
45278         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
45279         gl_FUNC_UNSETENV.
45280         (Include): Replace setenv.h with <stdlib.h>.
45281         * modules/unsetenv: New file.
45282         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
45283         * lib/unsetenv.c: Include <stdlib.h> first.
45284         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
45285         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
45286         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
45287         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
45288         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
45289         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
45290         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
45291         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
45292         * doc/functions/unsetenv.texi: Update.
45293         * modules/xsetenv (Depends-on): Add unsetenv.
45294         * modules/getdate (Depends-on): Likewise.
45295         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
45296         * lib/xsetenv.c: Don't include setenv.h.
45297         * lib/getdate.y: Likewise.
45298         * lib/relocwrapper.c: Likewise.
45299         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
45300         (Depends-on): Add stdlib.
45301         * NEWS: Mention the changes.
45302         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45303
45304 2007-12-23  Bruno Haible  <bruno@clisp.org>
45305
45306         * lib/memmem.c (memmem): Use lowercase variable names. Tab
45307         indentation.
45308
45309 2007-12-23  Bruno Haible  <bruno@clisp.org>
45310
45311         * lib/c-strcasestr.c: Add more comments.
45312         * lib/c-strstr.c: Likewise.
45313         * lib/mbscasestr.c: Likewise.
45314         * lib/mbsstr.c: Likewise.
45315         * lib/strcasestr.c: Likewise.
45316         * lib/memmem.c: Likewise.
45317
45318 2007-12-23  Bruno Haible  <bruno@clisp.org>
45319
45320         * tests/test-memmem.c: Include <string.h> first.
45321
45322 2007-12-22  Bruno Haible  <bruno@clisp.org>
45323
45324         * gnulib-tool (func_create_testdir): Change $auxdir while generating
45325         the contents of $testsbase.
45326         Reported by Ralf Wildenhues.
45327
45328 2007-12-22  Bruno Haible  <bruno@clisp.org>
45329
45330         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
45331         two variables local_ldadd_before, local_ldadd_last.
45332
45333 2007-12-20  Eric Blake  <ebb9@byu.net>
45334
45335         Work around circular library issue when cross-compiling.
45336         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
45337         that progname.o does not need to pull in rpl_memcmp.
45338
45339 2007-12-19  Eric Blake  <ebb9@byu.net>
45340
45341         Fix memmem to avoid O(n^2) worst-case complexity.
45342         * lib/memmem.c (knuth_morris_pratt): New function.
45343         (memmem): Use it if first few naive iterations fail.
45344         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
45345         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
45346         * modules/memchr (License): Likewise.
45347         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
45348         malloca.
45349         * tests/test-memmem.c: Rewrite, borrowing ideas from
45350         test-mbsstr1.c; the old version wouldn't even compile!
45351         * modules/memmem-tests: New file.
45352         * lib/string.in.h (rpl_memmem): Add declaration.
45353         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
45354         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
45355         REPLACE_MEMMEM.
45356
45357 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45358
45359         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
45360         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
45361         before any system include files, and undef after them all.  This
45362         should fix a problem on VMS reported by John E. Malmberg in
45363         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
45364
45365 2007-12-17  Eric Blake  <ebb9@byu.net>
45366
45367         Revert addition of verify, for BSD/OS.
45368         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
45369         can't handle large files, for the sake of obsolete platforms.
45370         * modules/fseeko (Depends-on): Remove verify.
45371         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
45372         * doc/functions/ftello.texi (ftello): Likewise.
45373         * doc/functions/fgetpos.texi (fgetpos): Likewise.
45374         Reported by Larry Jones.
45375
45376 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
45377
45378         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
45379         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
45380
45381 2007-12-17  Jim Meyering  <meyering@redhat.com>
45382
45383         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
45384         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
45385         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
45386         * modules/getcwd (Depends-on): Add openat.
45387         Reported by Petr Salinger.
45388
45389 2007-12-17  Bruno Haible  <bruno@clisp.org>
45390
45391         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
45392         avoid a segmentation fault of the configure test on x86_64 systems.
45393
45394 2007-12-15  Jim Meyering  <meyering@redhat.com>
45395
45396         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
45397
45398 2007-12-13  Eric Blake  <ebb9@byu.net>
45399
45400         Another fseek test.
45401         * tests/test-fseek.c (main): Also test ungetc handling.
45402         * tests/test-fseeko.c (main): Likewise.
45403         * modules/fseeko (Depends-on): Add verify.
45404         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
45405         large.
45406         Reported by Larry Jones.
45407
45408         Fix fseeko on mingw.
45409         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
45410         seek.
45411
45412         Beef up fseek tests.
45413         * tests/test-fseek.c (main): Also test eof handling.
45414         * tests/test-fseeko.c (main): Likewise.
45415         Reported by Larry Jones.
45416
45417 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
45418
45419         Fix fseeko on BSD-based platforms.
45420         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
45421         successful seek.
45422
45423 2007-12-12  Eric Blake  <ebb9@byu.net>
45424
45425         Allow circular dependency of separate libtests.a
45426         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
45427         when use_libtests.
45428
45429 2007-12-11  Eric Blake  <ebb9@byu.net>
45430
45431         Fix bug with -0.0L in previous patch.
45432         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
45433         * tests/test-isnan.c (main): Also test on zeroes.
45434         * tests/test-isnanf.c (main): Likewise.
45435         * tests/test-isnanl.h (main): Likewise.
45436
45437         Detect pseudo-denormals on x86 even when cross-compiling.
45438         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
45439         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
45440         invalid bit patterns that happen to satisfy ==.
45441
45442         Avoid link failures with separate libtests.a.
45443         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
45444         last, to satisfy circular dependencies.
45445
45446 2007-12-11  Eric Blake  <ebb9@byu.net>
45447         and Bruno Haible  <bruno@clisp.org>
45448
45449         Fix OpenBSD 4.0 <float.h> handling of long double.
45450         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
45451         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
45452         * doc/headers/float.texi (float.h): Document OpenBSD bug.
45453
45454 2007-12-11  Jim Meyering  <meyering@redhat.com>
45455
45456         * users.txt: Add libvirt.
45457
45458         Support versions of autoconf prior to 2.59c.
45459         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
45460         if it is not already defined.
45461
45462 2007-12-09  Bruno Haible  <bruno@clisp.org>
45463
45464         Let 'gnulib-tool --import' collect sources needed for the tests in
45465         tests/ rather than in lib/.
45466         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
45467         argument. If true, add rules to generate libtests.a, and put libtests.a
45468         into $(LDADD). Consider source files in subdirectories and set
45469         uses_subdirs.
45470         (func_emit_initmacro_start, func_emit_initmacro_end,
45471         func_emit_initmacro_done): Pass all arguments explicitly.
45472         (func_import): Determine two module lists main_modules,
45473         testsrelated_modules. Determine use_libtests. Determine two variables
45474         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
45475         instead of just sed_transform_lib_file. Determine two variables
45476         main_files and testsrelated_files. Compute 'files' as the union of
45477         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
45478         func_add_or_update. In the generated gnulib-comp.m4, collect the
45479         object files for tests/ in different variables than those for lib/.
45480         Substitute LIBTESTS_LIBDEPS.
45481         (func_create_testdir): Combine the uses_subdirs results from
45482         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
45483
45484 2007-12-09  Bruno Haible  <bruno@clisp.org>
45485
45486         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
45487         the build-aux directory.
45488
45489 2007-12-09  Bruno Haible  <bruno@clisp.org>
45490
45491         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
45492         introduced on 2006-09-09.
45493
45494 2007-12-07  Jim Meyering  <meyering@redhat.com>
45495
45496         Let these macros work also with autoconf-2.59.
45497         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
45498         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
45499         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45500
45501 2007-12-06  Jim Meyering  <meyering@redhat.com>
45502
45503         Avoid a configure-time syntax error in gl_FUNC_ACL.
45504         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
45505         function in each branch, before testing the cache variable.
45506
45507 2007-12-04  Eric Blake  <ebb9@byu.net>
45508
45509         Make scripts executable.
45510         * build-aux/config.guess: Add execute permissions.
45511         * build-aux/config.sub: Likewise.
45512         * build-aux/gendocs.sh: Likewise.
45513
45514         Fix frexp on mingw.
45515         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
45516         cross-compiling.
45517         * doc/functions/frexp.texi (frexp): Document the bug.
45518
45519         Make cygwin fseeko check more reliable.
45520         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
45521         version numbers, rather than unrelated feature check.
45522         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
45523         * doc/functions/ftello.texi (ftello): Likewise.
45524         Reported by Bruno Haible.
45525
45526         * m4/strerror.m4: Bump version number.
45527
45528 2007-12-03  Bruno Haible  <bruno@clisp.org>
45529
45530         * doc/functions/mprotect.texi: Mention the mingw problem.
45531
45532 2007-12-03  Eric Blake  <ebb9@byu.net>
45533
45534         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
45535         REPLACE_STRERROR is initialized before this macro.
45536
45537 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
45538
45539         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
45540         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
45541         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
45542         put -lsec in even for programs other than 'ls'.  This fixes a problem
45543         for gettext reported by Bruno Haible in
45544         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
45545         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
45546         Add support for Solaris 10.  This isn't efficient, but should get the
45547         job done for now.
45548
45549 2007-12-03  James Youngman  <jay@gnu.org>
45550
45551         * doc/regexprops-generic.texi: change "an close-group" to "a
45552         close-group" and "illegal" to "not allowed".
45553
45554 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45555
45556         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
45557         pr_byname.h. Needed for the rare case when the maintainer has done
45558         "make maintainer-clean" in the source directory and then attempts a
45559         build outside the source directory.
45560         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
45561         scripts_byname.h.
45562
45563 2007-12-02  Martin Lambers <marlam@marlam.de>
45564             Bruno Haible  <bruno@clisp.org>
45565
45566         * lib/getpagesize.h: Remove file.
45567         * lib/unistd.in.h: Include declaration of getpagesize here.
45568         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
45569         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
45570         HAVE_SYS_PARAM_H.
45571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
45572         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
45573         * modules/getpagesize (Files): Remove lib/getpagesize.h.
45574         (Depends-on): Add unistd.
45575         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45576         (Include): Use <unistd.h> instead of getpagesize.h.
45577         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
45578         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
45579         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
45580         gl_GETPAGESIZE invocation, already handled by module dependency.
45581         * lib/pagealign_alloc.c: Don't include getpagesize.h.
45582
45583 2007-12-02  Bruno Haible  <bruno@clisp.org>
45584
45585         * modules/strings-tests: New file.
45586         * tests/test-strings.c: New file.
45587
45588         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
45589         * lib/strings.in.h: New file.
45590         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
45591         * m4/strings_h.m4: New file.
45592         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
45593         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
45594         * modules/strings: New file.
45595         * modules/string (Makefile.am): Update.
45596         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
45597         Reported by Karl Berry.
45598
45599 2007-12-01  Eric Blake  <ebb9@byu.net>
45600
45601         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
45602         accomodate fix in cygwin 1.5.25.
45603
45604 2007-12-01  Jim Meyering  <meyering@redhat.com>
45605
45606         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
45607         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
45608         that would inhibit utf8-optimization of a regexp containing line-
45609         or buffer-anchors, e.g., `^', `$'.
45610
45611 2007-11-30  Bruno Haible  <bruno@clisp.org>
45612
45613         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
45614         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
45615         glthread_recursive_lock_init.
45616         * lib/lock.c (glthread_recursive_lock_init)
45617         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
45618         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45619
45620 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
45621
45622         New function qset_acl, like set_acl but with syscall semantics.
45623         * lib/acl.h (qset_acl): New decl.
45624         * lib/acl.c (qset_acl): New function.
45625         (set_acl): Use new function.  Use more-consistent diagnostics.
45626
45627 2007-11-28  Jim Meyering  <meyering@redhat.com>
45628
45629         * modules/physmem (License): Change from GPL to LGPLv2+.
45630
45631 2007-11-26  Bruno Haible  <bruno@clisp.org>
45632
45633         * lib/vasnprintf.c (decode_long_double): Don't abort if the
45634         'long double' type has excess precision.
45635         Reported by Jim Meyering in
45636         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
45637
45638 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45639
45640         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
45641         Sync from <http://gnu.org/licenses>.
45642         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
45643         with license text from same location.
45644         * doc/maintain.texi, doc/standards.texi:  Sync from
45645         <http://savannah.gnu.org/projects/gnustandards>.
45646
45647 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
45648         and Jim Meyering  <meyering@redhat.com>
45649
45650         Adjust getdate' grammar to accept a slightly more regular language.
45651         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
45652         Before, the former was rejected.
45653         * lib/getdate.y (digits_to_date_time): New function, factored
45654         out of ...
45655         (number): ...here.  Just call digits_to_date_time.
45656         (hybrid): New non-terminal to handle an <unsigned number,
45657         signed relative offset> sequence consistently.
45658
45659 2007-11-18  Jim Meyering  <meyering@redhat.com>
45660
45661         Pull my changes from coreutils:
45662         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
45663         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
45664         use of $gnulib_tool_option_extras, so that it's separated from the
45665         preceding argument.
45666
45667         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
45668         * build-aux/bootstrap (cp_mark_as_generated): Create any required
45669         parent destination directories before copying a file into place.
45670
45671 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
45672
45673         bootstrap: work also with 4-argument variant of AC_INIT
45674         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
45675
45676 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45677
45678         Port test-getaddrinfo to Solaris.
45679         Problem reported by Bruno Haible in
45680         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
45681         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
45682         explanation of setting 'hints'.
45683         Don't reject an implementation merely because it returns EAI_SERVICE.
45684         (EAI_SERVICE): Define to 0 if not defined.
45685
45686 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
45687
45688         The license of gnu-make and posix-shell is now "GPLed build tool".
45689         * modules/gnu-make (License): Likewise.
45690         * modules/posix-shell (License): Likewise.
45691
45692         New module posix-shell, for determining a POSIX shell
45693         or perhaps something that is close enough to a POSIX shell.
45694         * m4/posix-shell.m4: New file.
45695         * modules/posix-shell: New file.
45696
45697         * MODULES.html.sh: Mention new module.
45698
45699         New module gnu-make, for determining whether we're using GNU Make.
45700         * m4/gnu-make.m4: New file.
45701         * modules/gnu-make: New file.
45702         * MODULES.html.sh: Mention new module.
45703
45704 2007-11-14  Jim Meyering  <meyering@redhat.com>
45705
45706         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
45707         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
45708         use this macro to create a function _definition_.
45709         Remove useless "#undef ARGMATCH_DIE".
45710
45711 2007-11-14  Bruno Haible  <bruno@clisp.org>
45712
45713         * lib/config.charset: Update for OpenBSD 4.1.
45714         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
45715
45716 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
45717
45718         Document 64-bit #if problems in stdint.texi.
45719         * doc/headers/stdint.texi (stdint.h): Mention problems with
45720         64-bit-#if, and how to work around them.
45721
45722         Don't insist on 'long long int' support in the preprocessor.  It
45723         breaks too many things.  For example, PRIdMAX still uses a 'long
45724         long int' format with the latest Sun compiler, even though
45725         HAVE_LONG_LONG_INT isn't defined due to that compiler's
45726         preprocessor problem.  This causes the latest coreutils to dump
45727         core on Solaris 10 sparc with the Sun C compiler.
45728         Instead, fix the 2007-10-16 problem in a different way, by evaluating
45729         the troublesome expressions at configure-time, not at #if-time.
45730         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
45731         preprocessor.
45732         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
45733         compile-time C checks, done at 'configure'-time.
45734         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
45735         * modules/inttypes (Makefile): Substitute the new symbols that
45736         gl_INTTYPES_H now generates.
45737         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
45738
45739 2007-11-12  Bruno Haible  <bruno@clisp.org>
45740
45741         Tests for Unicode character classification functions.
45742
45743         * modules/unictype/bidicategory-byname-tests: New file.
45744         * modules/unictype/bidicategory-name-tests: New file.
45745         * modules/unictype/bidicategory-of-tests: New file.
45746         * modules/unictype/bidicategory-test-tests: New file.
45747         * modules/unictype/block-list-tests: New file.
45748         * modules/unictype/block-of-tests: New file.
45749         * modules/unictype/block-test-tests: New file.
45750         * modules/unictype/category-C-tests: New file.
45751         * modules/unictype/category-Cc-tests: New file.
45752         * modules/unictype/category-Cf-tests: New file.
45753         * modules/unictype/category-Cn-tests: New file.
45754         * modules/unictype/category-Co-tests: New file.
45755         * modules/unictype/category-Cs-tests: New file.
45756         * modules/unictype/category-L-tests: New file.
45757         * modules/unictype/category-Ll-tests: New file.
45758         * modules/unictype/category-Lm-tests: New file.
45759         * modules/unictype/category-Lo-tests: New file.
45760         * modules/unictype/category-Lt-tests: New file.
45761         * modules/unictype/category-Lu-tests: New file.
45762         * modules/unictype/category-M-tests: New file.
45763         * modules/unictype/category-Mc-tests: New file.
45764         * modules/unictype/category-Me-tests: New file.
45765         * modules/unictype/category-Mn-tests: New file.
45766         * modules/unictype/category-N-tests: New file.
45767         * modules/unictype/category-Nd-tests: New file.
45768         * modules/unictype/category-Nl-tests: New file.
45769         * modules/unictype/category-No-tests: New file.
45770         * modules/unictype/category-P-tests: New file.
45771         * modules/unictype/category-Pc-tests: New file.
45772         * modules/unictype/category-Pd-tests: New file.
45773         * modules/unictype/category-Pe-tests: New file.
45774         * modules/unictype/category-Pf-tests: New file.
45775         * modules/unictype/category-Pi-tests: New file.
45776         * modules/unictype/category-Po-tests: New file.
45777         * modules/unictype/category-Ps-tests: New file.
45778         * modules/unictype/category-S-tests: New file.
45779         * modules/unictype/category-Sc-tests: New file.
45780         * modules/unictype/category-Sk-tests: New file.
45781         * modules/unictype/category-Sm-tests: New file.
45782         * modules/unictype/category-So-tests: New file.
45783         * modules/unictype/category-Z-tests: New file.
45784         * modules/unictype/category-Zl-tests: New file.
45785         * modules/unictype/category-Zp-tests: New file.
45786         * modules/unictype/category-Zs-tests: New file.
45787         * modules/unictype/category-and-not-tests: New file.
45788         * modules/unictype/category-and-tests: New file.
45789         * modules/unictype/category-byname-tests: New file.
45790         * modules/unictype/category-name-tests: New file.
45791         * modules/unictype/category-none-tests: New file.
45792         * modules/unictype/category-of-tests: New file.
45793         * modules/unictype/category-or-tests: New file.
45794         * modules/unictype/category-test-withtable-tests: New file.
45795         * modules/unictype/combining-class-tests: New file.
45796         * modules/unictype/ctype-alnum-tests: New file.
45797         * modules/unictype/ctype-alpha-tests: New file.
45798         * modules/unictype/ctype-blank-tests: New file.
45799         * modules/unictype/ctype-cntrl-tests: New file.
45800         * modules/unictype/ctype-digit-tests: New file.
45801         * modules/unictype/ctype-graph-tests: New file.
45802         * modules/unictype/ctype-lower-tests: New file.
45803         * modules/unictype/ctype-print-tests: New file.
45804         * modules/unictype/ctype-punct-tests: New file.
45805         * modules/unictype/ctype-space-tests: New file.
45806         * modules/unictype/ctype-upper-tests: New file.
45807         * modules/unictype/ctype-xdigit-tests: New file.
45808         * modules/unictype/decimal-digit-tests: New file.
45809         * modules/unictype/digit-tests: New file.
45810         * modules/unictype/mirror-tests: New file.
45811         * modules/unictype/numeric-tests: New file.
45812         * modules/unictype/property-alphabetic-tests: New file.
45813         * modules/unictype/property-ascii-hex-digit-tests: New file.
45814         * modules/unictype/property-bidi-arabic-digit-tests: New file.
45815         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
45816         * modules/unictype/property-bidi-block-separator-tests: New file.
45817         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
45818         * modules/unictype/property-bidi-common-separator-tests: New file.
45819         * modules/unictype/property-bidi-control-tests: New file.
45820         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
45821         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
45822         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
45823         * modules/unictype/property-bidi-european-digit-tests: New file.
45824         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
45825         * modules/unictype/property-bidi-left-to-right-tests: New file.
45826         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
45827         * modules/unictype/property-bidi-other-neutral-tests: New file.
45828         * modules/unictype/property-bidi-pdf-tests: New file.
45829         * modules/unictype/property-bidi-segment-separator-tests: New file.
45830         * modules/unictype/property-bidi-whitespace-tests: New file.
45831         * modules/unictype/property-byname-tests: New file.
45832         * modules/unictype/property-combining-tests: New file.
45833         * modules/unictype/property-composite-tests: New file.
45834         * modules/unictype/property-currency-symbol-tests: New file.
45835         * modules/unictype/property-dash-tests: New file.
45836         * modules/unictype/property-decimal-digit-tests: New file.
45837         * modules/unictype/property-default-ignorable-code-point-tests: New file.
45838         * modules/unictype/property-deprecated-tests: New file.
45839         * modules/unictype/property-diacritic-tests: New file.
45840         * modules/unictype/property-extender-tests: New file.
45841         * modules/unictype/property-format-control-tests: New file.
45842         * modules/unictype/property-grapheme-base-tests: New file.
45843         * modules/unictype/property-grapheme-extend-tests: New file.
45844         * modules/unictype/property-grapheme-link-tests: New file.
45845         * modules/unictype/property-hex-digit-tests: New file.
45846         * modules/unictype/property-hyphen-tests: New file.
45847         * modules/unictype/property-id-continue-tests: New file.
45848         * modules/unictype/property-id-start-tests: New file.
45849         * modules/unictype/property-ideographic-tests: New file.
45850         * modules/unictype/property-ids-binary-operator-tests: New file.
45851         * modules/unictype/property-ids-trinary-operator-tests: New file.
45852         * modules/unictype/property-ignorable-control-tests: New file.
45853         * modules/unictype/property-iso-control-tests: New file.
45854         * modules/unictype/property-join-control-tests: New file.
45855         * modules/unictype/property-left-of-pair-tests: New file.
45856         * modules/unictype/property-line-separator-tests: New file.
45857         * modules/unictype/property-logical-order-exception-tests: New file.
45858         * modules/unictype/property-lowercase-tests: New file.
45859         * modules/unictype/property-math-tests: New file.
45860         * modules/unictype/property-non-break-tests: New file.
45861         * modules/unictype/property-not-a-character-tests: New file.
45862         * modules/unictype/property-numeric-tests: New file.
45863         * modules/unictype/property-other-alphabetic-tests: New file.
45864         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
45865         * modules/unictype/property-other-grapheme-extend-tests: New file.
45866         * modules/unictype/property-other-id-continue-tests: New file.
45867         * modules/unictype/property-other-id-start-tests: New file.
45868         * modules/unictype/property-other-lowercase-tests: New file.
45869         * modules/unictype/property-other-math-tests: New file.
45870         * modules/unictype/property-other-uppercase-tests: New file.
45871         * modules/unictype/property-paired-punctuation-tests: New file.
45872         * modules/unictype/property-paragraph-separator-tests: New file.
45873         * modules/unictype/property-pattern-syntax-tests: New file.
45874         * modules/unictype/property-pattern-white-space-tests: New file.
45875         * modules/unictype/property-private-use-tests: New file.
45876         * modules/unictype/property-punctuation-tests: New file.
45877         * modules/unictype/property-quotation-mark-tests: New file.
45878         * modules/unictype/property-radical-tests: New file.
45879         * modules/unictype/property-sentence-terminal-tests: New file.
45880         * modules/unictype/property-soft-dotted-tests: New file.
45881         * modules/unictype/property-space-tests: New file.
45882         * modules/unictype/property-terminal-punctuation-tests: New file.
45883         * modules/unictype/property-test-tests: New file.
45884         * modules/unictype/property-titlecase-tests: New file.
45885         * modules/unictype/property-unassigned-code-value-tests: New file.
45886         * modules/unictype/property-unified-ideograph-tests: New file.
45887         * modules/unictype/property-uppercase-tests: New file.
45888         * modules/unictype/property-variation-selector-tests: New file.
45889         * modules/unictype/property-white-space-tests: New file.
45890         * modules/unictype/property-xid-continue-tests: New file.
45891         * modules/unictype/property-xid-start-tests: New file.
45892         * modules/unictype/property-zero-width-tests: New file.
45893         * modules/unictype/scripts-tests: New file.
45894         * modules/unictype/syntax-c-ident-tests: New file.
45895         * modules/unictype/syntax-c-whitespace-tests: New file.
45896         * modules/unictype/syntax-java-ident-tests: New file.
45897         * modules/unictype/syntax-java-whitespace-tests: New file.
45898         * tests/unictype/test-bidi_byname.c: New file.
45899         * tests/unictype/test-bidi_name.c: New file.
45900         * tests/unictype/test-bidi_of.c: New file.
45901         * tests/unictype/test-bidi_test.c: New file.
45902         * tests/unictype/test-block_list.c: New file.
45903         * tests/unictype/test-block_of.c: New file.
45904         * tests/unictype/test-block_test.c: New file.
45905         * tests/unictype/test-categ_and.c: New file.
45906         * tests/unictype/test-categ_and_not.c: New file.
45907         * tests/unictype/test-categ_byname.c: New file.
45908         * tests/unictype/test-categ_name.c: New file.
45909         * tests/unictype/test-categ_none.c: New file.
45910         * tests/unictype/test-categ_of.c: New file.
45911         * tests/unictype/test-categ_or.c: New file.
45912         * tests/unictype/test-categ_test_withtable.c: New file.
45913         * tests/unictype/test-combining.c: New file.
45914         * tests/unictype/test-decdigit.c: New file.
45915         * tests/unictype/test-digit.c: New file.
45916         * tests/unictype/test-mirror.c: New file.
45917         * tests/unictype/test-numeric.c: New file.
45918         * tests/unictype/test-pr_byname.c: New file.
45919         * tests/unictype/test-pr_test.c: New file.
45920         * tests/unictype/test-predicate-part1.h: New file.
45921         * tests/unictype/test-predicate-part2.h: New file.
45922         * tests/unictype/test-scripts.c: New file.
45923         * tests/unictype/test-sy_c_ident.c: New file.
45924         * tests/unictype/test-sy_java_ident.c: New file.
45925
45926         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
45927         for Unicode 5.0.0.
45928         * tests/unictype/test-categ_Cc.c: Likewise.
45929         * tests/unictype/test-categ_Cf.c: Likewise.
45930         * tests/unictype/test-categ_Cn.c: Likewise.
45931         * tests/unictype/test-categ_Co.c: Likewise.
45932         * tests/unictype/test-categ_Cs.c: Likewise.
45933         * tests/unictype/test-categ_L.c: Likewise.
45934         * tests/unictype/test-categ_Ll.c: Likewise.
45935         * tests/unictype/test-categ_Lm.c: Likewise.
45936         * tests/unictype/test-categ_Lo.c: Likewise.
45937         * tests/unictype/test-categ_Lt.c: Likewise.
45938         * tests/unictype/test-categ_Lu.c: Likewise.
45939         * tests/unictype/test-categ_M.c: Likewise.
45940         * tests/unictype/test-categ_Mc.c: Likewise.
45941         * tests/unictype/test-categ_Me.c: Likewise.
45942         * tests/unictype/test-categ_Mn.c: Likewise.
45943         * tests/unictype/test-categ_N.c: Likewise.
45944         * tests/unictype/test-categ_Nd.c: Likewise.
45945         * tests/unictype/test-categ_Nl.c: Likewise.
45946         * tests/unictype/test-categ_No.c: Likewise.
45947         * tests/unictype/test-categ_P.c: Likewise.
45948         * tests/unictype/test-categ_Pc.c: Likewise.
45949         * tests/unictype/test-categ_Pd.c: Likewise.
45950         * tests/unictype/test-categ_Pe.c: Likewise.
45951         * tests/unictype/test-categ_Pf.c: Likewise.
45952         * tests/unictype/test-categ_Pi.c: Likewise.
45953         * tests/unictype/test-categ_Po.c: Likewise.
45954         * tests/unictype/test-categ_Ps.c: Likewise.
45955         * tests/unictype/test-categ_S.c: Likewise.
45956         * tests/unictype/test-categ_Sc.c: Likewise.
45957         * tests/unictype/test-categ_Sk.c: Likewise.
45958         * tests/unictype/test-categ_Sm.c: Likewise.
45959         * tests/unictype/test-categ_So.c: Likewise.
45960         * tests/unictype/test-categ_Z.c: Likewise.
45961         * tests/unictype/test-categ_Zl.c: Likewise.
45962         * tests/unictype/test-categ_Zp.c: Likewise.
45963         * tests/unictype/test-categ_Zs.c: Likewise.
45964         * tests/unictype/test-ctype_alnum.c: Likewise.
45965         * tests/unictype/test-ctype_alpha.c: Likewise.
45966         * tests/unictype/test-ctype_blank.c: Likewise.
45967         * tests/unictype/test-ctype_cntrl.c: Likewise.
45968         * tests/unictype/test-ctype_digit.c: Likewise.
45969         * tests/unictype/test-ctype_graph.c: Likewise.
45970         * tests/unictype/test-ctype_lower.c: Likewise.
45971         * tests/unictype/test-ctype_print.c: Likewise.
45972         * tests/unictype/test-ctype_punct.c: Likewise.
45973         * tests/unictype/test-ctype_space.c: Likewise.
45974         * tests/unictype/test-ctype_upper.c: Likewise.
45975         * tests/unictype/test-ctype_xdigit.c: Likewise.
45976         * tests/unictype/test-decdigit.h: Likewise.
45977         * tests/unictype/test-digit.h: Likewise.
45978         * tests/unictype/test-numeric.h: Likewise.
45979         * tests/unictype/test-pr_alphabetic.c: Likewise.
45980         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
45981         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
45982         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
45983         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
45984         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
45985         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
45986         * tests/unictype/test-pr_bidi_control.c: Likewise.
45987         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
45988         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
45989         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
45990         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
45991         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
45992         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
45993         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
45994         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
45995         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
45996         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
45997         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
45998         * tests/unictype/test-pr_combining.c: Likewise.
45999         * tests/unictype/test-pr_composite.c: Likewise.
46000         * tests/unictype/test-pr_currency_symbol.c: Likewise.
46001         * tests/unictype/test-pr_dash.c: Likewise.
46002         * tests/unictype/test-pr_decimal_digit.c: Likewise.
46003         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
46004         * tests/unictype/test-pr_deprecated.c: Likewise.
46005         * tests/unictype/test-pr_diacritic.c: Likewise.
46006         * tests/unictype/test-pr_extender.c: Likewise.
46007         * tests/unictype/test-pr_format_control.c: Likewise.
46008         * tests/unictype/test-pr_grapheme_base.c: Likewise.
46009         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
46010         * tests/unictype/test-pr_grapheme_link.c: Likewise.
46011         * tests/unictype/test-pr_hex_digit.c: Likewise.
46012         * tests/unictype/test-pr_hyphen.c: Likewise.
46013         * tests/unictype/test-pr_id_continue.c: Likewise.
46014         * tests/unictype/test-pr_id_start.c: Likewise.
46015         * tests/unictype/test-pr_ideographic.c: Likewise.
46016         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
46017         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
46018         * tests/unictype/test-pr_ignorable_control.c: Likewise.
46019         * tests/unictype/test-pr_iso_control.c: Likewise.
46020         * tests/unictype/test-pr_join_control.c: Likewise.
46021         * tests/unictype/test-pr_left_of_pair.c: Likewise.
46022         * tests/unictype/test-pr_line_separator.c: Likewise.
46023         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
46024         * tests/unictype/test-pr_lowercase.c: Likewise.
46025         * tests/unictype/test-pr_math.c: Likewise.
46026         * tests/unictype/test-pr_non_break.c: Likewise.
46027         * tests/unictype/test-pr_not_a_character.c: Likewise.
46028         * tests/unictype/test-pr_numeric.c: Likewise.
46029         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
46030         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
46031         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
46032         * tests/unictype/test-pr_other_id_continue.c: Likewise.
46033         * tests/unictype/test-pr_other_id_start.c: Likewise.
46034         * tests/unictype/test-pr_other_lowercase.c: Likewise.
46035         * tests/unictype/test-pr_other_math.c: Likewise.
46036         * tests/unictype/test-pr_other_uppercase.c: Likewise.
46037         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
46038         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
46039         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
46040         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
46041         * tests/unictype/test-pr_private_use.c: Likewise.
46042         * tests/unictype/test-pr_punctuation.c: Likewise.
46043         * tests/unictype/test-pr_quotation_mark.c: Likewise.
46044         * tests/unictype/test-pr_radical.c: Likewise.
46045         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
46046         * tests/unictype/test-pr_soft_dotted.c: Likewise.
46047         * tests/unictype/test-pr_space.c: Likewise.
46048         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
46049         * tests/unictype/test-pr_titlecase.c: Likewise.
46050         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
46051         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
46052         * tests/unictype/test-pr_uppercase.c: Likewise.
46053         * tests/unictype/test-pr_variation_selector.c: Likewise.
46054         * tests/unictype/test-pr_white_space.c: Likewise.
46055         * tests/unictype/test-pr_xid_continue.c: Likewise.
46056         * tests/unictype/test-pr_xid_start.c: Likewise.
46057         * tests/unictype/test-pr_zero_width.c: Likewise.
46058         * tests/unictype/test-sy_c_whitespace.c: Likewise.
46059         * tests/unictype/test-sy_java_whitespace.c: Likewise.
46060
46061 2007-11-12  Bruno Haible  <bruno@clisp.org>
46062
46063         Unicode character classification functions.
46064         * lib/unictype.h: New file.
46065         * modules/unictype/base: New file.
46066         * modules/unictype/category-L: New file.
46067         * modules/unictype/category-Lu: New file.
46068         * modules/unictype/category-Ll: New file.
46069         * modules/unictype/category-Lt: New file.
46070         * modules/unictype/category-Lm: New file.
46071         * modules/unictype/category-Lo: New file.
46072         * modules/unictype/category-M: New file.
46073         * modules/unictype/category-Mn: New file.
46074         * modules/unictype/category-Mc: New file.
46075         * modules/unictype/category-Me: New file.
46076         * modules/unictype/category-N: New file.
46077         * modules/unictype/category-Nd: New file.
46078         * modules/unictype/category-Nl: New file.
46079         * modules/unictype/category-No: New file.
46080         * modules/unictype/category-P: New file.
46081         * modules/unictype/category-Pc: New file.
46082         * modules/unictype/category-Pd: New file.
46083         * modules/unictype/category-Ps: New file.
46084         * modules/unictype/category-Pe: New file.
46085         * modules/unictype/category-Pi: New file.
46086         * modules/unictype/category-Pf: New file.
46087         * modules/unictype/category-Po: New file.
46088         * modules/unictype/category-S: New file.
46089         * modules/unictype/category-Sm: New file.
46090         * modules/unictype/category-Sc: New file.
46091         * modules/unictype/category-Sk: New file.
46092         * modules/unictype/category-So: New file.
46093         * modules/unictype/category-Z: New file.
46094         * modules/unictype/category-Zs: New file.
46095         * modules/unictype/category-Zl: New file.
46096         * modules/unictype/category-Zp: New file.
46097         * modules/unictype/category-C: New file.
46098         * modules/unictype/category-Cc: New file.
46099         * modules/unictype/category-Cf: New file.
46100         * modules/unictype/category-Cs: New file.
46101         * modules/unictype/category-Co: New file.
46102         * modules/unictype/category-Cn: New file.
46103         * modules/unictype/category-or: New file.
46104         * modules/unictype/category-of: New file.
46105         * modules/unictype/category-test: New file.
46106         * modules/unictype/category-test-withtable: New file.
46107         * modules/unictype/category-byname: New file.
46108         * modules/unictype/category-none: New file.
46109         * modules/unictype/category-and: New file.
46110         * modules/unictype/category-and-not: New file.
46111         * modules/unictype/category-name: New file.
46112         * modules/unictype/combining-class: New file.
46113         * modules/unictype/category-all: New file.
46114         * modules/unictype/bidicategory-all: New file.
46115         * modules/unictype/bidicategory-byname: New file.
46116         * modules/unictype/bidicategory-name: New file.
46117         * modules/unictype/bidicategory-of: New file.
46118         * modules/unictype/bidicategory-test: New file.
46119         * modules/unictype/decimal-digit: New file.
46120         * modules/unictype/digit: New file.
46121         * modules/unictype/numeric: New file.
46122         * modules/unictype/mirror: New file.
46123         * modules/unictype/property-white-space: New file.
46124         * modules/unictype/property-alphabetic: New file.
46125         * modules/unictype/property-other-alphabetic: New file.
46126         * modules/unictype/property-not-a-character: New file.
46127         * modules/unictype/property-default-ignorable-code-point: New file.
46128         * modules/unictype/property-other-default-ignorable-code-point: New
46129         file.
46130         * modules/unictype/property-deprecated: New file.
46131         * modules/unictype/property-logical-order-exception: New file.
46132         * modules/unictype/property-variation-selector: New file.
46133         * modules/unictype/property-private-use: New file.
46134         * modules/unictype/property-unassigned-code-value: New file.
46135         * modules/unictype/property-uppercase: New file.
46136         * modules/unictype/property-other-uppercase: New file.
46137         * modules/unictype/property-lowercase: New file.
46138         * modules/unictype/property-other-lowercase: New file.
46139         * modules/unictype/property-titlecase: New file.
46140         * modules/unictype/property-soft-dotted: New file.
46141         * modules/unictype/property-id-start: New file.
46142         * modules/unictype/property-other-id-start: New file.
46143         * modules/unictype/property-id-continue: New file.
46144         * modules/unictype/property-other-id-continue: New file.
46145         * modules/unictype/property-xid-start: New file.
46146         * modules/unictype/property-xid-continue: New file.
46147         * modules/unictype/property-pattern-white-space: New file.
46148         * modules/unictype/property-pattern-syntax: New file.
46149         * modules/unictype/property-join-control: New file.
46150         * modules/unictype/property-grapheme-base: New file.
46151         * modules/unictype/property-grapheme-extend: New file.
46152         * modules/unictype/property-other-grapheme-extend: New file.
46153         * modules/unictype/property-grapheme-link: New file.
46154         * modules/unictype/property-bidi-control: New file.
46155         * modules/unictype/property-bidi-left-to-right: New file.
46156         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
46157         * modules/unictype/property-bidi-arabic-right-to-left: New file.
46158         * modules/unictype/property-bidi-european-digit: New file.
46159         * modules/unictype/property-bidi-eur-num-separator: New file.
46160         * modules/unictype/property-bidi-eur-num-terminator: New file.
46161         * modules/unictype/property-bidi-arabic-digit: New file.
46162         * modules/unictype/property-bidi-common-separator: New file.
46163         * modules/unictype/property-bidi-block-separator: New file.
46164         * modules/unictype/property-bidi-segment-separator: New file.
46165         * modules/unictype/property-bidi-whitespace: New file.
46166         * modules/unictype/property-bidi-non-spacing-mark: New file.
46167         * modules/unictype/property-bidi-boundary-neutral: New file.
46168         * modules/unictype/property-bidi-pdf: New file.
46169         * modules/unictype/property-bidi-embedding-or-override: New file.
46170         * modules/unictype/property-bidi-other-neutral: New file.
46171         * modules/unictype/property-hex-digit: New file.
46172         * modules/unictype/property-ascii-hex-digit: New file.
46173         * modules/unictype/property-ideographic: New file.
46174         * modules/unictype/property-unified-ideograph: New file.
46175         * modules/unictype/property-radical: New file.
46176         * modules/unictype/property-ids-binary-operator: New file.
46177         * modules/unictype/property-ids-trinary-operator: New file.
46178         * modules/unictype/property-zero-width: New file.
46179         * modules/unictype/property-space: New file.
46180         * modules/unictype/property-non-break: New file.
46181         * modules/unictype/property-iso-control: New file.
46182         * modules/unictype/property-format-control: New file.
46183         * modules/unictype/property-dash: New file.
46184         * modules/unictype/property-hyphen: New file.
46185         * modules/unictype/property-punctuation: New file.
46186         * modules/unictype/property-line-separator: New file.
46187         * modules/unictype/property-paragraph-separator: New file.
46188         * modules/unictype/property-quotation-mark: New file.
46189         * modules/unictype/property-sentence-terminal: New file.
46190         * modules/unictype/property-terminal-punctuation: New file.
46191         * modules/unictype/property-currency-symbol: New file.
46192         * modules/unictype/property-math: New file.
46193         * modules/unictype/property-other-math: New file.
46194         * modules/unictype/property-paired-punctuation: New file.
46195         * modules/unictype/property-left-of-pair: New file.
46196         * modules/unictype/property-combining: New file.
46197         * modules/unictype/property-composite: New file.
46198         * modules/unictype/property-decimal-digit: New file.
46199         * modules/unictype/property-numeric: New file.
46200         * modules/unictype/property-diacritic: New file.
46201         * modules/unictype/property-extender: New file.
46202         * modules/unictype/property-ignorable-control: New file.
46203         * modules/unictype/property-test: New file.
46204         * modules/unictype/property-byname: New file.
46205         * modules/unictype/property-all: New file.
46206         * modules/unictype/scripts: New file.
46207         * modules/unictype/scripts-all: New file.
46208         * modules/unictype/block-of: New file.
46209         * modules/unictype/block-test: New file.
46210         * modules/unictype/block-list: New file.
46211         * modules/unictype/block-all: New file.
46212         * modules/unictype/syntax-c-whitespace: New file.
46213         * modules/unictype/syntax-java-whitespace: New file.
46214         * modules/unictype/syntax-c-ident: New file.
46215         * modules/unictype/syntax-java-ident: New file.
46216         * modules/unictype/ctype-alnum: New file.
46217         * modules/unictype/ctype-alpha: New file.
46218         * modules/unictype/ctype-cntrl: New file.
46219         * modules/unictype/ctype-digit: New file.
46220         * modules/unictype/ctype-graph: New file.
46221         * modules/unictype/ctype-lower: New file.
46222         * modules/unictype/ctype-print: New file.
46223         * modules/unictype/ctype-punct: New file.
46224         * modules/unictype/ctype-space: New file.
46225         * modules/unictype/ctype-upper: New file.
46226         * modules/unictype/ctype-xdigit: New file.
46227         * modules/unictype/ctype-blank: New file.
46228         * lib/unictype/bidi_byname.c: New file.
46229         * lib/unictype/bidi_name.c: New file.
46230         * lib/unictype/bidi_of.c: New file.
46231         * lib/unictype/bidi_test.c: New file.
46232         * lib/unictype/bitmap.h: New file.
46233         * lib/unictype/block_test.c: New file.
46234         * lib/unictype/blocks.c: New file.
46235         * lib/unictype/categ_C.c: New file.
46236         * lib/unictype/categ_Cc.c: New file.
46237         * lib/unictype/categ_Cf.c: New file.
46238         * lib/unictype/categ_Cn.c: New file.
46239         * lib/unictype/categ_Co.c: New file.
46240         * lib/unictype/categ_Cs.c: New file.
46241         * lib/unictype/categ_L.c: New file.
46242         * lib/unictype/categ_Ll.c: New file.
46243         * lib/unictype/categ_Lm.c: New file.
46244         * lib/unictype/categ_Lo.c: New file.
46245         * lib/unictype/categ_Lt.c: New file.
46246         * lib/unictype/categ_Lu.c: New file.
46247         * lib/unictype/categ_M.c: New file.
46248         * lib/unictype/categ_Mc.c: New file.
46249         * lib/unictype/categ_Me.c: New file.
46250         * lib/unictype/categ_Mn.c: New file.
46251         * lib/unictype/categ_N.c: New file.
46252         * lib/unictype/categ_Nd.c: New file.
46253         * lib/unictype/categ_Nl.c: New file.
46254         * lib/unictype/categ_No.c: New file.
46255         * lib/unictype/categ_P.c: New file.
46256         * lib/unictype/categ_Pc.c: New file.
46257         * lib/unictype/categ_Pd.c: New file.
46258         * lib/unictype/categ_Pe.c: New file.
46259         * lib/unictype/categ_Pf.c: New file.
46260         * lib/unictype/categ_Pi.c: New file.
46261         * lib/unictype/categ_Po.c: New file.
46262         * lib/unictype/categ_Ps.c: New file.
46263         * lib/unictype/categ_S.c: New file.
46264         * lib/unictype/categ_Sc.c: New file.
46265         * lib/unictype/categ_Sk.c: New file.
46266         * lib/unictype/categ_Sm.c: New file.
46267         * lib/unictype/categ_So.c: New file.
46268         * lib/unictype/categ_Z.c: New file.
46269         * lib/unictype/categ_Zl.c: New file.
46270         * lib/unictype/categ_Zp.c: New file.
46271         * lib/unictype/categ_Zs.c: New file.
46272         * lib/unictype/categ_and.c: New file.
46273         * lib/unictype/categ_and_not.c: New file.
46274         * lib/unictype/categ_byname.c: New file.
46275         * lib/unictype/categ_name.c: New file.
46276         * lib/unictype/categ_none.c: New file.
46277         * lib/unictype/categ_of.c: New file.
46278         * lib/unictype/categ_or.c: New file.
46279         * lib/unictype/categ_test.c: New file.
46280         * lib/unictype/combining.c: New file.
46281         * lib/unictype/ctype_alnum.c: New file.
46282         * lib/unictype/ctype_alpha.c: New file.
46283         * lib/unictype/ctype_blank.c: New file.
46284         * lib/unictype/ctype_cntrl.c: New file.
46285         * lib/unictype/ctype_digit.c: New file.
46286         * lib/unictype/ctype_graph.c: New file.
46287         * lib/unictype/ctype_lower.c: New file.
46288         * lib/unictype/ctype_print.c: New file.
46289         * lib/unictype/ctype_punct.c: New file.
46290         * lib/unictype/ctype_space.c: New file.
46291         * lib/unictype/ctype_upper.c: New file.
46292         * lib/unictype/ctype_xdigit.c: New file.
46293         * lib/unictype/decdigit.c: New file.
46294         * lib/unictype/digit.c: New file.
46295         * lib/unictype/identsyntaxmap.h: New file.
46296         * lib/unictype/mirror.c: New file.
46297         * lib/unictype/numeric.c: New file.
46298         * lib/unictype/pr_alphabetic.c: New file.
46299         * lib/unictype/pr_ascii_hex_digit.c: New file.
46300         * lib/unictype/pr_bidi_arabic_digit.c: New file.
46301         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
46302         * lib/unictype/pr_bidi_block_separator.c: New file.
46303         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
46304         * lib/unictype/pr_bidi_common_separator.c: New file.
46305         * lib/unictype/pr_bidi_control.c: New file.
46306         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
46307         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
46308         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
46309         * lib/unictype/pr_bidi_european_digit.c: New file.
46310         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
46311         * lib/unictype/pr_bidi_left_to_right.c: New file.
46312         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
46313         * lib/unictype/pr_bidi_other_neutral.c: New file.
46314         * lib/unictype/pr_bidi_pdf.c: New file.
46315         * lib/unictype/pr_bidi_segment_separator.c: New file.
46316         * lib/unictype/pr_bidi_whitespace.c: New file.
46317         * lib/unictype/pr_byname.c: New file.
46318         * lib/unictype/pr_byname.gperf: New file.
46319         * lib/unictype/pr_combining.c: New file.
46320         * lib/unictype/pr_composite.c: New file.
46321         * lib/unictype/pr_currency_symbol.c: New file.
46322         * lib/unictype/pr_dash.c: New file.
46323         * lib/unictype/pr_decimal_digit.c: New file.
46324         * lib/unictype/pr_default_ignorable_code_point.c: New file.
46325         * lib/unictype/pr_deprecated.c: New file.
46326         * lib/unictype/pr_diacritic.c: New file.
46327         * lib/unictype/pr_extender.c: New file.
46328         * lib/unictype/pr_format_control.c: New file.
46329         * lib/unictype/pr_grapheme_base.c: New file.
46330         * lib/unictype/pr_grapheme_extend.c: New file.
46331         * lib/unictype/pr_grapheme_link.c: New file.
46332         * lib/unictype/pr_hex_digit.c: New file.
46333         * lib/unictype/pr_hyphen.c: New file.
46334         * lib/unictype/pr_id_continue.c: New file.
46335         * lib/unictype/pr_id_start.c: New file.
46336         * lib/unictype/pr_ideographic.c: New file.
46337         * lib/unictype/pr_ids_binary_operator.c: New file.
46338         * lib/unictype/pr_ids_trinary_operator.c: New file.
46339         * lib/unictype/pr_ignorable_control.c: New file.
46340         * lib/unictype/pr_iso_control.c: New file.
46341         * lib/unictype/pr_join_control.c: New file.
46342         * lib/unictype/pr_left_of_pair.c: New file.
46343         * lib/unictype/pr_line_separator.c: New file.
46344         * lib/unictype/pr_logical_order_exception.c: New file.
46345         * lib/unictype/pr_lowercase.c: New file.
46346         * lib/unictype/pr_math.c: New file.
46347         * lib/unictype/pr_non_break.c: New file.
46348         * lib/unictype/pr_not_a_character.c: New file.
46349         * lib/unictype/pr_numeric.c: New file.
46350         * lib/unictype/pr_other_alphabetic.c: New file.
46351         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
46352         * lib/unictype/pr_other_grapheme_extend.c: New file.
46353         * lib/unictype/pr_other_id_continue.c: New file.
46354         * lib/unictype/pr_other_id_start.c: New file.
46355         * lib/unictype/pr_other_lowercase.c: New file.
46356         * lib/unictype/pr_other_math.c: New file.
46357         * lib/unictype/pr_other_uppercase.c: New file.
46358         * lib/unictype/pr_paired_punctuation.c: New file.
46359         * lib/unictype/pr_paragraph_separator.c: New file.
46360         * lib/unictype/pr_pattern_syntax.c: New file.
46361         * lib/unictype/pr_pattern_white_space.c: New file.
46362         * lib/unictype/pr_private_use.c: New file.
46363         * lib/unictype/pr_punctuation.c: New file.
46364         * lib/unictype/pr_quotation_mark.c: New file.
46365         * lib/unictype/pr_radical.c: New file.
46366         * lib/unictype/pr_sentence_terminal.c: New file.
46367         * lib/unictype/pr_soft_dotted.c: New file.
46368         * lib/unictype/pr_space.c: New file.
46369         * lib/unictype/pr_terminal_punctuation.c: New file.
46370         * lib/unictype/pr_test.c: New file.
46371         * lib/unictype/pr_titlecase.c: New file.
46372         * lib/unictype/pr_unassigned_code_value.c: New file.
46373         * lib/unictype/pr_unified_ideograph.c: New file.
46374         * lib/unictype/pr_uppercase.c: New file.
46375         * lib/unictype/pr_variation_selector.c: New file.
46376         * lib/unictype/pr_white_space.c: New file.
46377         * lib/unictype/pr_xid_continue.c: New file.
46378         * lib/unictype/pr_xid_start.c: New file.
46379         * lib/unictype/pr_zero_width.c: New file.
46380         * lib/unictype/scripts.c: New file.
46381         * lib/unictype/sy_c_ident.c: New file.
46382         * lib/unictype/sy_c_whitespace.c: New file.
46383         * lib/unictype/sy_java_ident.c: New file.
46384         * lib/unictype/sy_java_whitespace.c: New file.
46385
46386         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
46387         Unicode 5.0.0.
46388         * lib/unictype/blocks.h: Likewise.
46389         * lib/unictype/categ_C.h: Likewise.
46390         * lib/unictype/categ_Cc.h: Likewise.
46391         * lib/unictype/categ_Cf.h: Likewise.
46392         * lib/unictype/categ_Cn.h: Likewise.
46393         * lib/unictype/categ_Co.h: Likewise.
46394         * lib/unictype/categ_Cs.h: Likewise.
46395         * lib/unictype/categ_L.h: Likewise.
46396         * lib/unictype/categ_Ll.h: Likewise.
46397         * lib/unictype/categ_Lm.h: Likewise.
46398         * lib/unictype/categ_Lo.h: Likewise.
46399         * lib/unictype/categ_Lt.h: Likewise.
46400         * lib/unictype/categ_Lu.h: Likewise.
46401         * lib/unictype/categ_M.h: Likewise.
46402         * lib/unictype/categ_Mc.h: Likewise.
46403         * lib/unictype/categ_Me.h: Likewise.
46404         * lib/unictype/categ_Mn.h: Likewise.
46405         * lib/unictype/categ_N.h: Likewise.
46406         * lib/unictype/categ_Nd.h: Likewise.
46407         * lib/unictype/categ_Nl.h: Likewise.
46408         * lib/unictype/categ_No.h: Likewise.
46409         * lib/unictype/categ_P.h: Likewise.
46410         * lib/unictype/categ_Pc.h: Likewise.
46411         * lib/unictype/categ_Pd.h: Likewise.
46412         * lib/unictype/categ_Pe.h: Likewise.
46413         * lib/unictype/categ_Pf.h: Likewise.
46414         * lib/unictype/categ_Pi.h: Likewise.
46415         * lib/unictype/categ_Po.h: Likewise.
46416         * lib/unictype/categ_Ps.h: Likewise.
46417         * lib/unictype/categ_S.h: Likewise.
46418         * lib/unictype/categ_Sc.h: Likewise.
46419         * lib/unictype/categ_Sk.h: Likewise.
46420         * lib/unictype/categ_Sm.h: Likewise.
46421         * lib/unictype/categ_So.h: Likewise.
46422         * lib/unictype/categ_Z.h: Likewise.
46423         * lib/unictype/categ_Zl.h: Likewise.
46424         * lib/unictype/categ_Zp.h: Likewise.
46425         * lib/unictype/categ_Zs.h: Likewise.
46426         * lib/unictype/categ_of.h: Likewise.
46427         * lib/unictype/combining.h: Likewise.
46428         * lib/unictype/ctype_alnum.h: Likewise.
46429         * lib/unictype/ctype_alpha.h: Likewise.
46430         * lib/unictype/ctype_blank.h: Likewise.
46431         * lib/unictype/ctype_cntrl.h: Likewise.
46432         * lib/unictype/ctype_digit.h: Likewise.
46433         * lib/unictype/ctype_graph.h: Likewise.
46434         * lib/unictype/ctype_lower.h: Likewise.
46435         * lib/unictype/ctype_print.h: Likewise.
46436         * lib/unictype/ctype_punct.h: Likewise.
46437         * lib/unictype/ctype_space.h: Likewise.
46438         * lib/unictype/ctype_upper.h: Likewise.
46439         * lib/unictype/ctype_xdigit.h: Likewise.
46440         * lib/unictype/decdigit.h: Likewise.
46441         * lib/unictype/digit.h: Likewise.
46442         * lib/unictype/mirror.h: Likewise.
46443         * lib/unictype/numeric.h: Likewise.
46444         * lib/unictype/pr_alphabetic.h: Likewise.
46445         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
46446         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
46447         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
46448         * lib/unictype/pr_bidi_block_separator.h: Likewise.
46449         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
46450         * lib/unictype/pr_bidi_common_separator.h: Likewise.
46451         * lib/unictype/pr_bidi_control.h: Likewise.
46452         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
46453         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
46454         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
46455         * lib/unictype/pr_bidi_european_digit.h: Likewise.
46456         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
46457         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
46458         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
46459         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
46460         * lib/unictype/pr_bidi_pdf.h: Likewise.
46461         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
46462         * lib/unictype/pr_bidi_whitespace.h: Likewise.
46463         * lib/unictype/pr_combining.h: Likewise.
46464         * lib/unictype/pr_composite.h: Likewise.
46465         * lib/unictype/pr_currency_symbol.h: Likewise.
46466         * lib/unictype/pr_dash.h: Likewise.
46467         * lib/unictype/pr_decimal_digit.h: Likewise.
46468         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
46469         * lib/unictype/pr_deprecated.h: Likewise.
46470         * lib/unictype/pr_diacritic.h: Likewise.
46471         * lib/unictype/pr_extender.h: Likewise.
46472         * lib/unictype/pr_format_control.h: Likewise.
46473         * lib/unictype/pr_grapheme_base.h: Likewise.
46474         * lib/unictype/pr_grapheme_extend.h: Likewise.
46475         * lib/unictype/pr_grapheme_link.h: Likewise.
46476         * lib/unictype/pr_hex_digit.h: Likewise.
46477         * lib/unictype/pr_hyphen.h: Likewise.
46478         * lib/unictype/pr_id_continue.h: Likewise.
46479         * lib/unictype/pr_id_start.h: Likewise.
46480         * lib/unictype/pr_ideographic.h: Likewise.
46481         * lib/unictype/pr_ids_binary_operator.h: Likewise.
46482         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
46483         * lib/unictype/pr_ignorable_control.h: Likewise.
46484         * lib/unictype/pr_iso_control.h: Likewise.
46485         * lib/unictype/pr_join_control.h: Likewise.
46486         * lib/unictype/pr_left_of_pair.h: Likewise.
46487         * lib/unictype/pr_line_separator.h: Likewise.
46488         * lib/unictype/pr_logical_order_exception.h: Likewise.
46489         * lib/unictype/pr_lowercase.h: Likewise.
46490         * lib/unictype/pr_math.h: Likewise.
46491         * lib/unictype/pr_non_break.h: Likewise.
46492         * lib/unictype/pr_not_a_character.h: Likewise.
46493         * lib/unictype/pr_numeric.h: Likewise.
46494         * lib/unictype/pr_other_alphabetic.h: Likewise.
46495         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
46496         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
46497         * lib/unictype/pr_other_id_continue.h: Likewise.
46498         * lib/unictype/pr_other_id_start.h: Likewise.
46499         * lib/unictype/pr_other_lowercase.h: Likewise.
46500         * lib/unictype/pr_other_math.h: Likewise.
46501         * lib/unictype/pr_other_uppercase.h: Likewise.
46502         * lib/unictype/pr_paired_punctuation.h: Likewise.
46503         * lib/unictype/pr_paragraph_separator.h: Likewise.
46504         * lib/unictype/pr_pattern_syntax.h: Likewise.
46505         * lib/unictype/pr_pattern_white_space.h: Likewise.
46506         * lib/unictype/pr_private_use.h: Likewise.
46507         * lib/unictype/pr_punctuation.h: Likewise.
46508         * lib/unictype/pr_quotation_mark.h: Likewise.
46509         * lib/unictype/pr_radical.h: Likewise.
46510         * lib/unictype/pr_sentence_terminal.h: Likewise.
46511         * lib/unictype/pr_soft_dotted.h: Likewise.
46512         * lib/unictype/pr_space.h: Likewise.
46513         * lib/unictype/pr_terminal_punctuation.h: Likewise.
46514         * lib/unictype/pr_titlecase.h: Likewise.
46515         * lib/unictype/pr_unassigned_code_value.h: Likewise.
46516         * lib/unictype/pr_unified_ideograph.h: Likewise.
46517         * lib/unictype/pr_uppercase.h: Likewise.
46518         * lib/unictype/pr_variation_selector.h: Likewise.
46519         * lib/unictype/pr_white_space.h: Likewise.
46520         * lib/unictype/pr_xid_continue.h: Likewise.
46521         * lib/unictype/pr_xid_start.h: Likewise.
46522         * lib/unictype/pr_zero_width.h: Likewise.
46523         * lib/unictype/scripts.h: Likewise.
46524         * lib/unictype/scripts_byname.gperf: Likewise.
46525         * lib/unictype/sy_c_ident.h: Likewise.
46526         * lib/unictype/sy_c_whitespace.h: Likewise.
46527         * lib/unictype/sy_java_ident.h: Likewise.
46528         * lib/unictype/sy_java_whitespace.h: Likewise.
46529
46530         * lib/unictype/Makefile: New file.
46531         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
46532         glibc.
46533         * lib/unictype/3level.h: New file, copied from glibc.
46534         * lib/unictype/3levelbit.h: New file.
46535
46536 2007-11-11  Bruno Haible  <bruno@clisp.org>
46537
46538         * modules/gperf: New file.
46539         * modules/iconv_open (Depends-on): Add it.
46540         (Makefile.am): Remove the GPERF definition.
46541
46542 2007-11-11  Bruno Haible  <bruno@clisp.org>
46543
46544         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
46545         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
46546
46547 2007-11-11  Bruno Haible  <bruno@clisp.org>
46548
46549         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
46550         (usage): Remove function.
46551
46552 2007-11-11  Bruno Haible  <bruno@clisp.org>
46553
46554         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
46555         gl_FUNC_CEILF_LIBS.
46556         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
46557         gl_FUNC_CEIL_LIBS.
46558         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
46559         gl_FUNC_CEILL_LIBS.
46560         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
46561         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
46562         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
46563
46564 2007-11-11  Bruno Haible  <bruno@clisp.org>
46565
46566         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
46567         roundf were declared but do not exist on functions.
46568         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
46569         roundl were declared but do not exist on functions.
46570         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
46571         HAVE_FLOORL_AND_CEILL, respectively.
46572         Needed for Sun C on Solaris 10.
46573
46574 2007-11-11  Bruno Haible  <bruno@clisp.org>
46575
46576         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
46577         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
46578         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
46579         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
46580         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
46581         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
46582         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
46583         HAVE_DECL_ROUNDF.
46584         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
46585         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
46586         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
46587         of HAVE_DECL_ROUND*.
46588         * modules/math (Makefile.am): Update.
46589
46590 2007-11-10  Bruno Haible  <bruno@clisp.org>
46591
46592         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
46593         ptrdiff_t as m4/intl.m4.
46594
46595 2007-11-10  Jim Meyering  <meyering@redhat.com>
46596
46597         Avoid link failure for the argmatch test.
46598         * tests/test-argmatch.c (usage): Define function to avoid a link
46599         failure: argmatch_die requires a usage function.
46600
46601 2007-11-09  Bruno Haible  <bruno@clisp.org>
46602
46603         * doc/functions/snprintf.texi: Mention BeOS deficiency.
46604         * doc/functions/vsnprintf.texi: Likewise.
46605         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
46606         with a size argument < 2.
46607
46608 2007-11-09  Bruno Haible  <bruno@clisp.org>
46609
46610         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
46611         buffer. Fixes an inefficiency introduced on 2007-11-03.
46612
46613 2007-11-09  Bruno Haible  <bruno@clisp.org>
46614
46615         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
46616         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
46617
46618 2007-11-08  Jim Meyering  <meyering@redhat.com>
46619
46620         Change cache variable name prefix "jm_" to "gl_" everywhere.
46621         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
46622         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
46623         * m4/uptime.m4: s/gl_/jm_/
46624
46625 2007-11-07  Bruno Haible  <bruno@clisp.org>
46626
46627         Update to GNU gettext 0.17.
46628         * m4/intl.m4: Update to GNU gettext 0.17.
46629         * m4/po.m4: Likewise.
46630         * modules/gettext (Files): Remove m4/ulonglong.m4.
46631         (configure.ac): Require gettext infrastructure from version 0.17.
46632
46633 2007-11-06  Bruno Haible  <bruno@clisp.org>
46634
46635         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
46636         symbolic values are not defined in a public header.
46637         * lib/freadable.c (freadable) [QNX]: Likewise.
46638         * lib/freadahead.c (freadahead) [QNX]: Likewise.
46639         * lib/freading.c (freading) [QNX]: Likewise.
46640         * lib/fseterr.c (fseterr) [QNX]: Likewise.
46641         * lib/fwritable.c (fwritable) [QNX]: Likewise.
46642         * lib/fwriting.c (fwriting) [QNX]: Likewise.
46643         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
46644         Reported by Alain Magloire.
46645
46646         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
46647
46648 2007-11-05  Bruno Haible  <bruno@clisp.org>
46649
46650         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
46651         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
46652         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
46653         Reported by Eric Blake.
46654
46655 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46656             Bruno Haible  <bruno@clisp.org>
46657
46658         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
46659         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
46660         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
46661         (malloc): Undefine also before including <stdlib.h>.
46662         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
46663         Needed on OSF/1 4.0.
46664
46665 2007-11-05  Jim Meyering  <meyering@redhat.com>
46666
46667         git-version-gen: sync from coreutils.
46668         * build-aux/git-version-gen: Add comments.
46669         Change the first '-' to '.' in the snapshot version string,
46670         e.g., 6.9-377-08144 -> 6.9.377-08144
46671         Remove first parameter.
46672         Don't declare a version "-dirty" merely because a time
46673         stamp has changed.
46674
46675 2007-11-04  Bruno Haible  <bruno@clisp.org>
46676
46677         * lib/lock.h: Protect all macro definitions containing an 'if'
46678         statement through a "do { ... } while (0)".
46679         * lib/tls.h: Likewise.
46680
46681 2007-11-04  Bruno Haible  <bruno@clisp.org>
46682
46683         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
46684
46685 2007-11-04  Bruno Haible  <bruno@clisp.org>
46686
46687         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
46688         * modules/fprintf-posix (Depends-on): Add nocrash.
46689         * modules/snprintf-posix (Depends-on): Likewise.
46690         * modules/sprintf-posix (Depends-on): Likewise.
46691         * modules/vasnprintf-posix (Depends-on): Likewise.
46692         * modules/vasprintf-posix (Depends-on): Likewise.
46693         * modules/vfprintf-posix (Depends-on): Likewise.
46694         * modules/vsnprintf-posix (Depends-on): Likewise.
46695         * modules/vsprintf-posix (Depends-on): Likewise.
46696         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46697         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46698         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46699         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46700         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46701         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46702         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46703
46704 2007-11-04  Bruno Haible  <bruno@clisp.org>
46705
46706         * modules/nocrash: New file.
46707         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
46708         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
46709
46710 2007-11-04  Bruno Haible  <bruno@clisp.org>
46711
46712         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
46713         precision handling.
46714         * tests/test-vasprintf-posix.c (test_function): Likewise.
46715         * tests/test-snprintf-posix.h (test_function): Likewise.
46716         * tests/test-sprintf-posix.h (test_function): Likewise.
46717
46718         Fix *printf behaviour for large precisions on mingw and BeOS.
46719         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
46720         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
46721         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
46722         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46723         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46724         gl_PRINTF_PRECISION and test its result. Invoke
46725         gl_PREREQ_VASNPRINTF_PRECISION.
46726         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46727         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46728         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46729         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46730         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46731         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46732         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46733         * doc/functions/fprintf.texi: Update.
46734         * doc/functions/printf.texi: Update.
46735         * doc/functions/snprintf.texi: Update.
46736         * doc/functions/sprintf.texi: Update.
46737         * doc/functions/vfprintf.texi: Update.
46738         * doc/functions/vprintf.texi: Update.
46739         * doc/functions/vsnprintf.texi: Update.
46740         * doc/functions/vsprintf.texi: Update.
46741
46742 2007-11-04  Bruno Haible  <bruno@clisp.org>
46743
46744         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
46745
46746 2007-11-04  Bruno Haible  <bruno@clisp.org>
46747
46748         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
46749         Reported by Sylvain Beucler <beuc@gnu.org>.
46750
46751 2007-11-03  Bruno Haible  <bruno@clisp.org>
46752
46753         * tests/test-fprintf-posix2.sh: New file.
46754         * tests/test-fprintf-posix2.c: New file.
46755         * modules/fprintf-posix-tests (Files): Add them.
46756         (TESTS): Add test-fprintf-posix2.sh.
46757         (configure.ac): Check for getrlimit and setrlimit.
46758         (check_PROGRAMS): Add test-fprintf-posix2.
46759
46760         * tests/test-printf-posix2.sh: New file.
46761         * tests/test-printf-posix2.c: New file.
46762         * modules/printf-posix-tests (Files): Add them.
46763         (TESTS): Add test-printf-posix2.sh.
46764         (configure.ac): Check for getrlimit and setrlimit.
46765         (check_PROGRAMS): Add test-printf-posix2.
46766
46767         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
46768         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
46769         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
46770         (decode_double): New function, copied from decode_long_double.
46771         (scale10_round_decimal_decoded): New function, extracted from
46772         scale10_round_decimal_long_double.
46773         (scale10_round_decimal_long_double): Use it.
46774         (scale10_round_decimal_double): New function.
46775         (floorlog10): New function.
46776         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
46777         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
46778         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46779         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46780         gl_PRINTF_ENOMEM and test its result. Invoke
46781         gl_PREREQ_VASNPRINTF_ENOMEM.
46782         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46783         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46784         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46785         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46786         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46787         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46788         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46789         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
46790         * modules/snprintf-posix (Depends-on): Likewise.
46791         * modules/sprintf-posix (Depends-on): Likewise.
46792         * modules/vasnprintf-posix (Depends-on): Likewise.
46793         * modules/vasprintf-posix (Depends-on): Likewise.
46794         * modules/vfprintf-posix (Depends-on): Likewise.
46795         * modules/vsnprintf-posix (Depends-on): Likewise.
46796         * modules/vsprintf-posix (Depends-on): Likewise.
46797         * doc/functions/fprintf.texi: Update.
46798         * doc/functions/printf.texi: Update.
46799         * doc/functions/snprintf.texi: Update.
46800         * doc/functions/sprintf.texi: Update.
46801         * doc/functions/vfprintf.texi: Update.
46802         * doc/functions/vprintf.texi: Update.
46803         * doc/functions/vsnprintf.texi: Update.
46804         * doc/functions/vsprintf.texi: Update.
46805
46806 2007-11-03  Bruno Haible  <bruno@clisp.org>
46807
46808         * modules/frexp-nolibm-tests: New file.
46809
46810         * modules/frexp-nolibm: New file.
46811         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
46812
46813 2007-11-03  Bruno Haible  <bruno@clisp.org>
46814
46815         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
46816         value is C99 compliant.
46817         Needed for OSF/1 5.1.
46818
46819 2007-11-03  Bruno Haible  <bruno@clisp.org>
46820
46821         Fix out-of-memory handling of vasnprintf.
46822         * lib/printf-parse.c: Include <errno.h>.
46823         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
46824         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
46825         is already set.
46826
46827 2007-11-02  Eric Blake  <ebb9@byu.net>
46828
46829         Fix tests on cygwin.
46830         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
46831
46832 2007-11-01  Bruno Haible  <bruno@clisp.org>
46833
46834         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
46835         warning.
46836         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
46837         needed for POSIX compatibility.
46838
46839 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46840
46841         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
46842         for compatibility with GNU.
46843
46844 2007-11-01  Bruno Haible  <bruno@clisp.org>
46845
46846         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
46847         (putenv): Renamed from rpl_putenv. Change argument type from
46848         'const char *' to 'char *'.
46849         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
46850         of defining putenv in config.h, just set REPLACE_PUTENV.
46851         * modules/putenv (Depends-on): Add stdlib.
46852         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46853         (Include): Use <stdlib.h>.
46854         * lib/stdlib.in.h (putenv): New declaration.
46855         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
46856         REPLACE_PUTENV.
46857         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
46858         REPLACE_PUTENV.
46859         Needed for MacOS X 10.5.0.
46860         Reported by Peter O'Gorman <peter@pogma.com>.
46861
46862 2007-11-01  Jim Meyering  <meyering@redhat.com>
46863
46864         Treat an empty date string exactly like "0".
46865         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
46866         if the remaining date string (to be parsed) is empty, use "0".
46867         Reported by Mischa Molhoek and discussed in this thread:
46868         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
46869
46870 2007-10-31  Bruno Haible  <bruno@clisp.org>
46871
46872         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
46873         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
46874         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
46875         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
46876         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
46877         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
46878
46879 2007-10-31  Bruno Haible  <bruno@clisp.org>
46880
46881         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
46882         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
46883         (AC_TYPE_LONG_LONG_INT): Use it.
46884         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
46885         it as well.
46886         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
46887         to m4/longlong.m4.
46888         * modules/stdint (Files): Remove m4/ulonglong.m4.
46889         * modules/strtoull (Files): Use m4/longlong.m4 instead of
46890         m4/ulonglong.m4.
46891         * modules/strtoumax (Files): Likewise.
46892
46893 2007-10-30  Bruno Haible  <bruno@clisp.org>
46894
46895         * modules/xvasprintf-posix: New file.
46896         Suggested by Eric Blake.
46897
46898 2007-10-30  Bruno Haible  <bruno@clisp.org>
46899
46900         * modules/xprintf-posix-tests: New file.
46901         * tests/test-xprintf-posix.sh: New file.
46902         * tests/test-xprintf-posix.c: New file.
46903         * tests/test-xfprintf-posix.c: New file.
46904
46905         * modules/xprintf-posix: New file.
46906
46907 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46908
46909         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
46910         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
46911         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
46912
46913 2007-10-29  Bruno Haible  <bruno@clisp.org>
46914
46915         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
46916         contain the special marker '_cv_'.
46917         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
46918         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
46919         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
46920         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
46921         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
46922         Reported by Ralf Wildenhues.
46923
46924 2007-10-29  Bruno Haible  <bruno@clisp.org>
46925
46926         * gnulib-tool (func_import): When --lgpl is not specified, set
46927         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
46928         GPLv3.
46929         Reported by Simon Josefsson.
46930
46931 2007-10-28  Bruno Haible  <bruno@clisp.org>
46932
46933         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
46934         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
46935         HAVE_DECL_ISFINITE.
46936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
46937         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
46938         HAVE_DECL_ISFINITE.
46939
46940 2007-10-28  Bruno Haible  <bruno@clisp.org>
46941
46942         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
46943         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
46944
46945 2007-10-28  Bruno Haible  <bruno@clisp.org>
46946
46947         Fix link errors with Sun C 5.0 on Solaris 10.
46948         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
46949         function is declared but not present in the compiler's libm.
46950         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
46951         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
46952         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
46953         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
46954         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
46955         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
46956         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
46957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
46958         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
46959         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
46960         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
46961         HAVE_DECL_FLOORL.
46962
46963 2007-10-28  Bruno Haible  <bruno@clisp.org>
46964
46965         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
46966         gl_FUNC_FLOORL. Cache the result.
46967         (gl_FUNC_FLOORL): Use it.
46968         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
46969         gl_FUNC_CEILL. Cache the result.
46970         (gl_FUNC_CEILL): Use it.
46971
46972         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
46973         gl_FUNC_FLOOR. Cache the result.
46974         (gl_FUNC_FLOOR): Use it.
46975         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
46976         gl_FUNC_CEIL. Cache the result.
46977         (gl_FUNC_CEIL): Use it.
46978
46979         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
46980         gl_FUNC_FLOORF. Cache the result.
46981         (gl_FUNC_FLOORF): Use it.
46982         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
46983         gl_FUNC_CEILF. Cache the result.
46984         (gl_FUNC_CEILF): Use it.
46985
46986 2007-10-28  Bruno Haible  <bruno@clisp.org>
46987
46988         * gnulib-tool: Allow specifying the LGPL version number through
46989         --lgpl=2 or --lgpl=3.
46990         (func_usage): Document --lgpl with argument.
46991         Handle --lgpl=... arguments.
46992         (func_import): Recognize also gl_LGPL calls with an argument. When
46993         --lgpl=2 is used and the module's license is just LGPL, report an
46994         error. Set sed_transform_lib_file according to the lgpl variable. In
46995         the generated files, use --lgpl or gl_LGPL invocations with argument,
46996         if necessary.
46997         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
46998         an LGPv2+ license.
46999         * doc/gnulib-tool.texi (Modified imports): Update explanation of
47000         gl_LGPL macro.
47001
47002 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47003             Bruno Haible  <bruno@clisp.org>
47004
47005         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
47006         (u16_uctomb_aux): Likewise.
47007         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
47008         !HAVE_INLINE.
47009         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
47010
47011 2007-10-28  Bruno Haible  <bruno@clisp.org>
47012
47013         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
47014         Invoke AM_GETTEXT_OPTION if it exists.
47015         * modules/vasprintf: Likewise.
47016         * modules/verror: Likewise.
47017         * modules/xprintf: Likewise.
47018         * modules/xvasprintf: Likewise.
47019
47020 2007-10-27  Ben Pfaff  <blp@gnu.org>
47021
47022         * lib/math.in.h: Define isfinite macro and prototypes for
47023         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
47024         implementations.
47025         * m4/math_h.m4: New substitutions for isfinite module.
47026         * lib/isfinite.c: New file.
47027         * m4/isfinite.m4: New file.
47028         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
47029         * modules/isfinite: New file.
47030         * modules/isfinite-tests: New file.
47031         * tests/tests-isfinite.c: New file.
47032         * doc/functions/isfinite.texi: Mention isfinite module.
47033         * MODULES.html.sh: Mention new module.
47034
47035 2007-10-27  Ben Pfaff  <blp@gnu.org>
47036
47037         Ralf Wildenhues reported that Tru64 4.0D declares the round
47038         functions but does not have definitions.
47039         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
47040         cannot be found in any library, set the output variable to
47041         "missing" instead of "".
47042         * m4/round.m4: Also use our substitute if we cannot find round in
47043         any library, even if it is declared.
47044         * m4/roundf.m4: Likewise for roundf.
47045         * m4/roundl.m4: Likewise for roundl.
47046         * lib/math.in.h: Undefine roundf, round, roundl before defining
47047         their replacements, to allow for hypothetical systems where these
47048         may be defined as macros but not available in libraries.
47049
47050 2007-10-27  Bruno Haible  <bruno@clisp.org>
47051
47052         * doc/gnulib.texi: Invoke @firstparagraphindent.
47053         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
47054         changes in gnulib.
47055         (Source changes): New section.
47056
47057 2007-10-26  Bruno Haible  <bruno@clisp.org>
47058
47059         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
47060         borrowed from autoconf.
47061
47062 2007-10-26  Bruno Haible  <bruno@clisp.org>
47063
47064         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
47065         strerror returned the empty string. Needed on HP-UX 11.00.
47066
47067 2007-10-24  Micah Cowan  <micah@cowan.name>
47068
47069         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
47070         * build-aux/bootstrap: Remove support for now-unnecessary option,
47071         --cvs-user, and envvars CVS_USER, CVS_RSH.
47072
47073 2007-10-24  Jim Meyering  <meyering@redhat.com>
47074
47075         Avoid diagnostics from sha1sum when there is no cached checksum.
47076         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
47077         if the po.s1 file hasn't been created yet.
47078
47079         * build-aux/bootstrap: Sync from coreutils:
47080         2007-10-24  Jim Meyering  <meyering@redhat.com>
47081         Get gnulib from the git repository, not from an obsolete cvs one.
47082         * build-aux/bootstrap: Suggestion from Micah Cowan.
47083         2007-10-04  Jim Meyering  <jim@meyering.net>
47084         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
47085         (update_po_files): Work also when there are no .po files in po/.
47086
47087 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47088
47089         * README: Append ".git" to git and cg examples.
47090         Problem reported by Benoit Sigoure.
47091
47092 2007-10-23  Micah Cowan  <micah@cowan.name>
47093
47094         * users.txt: Add wget.
47095
47096 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47097
47098         Fix linking of some unistdio tests on FreeBSD.
47099         * modules/unistdio/u16-vsnprintf-tests
47100         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
47101         * modules/unistdio/u16-vsprintf-tests
47102         (test_u16_vsnprintf1_LDADD): Likewise.
47103         * modules/unistdio/u32-vsnprintf-tests
47104         (test_u32_vsnprintf1_LDADD): Likewise.
47105         * modules/unistdio/u32-vsprintf-tests
47106         (test_u32_vsprintf1_LDADD): Likewise.
47107         * modules/unistdio/u8-vsnprintf-tests
47108         (test_u8_vsnprintf1_LDADD): Likewise.
47109         * modules/unistdio/u8-vsprintf-tests
47110         (test_u8_vsprintf1_LDADD): Likewise.
47111         * modules/unistdio/ulc-vsnprintf-tests
47112         (test_ulc_vsnprintf1_LDADD): Likewise.
47113         * modules/unistdio/ulc-vsprintf-tests
47114         (test_ulc_vsprintf1_LDADD): Likewise.
47115
47116         Fix linking of some uniconv tests on FreeBSD.
47117         * modules/uniconv/u16-conv-from-enc-tests
47118         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
47119         * modules/uniconv/u16-conv-to-enc-tests
47120         (test_u16_conv_to_enc_LDADD): Likewise.
47121         * modules/uniconv/u16-strconv-from-enc-tests
47122         (test_u16_strconv_from_enc_LDADD): Likewise.
47123         * modules/uniconv/u16-strconv-to-enc-tests
47124         (test_u16_strconv_to_enc_LDADD): Likewise.
47125         * modules/uniconv/u32-conv-from-enc-tests
47126         (test_u32_conv_from_enc_LDADD): Likewise.
47127         * modules/uniconv/u32-conv-to-enc-tests
47128         (test_u32_conv_to_enc_LDADD): Likewise.
47129         * modules/uniconv/u32-strconv-from-enc-tests
47130         (test_u32_strconv_from_enc_LDADD): Likewise.
47131         * modules/uniconv/u32-strconv-to-enc-tests
47132         (test_u32_strconv_to_enc_LDADD): Likewise.
47133         * modules/uniconv/u8-conv-from-enc-tests
47134         (test_u8_conv_from_enc_LDADD): Likewise.
47135         * modules/uniconv/u8-conv-to-enc-tests
47136         (test_u8_conv_to_enc_LDADD): Likewise.
47137         * modules/uniconv/u8-strconv-from-enc-tests
47138         (test_u8_strconv_from_enc_LDADD): Likewise.
47139         * modules/uniconv/u8-strconv-to-enc-tests
47140         (test_u8_strconv_to_enc_LDADD): Likewise.
47141
47142 2007-10-22  Bruno Haible  <bruno@clisp.org>
47143
47144         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
47145         size.
47146
47147 2007-10-22  Eric Blake  <ebb9@byu.net>
47148
47149         Tweak x*printf documentation.
47150         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
47151         variable name and comments.
47152         Suggested by Bruno Haible.
47153
47154 2007-10-22  Bruno Haible  <bruno@clisp.org>
47155
47156         * lib/acl.c (copy_acl): Fix file name in comment.
47157
47158 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
47159
47160         Fix Tru64 problem with stdbool.h.
47161         * lib/stdbool.in.h (false, true):
47162         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
47163         Don't declare as an enum in this situation; it runs afoul of Tru64.
47164         Problem reported by Steven M. Schweda in
47165         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
47166
47167 2007-10-22  Eric Blake  <ebb9@byu.net>
47168
47169         Also wrap vf?printf.
47170         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
47171         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
47172         (xvprintf, xvfprintf): New functions.
47173
47174 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47175
47176         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
47177         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
47178
47179         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
47180         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
47181
47182 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
47183
47184         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
47185         by Bruno Haible.
47186
47187 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47188
47189         * lib/getloadavg.c
47190         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
47191         Undef `sys' after including sys/table.h, for Tru64 4.0D.
47192
47193         * tests/test-i-ring.c: Work for C89.
47194
47195 2007-10-22  Bruno Haible  <bruno@clisp.org>
47196
47197         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
47198         -1u, in preprocessor expression, so that we don't test for the bug
47199         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
47200         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
47201
47202 2007-10-22  Eric Blake  <ebb9@byu.net>
47203
47204         * tests/test-yesno.sh: Silence stderr during test.
47205
47206 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47207
47208         * modules/crypto/gc-camellia: New file.
47209
47210         * m4/gc-camellia.m4: New file.
47211
47212         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
47213
47214         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
47215
47216 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47217
47218         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
47219         --help to stdout.  Reported by sms@antinode.org (Steven
47220         M. Schweda).
47221
47222 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47223
47224         * users.txt: Fix link to libksba.
47225
47226 2007-10-21  Ben Pfaff  <blp@gnu.org>
47227
47228         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
47229         round.c roundf implementation that depends on floorf and ceilf to
47230         be tested unconditionally.
47231
47232 2007-10-21  Ben Pfaff  <blp@gnu.org>
47233
47234         * m4/check-libm-func.m4: Removed.
47235         * m4/check-math-lib.m4: New file.
47236         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
47237         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
47238         definition and lack of AC_LIBOBJ([roundf]).
47239         * m4/roundl.m4: Ditto, and similarly for roundl.
47240         * modules/round: Reference new m4 file.
47241         * modules/roundf: Ditto.
47242         * modules/roundl: Ditto.
47243         * tests/test-round2.c (main): Use ROUND instead of round.
47244         Bug report from Bruno Haible.
47245
47246 2007-10-21  Bruno Haible  <bruno@clisp.org>
47247
47248         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
47249         context.
47250
47251 2007-10-21  Bruno Haible  <bruno@clisp.org>
47252
47253         * tests/test-wcwidth.c (main): Allow negative result for some control
47254         characters.
47255
47256         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
47257         Needed on OSF/1 5.1.
47258
47259 2007-10-21  Bruno Haible  <bruno@clisp.org>
47260
47261         * tests/test-floorf1.c: Include isnanf.h.
47262         (main): Use isnanf() instead of isnan().
47263         * tests/test-ceilf1.c: Include isnanf.h.
47264         (main): Use isnanf() instead of isnan().
47265         * tests/test-truncf1.c: Include isnanf.h.
47266         (main): Use isnanf() instead of isnan().
47267         * tests/test-roundf1.c: Include isnanf.h.
47268         (main): Use isnanf() instead of isnan().
47269
47270 2007-10-21  Eric Blake  <ebb9@byu.net>
47271
47272         * users.txt: Update URL for m4.
47273
47274 2007-10-21  Bruno Haible  <bruno@clisp.org>
47275
47276         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
47277
47278 2007-10-21  Bruno Haible  <bruno@clisp.org>
47279
47280         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
47281         Git's management files if the CVS files are not present.
47282
47283 2007-10-20  Bruno Haible  <bruno@clisp.org>
47284
47285         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
47286         gcc-3.4.x.
47287
47288 2007-10-20  Ben Pfaff  <blp@gnu.org>
47289
47290         * lib/math.in.h: Declare round, roundf, roundl if we are providing
47291         implementations.
47292         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
47293         * lib/round.c: New file.
47294         * lib/roundf.c: New file.
47295         * lib/roundl.c: New file.
47296         * m4/round.m4: New file.
47297         * m4/roundf.m4: New file.
47298         * m4/roundl.m4: New file.
47299         * m4/check-libm-func-m4: New file.
47300         * modules/math: Replace round, roundf, roundl related @VARS@ in
47301         math.in.h.
47302         * modules/round: New file.
47303         * modules/round-tests: New file.
47304         * modules/roundf: New file.
47305         * modules/roundf-tests: New file.
47306         * modules/roundl: New file.
47307         * modules/roundl-tests: New file.
47308         * tests/test-round1.c: New file.
47309         * tests/test-round2.c: New file.
47310         * tests/test-roundf1.c: New file.
47311         * tests/test-roundf2.c: New file.
47312         * tests/test-roundl.c: New file.
47313         * doc/functions/round.texi: Mention round module.
47314         * doc/functions/roundf.texi: Mention roundf module.
47315         * doc/functions/roundl.texi: Mention roundl module.
47316         * MODULES.html.sh: Mention new modules.
47317         Thanks to Bruno Haible for suggestions.
47318
47319 2007-10-20  Jim Meyering  <meyering@redhat.com>
47320
47321         * lib/xprintf.c: Include <config.h> unconditionally.
47322
47323         Change xprintf's license to GPL.
47324         * modules/xprintf (License): s/LGPL/GPL/, since this module
47325         depends on modules (exit and exitfail) which are GPL.
47326         Suggestion from Bruno Haible.
47327
47328         xprintf fixes.
47329         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
47330         Use a clearer diagnostic.
47331         Patch from Bruno Haible.
47332
47333 2007-10-20  Bruno Haible  <bruno@clisp.org>
47334
47335         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
47336         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
47337         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47338
47339 2007-10-20  Bruno Haible  <bruno@clisp.org>
47340
47341         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
47342         precision in the comparison result > x - 1 or similar.
47343         * tests/test-ceilf2.c (correct_result_p): Likewise.
47344         * tests/test-truncf2.c (correct_result_p): Likewise.
47345         * tests/test-trunc2.c (correct_result_p): Likewise.
47346         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47347
47348 2007-10-20  Bruno Haible  <bruno@clisp.org>
47349
47350         * modules/ceil: New file.
47351         * m4/ceil.m4: New file.
47352         * doc/functions/ceil.texi: Mention the 'ceil' module.
47353
47354 2007-10-20  Bruno Haible  <bruno@clisp.org>
47355
47356         * modules/floor: New file.
47357         * m4/floor.m4: New file.
47358         * doc/functions/floor.texi: Mention the 'floor' module.
47359
47360 2007-10-20  Bruno Haible  <bruno@clisp.org>
47361
47362         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
47363         of %a.
47364         * modules/floorf-tests (Depends-on): Likewise.
47365         * modules/truncf-tests (Depends-on): Likewise.
47366         * modules/trunc-tests (Depends-on): Likewise.
47367         Reported by Ben Pfaff.
47368
47369 2007-10-19  Jim Meyering  <meyering@redhat.com>
47370
47371         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
47372         Don't bother testing specific errno values.  Just test ferror.
47373
47374         New module: xprintf
47375         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
47376
47377 2007-10-19  Bruno Haible  <bruno@clisp.org>
47378
47379         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
47380         syntax.
47381         * modules/javaexec (Makefile.am): Likewise.
47382         * modules/relocatable-prog (Makefile.am): Likewise.
47383         Suggested by Jim Meyering.
47384
47385 2007-10-18  Bruno Haible  <bruno@clisp.org>
47386
47387         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
47388         Reported by Jim Meyering.
47389
47390 2007-10-18  Eric Blake  <ebb9@byu.net>
47391
47392         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
47393
47394 2007-10-18  Bruno Haible  <bruno@clisp.org>
47395
47396         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
47397         the format string into writable memory. Needed in Fortify conditions.
47398
47399 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
47400             Bruno Haible  <bruno@clisp.org>
47401
47402         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
47403         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
47404         * modules/trim (Depends-on): Add mbchar.
47405         (configure.ac): Add gl_FUNC_MBRTOWC.
47406         (Makefile.am): Augment lib_SOURCES.
47407
47408 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
47409
47410         Modify glob.c to use fstatat and dirfd, to simplify it.
47411         Suggested by Eric Blake.
47412         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
47413         Don't include <stdbool.h>; not used.
47414         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
47415         (link_exists_p): Simplify implementation, since we can now assume
47416         dirfd and fstatat.
47417         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
47418
47419 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47420
47421         * gnulib-tool (func_get_dependencies): Fix sed script to
47422         match only tests.
47423
47424 2007-10-17  Bruno Haible  <bruno@clisp.org>
47425
47426         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
47427         allow locale names without encoding suffix.
47428         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
47429         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47430
47431 2007-10-16  Bruno Haible  <bruno@clisp.org>
47432
47433         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
47434         * lib/getgroups.c (getgroups): Likewise.
47435         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
47436
47437 2007-10-16  Bruno Haible  <bruno@clisp.org>
47438
47439         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
47440         * modules/malloc-posix (License): Likewise.
47441         * modules/realloc-posix (License): Likewise.
47442         * modules/calloc-posix (License): Likewise.
47443         * modules/intprops (License): Change from GPL to LGPL, with
47444         Paul Eggert's approval.
47445
47446 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47447
47448         Merge glibc changes into lib/glob.c.
47449
47450         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
47451         2007-10-15 04:59:03 UTC.  Here are the changes:
47452
47453         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
47454
47455         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
47456
47457         * lib/glob.c: Add some branch prediction throughout.
47458
47459         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
47460
47461         [BZ #5103]
47462         * lib/glob.c (glob): Recognize patterns starting \/.
47463
47464         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
47465
47466         [BZ #3996]
47467         * lib/glob.c (attribute_hidden): Define if not defined.
47468         (glob): Unescape dirname, filename or username when needed and not
47469         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
47470         is NULL.  Handle unescaped [ in pattern without closing ].
47471         Don't pass GLOB_CHECK down to recursive glob for directories.
47472         (__glob_pattern_type): New function.
47473         (__glob_pattern_p): Implement using __glob_pattern_type.
47474         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
47475         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
47476         Remove unreachable code.
47477
47478         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
47479
47480         * lib/glob.c (glob_in_dir): Add some comments and asserts to
47481         explain why there are no leaks.
47482
47483         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
47484
47485         [BZ #3253]
47486         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
47487         time, rather allocate increasingly bigger arrays of pointers, if
47488         possible with alloca, if too large with malloc.
47489
47490 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47491
47492         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
47493         Problem reported by H.Merijn Brand in
47494         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
47495         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
47496         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
47497
47498 2007-10-15  Bruno Haible  <bruno@clisp.org>
47499
47500         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
47501         with explicit rpl_ prefix.
47502         * lib/fopen.c (fopen): Likewise.
47503         * lib/freopen.c (freopen): Likewise.
47504         * lib/iconv.c (iconv): Likewise.
47505         * lib/iconv_close.c (iconv_close): Likewise.
47506
47507 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47508
47509         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
47510
47511 2007-10-15  Bruno Haible  <bruno@clisp.org>
47512
47513         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
47514         <stddef.h> instead of <stdlib.h> since we only need NULL.
47515         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47516
47517 2007-10-15  Bruno Haible  <bruno@clisp.org>
47518
47519         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
47520         Replace paragraph talking about LIBOBJS.
47521         Reported by Colin Watson <cjwatson@debian.org>.
47522
47523 2007-10-15  Bruno Haible  <bruno@clisp.org>
47524
47525         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
47526         <stdlib.h> before using NULL.
47527
47528 2007-10-15  Simon Josefsson  <simon@josefsson.org>
47529
47530         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
47531         Reported by Albert Chin <china@thewrittenword.com>.
47532
47533 2007-10-14  Bruno Haible  <bruno@clisp.org>
47534
47535         * modules/iconv_open-utf-tests: New file.
47536         * tests/test-iconv-utf.c: New file.
47537
47538         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
47539         * modules/iconv_open-utf: New file.
47540         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
47541         (iconv, iconv_close): New declarations.
47542         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
47543         be defined.
47544         (iconv_open): Add special handling of conversion between UTF-8 and
47545         UTF-{16,32}{BE,LE}.
47546         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
47547         * lib/iconv_close.c: New file.
47548         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
47549         gl_FUNC_ICONV_OPEN.
47550         (gl_FUNC_ICONV_OPEN): Use it.
47551         (gl_FUNC_ICONV_OPEN_UTF): New macro.
47552         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
47553         and REPLACE_ICONV_UTF.
47554         * modules/iconv_open (Depends-on): Add c-strcase.
47555         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
47556         ICONV_CONST.
47557         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
47558
47559 2007-10-13  Albert Chin  <china@thewrittenword.com>
47560             Bruno Haible  <bruno@clisp.org>
47561
47562         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
47563         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
47564
47565 2007-10-13  Bruno Haible  <bruno@clisp.org>
47566
47567         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
47568         defined, use the ISO C99 inline semantics.
47569         * lib/argp.h (ARGP_EI): Likewise.
47570
47571 2007-10-13  Bruno Haible  <bruno@clisp.org>
47572
47573         Handle 'inline' change in gcc 4.3.0.
47574         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
47575         argp_fmtstream_write, argp_fmtstream_set_lmargin,
47576         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
47577         argp_fmtstream_point): Disable 'extern' declaration if the function
47578         definition is going to be provided inline.
47579         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
47580         semantics, not the ISO C99 inline semantics.
47581         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
47582         'extern' declaration if the function definition is going to be provided
47583         inline.
47584         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
47585         the GNU C inline semantics, not the ISO C99 inline semantics. With
47586         GCC 4.2, avoid a warning.
47587
47588 2007-10-13  Bruno Haible  <bruno@clisp.org>
47589
47590         * lib/freading.h (freading): Enable the use of __freading for
47591         glibc >= 2.7.
47592         * lib/freading.c (freading): Likewise.
47593
47594 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
47595
47596         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
47597         "warning: C99 inline functions are not supported; using GNU89".
47598
47599 2007-10-12  Bruno Haible  <bruno@clisp.org>
47600
47601         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
47602         of 2.
47603         * tests/test-ceilf2.c: New file.
47604         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
47605
47606         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
47607         * modules/ceilf-tests: Update.
47608
47609 2007-10-12  Bruno Haible  <bruno@clisp.org>
47610
47611         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
47612         of 2.
47613         * tests/test-floorf2.c: New file.
47614         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
47615
47616         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
47617         * modules/floorf-tests: Update.
47618
47619 2007-10-12  Bruno Haible  <bruno@clisp.org>
47620
47621         * tests/test-trunc2.c: New file.
47622         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
47623
47624         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
47625         * modules/trunc-tests: Update.
47626
47627 2007-10-12  Bruno Haible  <bruno@clisp.org>
47628
47629         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
47630         of 2.
47631         * tests/test-truncf2.c: New file.
47632         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
47633
47634         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
47635         * modules/truncf-tests: Update.
47636
47637 2007-10-11  Eric Blake  <ebb9@byu.net>
47638
47639         Don't claim strerror is broken on Interix.
47640         * doc/functions/strerror.texi (strerror): Known broken systems are
47641         now Solaris 8, and not Interix.
47642         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
47643         Interix on cross-compile.
47644         Reported by Martin Koeppe in
47645         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
47646
47647 2007-10-11  Bruno Haible  <bruno@clisp.org>
47648
47649         * modules/i-ring-tests: New file.
47650         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
47651         instead of assert.
47652
47653 2007-10-11  Bruno Haible  <bruno@clisp.org>
47654
47655         * modules/filenamecat-tests: New file.
47656         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
47657         * lib/filenamecat.c: Remove test code.
47658
47659 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
47660
47661         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
47662
47663         * lib/strerror.c: Include <string.h> always, to test interface,
47664         and to remove the need for the dummy.
47665         Include intprops.h to compute width instead of doing it ourselves
47666         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
47667         (strerror): Define it to return NULL if there's no system strerror.
47668         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
47669         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
47670         ancient pre-strerror Unix systems well any more.  Saying "unknown
47671         system error" is enough.
47672         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
47673         simpler strerror.c implementation.
47674         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
47675         Simplify the tests to reflect the simpler strerror implementation.
47676         * modules/strerror (Depends-on): Add intprops.
47677
47678 2007-10-09  Eric Blake  <ebb9@byu.net>
47679
47680         Silence test-fpending.
47681         * modules/fpending-tests (Files): Add wrapper script.
47682         * tests/test-fpending.sh: New file.
47683
47684 2007-10-09  Bruno Haible  <bruno@clisp.org>
47685
47686         * MODULES.html.sh (func_module): Don't create a hyperlink for
47687         function names like 'printf_frexp'.
47688         (Misc): Add crc, memxor.
47689         (Characteristics of floating types): New section.
47690         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
47691         isnanf-nolibm, signbit, trunc, truncf, truncl.
47692         (Enhancements for ISO C 99 functions): New subsection Input/output.
47693         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
47694         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
47695         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
47696         (Compatibility checks for POSIX:2001 functions): Add clock-time.
47697         (Enhancements for POSIX:2001 functions): Add chdir-long.
47698         (File system functions): Add areadlink, chdir-safer, read-file.
47699         Remove cycle-check.
47700         (File system as inode set): New section.
47701         (Date and time): Add gethrxtime.
47702         (Multithreading): Add openmp.
47703         (Internationalization functions): Add localename.
47704         (Unicode string functions): Add unistr/u*-mbsnlen.
47705         (Support for maintaining and releasing projects): Add git-version-gen.
47706         (Lone files): Remove directories.
47707
47708 2007-10-08  Ben Pfaff  <blp@gnu.org>
47709
47710         * lib/xmalloca.h: Fix typo in comment.
47711
47712 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
47713
47714         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
47715         when avoiding problems with integer overflow.  Use a portable test
47716         instead.
47717
47718 2007-10-08  Simon Josefsson  <simon@josefsson.org>
47719
47720         * modules/dummy (License): Change to LGPLv2+.
47721         * modules/float (License): Likewise
47722         * modules/realloc (License): Likewise
47723         * modules/stdlib (License): Likewise
47724
47725 2007-10-07  Bruno Haible  <bruno@clisp.org>
47726
47727         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
47728         * floor.c (TWO_MANT_DIG): Likewise.
47729         * ceil.c (TWO_MANT_DIG): Likewise.
47730         Reported by Ben Pfaff.
47731
47732 2007-10-07  Bruno Haible  <bruno@clisp.org>
47733
47734         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
47735         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
47736         * lib/frexp.c (FUNC): Likewise.
47737         * lib/printf-frexp.h (printf_frexp): Likewise.
47738         * lib/printf-frexpl.h (printf_frexpl): Likewise.
47739         * lib/printf-frexp.c (FUNC): Likewise.
47740         Suggested by Jim Meyering.
47741
47742 2007-10-07  Jim Meyering  <meyering@redhat.com>
47743
47744         Make xnanosleep's integer overflow test more robust.
47745         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
47746         so that gcc-4.3.0 doesn't optimize away this test for overflow.
47747
47748 2007-10-07  Bruno Haible  <bruno@clisp.org>
47749
47750         * NEWS: Mention the license change.
47751
47752         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
47753         abbreviations in the modules files.
47754
47755         Change copyright notice from GPLv2+ to GPLv3+.
47756         * README: Change copyright notice.
47757         * MODULES.html.sh: Likewise.
47758         * build-aux/bootstrap.conf: Likewise.
47759         * build-aux/config.libpath: Likewise.
47760         * build-aux/csharpcomp.sh.in: Likewise.
47761         * build-aux/csharpexec.sh.in: Likewise.
47762         * build-aux/install-reloc: Likewise.
47763         * build-aux/javacomp.sh.in: Likewise.
47764         * build-aux/javaexec.sh.in: Likewise.
47765         * build-aux/ldd.sh.in: Likewise.
47766         * build-aux/reloc-ldflags: Likewise.
47767         * build-aux/relocatable.sh.in: Likewise.
47768         * build-aux/x-to-1.in: Likewise.
47769         * check-module: Likewise.
47770         * config/srclistvars.sh: Likewise.
47771         * gnulib-tool: Likewise.
47772         * lib/acl-internal.h: Likewise.
47773         * lib/acl.c: Likewise.
47774         * lib/acl.h: Likewise.
47775         * lib/acl_entries.c: Likewise.
47776         * lib/areadlink-with-size.c: Likewise.
47777         * lib/areadlink.c: Likewise.
47778         * lib/areadlink.h: Likewise.
47779         * lib/argmatch.c: Likewise.
47780         * lib/argmatch.h: Likewise.
47781         * lib/argp-ba.c: Likewise.
47782         * lib/argp-eexst.c: Likewise.
47783         * lib/argp-fmtstream.c: Likewise.
47784         * lib/argp-fmtstream.h: Likewise.
47785         * lib/argp-fs-xinl.c: Likewise.
47786         * lib/argp-help.c: Likewise.
47787         * lib/argp-namefrob.h: Likewise.
47788         * lib/argp-parse.c: Likewise.
47789         * lib/argp-pin.c: Likewise.
47790         * lib/argp-pv.c: Likewise.
47791         * lib/argp-pvh.c: Likewise.
47792         * lib/argp-xinl.c: Likewise.
47793         * lib/argp.h: Likewise.
47794         * lib/at-func.c: Likewise.
47795         * lib/atanl.c: Likewise.
47796         * lib/backupfile.c: Likewise.
47797         * lib/backupfile.h: Likewise.
47798         * lib/basename.c: Likewise.
47799         * lib/binary-io.h: Likewise.
47800         * lib/byteswap.in.h: Likewise.
47801         * lib/c-stack.c: Likewise.
47802         * lib/c-stack.h: Likewise.
47803         * lib/c-strcasestr.c: Likewise.
47804         * lib/c-strcasestr.h: Likewise.
47805         * lib/c-strstr.c: Likewise.
47806         * lib/c-strstr.h: Likewise.
47807         * lib/c-strtod.c: Likewise.
47808         * lib/calloc.c: Likewise.
47809         * lib/canon-host.c: Likewise.
47810         * lib/canon-host.h: Likewise.
47811         * lib/canonicalize-lgpl.c: Likewise.
47812         * lib/canonicalize.c: Likewise.
47813         * lib/canonicalize.h: Likewise.
47814         * lib/ceil.c: Likewise.
47815         * lib/ceilf.c: Likewise.
47816         * lib/ceill.c: Likewise.
47817         * lib/chdir-long.c: Likewise.
47818         * lib/chdir-long.h: Likewise.
47819         * lib/chdir-safer.c: Likewise.
47820         * lib/chdir-safer.h: Likewise.
47821         * lib/chown.c: Likewise.
47822         * lib/classpath.c: Likewise.
47823         * lib/classpath.h: Likewise.
47824         * lib/clean-temp.c: Likewise.
47825         * lib/clean-temp.h: Likewise.
47826         * lib/cloexec.c: Likewise.
47827         * lib/close-stream.c: Likewise.
47828         * lib/closein.c: Likewise.
47829         * lib/closein.h: Likewise.
47830         * lib/closeout.c: Likewise.
47831         * lib/closeout.h: Likewise.
47832         * lib/concat-filename.c: Likewise.
47833         * lib/copy-file.c: Likewise.
47834         * lib/copy-file.h: Likewise.
47835         * lib/count-one-bits.h: Likewise.
47836         * lib/crc.c: Likewise.
47837         * lib/crc.h: Likewise.
47838         * lib/creat-safer.c: Likewise.
47839         * lib/csharpcomp.c: Likewise.
47840         * lib/csharpcomp.h: Likewise.
47841         * lib/csharpexec.c: Likewise.
47842         * lib/csharpexec.h: Likewise.
47843         * lib/cycle-check.c: Likewise.
47844         * lib/cycle-check.h: Likewise.
47845         * lib/diacrit.c: Likewise.
47846         * lib/diacrit.h: Likewise.
47847         * lib/diffseq.h: Likewise.
47848         * lib/dirchownmod.c: Likewise.
47849         * lib/dirent.in.h: Likewise.
47850         * lib/dirfd.c: Likewise.
47851         * lib/dirfd.h: Likewise.
47852         * lib/dirname.c: Likewise.
47853         * lib/dirname.h: Likewise.
47854         * lib/dummy.c: Likewise.
47855         * lib/dup-safer.c: Likewise.
47856         * lib/dup2.c: Likewise.
47857         * lib/eealloc.h: Likewise.
47858         * lib/error.c: Likewise.
47859         * lib/error.h: Likewise.
47860         * lib/euidaccess.c: Likewise.
47861         * lib/exclude.c: Likewise.
47862         * lib/exclude.h: Likewise.
47863         * lib/execute.c: Likewise.
47864         * lib/execute.h: Likewise.
47865         * lib/exitfail.c: Likewise.
47866         * lib/exitfail.h: Likewise.
47867         * lib/expl.c: Likewise.
47868         * lib/fatal-signal.c: Likewise.
47869         * lib/fatal-signal.h: Likewise.
47870         * lib/fbufmode.c: Likewise.
47871         * lib/fbufmode.h: Likewise.
47872         * lib/fchdir.c: Likewise.
47873         * lib/fchmodat.c: Likewise.
47874         * lib/fchownat.c: Likewise.
47875         * lib/fcntl--.h: Likewise.
47876         * lib/fcntl-safer.h: Likewise.
47877         * lib/fcntl.in.h: Likewise.
47878         * lib/fd-safer.c: Likewise.
47879         * lib/fflush.c: Likewise.
47880         * lib/file-has-acl.c: Likewise.
47881         * lib/file-set.c: Likewise.
47882         * lib/file-type.c: Likewise.
47883         * lib/file-type.h: Likewise.
47884         * lib/fileblocks.c: Likewise.
47885         * lib/filemode.c: Likewise.
47886         * lib/filemode.h: Likewise.
47887         * lib/filename.h: Likewise.
47888         * lib/filenamecat.c: Likewise.
47889         * lib/filenamecat.h: Likewise.
47890         * lib/findprog.c: Likewise.
47891         * lib/findprog.h: Likewise.
47892         * lib/float.in.h: Likewise.
47893         * lib/floor.c: Likewise.
47894         * lib/floorf.c: Likewise.
47895         * lib/floorl.c: Likewise.
47896         * lib/fopen-safer.c: Likewise.
47897         * lib/fopen.c: Likewise.
47898         * lib/fpending.c: Likewise.
47899         * lib/fpending.h: Likewise.
47900         * lib/fprintf.c: Likewise.
47901         * lib/fprintftime.h: Likewise.
47902         * lib/fpucw.h: Likewise.
47903         * lib/fpurge.c: Likewise.
47904         * lib/fpurge.h: Likewise.
47905         * lib/freadable.c: Likewise.
47906         * lib/freadable.h: Likewise.
47907         * lib/freadahead.c: Likewise.
47908         * lib/freadahead.h: Likewise.
47909         * lib/freading.c: Likewise.
47910         * lib/freading.h: Likewise.
47911         * lib/free.c: Likewise.
47912         * lib/freopen.c: Likewise.
47913         * lib/frexp.c: Likewise.
47914         * lib/frexpl.c: Likewise.
47915         * lib/fseek.c: Likewise.
47916         * lib/fseterr.c: Likewise.
47917         * lib/fseterr.h: Likewise.
47918         * lib/fstatat.c: Likewise.
47919         * lib/fstrcmp.c: Likewise.
47920         * lib/fstrcmp.h: Likewise.
47921         * lib/fsusage.c: Likewise.
47922         * lib/fsusage.h: Likewise.
47923         * lib/ftell.c: Likewise.
47924         * lib/ftello.c: Likewise.
47925         * lib/fts-cycle.c: Likewise.
47926         * lib/fts.c: Likewise.
47927         * lib/fts_.h: Likewise.
47928         * lib/full-read.c: Likewise.
47929         * lib/full-read.h: Likewise.
47930         * lib/full-write.c: Likewise.
47931         * lib/full-write.h: Likewise.
47932         * lib/fwritable.c: Likewise.
47933         * lib/fwritable.h: Likewise.
47934         * lib/fwriteerror.c: Likewise.
47935         * lib/fwriteerror.h: Likewise.
47936         * lib/fwriting.c: Likewise.
47937         * lib/fwriting.h: Likewise.
47938         * lib/gcd.c: Likewise.
47939         * lib/gcd.h: Likewise.
47940         * lib/getcwd.c: Likewise.
47941         * lib/getdate.h: Likewise.
47942         * lib/getdate.y: Likewise.
47943         * lib/getdomainname.c: Likewise.
47944         * lib/getdomainname.h: Likewise.
47945         * lib/getgroups.c: Likewise.
47946         * lib/gethostname.c: Likewise.
47947         * lib/gethrxtime.c: Likewise.
47948         * lib/gethrxtime.h: Likewise.
47949         * lib/getloadavg.c: Likewise.
47950         * lib/getndelim2.c: Likewise.
47951         * lib/getndelim2.h: Likewise.
47952         * lib/getnline.c: Likewise.
47953         * lib/getnline.h: Likewise.
47954         * lib/getopt.c: Likewise.
47955         * lib/getopt.in.h: Likewise.
47956         * lib/getopt1.c: Likewise.
47957         * lib/getopt_int.h: Likewise.
47958         * lib/getpagesize.h: Likewise.
47959         * lib/getsubopt.c: Likewise.
47960         * lib/gettime.c: Likewise.
47961         * lib/getugroups.c: Likewise.
47962         * lib/getugroups.h: Likewise.
47963         * lib/getusershell.c: Likewise.
47964         * lib/gl_anyavltree_list1.h: Likewise.
47965         * lib/gl_anyavltree_list2.h: Likewise.
47966         * lib/gl_anyhash_list1.h: Likewise.
47967         * lib/gl_anyhash_list2.h: Likewise.
47968         * lib/gl_anylinked_list1.h: Likewise.
47969         * lib/gl_anylinked_list2.h: Likewise.
47970         * lib/gl_anyrbtree_list1.h: Likewise.
47971         * lib/gl_anyrbtree_list2.h: Likewise.
47972         * lib/gl_anytree_list1.h: Likewise.
47973         * lib/gl_anytree_list2.h: Likewise.
47974         * lib/gl_anytree_oset.h: Likewise.
47975         * lib/gl_anytreehash_list1.h: Likewise.
47976         * lib/gl_anytreehash_list2.h: Likewise.
47977         * lib/gl_array_list.c: Likewise.
47978         * lib/gl_array_list.h: Likewise.
47979         * lib/gl_array_oset.c: Likewise.
47980         * lib/gl_array_oset.h: Likewise.
47981         * lib/gl_avltree_list.c: Likewise.
47982         * lib/gl_avltree_list.h: Likewise.
47983         * lib/gl_avltree_oset.c: Likewise.
47984         * lib/gl_avltree_oset.h: Likewise.
47985         * lib/gl_avltreehash_list.c: Likewise.
47986         * lib/gl_avltreehash_list.h: Likewise.
47987         * lib/gl_carray_list.c: Likewise.
47988         * lib/gl_carray_list.h: Likewise.
47989         * lib/gl_linked_list.c: Likewise.
47990         * lib/gl_linked_list.h: Likewise.
47991         * lib/gl_linkedhash_list.c: Likewise.
47992         * lib/gl_linkedhash_list.h: Likewise.
47993         * lib/gl_list.c: Likewise.
47994         * lib/gl_list.h: Likewise.
47995         * lib/gl_oset.c: Likewise.
47996         * lib/gl_oset.h: Likewise.
47997         * lib/gl_rbtree_list.c: Likewise.
47998         * lib/gl_rbtree_list.h: Likewise.
47999         * lib/gl_rbtree_oset.c: Likewise.
48000         * lib/gl_rbtree_oset.h: Likewise.
48001         * lib/gl_rbtreehash_list.c: Likewise.
48002         * lib/gl_rbtreehash_list.h: Likewise.
48003         * lib/gl_sublist.c: Likewise.
48004         * lib/gl_sublist.h: Likewise.
48005         * lib/group-member.c: Likewise.
48006         * lib/group-member.h: Likewise.
48007         * lib/hard-locale.c: Likewise.
48008         * lib/hard-locale.h: Likewise.
48009         * lib/hash-pjw.c: Likewise.
48010         * lib/hash-pjw.h: Likewise.
48011         * lib/hash-triple.c: Likewise.
48012         * lib/hash.c: Likewise.
48013         * lib/hash.h: Likewise.
48014         * lib/human.c: Likewise.
48015         * lib/human.h: Likewise.
48016         * lib/i-ring.c: Likewise.
48017         * lib/i-ring.h: Likewise.
48018         * lib/idcache.c: Likewise.
48019         * lib/imaxabs.c: Likewise.
48020         * lib/imaxdiv.c: Likewise.
48021         * lib/inet_pton.c: Likewise.
48022         * lib/inet_pton.h: Likewise.
48023         * lib/intprops.h: Likewise.
48024         * lib/inttostr.c: Likewise.
48025         * lib/inttostr.h: Likewise.
48026         * lib/inttypes.in.h: Likewise.
48027         * lib/isapipe.c: Likewise.
48028         * lib/isdir.c: Likewise.
48029         * lib/isnan.c: Likewise.
48030         * lib/isnan.h: Likewise.
48031         * lib/isnanf.c: Likewise.
48032         * lib/isnanf.h: Likewise.
48033         * lib/isnanl-nolibm.h: Likewise.
48034         * lib/isnanl.c: Likewise.
48035         * lib/isnanl.h: Likewise.
48036         * lib/javacomp.c: Likewise.
48037         * lib/javacomp.h: Likewise.
48038         * lib/javaexec.c: Likewise.
48039         * lib/javaexec.h: Likewise.
48040         * lib/javaversion.c: Likewise.
48041         * lib/javaversion.h: Likewise.
48042         * lib/javaversion.java: Likewise.
48043         * lib/lbrkprop.h: Likewise.
48044         * lib/lchmod.h: Likewise.
48045         * lib/lchown.c: Likewise.
48046         * lib/ldexpl.c: Likewise.
48047         * lib/linebreak.c: Likewise.
48048         * lib/linebreak.h: Likewise.
48049         * lib/linebuffer.c: Likewise.
48050         * lib/linebuffer.h: Likewise.
48051         * lib/locale.in.h: Likewise.
48052         * lib/logl.c: Likewise.
48053         * lib/long-options.c: Likewise.
48054         * lib/long-options.h: Likewise.
48055         * lib/lstat.c: Likewise.
48056         * lib/lstat.h: Likewise.
48057         * lib/math.in.h: Likewise.
48058         * lib/mbchar.c: Likewise.
48059         * lib/mbchar.h: Likewise.
48060         * lib/mbfile.h: Likewise.
48061         * lib/mbiter.h: Likewise.
48062         * lib/mbscasecmp.c: Likewise.
48063         * lib/mbscasestr.c: Likewise.
48064         * lib/mbschr.c: Likewise.
48065         * lib/mbscspn.c: Likewise.
48066         * lib/mbslen.c: Likewise.
48067         * lib/mbsncasecmp.c: Likewise.
48068         * lib/mbsnlen.c: Likewise.
48069         * lib/mbspbrk.c: Likewise.
48070         * lib/mbspcasecmp.c: Likewise.
48071         * lib/mbsrchr.c: Likewise.
48072         * lib/mbssep.c: Likewise.
48073         * lib/mbsspn.c: Likewise.
48074         * lib/mbsstr.c: Likewise.
48075         * lib/mbstok_r.c: Likewise.
48076         * lib/mbswidth.c: Likewise.
48077         * lib/mbswidth.h: Likewise.
48078         * lib/mbuiter.h: Likewise.
48079         * lib/memcasecmp.c: Likewise.
48080         * lib/memcasecmp.h: Likewise.
48081         * lib/memchr.c: Likewise.
48082         * lib/memcmp.c: Likewise.
48083         * lib/memcoll.c: Likewise.
48084         * lib/memcoll.h: Likewise.
48085         * lib/memcpy.c: Likewise.
48086         * lib/memrchr.c: Likewise.
48087         * lib/mkancesdirs.c: Likewise.
48088         * lib/mkdir-p.c: Likewise.
48089         * lib/mkdir-p.h: Likewise.
48090         * lib/mkdir.c: Likewise.
48091         * lib/mkdirat.c: Likewise.
48092         * lib/mkdtemp.c: Likewise.
48093         * lib/mkstemp-safer.c: Likewise.
48094         * lib/mkstemp.c: Likewise.
48095         * lib/modechange.c: Likewise.
48096         * lib/modechange.h: Likewise.
48097         * lib/mountlist.c: Likewise.
48098         * lib/mountlist.h: Likewise.
48099         * lib/mpsort.c: Likewise.
48100         * lib/nanosleep.c: Likewise.
48101         * lib/obstack.c: Likewise.
48102         * lib/obstack.h: Likewise.
48103         * lib/open-safer.c: Likewise.
48104         * lib/open.c: Likewise.
48105         * lib/openat-die.c: Likewise.
48106         * lib/openat-priv.h: Likewise.
48107         * lib/openat-proc.c: Likewise.
48108         * lib/openat.c: Likewise.
48109         * lib/openat.h: Likewise.
48110         * lib/pagealign_alloc.c: Likewise.
48111         * lib/pagealign_alloc.h: Likewise.
48112         * lib/physmem.c: Likewise.
48113         * lib/physmem.h: Likewise.
48114         * lib/pipe-safer.c: Likewise.
48115         * lib/pipe.c: Likewise.
48116         * lib/pipe.h: Likewise.
48117         * lib/posixtm.c: Likewise.
48118         * lib/posixtm.h: Likewise.
48119         * lib/posixver.c: Likewise.
48120         * lib/printf-frexp.c: Likewise.
48121         * lib/printf-frexp.h: Likewise.
48122         * lib/printf-frexpl.c: Likewise.
48123         * lib/printf-frexpl.h: Likewise.
48124         * lib/printf.c: Likewise.
48125         * lib/progname.c: Likewise.
48126         * lib/progname.h: Likewise.
48127         * lib/progreloc.c: Likewise.
48128         * lib/putenv.c: Likewise.
48129         * lib/quote.c: Likewise.
48130         * lib/quote.h: Likewise.
48131         * lib/quotearg.c: Likewise.
48132         * lib/quotearg.h: Likewise.
48133         * lib/raise.c: Likewise.
48134         * lib/readline.c: Likewise.
48135         * lib/readline.h: Likewise.
48136         * lib/readlink.c: Likewise.
48137         * lib/readtokens.c: Likewise.
48138         * lib/readtokens.h: Likewise.
48139         * lib/readtokens0.c: Likewise.
48140         * lib/readtokens0.h: Likewise.
48141         * lib/readutmp.c: Likewise.
48142         * lib/readutmp.h: Likewise.
48143         * lib/realloc.c: Likewise.
48144         * lib/relocwrapper.c: Likewise.
48145         * lib/rename-dest-slash.c: Likewise.
48146         * lib/rename.c: Likewise.
48147         * lib/rmdir.c: Likewise.
48148         * lib/rpmatch.c: Likewise.
48149         * lib/safe-read.c: Likewise.
48150         * lib/safe-read.h: Likewise.
48151         * lib/safe-write.c: Likewise.
48152         * lib/safe-write.h: Likewise.
48153         * lib/same-inode.h: Likewise.
48154         * lib/same.c: Likewise.
48155         * lib/same.h: Likewise.
48156         * lib/save-cwd.c: Likewise.
48157         * lib/save-cwd.h: Likewise.
48158         * lib/savedir.c: Likewise.
48159         * lib/savedir.h: Likewise.
48160         * lib/savewd.c: Likewise.
48161         * lib/savewd.h: Likewise.
48162         * lib/search.in.h: Likewise.
48163         * lib/setenv.c: Likewise.
48164         * lib/setenv.h: Likewise.
48165         * lib/settime.c: Likewise.
48166         * lib/sh-quote.c: Likewise.
48167         * lib/sh-quote.h: Likewise.
48168         * lib/sig2str.c: Likewise.
48169         * lib/sig2str.h: Likewise.
48170         * lib/signal.in.h: Likewise.
48171         * lib/signbitd.c: Likewise.
48172         * lib/signbitf.c: Likewise.
48173         * lib/signbitl.c: Likewise.
48174         * lib/sigprocmask.c: Likewise.
48175         * lib/sincosl.c: Likewise.
48176         * lib/sleep.c: Likewise.
48177         * lib/sprintf.c: Likewise.
48178         * lib/sqrtl.c: Likewise.
48179         * lib/stat-time.h: Likewise.
48180         * lib/stdio--.h: Likewise.
48181         * lib/stdio-safer.h: Likewise.
48182         * lib/stdlib--.h: Likewise.
48183         * lib/stdlib-safer.h: Likewise.
48184         * lib/stdlib.in.h: Likewise.
48185         * lib/stpcpy.c: Likewise.
48186         * lib/stpncpy.c: Likewise.
48187         * lib/strchrnul.c: Likewise.
48188         * lib/strcspn.c: Likewise.
48189         * lib/strerror.c: Likewise.
48190         * lib/strftime.c: Likewise.
48191         * lib/strftime.h: Likewise.
48192         * lib/striconveh.c: Likewise.
48193         * lib/striconveh.h: Likewise.
48194         * lib/striconveha.c: Likewise.
48195         * lib/striconveha.h: Likewise.
48196         * lib/stripslash.c: Likewise.
48197         * lib/strnlen1.c: Likewise.
48198         * lib/strnlen1.h: Likewise.
48199         * lib/strtod.c: Likewise.
48200         * lib/strtoimax.c: Likewise.
48201         * lib/strtok_r.c: Likewise.
48202         * lib/strtol.c: Likewise.
48203         * lib/strtoll.c: Likewise.
48204         * lib/strtoul.c: Likewise.
48205         * lib/strtoull.c: Likewise.
48206         * lib/sysexits.in.h: Likewise.
48207         * lib/tempname.c: Likewise.
48208         * lib/tempname.h: Likewise.
48209         * lib/timespec.h: Likewise.
48210         * lib/tls.c: Likewise.
48211         * lib/tls.h: Likewise.
48212         * lib/tmpdir.c: Likewise.
48213         * lib/tmpdir.h: Likewise.
48214         * lib/tmpfile-safer.c: Likewise.
48215         * lib/tmpfile.c: Likewise.
48216         * lib/trigl.c: Likewise.
48217         * lib/trigl.h: Likewise.
48218         * lib/trim.c: Likewise.
48219         * lib/trim.h: Likewise.
48220         * lib/trunc.c: Likewise.
48221         * lib/truncf.c: Likewise.
48222         * lib/truncl.c: Likewise.
48223         * lib/tsearch.c: Likewise.
48224         * lib/unicodeio.c: Likewise.
48225         * lib/unicodeio.h: Likewise.
48226         * lib/unistd--.h: Likewise.
48227         * lib/unistd-safer.h: Likewise.
48228         * lib/unistdio/ulc-fprintf.c: Likewise.
48229         * lib/unistdio/ulc-vfprintf.c: Likewise.
48230         * lib/unlinkdir.c: Likewise.
48231         * lib/unlinkdir.h: Likewise.
48232         * lib/unlocked-io.h: Likewise.
48233         * lib/unsetenv.c: Likewise.
48234         * lib/userspec.c: Likewise.
48235         * lib/utime.c: Likewise.
48236         * lib/utimecmp.c: Likewise.
48237         * lib/utimecmp.h: Likewise.
48238         * lib/utimens.c: Likewise.
48239         * lib/verify.h: Likewise.
48240         * lib/verror.c: Likewise.
48241         * lib/verror.h: Likewise.
48242         * lib/version-etc-fsf.c: Likewise.
48243         * lib/version-etc.c: Likewise.
48244         * lib/version-etc.h: Likewise.
48245         * lib/vfprintf.c: Likewise.
48246         * lib/vprintf.c: Likewise.
48247         * lib/vsprintf.c: Likewise.
48248         * lib/w32spawn.h: Likewise.
48249         * lib/wait-process.c: Likewise.
48250         * lib/wait-process.h: Likewise.
48251         * lib/wcwidth.c: Likewise.
48252         * lib/write-any-file.c: Likewise.
48253         * lib/xalloc-die.c: Likewise.
48254         * lib/xalloc.h: Likewise.
48255         * lib/xasprintf.c: Likewise.
48256         * lib/xgetcwd.c: Likewise.
48257         * lib/xgetcwd.h: Likewise.
48258         * lib/xgetdomainname.c: Likewise.
48259         * lib/xgetdomainname.h: Likewise.
48260         * lib/xgethostname.c: Likewise.
48261         * lib/xmalloc.c: Likewise.
48262         * lib/xmalloca.c: Likewise.
48263         * lib/xmalloca.h: Likewise.
48264         * lib/xmemcoll.c: Likewise.
48265         * lib/xnanosleep.c: Likewise.
48266         * lib/xreadlink.c: Likewise.
48267         * lib/xreadlink.h: Likewise.
48268         * lib/xsetenv.c: Likewise.
48269         * lib/xsetenv.h: Likewise.
48270         * lib/xstriconv.c: Likewise.
48271         * lib/xstriconv.h: Likewise.
48272         * lib/xstrndup.c: Likewise.
48273         * lib/xstrndup.h: Likewise.
48274         * lib/xstrtod.c: Likewise.
48275         * lib/xstrtod.h: Likewise.
48276         * lib/xstrtol-error.c: Likewise.
48277         * lib/xstrtol.c: Likewise.
48278         * lib/xstrtol.h: Likewise.
48279         * lib/xtime.h: Likewise.
48280         * lib/xvasprintf.c: Likewise.
48281         * lib/xvasprintf.h: Likewise.
48282         * lib/yesno.c: Likewise.
48283         * lib/yesno.h: Likewise.
48284         * posix-modules: Likewise.
48285         * tests/test-alloca-opt.c: Likewise.
48286         * tests/test-arcfour.c: Likewise.
48287         * tests/test-arctwo.c: Likewise.
48288         * tests/test-argmatch.c: Likewise.
48289         * tests/test-argp-2.sh: Likewise.
48290         * tests/test-argp.c: Likewise.
48291         * tests/test-arpa_inet.c: Likewise.
48292         * tests/test-array_list.c: Likewise.
48293         * tests/test-array_oset.c: Likewise.
48294         * tests/test-atexit.c: Likewise.
48295         * tests/test-avltree_list.c: Likewise.
48296         * tests/test-avltree_oset.c: Likewise.
48297         * tests/test-avltreehash_list.c: Likewise.
48298         * tests/test-base64.c: Likewise.
48299         * tests/test-binary-io.c: Likewise.
48300         * tests/test-byteswap.c: Likewise.
48301         * tests/test-c-ctype.c: Likewise.
48302         * tests/test-c-strcasecmp.c: Likewise.
48303         * tests/test-c-strcasestr.c: Likewise.
48304         * tests/test-c-strncasecmp.c: Likewise.
48305         * tests/test-c-strstr.c: Likewise.
48306         * tests/test-canonicalize-lgpl.c: Likewise.
48307         * tests/test-canonicalize.c: Likewise.
48308         * tests/test-carray_list.c: Likewise.
48309         * tests/test-ceilf.c: Likewise.
48310         * tests/test-ceill.c: Likewise.
48311         * tests/test-count-one-bits.c: Likewise.
48312         * tests/test-crc.c: Likewise.
48313         * tests/test-dirname.c: Likewise.
48314         * tests/test-fbufmode.c: Likewise.
48315         * tests/test-fcntl.c: Likewise.
48316         * tests/test-fflush.c: Likewise.
48317         * tests/test-floorf.c: Likewise.
48318         * tests/test-floorl.c: Likewise.
48319         * tests/test-fopen.c: Likewise.
48320         * tests/test-fprintf-posix.c: Likewise.
48321         * tests/test-fprintf-posix.h: Likewise.
48322         * tests/test-fpurge.c: Likewise.
48323         * tests/test-freadable.c: Likewise.
48324         * tests/test-freadahead.c: Likewise.
48325         * tests/test-freading.c: Likewise.
48326         * tests/test-freopen.c: Likewise.
48327         * tests/test-frexp.c: Likewise.
48328         * tests/test-frexpl.c: Likewise.
48329         * tests/test-fseek.c: Likewise.
48330         * tests/test-fseeko.c: Likewise.
48331         * tests/test-fseterr.c: Likewise.
48332         * tests/test-fstrcmp.c: Likewise.
48333         * tests/test-ftell.c: Likewise.
48334         * tests/test-ftello.c: Likewise.
48335         * tests/test-fwritable.c: Likewise.
48336         * tests/test-fwriting.c: Likewise.
48337         * tests/test-getaddrinfo.c: Likewise.
48338         * tests/test-getpass.c: Likewise.
48339         * tests/test-gettimeofday.c: Likewise.
48340         * tests/test-hmac-md5.c: Likewise.
48341         * tests/test-hmac-sha1.c: Likewise.
48342         * tests/test-iconv.c: Likewise.
48343         * tests/test-iconvme.c: Likewise.
48344         * tests/test-inttypes.c: Likewise.
48345         * tests/test-isnan.c: Likewise.
48346         * tests/test-isnanf.c: Likewise.
48347         * tests/test-isnanl-nolibm.c: Likewise.
48348         * tests/test-isnanl.c: Likewise.
48349         * tests/test-isnanl.h: Likewise.
48350         * tests/test-ldexpl.c: Likewise.
48351         * tests/test-linked_list.c: Likewise.
48352         * tests/test-linkedhash_list.c: Likewise.
48353         * tests/test-locale.c: Likewise.
48354         * tests/test-localename.c: Likewise.
48355         * tests/test-lock.c: Likewise.
48356         * tests/test-lseek.c: Likewise.
48357         * tests/test-malloca.c: Likewise.
48358         * tests/test-math.c: Likewise.
48359         * tests/test-mbscasecmp.c: Likewise.
48360         * tests/test-mbscasestr1.c: Likewise.
48361         * tests/test-mbscasestr2.c: Likewise.
48362         * tests/test-mbscasestr3.c: Likewise.
48363         * tests/test-mbscasestr4.c: Likewise.
48364         * tests/test-mbschr.c: Likewise.
48365         * tests/test-mbscspn.c: Likewise.
48366         * tests/test-mbsncasecmp.c: Likewise.
48367         * tests/test-mbspbrk.c: Likewise.
48368         * tests/test-mbspcasecmp.c: Likewise.
48369         * tests/test-mbsrchr.c: Likewise.
48370         * tests/test-mbsspn.c: Likewise.
48371         * tests/test-mbsstr1.c: Likewise.
48372         * tests/test-mbsstr2.c: Likewise.
48373         * tests/test-mbsstr3.c: Likewise.
48374         * tests/test-md5.c: Likewise.
48375         * tests/test-memmem.c: Likewise.
48376         * tests/test-netinet_in.c: Likewise.
48377         * tests/test-open.c: Likewise.
48378         * tests/test-printf-frexp.c: Likewise.
48379         * tests/test-printf-frexpl.c: Likewise.
48380         * tests/test-printf-posix.c: Likewise.
48381         * tests/test-printf-posix.h: Likewise.
48382         * tests/test-rbtree_list.c: Likewise.
48383         * tests/test-rbtree_oset.c: Likewise.
48384         * tests/test-rbtreehash_list.c: Likewise.
48385         * tests/test-read-file.c: Likewise.
48386         * tests/test-rijndael.c: Likewise.
48387         * tests/test-search.c: Likewise.
48388         * tests/test-signbit.c: Likewise.
48389         * tests/test-sleep.c: Likewise.
48390         * tests/test-snprintf-posix.c: Likewise.
48391         * tests/test-snprintf-posix.h: Likewise.
48392         * tests/test-snprintf.c: Likewise.
48393         * tests/test-sprintf-posix.c: Likewise.
48394         * tests/test-sprintf-posix.h: Likewise.
48395         * tests/test-stat-time.c: Likewise.
48396         * tests/test-stdbool.c: Likewise.
48397         * tests/test-stdint.c: Likewise.
48398         * tests/test-stdio.c: Likewise.
48399         * tests/test-stdlib.c: Likewise.
48400         * tests/test-stpncpy.c: Likewise.
48401         * tests/test-strcasestr.c: Likewise.
48402         * tests/test-striconv.c: Likewise.
48403         * tests/test-striconveh.c: Likewise.
48404         * tests/test-striconveha.c: Likewise.
48405         * tests/test-string.c: Likewise.
48406         * tests/test-sys_select.c: Likewise.
48407         * tests/test-sys_socket.c: Likewise.
48408         * tests/test-sys_stat.c: Likewise.
48409         * tests/test-sys_time.c: Likewise.
48410         * tests/test-sysexits.c: Likewise.
48411         * tests/test-time.c: Likewise.
48412         * tests/test-tls.c: Likewise.
48413         * tests/test-trunc.c: Likewise.
48414         * tests/test-truncf.c: Likewise.
48415         * tests/test-truncl.c: Likewise.
48416         * tests/test-unistd.c: Likewise.
48417         * tests/test-vasnprintf-posix.c: Likewise.
48418         * tests/test-vasnprintf-posix2.c: Likewise.
48419         * tests/test-vasnprintf.c: Likewise.
48420         * tests/test-vasprintf-posix.c: Likewise.
48421         * tests/test-vasprintf.c: Likewise.
48422         * tests/test-verify.c: Likewise.
48423         * tests/test-vfprintf-posix.c: Likewise.
48424         * tests/test-vprintf-posix.c: Likewise.
48425         * tests/test-vsnprintf-posix.c: Likewise.
48426         * tests/test-vsnprintf.c: Likewise.
48427         * tests/test-vsprintf-posix.c: Likewise.
48428         * tests/test-wchar.c: Likewise.
48429         * tests/test-wctype.c: Likewise.
48430         * tests/test-wcwidth.c: Likewise.
48431         * tests/test-xstrtol.c: Likewise.
48432         * tests/test-xvasprintf.c: Likewise.
48433         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
48434         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
48435         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
48436         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
48437         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
48438         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
48439         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
48440         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
48441         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
48442         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
48443         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
48444         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
48445         * tests/uniname/test-uninames.c: Likewise.
48446         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
48447         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
48448         * tests/unistdio/test-u16-printf1.h: Likewise.
48449         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
48450         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
48451         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
48452         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
48453         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
48454         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
48455         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
48456         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
48457         * tests/unistdio/test-u32-printf1.h: Likewise.
48458         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
48459         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
48460         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
48461         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
48462         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
48463         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
48464         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
48465         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
48466         * tests/unistdio/test-u8-printf1.h: Likewise.
48467         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
48468         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
48469         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
48470         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
48471         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
48472         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
48473         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
48474         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
48475         * tests/unistdio/test-ulc-printf1.h: Likewise.
48476         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
48477         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
48478         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
48479         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
48480         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
48481         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
48482         * tests/uniwidth/test-u16-strwidth.c: Likewise.
48483         * tests/uniwidth/test-u16-width.c: Likewise.
48484         * tests/uniwidth/test-u32-strwidth.c: Likewise.
48485         * tests/uniwidth/test-u32-width.c: Likewise.
48486         * tests/uniwidth/test-u8-strwidth.c: Likewise.
48487         * tests/uniwidth/test-u8-width.c: Likewise.
48488         * tests/uniwidth/test-uc_width.c: Likewise.
48489         * config/srclist-update: Likewise.
48490         (fixlicense): Update to GPLv3+.
48491
48492         Change copyright notice from LGPLv2.1+ to LGPLv3+.
48493         * tests/test-tsearch.c: Change copyright notice.
48494
48495         Change copyright notice from LGPLv2.0+ to LGPLv3+.
48496         * lib/c-strcaseeq.h: Change copyright notice.
48497         * lib/streq.h: Likewise.
48498         * lib/uniconv.h: Likewise.
48499         * lib/uniconv/u-conv-from-enc.h: Likewise.
48500         * lib/uniconv/u-conv-to-enc.h: Likewise.
48501         * lib/uniconv/u-strconv-from-enc.h: Likewise.
48502         * lib/uniconv/u-strconv-to-enc.h: Likewise.
48503         * lib/uniconv/u16-conv-from-enc.c: Likewise.
48504         * lib/uniconv/u16-conv-to-enc.c: Likewise.
48505         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
48506         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
48507         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
48508         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
48509         * lib/uniconv/u32-conv-from-enc.c: Likewise.
48510         * lib/uniconv/u32-conv-to-enc.c: Likewise.
48511         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
48512         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
48513         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
48514         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
48515         * lib/uniconv/u8-conv-from-enc.c: Likewise.
48516         * lib/uniconv/u8-conv-to-enc.c: Likewise.
48517         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
48518         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
48519         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
48520         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
48521         * lib/uniname.h: Likewise.
48522         * lib/uniname/uniname.c: Likewise.
48523         * lib/unistdio.h: Likewise.
48524         * lib/unistdio/u-asnprintf.h: Likewise.
48525         * lib/unistdio/u-asprintf.h: Likewise.
48526         * lib/unistdio/u-printf-args.c: Likewise.
48527         * lib/unistdio/u-printf-args.h: Likewise.
48528         * lib/unistdio/u-printf-parse.h: Likewise.
48529         * lib/unistdio/u-snprintf.h: Likewise.
48530         * lib/unistdio/u-sprintf.h: Likewise.
48531         * lib/unistdio/u-vasprintf.h: Likewise.
48532         * lib/unistdio/u-vsnprintf.h: Likewise.
48533         * lib/unistdio/u-vsprintf.h: Likewise.
48534         * lib/unistdio/u16-asnprintf.c: Likewise.
48535         * lib/unistdio/u16-asprintf.c: Likewise.
48536         * lib/unistdio/u16-printf-parse.c: Likewise.
48537         * lib/unistdio/u16-snprintf.c: Likewise.
48538         * lib/unistdio/u16-sprintf.c: Likewise.
48539         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
48540         * lib/unistdio/u16-u16-asprintf.c: Likewise.
48541         * lib/unistdio/u16-u16-snprintf.c: Likewise.
48542         * lib/unistdio/u16-u16-sprintf.c: Likewise.
48543         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
48544         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
48545         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
48546         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
48547         * lib/unistdio/u16-vasnprintf.c: Likewise.
48548         * lib/unistdio/u16-vasprintf.c: Likewise.
48549         * lib/unistdio/u16-vsnprintf.c: Likewise.
48550         * lib/unistdio/u16-vsprintf.c: Likewise.
48551         * lib/unistdio/u32-asnprintf.c: Likewise.
48552         * lib/unistdio/u32-asprintf.c: Likewise.
48553         * lib/unistdio/u32-printf-parse.c: Likewise.
48554         * lib/unistdio/u32-snprintf.c: Likewise.
48555         * lib/unistdio/u32-sprintf.c: Likewise.
48556         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
48557         * lib/unistdio/u32-u32-asprintf.c: Likewise.
48558         * lib/unistdio/u32-u32-snprintf.c: Likewise.
48559         * lib/unistdio/u32-u32-sprintf.c: Likewise.
48560         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
48561         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
48562         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
48563         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
48564         * lib/unistdio/u32-vasnprintf.c: Likewise.
48565         * lib/unistdio/u32-vasprintf.c: Likewise.
48566         * lib/unistdio/u32-vsnprintf.c: Likewise.
48567         * lib/unistdio/u32-vsprintf.c: Likewise.
48568         * lib/unistdio/u8-asnprintf.c: Likewise.
48569         * lib/unistdio/u8-asprintf.c: Likewise.
48570         * lib/unistdio/u8-printf-parse.c: Likewise.
48571         * lib/unistdio/u8-snprintf.c: Likewise.
48572         * lib/unistdio/u8-sprintf.c: Likewise.
48573         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
48574         * lib/unistdio/u8-u8-asprintf.c: Likewise.
48575         * lib/unistdio/u8-u8-snprintf.c: Likewise.
48576         * lib/unistdio/u8-u8-sprintf.c: Likewise.
48577         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
48578         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
48579         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
48580         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
48581         * lib/unistdio/u8-vasnprintf.c: Likewise.
48582         * lib/unistdio/u8-vasprintf.c: Likewise.
48583         * lib/unistdio/u8-vsnprintf.c: Likewise.
48584         * lib/unistdio/u8-vsprintf.c: Likewise.
48585         * lib/unistdio/ulc-asnprintf.c: Likewise.
48586         * lib/unistdio/ulc-asprintf.c: Likewise.
48587         * lib/unistdio/ulc-printf-parse.c: Likewise.
48588         * lib/unistdio/ulc-snprintf.c: Likewise.
48589         * lib/unistdio/ulc-sprintf.c: Likewise.
48590         * lib/unistdio/ulc-vasnprintf.c: Likewise.
48591         * lib/unistdio/ulc-vasprintf.c: Likewise.
48592         * lib/unistdio/ulc-vsnprintf.c: Likewise.
48593         * lib/unistdio/ulc-vsprintf.c: Likewise.
48594         * lib/unistr.h: Likewise.
48595         * lib/unistr/u-cpy-alloc.h: Likewise.
48596         * lib/unistr/u-cpy.h: Likewise.
48597         * lib/unistr/u-endswith.h: Likewise.
48598         * lib/unistr/u-move.h: Likewise.
48599         * lib/unistr/u-set.h: Likewise.
48600         * lib/unistr/u-startswith.h: Likewise.
48601         * lib/unistr/u-stpcpy.h: Likewise.
48602         * lib/unistr/u-stpncpy.h: Likewise.
48603         * lib/unistr/u-strcat.h: Likewise.
48604         * lib/unistr/u-strcpy.h: Likewise.
48605         * lib/unistr/u-strcspn.h: Likewise.
48606         * lib/unistr/u-strdup.h: Likewise.
48607         * lib/unistr/u-strlen.h: Likewise.
48608         * lib/unistr/u-strncat.h: Likewise.
48609         * lib/unistr/u-strncpy.h: Likewise.
48610         * lib/unistr/u-strnlen.h: Likewise.
48611         * lib/unistr/u-strpbrk.h: Likewise.
48612         * lib/unistr/u-strspn.h: Likewise.
48613         * lib/unistr/u-strstr.h: Likewise.
48614         * lib/unistr/u-strtok.h: Likewise.
48615         * lib/unistr/u16-check.c: Likewise.
48616         * lib/unistr/u16-chr.c: Likewise.
48617         * lib/unistr/u16-cmp.c: Likewise.
48618         * lib/unistr/u16-cpy-alloc.c: Likewise.
48619         * lib/unistr/u16-cpy.c: Likewise.
48620         * lib/unistr/u16-endswith.c: Likewise.
48621         * lib/unistr/u16-mblen.c: Likewise.
48622         * lib/unistr/u16-mbsnlen.c: Likewise.
48623         * lib/unistr/u16-mbtouc-aux.c: Likewise.
48624         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
48625         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
48626         * lib/unistr/u16-mbtouc.c: Likewise.
48627         * lib/unistr/u16-mbtoucr.c: Likewise.
48628         * lib/unistr/u16-move.c: Likewise.
48629         * lib/unistr/u16-next.c: Likewise.
48630         * lib/unistr/u16-prev.c: Likewise.
48631         * lib/unistr/u16-set.c: Likewise.
48632         * lib/unistr/u16-startswith.c: Likewise.
48633         * lib/unistr/u16-stpcpy.c: Likewise.
48634         * lib/unistr/u16-stpncpy.c: Likewise.
48635         * lib/unistr/u16-strcat.c: Likewise.
48636         * lib/unistr/u16-strchr.c: Likewise.
48637         * lib/unistr/u16-strcmp.c: Likewise.
48638         * lib/unistr/u16-strcpy.c: Likewise.
48639         * lib/unistr/u16-strcspn.c: Likewise.
48640         * lib/unistr/u16-strdup.c: Likewise.
48641         * lib/unistr/u16-strlen.c: Likewise.
48642         * lib/unistr/u16-strmblen.c: Likewise.
48643         * lib/unistr/u16-strmbtouc.c: Likewise.
48644         * lib/unistr/u16-strncat.c: Likewise.
48645         * lib/unistr/u16-strncmp.c: Likewise.
48646         * lib/unistr/u16-strncpy.c: Likewise.
48647         * lib/unistr/u16-strnlen.c: Likewise.
48648         * lib/unistr/u16-strpbrk.c: Likewise.
48649         * lib/unistr/u16-strrchr.c: Likewise.
48650         * lib/unistr/u16-strspn.c: Likewise.
48651         * lib/unistr/u16-strstr.c: Likewise.
48652         * lib/unistr/u16-strtok.c: Likewise.
48653         * lib/unistr/u16-to-u32.c: Likewise.
48654         * lib/unistr/u16-to-u8.c: Likewise.
48655         * lib/unistr/u16-uctomb-aux.c: Likewise.
48656         * lib/unistr/u16-uctomb.c: Likewise.
48657         * lib/unistr/u32-check.c: Likewise.
48658         * lib/unistr/u32-chr.c: Likewise.
48659         * lib/unistr/u32-cmp.c: Likewise.
48660         * lib/unistr/u32-cpy-alloc.c: Likewise.
48661         * lib/unistr/u32-cpy.c: Likewise.
48662         * lib/unistr/u32-endswith.c: Likewise.
48663         * lib/unistr/u32-mblen.c: Likewise.
48664         * lib/unistr/u32-mbsnlen.c: Likewise.
48665         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
48666         * lib/unistr/u32-mbtouc.c: Likewise.
48667         * lib/unistr/u32-mbtoucr.c: Likewise.
48668         * lib/unistr/u32-move.c: Likewise.
48669         * lib/unistr/u32-next.c: Likewise.
48670         * lib/unistr/u32-prev.c: Likewise.
48671         * lib/unistr/u32-set.c: Likewise.
48672         * lib/unistr/u32-startswith.c: Likewise.
48673         * lib/unistr/u32-stpcpy.c: Likewise.
48674         * lib/unistr/u32-stpncpy.c: Likewise.
48675         * lib/unistr/u32-strcat.c: Likewise.
48676         * lib/unistr/u32-strchr.c: Likewise.
48677         * lib/unistr/u32-strcmp.c: Likewise.
48678         * lib/unistr/u32-strcpy.c: Likewise.
48679         * lib/unistr/u32-strcspn.c: Likewise.
48680         * lib/unistr/u32-strdup.c: Likewise.
48681         * lib/unistr/u32-strlen.c: Likewise.
48682         * lib/unistr/u32-strmblen.c: Likewise.
48683         * lib/unistr/u32-strmbtouc.c: Likewise.
48684         * lib/unistr/u32-strncat.c: Likewise.
48685         * lib/unistr/u32-strncmp.c: Likewise.
48686         * lib/unistr/u32-strncpy.c: Likewise.
48687         * lib/unistr/u32-strnlen.c: Likewise.
48688         * lib/unistr/u32-strpbrk.c: Likewise.
48689         * lib/unistr/u32-strrchr.c: Likewise.
48690         * lib/unistr/u32-strspn.c: Likewise.
48691         * lib/unistr/u32-strstr.c: Likewise.
48692         * lib/unistr/u32-strtok.c: Likewise.
48693         * lib/unistr/u32-to-u16.c: Likewise.
48694         * lib/unistr/u32-to-u8.c: Likewise.
48695         * lib/unistr/u32-uctomb.c: Likewise.
48696         * lib/unistr/u8-check.c: Likewise.
48697         * lib/unistr/u8-chr.c: Likewise.
48698         * lib/unistr/u8-cmp.c: Likewise.
48699         * lib/unistr/u8-cpy-alloc.c: Likewise.
48700         * lib/unistr/u8-cpy.c: Likewise.
48701         * lib/unistr/u8-endswith.c: Likewise.
48702         * lib/unistr/u8-mblen.c: Likewise.
48703         * lib/unistr/u8-mbsnlen.c: Likewise.
48704         * lib/unistr/u8-mbtouc-aux.c: Likewise.
48705         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
48706         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
48707         * lib/unistr/u8-mbtouc.c: Likewise.
48708         * lib/unistr/u8-mbtoucr.c: Likewise.
48709         * lib/unistr/u8-move.c: Likewise.
48710         * lib/unistr/u8-next.c: Likewise.
48711         * lib/unistr/u8-prev.c: Likewise.
48712         * lib/unistr/u8-set.c: Likewise.
48713         * lib/unistr/u8-startswith.c: Likewise.
48714         * lib/unistr/u8-stpcpy.c: Likewise.
48715         * lib/unistr/u8-stpncpy.c: Likewise.
48716         * lib/unistr/u8-strcat.c: Likewise.
48717         * lib/unistr/u8-strchr.c: Likewise.
48718         * lib/unistr/u8-strcmp.c: Likewise.
48719         * lib/unistr/u8-strcpy.c: Likewise.
48720         * lib/unistr/u8-strcspn.c: Likewise.
48721         * lib/unistr/u8-strdup.c: Likewise.
48722         * lib/unistr/u8-strlen.c: Likewise.
48723         * lib/unistr/u8-strmblen.c: Likewise.
48724         * lib/unistr/u8-strmbtouc.c: Likewise.
48725         * lib/unistr/u8-strncat.c: Likewise.
48726         * lib/unistr/u8-strncmp.c: Likewise.
48727         * lib/unistr/u8-strncpy.c: Likewise.
48728         * lib/unistr/u8-strnlen.c: Likewise.
48729         * lib/unistr/u8-strpbrk.c: Likewise.
48730         * lib/unistr/u8-strrchr.c: Likewise.
48731         * lib/unistr/u8-strspn.c: Likewise.
48732         * lib/unistr/u8-strstr.c: Likewise.
48733         * lib/unistr/u8-strtok.c: Likewise.
48734         * lib/unistr/u8-to-u16.c: Likewise.
48735         * lib/unistr/u8-to-u32.c: Likewise.
48736         * lib/unistr/u8-uctomb-aux.c: Likewise.
48737         * lib/unistr/u8-uctomb.c: Likewise.
48738         * lib/unitypes.h: Likewise.
48739         * lib/uniwidth.h: Likewise.
48740         * lib/uniwidth/cjk.h: Likewise.
48741         * lib/uniwidth/u16-strwidth.c: Likewise.
48742         * lib/uniwidth/u16-width.c: Likewise.
48743         * lib/uniwidth/u32-strwidth.c: Likewise.
48744         * lib/uniwidth/u32-width.c: Likewise.
48745         * lib/uniwidth/u8-strwidth.c: Likewise.
48746         * lib/uniwidth/u8-width.c: Likewise.
48747         * lib/uniwidth/width.c: Likewise.
48748
48749 2007-10-07  Bruno Haible  <bruno@clisp.org>
48750
48751         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
48752         The file is still under LGPL (see modules/inttypes).
48753
48754 2007-10-06  Bruno Haible  <bruno@clisp.org>
48755
48756         * modules/trunc (Dependencies): Add 'extensions'.
48757         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
48758         Reported by Ben Pfaff <blp@gnu.org>.
48759
48760 2007-10-06  Bruno Haible  <bruno@clisp.org>
48761
48762         * modules/freopen-tests: New file.
48763         * tests/test-freopen.c: New file.
48764
48765         * modules/fopen-tests: New file.
48766         * tests/test-fopen.c: New file.
48767
48768         * modules/fopen: New file.
48769         * lib/fopen.c: New file.
48770         * m4/fopen.m4: New file.
48771         * modules/freopen: New file.
48772         * lib/freopen.c: New file.
48773         * m4/freopen.m4: New file.
48774         * lib/stdio.in.h (fopen, freopen): New declarations.
48775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
48776         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
48777         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
48778         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
48779         * doc/functions/fopen.texi: Mention the 'fopen' module.
48780         * doc/functions/freopen.texi: Mention the 'freopen' module.
48781
48782 2007-10-06  Bruno Haible  <bruno@clisp.org>
48783
48784         * modules/open-tests: New file.
48785         * tests/test-open.c: New file.
48786
48787         * modules/open: New file.
48788         * lib/open.c: New file.
48789         * m4/open.m4: New file.
48790         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
48791         lib/open.c does.
48792         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
48793         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
48794         macros.
48795         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
48796         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
48797         REPLACE_OPEN.
48798         * doc/functions/open.texi: Mention the 'open' module.
48799
48800 2007-10-04  Bruno Haible  <bruno@clisp.org>
48801
48802         * modules/ceill-tests: New file.
48803         * tests/test-ceill.c: New file.
48804
48805         * modules/ceill: New file.
48806         * lib/ceill.c: Replace entire file.
48807         * m4/ceill.m4: New file.
48808         * lib/math.in.h (ceill): Replace declaration.
48809         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
48810         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
48811         * doc/functions/ceill.texi: Mention the 'ceill' module.
48812         * modules/mathl (Files): Remove lib/ceill.c.
48813         (Depends-on): Add ceill.
48814
48815 2007-10-04  Bruno Haible  <bruno@clisp.org>
48816
48817         * modules/ceilf-tests: New file.
48818         * tests/test-ceilf.c: New file.
48819
48820         * modules/ceilf: New file.
48821         * lib/ceil.c: New file.
48822         * lib/ceilf.c: New file.
48823         * m4/ceilf.m4: New file.
48824         * lib/math.in.h (ceilf): New declaration.
48825         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
48826         HAVE_DECL_CEILF.
48827         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
48828         HAVE_DECL_CEILF.
48829         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
48830
48831 2007-10-04  Bruno Haible  <bruno@clisp.org>
48832
48833         * modules/floorl-tests: New file.
48834         * tests/test-floorl.c: New file.
48835
48836         * modules/floorl: New file.
48837         * lib/floorl.c: Replace entire file.
48838         * m4/floorl.m4: New file.
48839         * lib/math.in.h (floorl): Replace declaration.
48840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
48841         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
48842         * doc/functions/floorl.texi: Mention the 'floorl' module.
48843         * modules/mathl (Files): Remove lib/floorl.c.
48844         (Depends-on): Add floorl.
48845
48846 2007-10-04  Bruno Haible  <bruno@clisp.org>
48847
48848         * modules/floorf-tests: New file.
48849         * tests/test-floorf.c: New file.
48850
48851         * modules/floorf: New file.
48852         * lib/floor.c: New file.
48853         * lib/floorf.c: New file.
48854         * m4/floorf.m4: New file.
48855         * lib/math.in.h (floorf): New declaration.
48856         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
48857         HAVE_DECL_FLOORF.
48858         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
48859         HAVE_DECL_FLOORF.
48860         * doc/functions/floorf.texi: Mention the 'floorf' module.
48861
48862 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
48863             Bruno Haible  <bruno@clisp.org>
48864
48865         Advertise for the Git server instead of the CVS server.
48866         * doc/gnulib-intro.texi (Steady Development): Mention the Git
48867         repository instead of the CVS one.
48868         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
48869         about all VCS systems generically.
48870         * doc/gnulib.texi (Introduction): Capitalize `Git'.
48871
48872 2007-10-04  Bruno Haible  <bruno@clisp.org>
48873
48874         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
48875         means.
48876         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
48877
48878 2007-10-04  Bruno Haible  <bruno@clisp.org>
48879
48880         * modules/truncl-tests: New file.
48881         * tests/test-truncl.c: New file.
48882
48883         * modules/truncl: New file.
48884         * lib/truncl.c: New file.
48885         * m4/truncl.m4: New file.
48886         * lib/math.in.h (truncl): New declaration.
48887         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
48888         HAVE_DECL_TRUNCL.
48889         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
48890         HAVE_DECL_TRUNCL.
48891         * doc/functions/truncl.texi: Mention the 'truncl' module.
48892
48893 2007-10-04  Bruno Haible  <bruno@clisp.org>
48894
48895         * modules/truncf-tests: New file.
48896         * tests/test-truncf.c: New file.
48897
48898         * modules/truncf: New file.
48899         * lib/trunc.c: Make paramerizable through USE_* macros.
48900         * lib/truncf.c: New file.
48901         * m4/truncf.m4: New file.
48902         * lib/math.in.h (truncf): New declaration.
48903         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
48904         HAVE_DECL_TRUNCF.
48905         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
48906         HAVE_DECL_TRUNCF.
48907         * doc/functions/truncf.texi: Mention the 'truncf' module.
48908
48909 2007-10-03  Bruno Haible  <bruno@clisp.org>
48910
48911         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
48912         augmentation also for tests modules.
48913         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
48914         * modules/atexit-tests (Makefile.am): Likewise.
48915         * modules/binary-io-tests (Makefile.am): Likewise.
48916         * modules/c-strcase-tests (Makefile.am): Likewise.
48917         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
48918         * modules/canonicalize-tests (Makefile.am): Likewise.
48919         * modules/closein-tests (Makefile.am): Likewise.
48920         * modules/fprintf-posix-tests (Makefile.am): Likewise.
48921         * modules/freadahead-tests (Makefile.am): Likewise.
48922         * modules/fseek-tests (Makefile.am): Likewise.
48923         * modules/fseeko-tests (Makefile.am): Likewise.
48924         * modules/ftell-tests (Makefile.am): Likewise.
48925         * modules/ftello-tests (Makefile.am): Likewise.
48926         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
48927         * modules/isnanl-tests (Makefile.am): Likewise.
48928         * modules/lseek-tests (Makefile.am): Likewise.
48929         * modules/mbscasecmp-tests (Makefile.am): Likewise.
48930         * modules/mbscasestr-tests (Makefile.am): Likewise.
48931         * modules/mbschr-tests (Makefile.am): Likewise.
48932         * modules/mbscspn-tests (Makefile.am): Likewise.
48933         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
48934         * modules/mbspbrk-tests (Makefile.am): Likewise.
48935         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
48936         * modules/mbsrchr-tests (Makefile.am): Likewise.
48937         * modules/mbsspn-tests (Makefile.am): Likewise.
48938         * modules/mbsstr-tests (Makefile.am): Likewise.
48939         * modules/printf-posix-tests (Makefile.am): Likewise.
48940         * modules/snprintf-posix-tests (Makefile.am): Likewise.
48941         * modules/sprintf-posix-tests (Makefile.am): Likewise.
48942         * modules/tsearch-tests (Makefile.am): Likewise.
48943         * modules/uniname/uniname-tests (Makefile.am): Likewise.
48944         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
48945         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
48946         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
48947         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
48948         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
48949         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
48950         * modules/vprintf-posix-tests (Makefile.am): Likewise.
48951         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
48952         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
48953         * modules/xstrtoimax-tests (Makefile.am): Likewise.
48954         * modules/xstrtol-tests (Makefile.am): Likewise.
48955         * modules/xstrtoumax-tests (Makefile.am): Likewise.
48956         * modules/yesno-tests (Makefile.am): Likewise.
48957
48958 2007-10-03  Bruno Haible  <bruno@clisp.org>
48959
48960         * modules/trunc-tests: New file.
48961         * tests/test-trunc.c: New file.
48962
48963         * modules/trunc: New file.
48964         * lib/trunc.c: New file.
48965         * m4/trunc.m4: New file.
48966         * lib/math.in.h (trunc): New declaration.
48967         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
48968         HAVE_DECL_TRUNC.
48969         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
48970         HAVE_DECL_TRUNC.
48971         * doc/functions/trunc.texi: Mention the 'trunc' module.
48972
48973 2007-10-03  Bruno Haible  <bruno@clisp.org>
48974
48975         * tests/test-fpending.c: New file, mostly copied
48976         from coreutils/lib/t-fpending.c.
48977         * modules/fpending-tests: New file.
48978
48979 2007-10-03  Bruno Haible  <bruno@clisp.org>
48980
48981         Port the stdio extensions to QNX (untested).
48982         * lib/fseterr.c (fseterr): Add support for QNX.
48983         * lib/fbufmode.c (fbufmode): Likewise.
48984         * lib/freadable.c (freadable): Likewise.
48985         * lib/fwritable.c (fwritable): Likewise.
48986         * lib/freading.c (freading): Likewise.
48987         * lib/fwriting.c (fwriting): Likewise.
48988         * lib/freadahead.c (freadahed): Likewise.
48989         * lib/fpurge.c (fpurge): Likewise.
48990         * lib/fseeko.c (rpl_fseeko): Likewise.
48991
48992 2007-10-03  Bruno Haible  <bruno@clisp.org>
48993             Jim Meyering  <jim@meyering.net>
48994             Eric Blake  <ebb9@byu.net>
48995
48996         * doc/relocatable.texi: Use @command instead of @program.
48997
48998 2007-10-02  Jim Meyering  <jim@meyering.net>
48999
49000         Perform one more "_.h" -> ".in.h" substitution.
49001         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
49002         instead of unistd_.h here, too.
49003
49004 2007-10-01  Bruno Haible  <bruno@clisp.org>
49005
49006         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
49007         Needed for the alloca-opt module.
49008
49009 2007-09-30  Bruno Haible  <bruno@clisp.org>
49010
49011         * lib/alloca.in.h: Renamed from lib/alloca_.h.
49012         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
49013         alloca_.h.
49014         * lib/argz.in.h: Renamed from lib/argz_.h.
49015         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
49016         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
49017         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
49018         byteswap_.h.
49019         * lib/dirent.in.h: Renamed from lib/dirent_.h.
49020         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
49021         dirent_.h.
49022         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
49023         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
49024         fcntl_.h.
49025         * lib/float.in.h: Renamed from lib/float_.h.
49026         * modules/float (Files, Makefile.am): Use float.in.h instead of
49027         float_.h.
49028         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
49029         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
49030         fnmatch_.h.
49031         * lib/getopt.in.h: Renamed from lib/getopt_.h.
49032         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
49033         getopt_.h.
49034         * lib/glob.in.h: Renamed from lib/glob_.h.
49035         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
49036         * lib/iconv.in.h: Renamed from lib/iconv_.h.
49037         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
49038         iconv_.h.
49039         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
49040         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
49041         inttypes_.h.
49042         * lib/locale.in.h: Renamed from lib/locale_.h.
49043         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
49044         locale_.h.
49045         * lib/math.in.h: Renamed from lib/math_.h.
49046         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
49047         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
49048         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
49049         of netinet_in_.h. Add dependency.
49050         * lib/poll.in.h: Renamed from lib/poll_.h.
49051         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
49052         * lib/search.in.h: Renamed from lib/search_.h.
49053         * modules/search (Files, Makefile.am): Use search.in.h instead of
49054         search_.h.
49055         * lib/signal.in.h: Renamed from lib/signal_.h.
49056         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
49057         _signal.h.
49058         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
49059         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
49060         stdbool_.h.
49061         * lib/stdint.in.h: Renamed from lib/stdint_.h.
49062         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
49063         stdint_.h.
49064         * lib/stdio.in.h: Renamed from lib/stdio_.h.
49065         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
49066         stdio_.h.
49067         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
49068         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
49069         stdlib_.h.
49070         * lib/string.in.h: Renamed from lib/string_.h.
49071         * modules/string (Files, Makefile.am): Use string.in.h instead of
49072         string_.h.
49073         * doc/gnulib-tool.texi (Initial import): Update.
49074         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
49075         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
49076         of sys_select_.h. Add dependency.
49077         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
49078         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
49079         of sys_socket_.h.
49080         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
49081         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
49082         sys_stat_.h.
49083         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
49084         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
49085         sys_time_.h.
49086         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
49087         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
49088         sysexits_.h.
49089         * lib/time.in.h: Renamed from lib/time_.h.
49090         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
49091         * lib/unistd.in.h: Renamed from lib/unistd_.h.
49092         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
49093         unistd_.h.
49094         * lib/wchar.in.h: Renamed from lib/wchar_.h.
49095         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
49096         wchar_.h.
49097         * lib/wctype.in.h: Renamed from lib/wctype_.h.
49098         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
49099         wctype_.h.
49100         * build-aux/bootstrap (slurp): Update.
49101         * lib/.cppi-disable: Update.
49102
49103 2007-09-30  Bruno Haible  <bruno@clisp.org>
49104
49105         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
49106         Needed on BeOS.
49107
49108 2007-09-30  Bruno Haible  <bruno@clisp.org>
49109
49110         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
49111
49112 2007-09-29  Bruno Haible  <bruno@clisp.org>
49113
49114         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
49115
49116 2007-09-29  Bruno Haible  <bruno@clisp.org>
49117
49118         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
49119         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
49120         * build-aux/install-reloc: Compile also areadlink.c.
49121         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
49122
49123 2007-09-29  Bruno Haible  <bruno@clisp.org>
49124
49125         * gnulib-tool (func_emit_initmacro_done): Indentation.
49126
49127 2007-09-29  Bruno Haible  <bruno@clisp.org>
49128
49129         * README: Add CVS checkout update instructions.
49130         Info from Bob Proulx <bob@proulx.com>.
49131
49132 2007-09-28  Eric Blake  <ebb9@byu.net>
49133
49134         Provide move-if-change.
49135         * build-aux/move-if-change: New file, based on best practice
49136         rather than any canonical upstream location.
49137
49138 2007-09-28  Jim Meyering  <jim@meyering.net>
49139
49140         Fix canonicalize loop-detection corner case.
49141         Do not attempt to stat the symlink values stored via seen_triple.
49142         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
49143         on linux-2.6.18, (but not 2.6.22).
49144         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
49145         triple_compare.  The former compares dev,ino,filename, while the latter
49146         would actually stat dirname(filename) when dev and ino were equal.
49147         * lib/hash-triple.c: Install <string.h>.
49148         (STREQ): Define.
49149         (triple_compare_ino_str): New function.
49150         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
49151
49152 2007-09-28  Eric Blake  <ebb9@byu.net>
49153
49154         Enforce that AC_REPLACE_FUNCS files exist.
49155         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
49156         override check for typos.
49157
49158         Fix test-closein on Solaris 10.
49159         * tests/test-closein.c (main): Don't assume stdin can be inherited
49160         closed on all systems.
49161         * tests/test-closein.sh: Likewise.
49162         Reported by Piotr Tarnowski.
49163
49164 2007-09-28  Jim Meyering  <jim@meyering.net>
49165
49166         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
49167
49168 2007-09-27  Jim Meyering  <jim@meyering.net>
49169
49170         canonicalize: Avoid a false-positive cycle failure.
49171         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
49172         Sort.  Remove cycle-check.
49173         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
49174         not cycle-check.h.
49175         (seen_triple): New function.
49176         (canonicalize_filename_mode): Use it instead of cycle-check.
49177         * tests/test-canonicalize.c: Add a test for this bug.
49178         * tests/test-canonicalize.sh: Set up and run the test.
49179
49180         New module, file-set, from coreutils.
49181         * modules/file-set: Define it.
49182         * lib/file-set.c, lib/file-set.h: Implement.
49183
49184         New module, hash-triple, from coreutils.
49185         * modules/hash-triple: Define it.
49186         * lib/hash-triple.c, lib/hash-triple.h: Implement.
49187
49188 2007-09-25  Eric Blake  <ebb9@byu.net>
49189
49190         Fix strerror on Interix.
49191         * lib/string_.h (strerror): Declare replacement.
49192         * doc/functions/strerror.texi (strerror): Document the Interix
49193         shortcoming.
49194         * modules/string (Makefile.am): Support new hooks.
49195         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
49196         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
49197         gl_FUNC_STRERROR_SEPARATE.
49198         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
49199         * lib/strerror.c (rpl_strerror): Provide replacement.
49200         * modules/strerror (Depends-on): Add string.
49201         (configure.ac): Detect use of module.
49202         * tests/test-strerror.c: New file.
49203         * modules/strerror-tests: New test module.
49204         * modules/argp (Depends-on): Add strerror.
49205         * modules/error (Depends-on): Likewise.
49206         Reported by Martin Koeppe.
49207
49208 2007-09-24  Bruno Haible  <bruno@clisp.org>
49209
49210         * README: Update git instructions.
49211
49212 2007-09-24  Eric Blake  <ebb9@byu.net>
49213
49214         Revert fpending breakage from 2007-09-08.
49215         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
49216         __fpending.c.
49217
49218 2007-09-24  Jim Meyering  <jim@meyering.net>
49219
49220         filenamecat.c: Add a test.
49221         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
49222         showing how the function works when DIR is the empty string.
49223
49224 2007-09-21  Simon Josefsson  <simon@josefsson.org>
49225
49226         * tests/test-canonicalize.sh: Turn on executable bit.
49227
49228 2007-09-19  Eric Blake  <ebb9@byu.net>
49229
49230         * README: Update CVS instructions.
49231
49232 2007-09-18  Bruno Haible  <bruno@clisp.org>
49233
49234         * modules/areadlink: New file.
49235         * lib/areadlink.h (areadlink): New declaration.
49236         * lib/areadlink.c: New file, based on lib/xreadlink.c.
49237
49238 2007-09-17  Jim Meyering  <jim@meyering.net>
49239
49240         * lib/savewd.c (ESTALE) [!defined]: Define.
49241         Reported to be required on Interix by Martin Koeppe.
49242
49243 2007-09-17  Bruno Haible  <bruno@clisp.org>
49244
49245         * gnulib-tool (func_version): Use $version.
49246
49247 2007-09-16  Bruno Haible  <bruno@clisp.org>
49248
49249         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
49250         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
49251         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
49252         Reported by Greg Schafer <gschafer@zip.com.au>.
49253
49254 2007-09-15  Bruno Haible  <bruno@clisp.org>
49255
49256         * gnulib-tool (sed): Try a little harder to make bash understand the
49257         alias.
49258         Reported by Bruce Korb <bruce.korb@gmail.com>.
49259
49260 2007-09-13  Eric Blake  <ebb9@byu.net>
49261
49262         * ChangeLog: Remove conflict markers.
49263
49264 2007-09-13  Simon Josefsson  <simon@josefsson.org>
49265
49266         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
49267         Reported by Bruno Haible <bruno@clisp.org>.
49268
49269 2007-09-12  Bruno Haible  <bruno@clisp.org>
49270
49271         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
49272         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
49273         is not defined.
49274
49275 2007-09-12  Eric Blake  <ebb9@byu.net>
49276
49277         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
49278         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
49279         Autoconf definition.
49280         * modules/euidaccess (Depends-on): Add extensions, for
49281         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
49282         * modules/fnmatch (Depends-on): Likewise.
49283         * modules/getaddrinfo (Depends-on): Likewise.
49284         * modules/getdelim (Depends-on): Likewise.
49285         * modules/getline (Depends-on): Likewise.
49286         * modules/getsubopt (Depends-on): Likewise.
49287         * modules/gettext (Depends-on): Likewise.
49288         * modules/group-member (Depends-on): Likewise.
49289         * modules/mbchar (Depends-on): Likewise.
49290         * modules/memmem (Depends-on): Likewise.
49291         * modules/mempcpy (Depends-on): Likewise.
49292         * modules/memrchr (Depends-on): Likewise.
49293         * modules/pagealign_alloc (Depends-on): Likewise.
49294         * modules/readutmp (Depends-on): Likewise.
49295         * modules/stpcpy (Depends-on): Likewise.
49296         * modules/stpncpy (Depends-on): Likewise.
49297         * modules/strchrnul (Depends-on): Likewise.
49298         * modules/strndup (Depends-on): Likewise.
49299         * modules/strsep (Depends-on): Likewise.
49300         * modules/strverscmp (Depends-on): Likewise.
49301         * modules/vasprintf (Depends-on): Likewise.
49302         * modules/wcwidth (Depends-on): Likewise.
49303         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
49304         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
49305         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
49306         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
49307         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
49308         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
49309         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
49310         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49311         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
49312         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
49313         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49314         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
49315         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
49316         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
49317         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
49318         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49319         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49320         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
49321         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49322         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
49323         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49324         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
49325         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
49326         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
49327         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
49328         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49329         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
49330         so that lock.m4 can be used in gettext without extensions module.
49331
49332 2007-09-11  Bruno Haible  <bruno@clisp.org>
49333
49334         * m4/isc-posix.m4: Remove file.
49335         Suggested by Eric Blake.
49336
49337 2007-09-11  Eric Blake  <ebb9@byu.net>
49338
49339         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
49340
49341 2007-09-10  Bruno Haible  <bruno@clisp.org>
49342
49343         * posix-modules: Fix typo in error message.
49344         Reported by Matt <mkraai@beckman.com>.
49345
49346 2007-09-09  Bruno Haible  <bruno@clisp.org>
49347
49348         * doc/functions/getdelim.texi: Update list of platforms lacking the
49349         function.
49350         * doc/functions/getline.texi: Likewise.
49351
49352 2007-09-09  Jim Meyering  <jim@meyering.net>
49353
49354         * lib/hash.c (hash_initialize): Detect calloc failure.
49355         Reported by Bruno Haible.
49356
49357 2007-09-09  Bruno Haible  <bruno@clisp.org>
49358
49359         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
49360         malloc or realloc fails.
49361
49362 2007-09-09  Bruno Haible  <bruno@clisp.org>
49363
49364         * modules/getcwd (Depends-on): Add malloc-posix.
49365         * modules/glob (Depends-on): Likewise.
49366         * modules/putenv (Depends-on): Likewise.
49367         * modules/strdup (Depends-on): Likewise.
49368         * modules/getdelim (Depends-on): Add realloc-posix.
49369         * modules/read-file (Depends-on): Likewise.
49370
49371 2007-09-09  Bruno Haible  <bruno@clisp.org>
49372
49373         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
49374         (gl_FUNC_MALLOC_POSIX): Require it.
49375         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
49376         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
49377         * modules/realloc (Files): Add m4/malloc.m4.
49378         * modules/calloc (Files): Likewise.
49379
49380 2007-09-09  Bruno Haible  <bruno@clisp.org>
49381
49382         * modules/malloc-posix: New file.
49383         * modules/malloc (Depends-on): Add malloc-posix.
49384         * lib/malloc.c: Include errno.h.
49385         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
49386         and a POSIX-compatible malloc into a single function. Set ENOMEM
49387         when returning NULL.
49388         * m4/malloc.m4: New file.
49389         * doc/functions/malloc.texi: Mention the malloc-posix module.
49390         * lib/stdlib_.h (malloc): New declaration.
49391         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
49392         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
49393         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
49394         and HAVE_MALLOC_POSIX.
49395
49396 2007-09-09  Bruno Haible  <bruno@clisp.org>
49397
49398         * modules/realloc-posix: New file.
49399         * modules/realloc (Depends-on): Add realloc-posix.
49400         * lib/realloc.c: Include errno.h.
49401         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
49402         and a POSIX-compatible realloc into a single function. Set ENOMEM
49403         when returning NULL.
49404         * m4/realloc.m4: New file.
49405         * doc/functions/realloc.texi: Mention the realloc-posix module.
49406         * lib/stdlib_.h (realloc): New declaration.
49407         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
49408         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
49409         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
49410         and HAVE_REALLOC_POSIX.
49411
49412 2007-09-09  Bruno Haible  <bruno@clisp.org>
49413
49414         * modules/calloc-posix: New file.
49415         * modules/calloc (Depends-on): Add calloc-posix.
49416         * lib/calloc.c: Include errno.h.
49417         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
49418         and a POSIX-compatible calloc into a single function. Set ENOMEM
49419         when returning NULL.
49420         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
49421         * doc/functions/calloc.texi: Mention the calloc-posix module.
49422         * lib/stdlib_.h (calloc): New declaration.
49423         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
49424         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
49425         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
49426         and HAVE_CALLOC_POSIX.
49427
49428 2007-09-09  Bruno Haible  <bruno@clisp.org>
49429
49430         Allow for modules to show an arbitrary notice.
49431         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
49432         * gnulib-tool: New option --extract-notice.
49433         (func_usage): Document it.
49434         (sed_extract_prog): Update.
49435         (func_get_notice): New function.
49436         (func_modules_notice): New function.
49437         (func_import, func_create_testdir): Invoke it.
49438         Suggested by Jim Meyering.
49439
49440 2007-09-09  Bruno Haible  <bruno@clisp.org>
49441
49442         * gnulib-tool: New options --verbose, --quiet.
49443         (func_usage): Document them.
49444         (verbose): New variable.
49445         (func_execute_command): New function.
49446         (func_import): Don't show the module list and the file list if
49447         $verbose < 0.
49448         (func_create_testdir): Likewise. Use func_execute_command.
49449         (func_create_megatestdir): Use func_execute_command.
49450
49451 2007-09-08  Bruno Haible  <bruno@clisp.org>
49452
49453         * gnulib-tool (func_import): Prefer rsync over wget when available,
49454         for fetching the PO files.
49455
49456 2007-09-08  Bruno Haible  <bruno@clisp.org>
49457
49458         * posix-modules: New file. Portions copied from gnulib-tool.
49459         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
49460
49461 2007-09-08  Jim Meyering  <jim@meyering.net>
49462
49463         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
49464         * lib/fpending.h: Rename from __fpending.h.
49465         * lib/fpending.c: Rename from __fpending.c.
49466         Include "fpending.h", not "__fpending.h".
49467         * lib/__fpending.h, lib/__fpending.c: Remove files.
49468         * modules/fpending (Files): Reflect new file names.
49469         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
49470
49471 2007-09-08  Bruno Haible  <bruno@clisp.org>
49472
49473         * m4/inttypes-h.m4: Remove stub file.
49474
49475 2007-09-07  Simon Josefsson  <simon@josefsson.org>
49476
49477         * doc/headers/stdint.texi: Discuss #include_next issue.
49478
49479 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
49480
49481         * build-aux/bootstrap: Remove obsolete comment about wget --help.
49482
49483 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49484
49485         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
49486         in variable name.
49487
49488 2007-09-03  Jim Meyering  <jim@meyering.net>
49489
49490         New module: git-version-gen.
49491         * modules/git-version-gen: New file.
49492
49493         Import changes from coreutils for bootstrap script.
49494
49495         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
49496
49497         bootstrap: uses rsync to download the .po files
49498         * build-aux/bootstrap (po_download_command_format): New global.
49499         (download_po_files): Use rsync.
49500         (update_po_files): Don't remove .po files after download,
49501         so future rsync runs can take advantage of the copies.
49502
49503         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
49504
49505         Solve the unnecessary-.po-file-regeneration problem once and for all.
49506         * build-aux/bootstrap (download_po_files): New function, renamed from
49507         get_translations.  Now, downloads, but doesn't update LINGUAS.
49508         (update_po_files): New function.
49509
49510         bootstrap: Ignore more.
49511         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
49512         uniwidth to e.g., lib/.gitignore.
49513         (slurp): Handle the sys_stat_.h -> sys mapping, too.
49514
49515         * build-aux/bootstrap: New setting: vc_ignore.
49516         (insert_sorted_if_absent): Create $file if absent.
49517         Adapt to new, possibly empty, list: $vc_ignore.
49518
49519         bootstrap: generate more ignorable names
49520         * build-aux/bootstrap (slurp): When generating ignorable names,
49521         also map .sin to .sed, .gperf to .c, and .y to .c.
49522
49523 2007-09-03  Jim Meyering  <jim@meyering.net>
49524
49525         * build-aux/git-version-gen: New file, from coreutils.  For details, see
49526         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
49527
49528 2007-09-02  Bruno Haible  <bruno@clisp.org>
49529
49530         Fix mis-recognition of 'mcs' on QNX 6.
49531         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
49532         output contains the string "Mono".
49533         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
49534         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
49535
49536 2007-09-01  Bruno Haible  <bruno@clisp.org>
49537
49538         Fix collision between uniwidth/* and linebreak modules.
49539         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
49540         u32_width): Remove declarations.
49541         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
49542         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
49543         streq3, streq2, streq1, streq0): Remove functions.
49544         (STREQ): Remove macro.
49545         (is_cjk_encoding): Remove function.
49546         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
49547         (uc_width, u8_width, u16_width, u32_width): Remove functions.
49548         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
49549         * NEWS: Document the change.
49550
49551 2007-09-01  Bruno Haible  <bruno@clisp.org>
49552
49553         * lib/streq.h: Add double-inclusion guard.
49554
49555 2007-09-01  Karl Berry  <karl@gnu.org>
49556
49557         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
49558
49559 2007-08-28  Jim Meyering  <jim@meyering.net>
49560
49561         Rename mreadlink_with_size to areadlink_with_size.
49562         * NEWS: Document the change.
49563         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
49564         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
49565         * lib/mreadlink.h: Rename this to...
49566         * lib/areadlink.h: ...this.
49567         * modules/mreadlink-with-size: Rename this to...
49568         * modules/areadlink-with-size: ...this.
49569         * lib/canonicalize.c: Reflect the renaming.
49570         * modules/canonicalize: Likewise.
49571
49572 2007-08-26  Bruno Haible  <bruno@clisp.org>
49573
49574         * gnulib-tool (func_import): When deciding which files to remove,
49575         consider also dangling symbolic links.
49576         Reported by Eric Blake.
49577
49578 2007-08-26  Bruno Haible  <bruno@clisp.org>
49579
49580         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
49581
49582 2007-08-23  Simon Josefsson  <simon@josefsson.org>
49583
49584         * lib/readline.c: Don't include getline.h, the prototype is now
49585         found in stdio.h.
49586
49587 2007-08-23  Jim Meyering  <jim@meyering.net>
49588
49589         Getdelim touchup.
49590         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
49591         around the funlockfile call, since funlockfile never sets errno.
49592         Don't set errno upon failed realloc.
49593
49594 2007-08-22  Eric Blake  <ebb9@byu.net>
49595
49596         Getline touchups.
49597         * lib/getdelim.c (getdelim): Revert regression that required *n to
49598         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
49599         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
49600         getdelim, rather than whether implementation is missing.
49601         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
49602         * lib/stdio_.h (getline): Also declare if replacement is
49603         required.
49604         * doc/functions/getdelim.texi: New file.
49605         * doc/functions/getline.texi: Likewise.
49606         * doc/gnulib.texi (Function Substitutes): Add new files.
49607         Reported by Bruno Haible.
49608
49609 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
49610
49611         * users.txt: Add Guile.
49612
49613 2007-08-22  Eric Blake  <ebb9@byu.net>
49614
49615         * tests/test-getdelim.c (main): Use remove, not unlink.
49616         * tests/test-getline.c (main): Likewise.
49617
49618         Move getline and getdelim into stdio.h, per POSIX 200x.
49619         * modules/getline (Files): Remove getline.h.
49620         (Depends-on): Add stdio.
49621         (configure.ac): Add module indicator.
49622         * modules/getdelim (Files): Remove getdelim.h.
49623         (Depends-on): Add stdio.
49624         (configure.ac): Add module indicator.
49625         * modules/stdio (Makefile.am): Work with new indicators.
49626         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
49627         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
49628         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
49629         * lib/getdelim.h: Delete.
49630         * lib/getline.h: Delete.
49631         * lib/stdio_.h (getdelim, getline): Declare.
49632         * modules/getdelim-tests: New module.
49633         * modules/getline-tests: Likewise.
49634         * tests/test-getdelim.c: New file.
49635         * tests/test-getline.c: Likewise.
49636         * NEWS: Document the change.
49637         * lib/getline.c: Update choice of header.
49638         * lib/csharpcomp.c: Likewise.
49639         * lib/getpass.c: Likewise.
49640         * lib/javacomp.c: Likewise.
49641         * lib/javaversion.c: Likewise.
49642         * lib/yesno.c: Likewise.
49643         * lib/getdelim.c: Likewise.
49644         (getdelim): Set errno on failure, and avoid memory leak.
49645
49646 2007-08-19  Bruno Haible  <bruno@clisp.org>
49647
49648         * modules/closein (Depends-on): Add freadahead.
49649         * lib/closein.c: Include freadahead.h.
49650         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
49651         is zero.
49652
49653 2007-08-19  Bruno Haible  <bruno@clisp.org>
49654
49655         * modules/freadahead-tests: New file.
49656         * tests/test-freadahead.sh: New file.
49657         * tests/test-freadahead.c: New file.
49658
49659         * modules/freadahead: New file.
49660         * lib/freadahead.h: New file.
49661         * lib/freadahead.c: New file.
49662         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
49663         fbufmode, fpurge, freadable, fwritable.
49664
49665 2007-08-19  Eric Blake  <ebb9@byu.net>
49666
49667         Test yesno in combination with closein.
49668         * lib/yesno.c (yesno): Document use of stdin.
49669         * modules/yesno-tests (Files): New module.
49670         * tests/test-yesno.c (main): New file.
49671         * tests/test-yesno.sh: Likewise.
49672
49673 2007-08-19  Bruno Haible  <bruno@clisp.org>
49674
49675         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
49676         * lib/fseeko.c (rpl_fseeko): Likewise.
49677         * lib/fseterr.c (fseterr): Likewise.
49678
49679 2007-08-19  Bruno Haible  <bruno@clisp.org>
49680
49681         * tests/test-lseek.c (main): Disable a test for BeOS.
49682         * doc/functions/lseek.texi: Document the BeOS bug.
49683
49684 2007-08-19  Bruno Haible  <bruno@clisp.org>
49685             Eric Blake  <ebb9@byu.net>
49686
49687         * lib/lseek.c: Include <sys/stat.h>.
49688         (rpl_lseek): Add workaround code also for Unix platforms.
49689         Needed for BeOS.
49690         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
49691         * doc/functions/lseek.texi: Document BeOS definiency.
49692
49693 2007-08-18  Bruno Haible  <bruno@clisp.org>
49694
49695         * modules/fstrcmp-tests: New file.
49696         * tests/test-fstrcmp.c: New file.
49697
49698 2007-08-18  Bruno Haible  <bruno@clisp.org>
49699
49700         * modules/fstrcmp: New file, from GNU gettext with modifications.
49701         * lib/fstrcmp.h: New file, from GNU gettext.
49702         * lib/fstrcmp.c: New file, from GNU gettext.
49703         * MODULES.html.sh (String handling): Add fstrcmp.
49704
49705 2007-08-18  Bruno Haible  <bruno@clisp.org>
49706
49707         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
49708         'bool'.
49709         (diag, compareseq): Remove const from the ctxt argument.
49710         (USE_HEURISTIC): Undefine at the end.
49711
49712 2007-08-18  Jim Meyering  <jim@meyering.net>
49713
49714         New file: lib/idcache.h
49715         * NEWS: Mention the addition.
49716         * modules/idcache (Files): Add lib/idcache.h
49717         * lib/idcache.c: Include "idcache.h".
49718         Don't include <sys/types.h>.
49719         Add a FIXME comment.
49720         Move file-scoped "static" declarations to the top.
49721         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
49722
49723 2007-08-17  Bruno Haible  <bruno@clisp.org>
49724         and Paul Eggert  <eggert@cs.ucla.edu>
49725
49726         * MODULES.html.sh: Add diffseq.
49727         * modules/diffseq: New file.
49728         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
49729         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
49730
49731 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49732
49733         Import changes from coreutils for bootstrap script.
49734
49735         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
49736
49737         * build-aux/bootstrap (slurp): Work even in environments where
49738         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
49739         current code does not slurp files whose names start with ".", and
49740         this looks like it might be a troublesome area.
49741
49742         2007-07-11  Jim Meyering  <jim@meyering.net>
49743
49744         If there's a GPL vN copyright comment, require that N == 3.
49745
49746         2007-07-08  Jim Meyering  <jim@meyering.net>
49747
49748         Run the coreutils-specific code only if tests/Makefile.am.in exists.
49749         * build-aux/bootstrap (mam_template): Move definition out of loop.
49750
49751         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
49752
49753         * build-aux/bootstrap (symlink_to_dir): Rename function from
49754         symlink_to_gnulib.  Add a directory parameter.  Update all
49755         callers.
49756         (cp_mark_as_generated): Also check for -- and link to -- files in
49757         gl/.
49758
49759         2007-07-08  Jim Meyering  <jim@meyering.net>
49760
49761         Adapt to deeper hierarchy in gnulib.
49762         * build-aux/bootstrap (symlink_to_dir): If the destination
49763         directory doesn't exist, create it. This is required at least for
49764         "lib/uniwidth/cjk.h".
49765
49766         2007-05-15  Jim Meyering  <jim@meyering.net>
49767
49768         * build-aux/bootstrap: Now that generated Makefile.am files
49769         are no longer under version control, they must be created at
49770         bootstrap time.
49771
49772 2007-08-14  Ben Pfaff  <blp@gnu.org>
49773
49774         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
49775
49776 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49777
49778         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
49779         given the changes below.
49780         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
49781         even on hosts that have padding bits beyond the supported 64.
49782
49783 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49784
49785         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
49786         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
49787         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
49788         depends on it.
49789         (xstrtol_error): Remove.
49790         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
49791         but with a different signature.
49792         (ATTRIBUTE_NORETURN, __attribute__): New macros.
49793         * lib/xstrtol-error.c: Include exitfail.h.
49794         (xstrtol_fatal): New function, with a different signature from the
49795         old xstrtol_error, so that the caller need not worry about passing
49796         in an exit status, or about storage management of the option argument.
49797         (xstrtol_error): Now a static function.  Redo signature to
49798         implement xstrtol_fatal.  Output the correct number of hyphens in
49799         front of the option so that the caller need not worry about
49800         storage management.
49801         (N_): New macro.
49802         (_): Remove; not used now.
49803         * modules/xstrtol: Depend on getopt.
49804         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
49805         of old STRTOL_FATAL_ERROR macro.
49806         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
49807         of test program.
49808         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
49809         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
49810
49811 2007-08-08  Eric Blake  <ebb9@byu.net>
49812
49813         * lib/xstrtol-error.c: Add missing include.
49814
49815         Move xstrtol messages into gnulib domain, when --pobase is used.
49816         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
49817         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
49818         * modules/xstrtol (Files): Distribute new file.
49819         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
49820         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
49821         * tests/test-xstrtol.c: ...into new file.
49822         * tests/test-xstrtoul.c: Also test xstrtoul.
49823         * tests/test-xstrtoimax.c: Also test xstrtoimax.
49824         * tests/test-xstrtoumax.c: Also test xstrtoumax.
49825         * tests/test-xstrtol.sh: Drive the tests.
49826         * tests/test-xstrtoimax.sh: Likewise.
49827         * tests/test-xstrtoumax.sh: Likewise.
49828         * modules/xstrtol-tests: New module.
49829         * modules/xstrtoimax-tests: Likewise.
49830         * modules/xstrtoumax-tests: Likewise.
49831
49832 2007-08-08  Jim Meyering  <jim@meyering.net>
49833
49834         New function: mfile_name_concat.
49835         * lib/filenamecat.c (mfile_name_concat): New function, just like
49836         file_name_concat, but return NULL upon failure rather than exiting
49837         with a diagnostic.
49838         * lib/filenamecat.h: Declare it.
49839
49840 2007-08-07  Bruno Haible  <bruno@clisp.org>
49841
49842         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
49843         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
49844         warning from gcc.
49845         Reported by Eric Blake.
49846
49847 2007-08-07  Simon Josefsson  <simon@josefsson.org>
49848
49849         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
49850         * modules/crypto/arcfour (License): Likewise.
49851         * modules/crypto/des-tests (License): Likewise.
49852         * modules/crypto/gc-arctwo-tests (License): Likewise.
49853         * modules/crypto/gc-des-tests (License): Likewise.
49854         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
49855         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
49856         * modules/crypto/gc-md2-tests (License): Likewise.
49857         * modules/crypto/gc-md4-tests (License): Likewise.
49858         * modules/crypto/gc-md5-tests (License): Likewise.
49859         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
49860         * modules/crypto/gc-rijndael-tests (License): Likewise.
49861         * modules/crypto/gc-sha1-tests (License): Likewise.
49862         * modules/crypto/gc-tests (License): Likewise.
49863         * modules/crypto/hmac-md5 (License): Likewise.
49864         * modules/crypto/hmac-sha1 (License): Likewise.
49865         * modules/crypto/md2-tests (License): Likewise.
49866         * modules/crypto/md4-tests (License): Likewise.
49867         * modules/crypto/md5 (License): Likewise.
49868         * modules/crypto/rijndael (License): Likewise.
49869         * modules/crypto/sha1 (License): Likewise.
49870         * modules/memxor (License): Likewise.
49871
49872 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
49873         and Bruno Haible  <bruno@clisp.org>
49874
49875         * NEWS: Describe interface changes to human, xstrtol.
49876         * lib/human.h: Include <xstrtol.h>.
49877         (human_options): Return enum strtol_error, not int.  Remove
49878         bool arg; take int * instead.
49879         * lib/human.c: Don't include "gettext.h".
49880         (_): Remove; no longer used.
49881         Don't include <xstrtol.h>, since human.h does it.
49882         (human_options): Adjust to abovementioned interface changes.
49883         Do not report error to stderr; that's now the caller's
49884         responsibility.
49885         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
49886         interface change.
49887         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
49888         Str, Argument_type_string.  All uses changed.  Put " argument"
49889         in diagnostics to make them clearer.  Change wording of suffix
49890         message for clarity.
49891         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
49892         Argument_type_string.
49893         (STRTOL_FATAL_WARN): Remove; no longer used.
49894         * modules/human (Depends-on): Remove gettext-h.
49895
49896 2007-08-06  Simon Josefsson  <simon@josefsson.org>
49897
49898         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
49899
49900 2007-07-31  Bruno Haible  <bruno@clisp.org>
49901
49902         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
49903         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
49904         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
49905
49906 2007-07-31  Bruno Haible  <bruno@clisp.org>
49907
49908         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
49909         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
49910
49911 2007-07-30  Bruno Haible  <bruno@clisp.org>
49912
49913         * modules/base64 (License): Use the synonymous term "LGPLv2+".
49914         * modules/c-ctype (License): Likewise.
49915         * modules/c-strcase (License): Likewise.
49916         * modules/check-version (License): Likewise.
49917         * modules/iconv (License): Likewise.
49918         * modules/iconv_open (License): Likewise.
49919         * modules/read-file (License): Likewise.
49920         * modules/striconv (License): Likewise.
49921         * modules/strverscmp (License): Likewise.
49922         * modules/vasprintf (License): Likewise.
49923         * modules/crypto/des (License): Likewise.
49924         * modules/crypto/gc (License): Likewise.
49925         * modules/crypto/gc-arcfour (License): Likewise.
49926         * modules/crypto/gc-arctwo (License): Likewise.
49927         * modules/crypto/gc-des (License): Likewise.
49928         * modules/crypto/gc-hmac-md5 (License): Likewise.
49929         * modules/crypto/gc-hmac-sha1 (License): Likewise.
49930         * modules/crypto/gc-md2 (License): Likewise.
49931         * modules/crypto/gc-md4 (License): Likewise.
49932         * modules/crypto/gc-md5 (License): Likewise.
49933         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
49934         * modules/crypto/gc-random (License): Likewise.
49935         * modules/crypto/gc-rijndael (License): Likewise.
49936         * modules/crypto/gc-sha1 (License): Likewise.
49937         * modules/crypto/md2 (License): Likewise.
49938         * modules/crypto/md4 (License): Likewise.
49939
49940 2007-07-30  Jim Meyering  <jim@meyering.net>
49941
49942         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
49943         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
49944         it has valid stat data.  This bug would cause du not to count the
49945         sizes of inaccessible directories.
49946         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
49947         in <http://bugzilla.redhat.com/250077>.
49948
49949 2007-07-25  Peter O'Gorman  <peter@pogma.com>
49950             Bruno Haible  <bruno@clisp.org>
49951
49952         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
49953         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
49954         #include_next, gives a diagnostic about it, but reports no error in
49955         the exit code.
49956         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
49957
49958 2007-07-24  Ben Pfaff  <blp@gnu.org>
49959
49960         Improve name: "count-one-bits" is better than "popcount".
49961         * MODULES.html.sh: Update name.
49962         * lib/popcount.h: Renamed lib/count-one-bits.h.
49963         (popcount): Renamed count_one_bits.
49964         (popcountl): Renamed count_one_bits_l.
49965         (popcountll): Renamed count_one_bits_ll.
49966         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
49967         * modules/popcount: Renamed module/count-one-bits.
49968         * modules/popcount-tests: Renamed module/count-one-bits-tests.
49969         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
49970
49971 2007-07-23  Ben Pfaff  <blp@gnu.org>
49972
49973         * lib/popcount.h (popcount32): Reduce size of constants, to allow
49974         better code generation, and add U to large constants to avoid
49975         warnings, in non-GCC case.
49976         Suggested by Bruno Haible.
49977
49978 2007-07-23  Ben Pfaff  <blp@gnu.org>
49979
49980         * lib/popcount.h: Use verify_true instead of if...abort.
49981         * modules/popcount: Depend on verify module.
49982         Suggested by Jim Meyering.
49983
49984 2007-07-23  Bruno Haible  <bruno@clisp.org>
49985
49986         * gnulib-tool (func_import): Create a .cvsignore file also when the
49987         directory is not yet in CVS but the toplevel directory is. When
49988         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
49989         Reported by Karl Berry.
49990
49991 2007-07-22  Ben Pfaff  <blp@gnu.org>
49992
49993         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
49994         case.
49995         Suggested by Eric Blake.
49996
49997 2007-07-22  Ben Pfaff  <blp@gnu.org>
49998
49999         New module: popcount.
50000         * MODULES.html.sh: Add popcount.
50001         * modules/popcount: New file.
50002         * modules/popcount-tests: New file.
50003         * tests/test-popcount.c: New file.
50004         * lib/popcount.h: New file.
50005         * m4/popcount.m4: New file.
50006
50007 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
50008
50009         * build-aux/announce-gen: Update to GPLv3.
50010
50011         * build-aux/config.guess: Update from config.
50012
50013 2007-07-21  Bruno Haible  <bruno@clisp.org>
50014
50015         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
50016         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
50017
50018 2007-07-20  Jim Meyering  <jim@meyering.net>
50019
50020         * check-module: Diagnose a self-dependency.
50021
50022 2007-07-19  Bruno Haible  <bruno@clisp.org>
50023
50024         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
50025         empty.
50026         Reported by Eric Blake.
50027
50028 2007-07-18  Bruno Haible  <bruno@clisp.org>
50029
50030         * gnulib-tool: New options --po-base, --po-domain.
50031         (func_usage): Document them.
50032         (pobase, po_domain): New variables.
50033         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
50034         DEFAULT_TEXT_DOMAIN.
50035         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
50036         (func_import): Consider pobase and po_domain. Create a po/ directory.
50037         (func_create_testdir): Set pobase and po_domain to empty.
50038         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
50039         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
50040
50041 2007-07-18  Bruno Haible  <bruno@clisp.org>
50042
50043         * gnulib-tool (func_get_automake_snippet): Synthesize also an
50044         EXTRA_DIST augmentation for files in build-aux/.
50045
50046 2007-07-16  Bruno Haible  <bruno@clisp.org>
50047
50048         * modules/lseek (License): Use the synonymous term "LGPLv2+".
50049         * modules/getdelim (License): Likewise.
50050
50051 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50052
50053         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
50054         * modules/d-type (License): Likewise.
50055         * modules/extensions (License): Likewise.
50056         * modules/fnmatch (License): Likewise.
50057         * modules/fseeko (License): Likewise.
50058         * modules/getaddrinfo (License): Likewise.
50059         * modules/getline (License): Likewise.
50060         * modules/getlogin_r (License): Likewise.
50061         * modules/getpass (License): Likewise.
50062         * modules/gettimeofday (License): Likewise.
50063         * modules/glob (License): Likewise.
50064         * modules/inet_ntop (License): Likewise.
50065         * modules/malloc (License): Likewise.
50066         * modules/malloca (License): Likewise.
50067         * modules/memmem (License): Likewise.
50068         * modules/mempcpy (License): Likewise.
50069         * modules/memset (License): Likewise.
50070         * modules/minmax (License): Likewise.
50071         * modules/mktime (License): Likewise.
50072         * modules/netinet_in (License): Likewise.
50073         * modules/pathmax (License): Likewise.
50074         * modules/poll (License): Likewise.
50075         * modules/regex (License): Likewise.
50076         * modules/snprintf (License): Likewise.
50077         * modules/stdbool (License): Likewise.
50078         * modules/stdint (License): Likewise.
50079         * modules/stdio (License): Likewise.
50080         * modules/strcase (License): Likewise.
50081         * modules/strcasestr (License): Likewise.
50082         * modules/strdup (License): Likewise.
50083         * modules/string (License): Likewise.
50084         * modules/strndup (License): Likewise.
50085         * modules/strnlen (License): Likewise.
50086         * modules/strpbrk (License): Likewise.
50087         * modules/strptime (License): Likewise.
50088         * modules/strsep (License): Likewise.
50089         * modules/sys_select (License): Likewise.
50090         * modules/sys_socket (License): Likewise.
50091         * modules/sys_stat (License): Likewise.
50092         * modules/sys_time (License): Likewise.
50093         * modules/time (License): Likewise.
50094         * modules/time_r (License): Likewise.
50095         * modules/timegm (License): Likewise.
50096         * modules/unistd (License): Likewise.
50097         * modules/vsnprintf (License): Likewise.
50098         * modules/wctype (License): Likewise.
50099
50100 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50101
50102         * modules/argz (License): LGPLv2+.
50103
50104 2007-07-15  Karl Berry  <karl@gnu.org>
50105
50106         * doc/gnulib.texi: revise node structure per new fdl.texi.
50107
50108 2007-07-14  Bruno Haible  <bruno@clisp.org>
50109
50110         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
50111         the output file.
50112         * lib/uniname/uninames.h: Regenerated.
50113
50114 2007-07-14  Karl Berry  <karl@gnu.org>
50115
50116         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
50117         omitting sectioning and index commands.
50118
50119 2007-07-13  Bruno Haible  <bruno@clisp.org>
50120
50121         New gnulib-tool option --more-symlinks.
50122         * gnulib-tool (func_usage): Document --more-symlinks.
50123         (do_copyrights): New variable.
50124         Recognize option --more-symlinks.
50125         (func_import): Don't add a copyright notice transform to
50126         sed_transform_lib_file if do_copyrights is empty.
50127
50128 2007-07-13  Bruno Haible  <bruno@clisp.org>
50129
50130         * lib/vasnprintf.c (decimal_point_char): Define also if
50131         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
50132         && !NEED_PRINTF_DIRECTIVE_A.
50133         Reported by Clemens Koller <clemens.koller@anagramm.de> via
50134         Gary V. Vaughan <gary@gnu.org>.
50135
50136 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
50137
50138         * lib/inttypes_.h: Undo previous change, since it was fixed
50139         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
50140
50141 2007-07-13  Bruno Haible  <bruno@clisp.org>
50142
50143         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
50144         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
50145
50146 2007-07-13  Jim Meyering  <jim@meyering.net>
50147
50148         df: Don't fail for Tru64's "file-on-file mount".
50149         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
50150         so we fall through and use statfs instead.  Details here:
50151         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
50152         Reported by Albert Chin.
50153
50154 2007-07-13  Bruno Haible  <bruno@clisp.org>
50155
50156         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
50157         * modules/configmake (License): Likewise.
50158         * modules/gettext (License): Likewise.
50159         * modules/gettext-h (License): Likewise.
50160         * modules/include_next (License): Likewise.
50161         * modules/link-warning (License): Likewise.
50162         * modules/localcharset (License): Likewise.
50163         * modules/localename (License): Likewise.
50164         * modules/lock (License): Likewise.
50165         * modules/relocatable-lib-lgpl (License): Likewise.
50166         * modules/size_max (License): Likewise.
50167         * modules/vasnprintf (License): Likewise.
50168         * modules/wchar (License): Likewise.
50169         * modules/xsize (License): Likewise.
50170
50171 2007-07-13  Bruno Haible  <bruno@clisp.org>
50172
50173         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
50174         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
50175
50176 2007-07-12  Bruno Haible  <bruno@clisp.org>
50177
50178         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
50179         in the modules files.
50180
50181 2007-07-11  Karl Berry  <karl@gnu.org>
50182
50183         * MODULES.html.sh (func_module): use
50184          sed -e '\|^'"${includefile}"'$|d'
50185          instead of /.../d, to avoid errors on $includefile's containing /.
50186
50187 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
50188
50189         * gnulib-tool (func_import): Avoid duplication of --avoid
50190         statements
50191         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
50192         names to `_' in variable names.
50193
50194 2007-07-10  Eric Blake  <ebb9@byu.net>
50195
50196         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
50197         * NEWS: Document this change.
50198
50199 2007-07-08  Bruno Haible  <bruno@clisp.org>
50200
50201         Update to Unicode 5.0.
50202         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
50203         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
50204         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
50205         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
50206         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
50207         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
50208         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
50209         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
50210         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
50211         U+10A3F, U+1D242..U+1D244.
50212         (nonspacing_table_ind): Update.
50213         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
50214         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
50215
50216 2007-07-08  Bruno Haible  <bruno@clisp.org>
50217
50218         Update to Unicode 5.0.
50219         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
50220         code transform. Extend the name index field of unicode_name_to_code and
50221         unicode_code_to_name from 16 to 24 bits.
50222         * lib/uniname/uniname.c (unicode_character_name,
50223         unicode_name_character): Add the range 0x12xxx to the code transform.
50224         * lib/uniname/uninames.h: Regenerated.
50225         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
50226
50227 2007-07-07  Bruno Haible  <bruno@clisp.org>
50228
50229         * modules/wcwidth-tests: New file.
50230         * tests/test-wcwidth.c: New file.
50231
50232         Work around MacOS X wcwidth() bug.
50233         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
50234         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
50235         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
50236         original wcwidth in non-UTF-8 locales.
50237         * modules/wcwidth (Depends-on): Add localcharset, streq,
50238         uniwidth/width.
50239         * doc/functions/wcwidth.texi: Update.
50240
50241 2007-07-07  Bruno Haible  <bruno@clisp.org>
50242
50243         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
50244         (wcwidth): New declaration.
50245         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
50246         macros.
50247         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
50248         here. Prepare for creating <wchar.h> unconditionally.
50249         * modules/wchar (Depends-on): Add link-warning.
50250         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
50251         REPLACE_WCWIDTH, and GL_LINK_WARNING.
50252         * lib/wcwidth.h: Remove file.
50253         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
50254         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
50255         * modules/wcwidth (Files): Remove lib/wcwidth.h.
50256         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
50257         (Include): Replace wcwidth.h with <wchar.h>.
50258         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
50259         * lib/mbchar.h: Don't include wcwidth.h.
50260         * lib/mbswidth.c: Likewise.
50261         * NEWS: Mention the change.
50262
50263 2007-07-07  Bruno Haible  <bruno@clisp.org>
50264
50265         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
50266         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
50267         definition with an external declaration.
50268         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
50269         defined as a function. Remove AC_C_INLINE requirement.
50270         * modules/wcwidth (Files): Add lib/wcwidth.c.
50271         (Makefile.am): Remove redundant statement.
50272
50273 2007-07-07  Bruno Haible  <bruno@clisp.org>
50274
50275         * MODULES.html.sh (Unicode string functions): Add the new modules.
50276
50277         * tests/uniwidth/test-u32-strwidth.c: New file.
50278         * modules/uniwidth/u32-strwidth-tests: New file.
50279
50280         * lib/uniwidth/u32-strwidth.c: New file.
50281         * modules/uniwidth/u32-strwidth: New file.
50282
50283         * tests/uniwidth/test-u16-strwidth.c: New file.
50284         * modules/uniwidth/u16-strwidth-tests: New file.
50285
50286         * lib/uniwidth/u16-strwidth.c: New file.
50287         * modules/uniwidth/u16-strwidth: New file.
50288
50289         * tests/uniwidth/test-u8-strwidth.c: New file.
50290         * modules/uniwidth/u8-strwidth-tests: New file.
50291
50292         * lib/uniwidth/u8-strwidth.c: New file.
50293         * modules/uniwidth/u8-strwidth: New file.
50294
50295         * tests/uniwidth/test-u32-width.c: New file.
50296         * modules/uniwidth/u32-width-tests: New file.
50297
50298         * lib/uniwidth/u32-width.c: New file.
50299         * modules/uniwidth/u32-width: New file.
50300
50301         * tests/uniwidth/test-u16-width.c: New file.
50302         * modules/uniwidth/u16-width-tests: New file.
50303
50304         * lib/uniwidth/u16-width.c: New file.
50305         * modules/uniwidth/u16-width: New file.
50306
50307         * tests/uniwidth/test-u8-width.c: New file.
50308         * modules/uniwidth/u8-width-tests: New file.
50309
50310         * lib/uniwidth/u8-width.c: New file.
50311         * modules/uniwidth/u8-width: New file.
50312
50313         * tests/uniwidth/test-uc_width.c: New file.
50314         * modules/uniwidth/width-tests: New file.
50315
50316         * lib/uniwidth/width.c: New file, from GNU libiconv.
50317         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
50318         * modules/uniwidth/width: New file.
50319
50320         * lib/uniwidth.h: New file, from GNU libiconv.
50321         * modules/uniwidth/base: New file.
50322
50323 2007-07-07  Bruno Haible  <bruno@clisp.org>
50324
50325         * lib/uniname.h: New file, from GNU gettext.
50326         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
50327         * lib/uniname/uninames.h: New file, from GNU gettext.
50328         * lib/uniname/uniname.c: New file, from GNU gettext.
50329         * tests/uniname/test-uninames.sh: New file.
50330         * tests/uniname/test-uninames.c: New file, from GNU gettext.
50331         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
50332         * modules/uniname/base: New file.
50333         * modules/uniname/uniname: New file.
50334         * modules/uniname/uniname-tests: New file.
50335         * MODULES.html.sh (Unicode string functions): Add the new modules.
50336
50337 2007-07-06  Bruno Haible  <bruno@clisp.org>
50338
50339         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
50340
50341 2007-07-06  Bruno Haible  <bruno@clisp.org>
50342
50343         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
50344         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
50345         includes <cygwin/sys_time.h> which includes <sys/select.h> which
50346         include <sys/time.h>.
50347         Reported by Eric Blake.
50348
50349 2007-07-06  Eric Blake  <ebb9@byu.net>
50350
50351         Fix testing canonicalize on cygwin.
50352         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
50353         Revert patch from 2007-06-19.
50354         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
50355         canonicalize module is also in use.
50356         * tests/test-canonicalize.c: New file.
50357         * tests/test-canonicalize.sh: Likewise.
50358         * modules/canonicalize-tests: Likewise.
50359
50360 2007-07-06  Jim Meyering  <jim@meyering.net>
50361
50362         * lib/getugroups.c (getugroups): Detect getgrent failure.
50363         Adjust comment to reflect reality: this function may return -1.
50364
50365 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
50366
50367         * build-aux/bootstrap (TP_URL,get_translations): Update to use
50368         the new TP address.
50369         (usage): Fix typo
50370         (gnulib_mk): New variable.
50371
50372 2007-07-05  Jim Meyering  <jim@meyering.net>
50373
50374         Don't let endgrent clobber errno, no matter how improbable.
50375         * lib/getugroups.c (getugroups): Save and restore errno around
50376         endgrent call.
50377
50378         Close the group DB even when failing with 2^31 or more members.
50379         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
50380
50381 2007-07-04  Jim Meyering  <jim@meyering.net>
50382
50383         * lib/getugroups.h: New file.
50384         * lib/getugroups.c: Include "getugroups.h".
50385         Remove uses of "register" keyword.
50386         Move local variable, "cp", down into scope where used.
50387         Give "username" parameter the "const" attribute.
50388         * modules/getugroups (Files): Add lib/getugroups.h
50389
50390 2007-07-04  Karl Berry  <karl@gnu.org>
50391
50392         * MODULES.html.sh (func_all_modules): Complete rename of
50393         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
50394
50395 2007-07-02  Bruno Haible  <bruno@clisp.org>
50396
50397         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
50398         mode, when inttypes.h comes from gnulib.
50399         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50400
50401 2007-07-02  Simon Josefsson  <simon@josefsson.org>
50402
50403         * NEWS: Mention lgpl module name change.
50404
50405         * modules/lgpl-2.1: Renamed from lgpl.
50406
50407         * NEWS: Mention gpl module name change.
50408
50409         * modules/gpl-3.0: New file, based on gpl-2.0.
50410
50411         * modules/gpl-2.0: Renamed from gpl.
50412
50413         * modules/gpl: Fix filename, doc/gpl.texi is now found at
50414         doc/gpl-2.0.texi.
50415
50416 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
50417
50418         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
50419         #define __STDC_LIMIT_MACROS temporarily while including
50420         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
50421         Problem reported by Joel E. Denny in
50422         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
50423
50424 2007-07-01  Bruno Haible  <bruno@clisp.org>
50425
50426         * lib/unistdio.h: New file.
50427         * lib/unistdio/u-asnprintf.h: New file.
50428         * lib/unistdio/u-asprintf.h: New file.
50429         * lib/unistdio/u-printf-args.c: New file.
50430         * lib/unistdio/u-printf-args.h: New file.
50431         * lib/unistdio/u-printf-parse.h: New file.
50432         * lib/unistdio/u-snprintf.h: New file.
50433         * lib/unistdio/u-sprintf.h: New file.
50434         * lib/unistdio/u-vasprintf.h: New file.
50435         * lib/unistdio/u-vsnprintf.h: New file.
50436         * lib/unistdio/u-vsprintf.h: New file.
50437         * lib/unistdio/ulc-asnprintf.c: New file.
50438         * lib/unistdio/ulc-asprintf.c: New file.
50439         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
50440         * lib/unistdio/ulc-printf-parse.c: New file.
50441         * lib/unistdio/ulc-snprintf.c: New file.
50442         * lib/unistdio/ulc-sprintf.c: New file.
50443         * lib/unistdio/ulc-vasnprintf.c: New file.
50444         * lib/unistdio/ulc-vasprintf.c: New file.
50445         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
50446         * lib/unistdio/ulc-vsnprintf.c: New file.
50447         * lib/unistdio/ulc-vsprintf.c: New file.
50448         * lib/unistdio/u8-asnprintf.c: New file.
50449         * lib/unistdio/u8-asprintf.c: New file.
50450         * lib/unistdio/u8-printf-parse.c: New file.
50451         * lib/unistdio/u8-snprintf.c: New file.
50452         * lib/unistdio/u8-sprintf.c: New file.
50453         * lib/unistdio/u8-vasnprintf.c: New file.
50454         * lib/unistdio/u8-vasprintf.c: New file.
50455         * lib/unistdio/u8-vsnprintf.c: New file.
50456         * lib/unistdio/u8-vsprintf.c: New file.
50457         * lib/unistdio/u8-u8-asnprintf.c: New file.
50458         * lib/unistdio/u8-u8-asprintf.c: New file.
50459         * lib/unistdio/u8-u8-snprintf.c: New file.
50460         * lib/unistdio/u8-u8-sprintf.c: New file.
50461         * lib/unistdio/u8-u8-vasnprintf.c: New file.
50462         * lib/unistdio/u8-u8-vasprintf.c: New file.
50463         * lib/unistdio/u8-u8-vsnprintf.c: New file.
50464         * lib/unistdio/u8-u8-vsprintf.c: New file.
50465         * lib/unistdio/u16-asnprintf.c: New file.
50466         * lib/unistdio/u16-asprintf.c: New file.
50467         * lib/unistdio/u16-printf-parse.c: New file.
50468         * lib/unistdio/u16-snprintf.c: New file.
50469         * lib/unistdio/u16-sprintf.c: New file.
50470         * lib/unistdio/u16-vasnprintf.c: New file.
50471         * lib/unistdio/u16-vasprintf.c: New file.
50472         * lib/unistdio/u16-vsnprintf.c: New file.
50473         * lib/unistdio/u16-vsprintf.c: New file.
50474         * lib/unistdio/u16-u16-asnprintf.c: New file.
50475         * lib/unistdio/u16-u16-asprintf.c: New file.
50476         * lib/unistdio/u16-u16-snprintf.c: New file.
50477         * lib/unistdio/u16-u16-sprintf.c: New file.
50478         * lib/unistdio/u16-u16-vasnprintf.c: New file.
50479         * lib/unistdio/u16-u16-vasprintf.c: New file.
50480         * lib/unistdio/u16-u16-vsnprintf.c: New file.
50481         * lib/unistdio/u16-u16-vsprintf.c: New file.
50482         * lib/unistdio/u32-asnprintf.c: New file.
50483         * lib/unistdio/u32-asprintf.c: New file.
50484         * lib/unistdio/u32-printf-parse.c: New file.
50485         * lib/unistdio/u32-snprintf.c: New file.
50486         * lib/unistdio/u32-sprintf.c: New file.
50487         * lib/unistdio/u32-vasnprintf.c: New file.
50488         * lib/unistdio/u32-vasprintf.c: New file.
50489         * lib/unistdio/u32-vsnprintf.c: New file.
50490         * lib/unistdio/u32-vsprintf.c: New file.
50491         * lib/unistdio/u32-u32-asnprintf.c: New file.
50492         * lib/unistdio/u32-u32-asprintf.c: New file.
50493         * lib/unistdio/u32-u32-snprintf.c: New file.
50494         * lib/unistdio/u32-u32-sprintf.c: New file.
50495         * lib/unistdio/u32-u32-vasnprintf.c: New file.
50496         * lib/unistdio/u32-u32-vasprintf.c: New file.
50497         * lib/unistdio/u32-u32-vsnprintf.c: New file.
50498         * lib/unistdio/u32-u32-vsprintf.c: New file.
50499         * tests/unistdio/test-ulc-asnprintf1.c: New file.
50500         * tests/unistdio/test-ulc-asnprintf1.h: New file.
50501         * tests/unistdio/test-ulc-printf1.h: New file.
50502         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
50503         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
50504         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
50505         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
50506         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
50507         * tests/unistdio/test-ulc-vasprintf1.c: New file.
50508         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
50509         * tests/unistdio/test-ulc-vsprintf1.c: New file.
50510         * tests/unistdio/test-u8-asnprintf1.c: New file.
50511         * tests/unistdio/test-u8-asnprintf1.h: New file.
50512         * tests/unistdio/test-u8-printf1.h: New file.
50513         * tests/unistdio/test-u8-vasnprintf1.c: New file.
50514         * tests/unistdio/test-u8-vasnprintf2.c: New file.
50515         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
50516         * tests/unistdio/test-u8-vasnprintf3.c: New file.
50517         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
50518         * tests/unistdio/test-u8-vasprintf1.c: New file.
50519         * tests/unistdio/test-u8-vsnprintf1.c: New file.
50520         * tests/unistdio/test-u8-vsprintf1.c: New file.
50521         * tests/unistdio/test-u16-asnprintf1.c: New file.
50522         * tests/unistdio/test-u16-asnprintf1.h: New file.
50523         * tests/unistdio/test-u16-printf1.h: New file.
50524         * tests/unistdio/test-u16-vasnprintf1.c: New file.
50525         * tests/unistdio/test-u16-vasnprintf2.c: New file.
50526         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
50527         * tests/unistdio/test-u16-vasnprintf3.c: New file.
50528         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
50529         * tests/unistdio/test-u16-vasprintf1.c: New file.
50530         * tests/unistdio/test-u16-vsnprintf1.c: New file.
50531         * tests/unistdio/test-u16-vsprintf1.c: New file.
50532         * tests/unistdio/test-u32-asnprintf1.c: New file.
50533         * tests/unistdio/test-u32-asnprintf1.h: New file.
50534         * tests/unistdio/test-u32-printf1.h: New file.
50535         * tests/unistdio/test-u32-vasnprintf1.c: New file.
50536         * tests/unistdio/test-u32-vasnprintf2.c: New file.
50537         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
50538         * tests/unistdio/test-u32-vasnprintf3.c: New file.
50539         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
50540         * tests/unistdio/test-u32-vasprintf1.c: New file.
50541         * tests/unistdio/test-u32-vsnprintf1.c: New file.
50542         * tests/unistdio/test-u32-vsprintf1.c: New file.
50543         * modules/unistdio/base: New file.
50544         * modules/unistdio/u-printf-args: New file.
50545         * modules/unistdio/ulc-asnprintf: New file.
50546         * modules/unistdio/ulc-asprintf: New file.
50547         * modules/unistdio/ulc-fprintf: New file.
50548         * modules/unistdio/ulc-printf-parse: New file.
50549         * modules/unistdio/ulc-snprintf: New file.
50550         * modules/unistdio/ulc-sprintf: New file.
50551         * modules/unistdio/ulc-vasnprintf: New file.
50552         * modules/unistdio/ulc-vasprintf: New file.
50553         * modules/unistdio/ulc-vfprintf: New file.
50554         * modules/unistdio/ulc-vsnprintf: New file.
50555         * modules/unistdio/ulc-vsprintf: New file.
50556         * modules/unistdio/u8-asnprintf: New file.
50557         * modules/unistdio/u8-asprintf: New file.
50558         * modules/unistdio/u8-printf-parse: New file.
50559         * modules/unistdio/u8-snprintf: New file.
50560         * modules/unistdio/u8-sprintf: New file.
50561         * modules/unistdio/u8-vasnprintf: New file.
50562         * modules/unistdio/u8-vasprintf: New file.
50563         * modules/unistdio/u8-vsnprintf: New file.
50564         * modules/unistdio/u8-vsprintf: New file.
50565         * modules/unistdio/u8-u8-asnprintf: New file.
50566         * modules/unistdio/u8-u8-asprintf: New file.
50567         * modules/unistdio/u8-u8-snprintf: New file.
50568         * modules/unistdio/u8-u8-sprintf: New file.
50569         * modules/unistdio/u8-u8-vasnprintf: New file.
50570         * modules/unistdio/u8-u8-vasprintf: New file.
50571         * modules/unistdio/u8-u8-vsnprintf: New file.
50572         * modules/unistdio/u8-u8-vsprintf: New file.
50573         * modules/unistdio/u16-asnprintf: New file.
50574         * modules/unistdio/u16-asprintf: New file.
50575         * modules/unistdio/u16-printf-parse: New file.
50576         * modules/unistdio/u16-snprintf: New file.
50577         * modules/unistdio/u16-sprintf: New file.
50578         * modules/unistdio/u16-vasnprintf: New file.
50579         * modules/unistdio/u16-vasprintf: New file.
50580         * modules/unistdio/u16-vsnprintf: New file.
50581         * modules/unistdio/u16-vsprintf: New file.
50582         * modules/unistdio/u16-u16-asnprintf: New file.
50583         * modules/unistdio/u16-u16-asprintf: New file.
50584         * modules/unistdio/u16-u16-snprintf: New file.
50585         * modules/unistdio/u16-u16-sprintf: New file.
50586         * modules/unistdio/u16-u16-vasnprintf: New file.
50587         * modules/unistdio/u16-u16-vasprintf: New file.
50588         * modules/unistdio/u16-u16-vsnprintf: New file.
50589         * modules/unistdio/u16-u16-vsprintf: New file.
50590         * modules/unistdio/u32-asnprintf: New file.
50591         * modules/unistdio/u32-asprintf: New file.
50592         * modules/unistdio/u32-printf-parse: New file.
50593         * modules/unistdio/u32-snprintf: New file.
50594         * modules/unistdio/u32-sprintf: New file.
50595         * modules/unistdio/u32-vasnprintf: New file.
50596         * modules/unistdio/u32-vasprintf: New file.
50597         * modules/unistdio/u32-vsnprintf: New file.
50598         * modules/unistdio/u32-vsprintf: New file.
50599         * modules/unistdio/u32-u32-asnprintf: New file.
50600         * modules/unistdio/u32-u32-asprintf: New file.
50601         * modules/unistdio/u32-u32-snprintf: New file.
50602         * modules/unistdio/u32-u32-sprintf: New file.
50603         * modules/unistdio/u32-u32-vasnprintf: New file.
50604         * modules/unistdio/u32-u32-vasprintf: New file.
50605         * modules/unistdio/u32-u32-vsnprintf: New file.
50606         * modules/unistdio/u32-u32-vsprintf: New file.
50607         * modules/unistdio/ulc-asnprintf-tests: New file.
50608         * modules/unistdio/ulc-vasnprintf-tests: New file.
50609         * modules/unistdio/ulc-vasprintf-tests: New file.
50610         * modules/unistdio/ulc-vsnprintf-tests: New file.
50611         * modules/unistdio/ulc-vsprintf-tests: New file.
50612         * modules/unistdio/u8-asnprintf-tests: New file.
50613         * modules/unistdio/u8-vasnprintf-tests: New file.
50614         * modules/unistdio/u8-vasprintf-tests: New file.
50615         * modules/unistdio/u8-vsnprintf-tests: New file.
50616         * modules/unistdio/u8-vsprintf-tests: New file.
50617         * modules/unistdio/u16-asnprintf-tests: New file.
50618         * modules/unistdio/u16-vasnprintf-tests: New file.
50619         * modules/unistdio/u16-vasprintf-tests: New file.
50620         * modules/unistdio/u16-vsnprintf-tests: New file.
50621         * modules/unistdio/u16-vsprintf-tests: New file.
50622         * modules/unistdio/u32-asnprintf-tests: New file.
50623         * modules/unistdio/u32-vasnprintf-tests: New file.
50624         * modules/unistdio/u32-vasprintf-tests: New file.
50625         * modules/unistdio/u32-vsnprintf-tests: New file.
50626         * modules/unistdio/u32-vsprintf-tests: New file.
50627         * MODULES.html.sh (Unicode string functions): Add the new modules.
50628
50629 2007-07-01  Bruno Haible  <bruno@clisp.org>
50630
50631         * lib/sprintf.c (sprintf): Limit the available length estimation,
50632         to avoid address wraparound.
50633         * lib/vsprintf.c (vsprintf): Likewise.
50634         * modules/sprintf-posix (Dependencies): Add stdint.
50635         * modules/vsprintf-posix (Dependencies): Likewise.
50636
50637 2007-07-01  Bruno Haible  <bruno@clisp.org>
50638
50639         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
50640         Windows PATH as well. Conservative double-quoting. Comments.
50641
50642 2007-07-01  Bruno Haible  <bruno@clisp.org>
50643             Eric Blake  <ebb9@byu.net>
50644             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50645
50646         * gnulib-tool (self_abspathname): Fix algorithm to cope with
50647         empty components in $PATH, denoting '.'.
50648
50649 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50650
50651         * gnulib-tool: Fix indentation.
50652         (func_create_megatestdir): Likewise.
50653         Report by Bruno Haible.
50654
50655 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50656
50657         Sync from Automake.
50658         * build-aux/gnupload: Fix shell portability issues with for loops.
50659         Report by Karl Berry.
50660
50661 2007-06-29  Simon Josefsson  <simon@josefsson.org>
50662
50663         * build-aux/maint.mk (POURL): Use translationproject.org.
50664
50665 2007-06-27  Simon Josefsson  <simon@josefsson.org>
50666             Bruno Haible  <bruno@clisp.org>
50667
50668         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
50669         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
50670         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
50671         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
50672         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
50673
50674 2007-06-27  Bruno Haible  <bruno@clisp.org>
50675
50676         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
50677         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
50678
50679 2007-06-26  Karl Berry  <karl@gnu.org>
50680
50681         * MODULES.html.sh: remove xreadlink-with-size.
50682
50683 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
50684
50685         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
50686         method that I hope also handles the double-include problem noted
50687         by Bruno Haible in
50688         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
50689
50690 2007-06-23  Bruno Haible  <bruno@clisp.org>
50691
50692         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50693         Don't let the 'mostlyclean' target fail if the last subdirectory could
50694         not be removed.
50695         Reported by Karl Berry.
50696
50697 2007-06-23  Bruno Haible  <bruno@clisp.org>
50698
50699         * gnulib-tool (echo): Add a speedier workaround for ksh.
50700         * tests/test-echo.sh: Likewise.
50701
50702 2007-06-23  Bruno Haible  <bruno@clisp.org>
50703
50704         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
50705         * tests/test-echo.sh: Likewise.
50706
50707 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50708
50709         * gnulib-tool (IFS): Initialize early, so we don't set it to
50710         empty later.
50711         (self_abspathname): Rewrite algorithm to set it, reindent.
50712         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
50713         (func_create_megatestdir): Merge some sed scripts.
50714
50715 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
50716
50717         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
50718         exposed by Sun Studio 11 cc on Solaris 8.
50719
50720 2007-06-22  Bruno Haible  <bruno@clisp.org>
50721
50722         * gnulib-tool (echo): Ensure the echo primitive does not interpret
50723         backslashes.
50724         * tests/test-echo.sh: New file.
50725
50726 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50727
50728         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
50729         simplify `sed_replace_build_aux' scripts, they are portable but
50730         echoing them with `echo' is not.
50731         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
50732
50733 2007-06-21  Karl Berry  <karl@gnu.org>
50734
50735         * config/srclist.txt: guess we can't handle the licenses via
50736         srclist at the moment.
50737
50738 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50739
50740         * MODULES.html.sh: Add include_next.
50741         * modules/include_next: New file.
50742
50743 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50744
50745         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
50746         INCLUDE_NEXT.
50747         (gl_CHECK_NEXT_HEADERS): New macro.
50748         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
50749         the obsolescent gl_ABSOLUTE_HEADER.
50750         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
50751         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
50752         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
50753         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
50754         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
50755         * m4/math_h.m4 (gl_MATH_H): Likewise.
50756         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
50757         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
50758         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
50759         * m4/stdint.m4 (gl_STDINT_H): Likewise.
50760         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
50761         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
50762         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
50763         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50764         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
50765         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
50766         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
50767         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
50768         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
50769         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
50770         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
50771         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
50772         * m4/inttypes.m4 (gl_INTTYPES_H): Define
50773         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
50774         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
50775         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
50776         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
50777         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
50778         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
50779         * lib/float_.h: Likewise.
50780         * lib/inttypes_.h: Likewise.
50781         * lib/math_.h: Likewise.
50782         * lib/search_.h: Likewise.
50783         * lib/signal_.h: Likewise.
50784         * lib/stdint_.h: Likewise.
50785         * lib/stdio_.h: Likewise.
50786         * lib/stdlib_.h: Likewise.
50787         * lib/string_.h: Likewise.
50788         * lib/sys_stat_.h: Likewise.
50789         * lib/sys_time_.h: Likewise.
50790         * lib/time_.h: Likewise.
50791         * lib/unistd_.h: Likewise.
50792         * lib/wchar_.h: Likewise.
50793         * lib/wctype_.h: Likewise.
50794         * lib/dirent_.h: Likewise.
50795         * lib/iconv_.h: Likewise.
50796         * lib/locale_.h: Likewise.
50797         * lib/netinet_in_.h: Likewise.
50798         * lib/sys_select_.h: Likewise.
50799         * lib/sys_socket_.h: Likewise.
50800         * lib/sysexits_.h: Likewise.
50801         * modules/fcntl (Depends-on): Depend on include_next, not
50802         absolute_header.
50803         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
50804         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
50805         * modules/fchdir: Likewise.
50806         * modules/float: Likewise.
50807         * modules/iconv_open: Likewise.
50808         * modules/inttypes: Likewise.
50809         * modules/locale: Likewise.
50810         * modules/math: Likewise.
50811         * modules/netinet_in: Likewise.
50812         * modules/search: Likewise.
50813         * modules/signal: Likewise.
50814         * modules/stdint: Likewise.
50815         * modules/stdio: Likewise.
50816         * modules/stdlib: Likewise.
50817         * modules/string: Likewise.
50818         * modules/sys_select: Likewise.
50819         * modules/sys_socket: Likewise.
50820         * modules/sys_stat: Likewise.
50821         * modules/sys_time: Likewise.
50822         * modules/sysexits: Likewise.
50823         * modules/time: Likewise.
50824         * modules/unistd: Likewise.
50825         * modules/wchar: Likewise.
50826         * modules/wctype: Likewise.
50827         * modules/sys_stat: Change maintainer to "all".
50828         * modules/unistd: Likewise.
50829
50830 2007-06-20  Karl Berry  <karl@gnu.org>
50831
50832         * config/srclist.txt: track www changes in license files.
50833
50834 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
50835
50836         * build-aux/bootstrap: Remove stray dot.
50837         Make sure build_aux settings are honored when linking
50838         gnulib_extra_files.
50839
50840 2007-06-19  Eric Blake  <ebb9@byu.net>
50841
50842         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
50843         Allow compilation on cygwin.
50844
50845 2007-06-19  Jim Meyering  <jim@meyering.net>
50846
50847         xreadlink-with-size: Remove module.  No longer used.
50848         Ex-callers now use xreadlink or mreadlink-with-size.
50849         * modules/xreadlink-with-size: Remove module.
50850         * lib/xreadlink-with-size.c: Remove file.
50851         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
50852         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
50853         just before the function definition *is* accurate.
50854
50855         Eliminate one way canonicalize_filename_mode could exit.
50856         * lib/canonicalize.c (canonicalize_filename_mode):
50857         Use mreadlink_with_size, not xreadlink_with_size.
50858
50859 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
50860
50861         Detect porting problems to FreeBSD/arm, which has time_t wider than
50862         long int.  Original problem reported for GNU diff by Xin Li in
50863         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
50864         * modules/getdate (Depends-on): Add intprops, verify.
50865         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
50866         is an integer type no wider than long int.
50867
50868 2007-06-18  Jim Meyering  <jim@meyering.net>
50869
50870         New module: mreadlink-with-size.
50871         * MODULES.html.sh: Add mreadlink-with-size.
50872         * modules/mreadlink-with-size: New module
50873         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
50874         not xreadlink-with-size.
50875         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
50876
50877 2007-06-16  Bruno Haible  <bruno@clisp.org>
50878
50879         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
50880         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
50881         Reported by Gary V. Vaughan <gary@gnu.org>.
50882
50883 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
50884
50885         Revamp lchown so that it lives in unistd.h where it belongs.
50886         * lib/lchown.h: Remove.
50887         * lib/dirchownmod.c: Don't include lib/lchown.h.
50888         * lib/fchownat.c: Likewise.
50889         * lib/openat.c: Likewise.
50890         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
50891         does not follow symlinks.
50892         (EOPNOTSUPP): Define if not defined.
50893         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
50894         is defined to 0.
50895         (lchown): New decl.
50896         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
50897         Do not check for lchown decl.
50898         Set REPLACE_LCHOWN.
50899         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
50900         REPLACE_LCHOWN.
50901         * modules/chown: Make it clear it follows symlinks.
50902         * modules/lchown: Make it clear it doesn't follow symlinks.
50903         (Files): Remove lib/lchown.h
50904         (Depends-on): Add unistd.
50905         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
50906         (Include): Include <unistd.h>, not "lchown.h".
50907         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
50908         REPLACE_LCHOWN.
50909
50910 2007-06-15  Jim Meyering  <jim@meyering.net>
50911
50912         Change license (GPL to LGPL) of fsusage and dependents.
50913         * modules/fsusage (License): Change to LGPL.
50914         * modules/full-read (License): Likewise.
50915         * modules/full-write (License): Likewise.
50916         * modules/safe-read (License): Likewise.
50917         * modules/safe-write (License): Likewise.
50918
50919 2007-06-14  Ben Pfaff  <blp@gnu.org>
50920
50921         Missing part of allocsa -> malloca transition.
50922         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
50923         gl_MALLOCA.
50924
50925 2007-06-12  Bruno Haible  <bruno@clisp.org>
50926
50927         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
50928         to ia64, x86_64, i386.
50929         Reported by Eric Blake.
50930
50931 2007-06-12  Bruno Haible  <bruno@clisp.org>
50932
50933         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
50934         cross-compiling to x86_64.
50935
50936 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
50937
50938         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
50939         glitch reported by Ralf Wildenhues in
50940         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
50941
50942         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
50943         Vin Shelton.
50944
50945 2007-06-11  Bruno Haible  <bruno@clisp.org>
50946
50947         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
50948         replacement string.
50949         Reported by Eric Blake.
50950
50951 2007-06-10  Bruno Haible  <bruno@clisp.org>
50952
50953         Prepare vasnprintf code for use with Unicode strings.
50954         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
50955         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
50956         TYPE_U32_STRING.
50957         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
50958         a_u32_string variants.
50959         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
50960         * lib/printf-args.c: Don't include config.h and the specification
50961         header if PRINTF_FETCHARGS is already defined.
50962         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
50963         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
50964         TYPE_U16_STRING, TYPE_U32_STRING.
50965         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
50966         u16_directive, u16_directives, u32_directive, u32_directives): New
50967         types.
50968         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
50969         New declarations.
50970         * lib/printf-parse.c: Don't include config.h and the specification
50971         header if PRINTF_PARSE is already defined. Eliminate the set of
50972         parameters for WIDE_CHAR_VERSION; the user of this file must provide
50973         them now. Include c-ctype.h.
50974         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
50975         directive and CHAR_T_ONLY_ASCII.
50976         * lib/vasnprintf.c: Don't include config.h and the specification header
50977         if VASNPRINTF is already defined.
50978         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
50979         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
50980         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
50981         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
50982         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
50983         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
50984         code accordingly.
50985         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
50986         pad_ourselves also in this case, with the 'c' and 's' directives, and
50987         with a different notion of "width".
50988         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
50989
50990 2007-06-10  Bruno Haible  <bruno@clisp.org>
50991
50992         * modules/unistr/u32-mbsnlen: New file.
50993         * lib/unistr/u32-mbsnlen.c: New file.
50994
50995         * modules/unistr/u16-mbsnlen: New file.
50996         * lib/unistr/u16-mbsnlen.c: New file.
50997
50998         * modules/unistr/u8-mbsnlen: New file.
50999         * lib/unistr/u8-mbsnlen.c: New file.
51000
51001         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
51002         declarations.
51003
51004 2007-06-10  Bruno Haible  <bruno@clisp.org>
51005
51006         * lib/string_.h (mbsnlen): New declaration.
51007         * lib/mbsnlen.c: New file.
51008         * m4/mbsnlen.m4: New file.
51009         * modules/mbsnlen: New file.
51010         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
51011         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
51012         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
51013
51014 2007-06-10  Bruno Haible  <bruno@clisp.org>
51015
51016         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
51017
51018 2007-06-10  Bruno Haible  <bruno@clisp.org>
51019
51020         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
51021         * lib/mbuiter.h: Likewise.
51022
51023 2007-06-10  Bruno Haible  <bruno@clisp.org>
51024
51025         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
51026         declaration.
51027
51028 2007-06-10  Karl Berry  <karl@gnu.org>
51029
51030         * config/srclist.txt: remove gettext entries, Bruno prefers
51031         to update individually.
51032
51033 2007-06-10  Bruno Haible  <bruno@clisp.org>
51034
51035         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
51036         'maxlen'. Ensure only length + width bytes are allocated, not
51037         length + 1 + width.
51038
51039 2007-06-09  Bruno Haible  <bruno@clisp.org>
51040
51041         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
51042         (CHAR_T): Remove macro.
51043         (VASNPRINTF): Update.
51044
51045 2007-06-09  Bruno Haible  <bruno@clisp.org>
51046
51047         * MODULES.html.sh (Unicode string functions): Add the new modules.
51048
51049         * modules/uniconv/u32-conv-to-enc: New file.
51050         * lib/uniconv/u32-conv-to-enc.c: New file.
51051         * modules/uniconv/u32-conv-to-enc-tests: New file.
51052         * tests/uniconv/test-u32-conv-to-enc.c: New file.
51053
51054         * modules/uniconv/u16-conv-to-enc: New file.
51055         * lib/uniconv/u16-conv-to-enc.c: New file.
51056         * lib/uniconv/u-conv-to-enc.h: New file.
51057         * modules/uniconv/u16-conv-to-enc-tests: New file.
51058         * tests/uniconv/test-u16-conv-to-enc.c: New file.
51059
51060         * modules/uniconv/u8-conv-to-enc: New file.
51061         * lib/uniconv/u8-conv-to-enc.c: New file.
51062         * modules/uniconv/u8-conv-to-enc-tests: New file.
51063         * tests/uniconv/test-u8-conv-to-enc.c: New file.
51064
51065         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
51066         u32_conv_to_encoding): New declarations.
51067
51068 2007-06-09  Bruno Haible  <bruno@clisp.org>
51069
51070         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
51071
51072 2007-06-09  Bruno Haible  <bruno@clisp.org>
51073
51074         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
51075         * modules/malloca: Renamed from modules/allocsa, updated.
51076         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
51077         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
51078         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
51079         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
51080         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
51081         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
51082         * modules/xmalloca: Renamed from modules/xallocsa, updated.
51083         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
51084         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
51085         * modules/c-strcasestr (Depends-on): Update.
51086         * lib/c-strcasestr.c: Update.
51087         * modules/c-strstr (Depends-on): Update.
51088         * lib/c-strstr.c: Update.
51089         * modules/canonicalize-lgpl (Depends-on): Update.
51090         * lib/canonicalize-lgpl.c: Update.
51091         * modules/clean-temp (Depends-on): Update.
51092         * lib/clean-temp.c: Update.
51093         * modules/csharpcomp (Depends-on): Update.
51094         * lib/csharpcomp.c: Update.
51095         * modules/csharpexec (Depends-on): Update.
51096         * lib/csharpexec.c: Update.
51097         * modules/javacomp (Depends-on): Update.
51098         * lib/javacomp.c: Update.
51099         * modules/javaexec (Depends-on): Update.
51100         * lib/javaexec.c: Update.
51101         * modules/mbscasestr (Depends-on): Update.
51102         * lib/mbscasestr.c: Update.
51103         * modules/mbsstr (Depends-on): Update.
51104         * lib/mbsstr.c: Update.
51105         * modules/setenv (Depends-on): Update.
51106         * lib/setenv.c: Update.
51107         * modules/strcasestr (Depends-on): Update.
51108         * lib/strcasestr.c: Update.
51109         * modules/striconveha (Depends-on): Update.
51110         * lib/striconveha.c: Update.
51111         * modules/relocatable-prog-wrapper (Files): Update.
51112         * lib/relocwrapper.c: Update.
51113         * build-aux/install-reloc: Update.
51114         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
51115
51116 2007-06-08  Bruno Haible  <bruno@clisp.org>
51117
51118         Port to uClibc.
51119         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
51120         * lib/fpurge.c (fpurge): Likewise.
51121         * lib/freading.c (freading): Likewise.
51122         * lib/fseeko.c (rpl_fseeko): Likewise.
51123         * lib/fseterr.c (fseterr): Likewise.
51124         * lib/fwriting.c (fwriting): Likewise.
51125         * tests/test-fflush.c (main): Avoid a failure on uClibc.
51126
51127 2007-06-08  Bruno Haible  <bruno@clisp.org>
51128
51129         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
51130         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
51131         * modules/gettext (Files): Add m4/intlmacosx.m4.
51132
51133 2007-06-07  Bruno Haible  <bruno@clisp.org>
51134
51135         * modules/localename-tests: New file.
51136         * tests/test-localename.c: New file.
51137
51138         New module 'localename'.
51139         * lib/localename.h: New file.
51140         * lib/localename.c: New file, from GNU gettext.
51141         * m4/localename.m4: New file.
51142         * modules/localename: New file.
51143
51144 2007-06-07  Bruno Haible  <bruno@clisp.org>
51145
51146         Work around the lack of <wchar.h> on some builds of uClibc.
51147         * doc/headers/wchar.texi: Update.
51148         * lib/wchar_.h: Include <wchar.h> only if it exists.
51149         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
51150         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
51151         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
51152         doesn't exist.
51153         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
51154         * modules/mbfile (Depends-on): Add wchar.
51155         * modules/mbiter (Depends-on): Likewise.
51156         * modules/mbuiter (Depends-on): Likewise.
51157         Reported by Simon Josefsson.
51158
51159 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
51160
51161         Work around problem reported by Steven M. Schweda in
51162         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
51163         Tru64 5.1B with the Compaq compiler environment installed declares
51164         an 'isblank' function but does not define it in the C library.
51165         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
51166         * lib/regex_internal.h (isblank): Likewise.
51167         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
51168         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
51169
51170 2007-06-05  Bruno Haible  <bruno@clisp.org>
51171
51172         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
51173         ia64.
51174         * modules/printf-safe: New file.
51175         * modules/fprintf-posix (Depends-on): Add printf-safe.
51176         * modules/printf-posix (Depends-on): Likewise.
51177         * modules/snprintf-posix (Depends-on): Likewise.
51178         * modules/sprintf-posix (Depends-on): Likewise.
51179         * modules/vasnprintf-posix (Depends-on): Likewise.
51180         * modules/vasprintf-posix (Depends-on): Likewise.
51181         * modules/vfprintf-posix (Depends-on): Likewise.
51182         * modules/vprintf-posix (Depends-on): Likewise.
51183         * modules/vsnprintf-posix (Depends-on): Likewise.
51184         * modules/vsprintf-posix (Depends-on): Likewise.
51185         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
51186         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
51187         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
51188         "no" on i386, x86_64, ia64.
51189         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
51190         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51191         on i386, x86_64, ia64.
51192         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
51193         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51194         on i386, x86_64, ia64.
51195         * tests/test-vasnprintf-posix.c: Include float.h.
51196         (LDBL80_WORDS): New macro.
51197         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51198         on i386, x86_64, ia64.
51199         * tests/test-vasprintf-posix.c: Include float.h.
51200         (LDBL80_WORDS): New macro.
51201         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51202         on i386, x86_64, ia64.
51203         * tests/test-snprintf-posix.c: Include float.h.
51204         * tests/test-sprintf-posix.c: Likewise.
51205         * tests/test-vsnprintf-posix.c: Likewise.
51206         * tests/test-vsprintf-posix.c: Likewise.
51207
51208 2007-06-05  Bruno Haible  <bruno@clisp.org>
51209
51210         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
51211         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
51212         non-IEEE numbers on i386, x86_64, ia64.
51213         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
51214         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
51215         * tests/test-isnanl.h: Include float.h.
51216         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
51217
51218 2007-06-05  Bruno Haible  <bruno@clisp.org>
51219
51220         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
51221         also the %a / %A. Handle the %a / %A code before this extra handling.
51222
51223 2007-06-05  Bruno Haible  <bruno@clisp.org>
51224
51225         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
51226         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
51227
51228 2007-06-05  Bruno Haible  <bruno@clisp.org>
51229
51230         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
51231         typo in variable name.
51232
51233 2007-06-05  Eric Blake  <ebb9@byu.net>
51234
51235         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
51236         Reported by Simon Josefsson.
51237
51238 2007-06-04  Bruno Haible  <bruno@clisp.org>
51239
51240         Avoid test failures on some PowerPC platforms.
51241         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
51242         Define differently for PowerPC.
51243         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
51244         Reported by Gary V. Vaughan <gary@gnu.org>.
51245
51246 2007-06-02  Bruno Haible  <bruno@clisp.org>
51247
51248         Fix test-stdint failure on FreeBSD/ia64.
51249         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
51250         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
51251         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
51252         * doc/headers/stdint.texi: Update.
51253
51254 2007-06-01  Bruno Haible  <bruno@clisp.org>
51255
51256         * tests/test-binary-io.c (main): Pass a third argument to open().
51257         Reported by Gary V. Vaughan <gary@gnu.org>.
51258
51259 2007-06-01  Bruno Haible  <bruno@clisp.org>
51260
51261         * doc/functions/frexpl.texi: Update for mingw.
51262
51263 2007-06-01  Bruno Haible  <bruno@clisp.org>
51264
51265         * tests/test-lseek.c (main): Disable test of errno for invalid third
51266         argument.
51267         * doc/functions/lseek.texi: Update.
51268         Reported by Gary V. Vaughan <gary@gnu.org>.
51269
51270 2007-05-28  Bruno Haible  <bruno@clisp.org>
51271
51272         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
51273
51274 2007-05-31  Eric Blake  <ebb9@byu.net>
51275
51276         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
51277         cross compiling.
51278
51279 2007-05-30  Eric Blake  <ebb9@byu.net>
51280         and Bruno Haible  <bruno@clisp.org>
51281
51282         Work around mingw test failures exposed by m4-1.4.9b.
51283         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
51284         * tests/test-unistd.c: Disable uid_t and git_t tests for the
51285         moment.
51286
51287 2007-05-30  Bruno Haible  <bruno@clisp.org>
51288
51289         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
51290         assuming that they are closed. Needed on HP-UX 11.
51291
51292 2007-05-29  Bruno Haible  <bruno@clisp.org>
51293
51294         Fix a problem with #include_next.
51295         * lib/dirent_.h: Split the double-inclusion guard.
51296         * lib/fcntl_.h: Likewise.
51297         * lib/float_.h: Likewise.
51298         * lib/iconv_.h: Likewise.
51299         * lib/inttypes_.h: Likewise.
51300         * lib/locale_.h: Likewise.
51301         * lib/math_.h: Likewise.
51302         * lib/netinet_in_.h: Likewise.
51303         * lib/search_.h: Likewise.
51304         * lib/signal_.h: Likewise.
51305         * lib/stdint_.h: Likewise.
51306         * lib/stdio_.h: Likewise.
51307         * lib/stdlib_.h: Likewise.
51308         * lib/string_.h: Likewise.
51309         * lib/sys_select_.h: Likewise.
51310         * lib/sys_socket_.h: Likewise.
51311         * lib/sys_stat_.h: Likewise.
51312         * lib/sys_time_.h: Likewise.
51313         * lib/sysexits_.h: Likewise.
51314         * lib/time_.h: Likewise.
51315         * lib/unistd_.h: Likewise.
51316         * lib/wchar_.h: Likewise.
51317         * lib/wctype_.h: Likewise.
51318
51319 2007-05-29  Bruno Haible  <bruno@clisp.org>
51320
51321         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
51322         for the moment.
51323
51324 2007-05-29  Bruno Haible  <bruno@clisp.org>
51325
51326         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
51327         invocation.
51328         Reported by Eric Blake.
51329
51330 2007-05-29  Bruno Haible  <bruno@clisp.org>
51331
51332         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
51333         compiling case.
51334
51335 2007-05-29  Eric Blake  <ebb9@byu.net>
51336             Bruno Haible  <bruno@clisp.org>
51337
51338         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
51339         cross compiles.
51340
51341 2007-05-28  Eric Blake  <ebb9@byu.net>
51342
51343         * modules/closein-tests (test_closein_LDADD): Support test on
51344         cygwin with libtool.
51345
51346 2007-05-28  Bruno Haible  <bruno@clisp.org>
51347
51348         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
51349         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
51350         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
51351         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
51352         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
51353         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
51354         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
51355         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
51356         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
51357
51358 2007-05-28  Eric Blake  <ebb9@byu.net>
51359
51360         Unconditionally include <config.h> in unit tests.
51361         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
51362         * tests/test-allocsa.c, tests/test-arcfour.c,
51363         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
51364         tests/test-array_list.c, tests/test-array_oset.c,
51365         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
51366         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
51367         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
51368         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
51369         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
51370         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
51371         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
51372         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
51373         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
51374         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
51375         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
51376         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
51377         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
51378         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
51379         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
51380         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
51381         test-md5.c, test-memmem.c, test-printf-posix.c,
51382         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
51383         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
51384         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
51385         test-strcasestr.c, test-striconv.c, test-striconveh.c,
51386         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
51387         test-vasnprintf-posix2.c, test-vasnprintf.c,
51388         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
51389         test-vfprintf-posix.c, test-vprintf-posix.c,
51390         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
51391         test-xvasprintf.c: Likewise.
51392
51393 2007-05-28  Bruno Haible  <bruno@clisp.org>
51394
51395         * gnulib-tool (func_import): Remember the --with-tests command-line
51396         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
51397         Reported by Eric Blake.
51398
51399 2007-05-28  Bruno Haible  <bruno@clisp.org>
51400
51401         * modules/ftell-tests: New file.
51402         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
51403         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
51404
51405         * lib/ftell.c: New file.
51406         * modules/ftell: New file.
51407         * m4/ftell.m4: New file.
51408         * doc/functions/ftell.texi: Update.
51409         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
51410         REPLACE_FTELL.
51411         * lib/stdio_.h (rpl_ftell): New declaration.
51412         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
51413         REPLACE_FTELL.
51414
51415 2007-05-28  Eric Blake  <ebb9@byu.net>
51416
51417         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
51418
51419 2007-05-28  Bruno Haible  <bruno@clisp.org>
51420
51421         * modules/fseek-tests: New file.
51422         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
51423         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
51424
51425         * lib/fseek.c: New file.
51426         * modules/fseek: New file.
51427         * m4/fseek.m4: New file.
51428         * doc/functions/fseek.texi: Update.
51429         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
51430         REPLACE_FSEEK.
51431         * lib/stdio_.h (rpl_fseek): New declaration.
51432         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
51433         REPLACE_FSEEK.
51434
51435 2007-05-28  Bruno Haible  <bruno@clisp.org>
51436
51437         * lib/stdio_.h (fflush): More comments.
51438
51439 2007-05-28  Bruno Haible  <bruno@clisp.org>
51440
51441         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
51442         runtime test.
51443
51444 2007-05-28  Eric Blake  <ebb9@byu.net>
51445
51446         Improve lseek module.
51447         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
51448         * lib/unistd_.h (lseek): Scale back link warning message.
51449         * tests/test-lseek.c: Beef up test.
51450         * tests/test-lseek.sh: Exercise more facets of lseek.
51451         Reported by Bruno Haible.
51452
51453 2007-05-28  Bruno Haible  <bruno@clisp.org>
51454
51455         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
51456         to define.
51457
51458 2007-05-27  Bruno Haible  <bruno@clisp.org>
51459
51460         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
51461
51462 2007-05-27  Bruno Haible  <bruno@clisp.org>
51463
51464         * modules/openmp: New file.
51465         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
51466         Noah Misch.
51467
51468 2007-05-26  Bruno Haible  <bruno@clisp.org>
51469
51470         * modules/chdir-long (Depends-on): Add fchdir.
51471         * modules/chdir-safer (Depends-on): Likewise.
51472         * modules/fts (Depends-on): Likewise.
51473         * modules/fts-lgpl (Depends-on): Likewise.
51474         * modules/openat (Depends-on): Likewise.
51475         * modules/savewd (Depends-on): Likewise.
51476
51477 2007-05-24  Eric Blake  <ebb9@byu.net>
51478
51479         Fix lseek on mingw.
51480         * modules/lseek: New module.
51481         * m4/lseek.m4: New file.
51482         * lib/lseek.c: New file.
51483         * modules/lseek-tests: New file.
51484         * tests/test-lseek.c: New file.
51485         * tests/test-lseek.sh: New file.
51486         * MODULES.html.sh: Document lseek module.
51487         * modules/fflush (Depends-on): Add lseek, fseeko.
51488         * modules/fseeko (Depends-on): Likewise.
51489         * modules/ftello (Depends-on): Likewise.
51490         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
51491         broken.
51492         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
51493         broken.
51494         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
51495         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
51496         * lib/ftello.c (rpl_ftello): Likewise.
51497         * tests/test-fseeko.c (main): Test this.
51498         * tests/test-fseeko.sh: Likewise.
51499         * tests/test-ftello.c (main): Likewise.
51500         * tests/test-ftello.sh: Likewise.
51501         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
51502         implies replacing fseek.
51503         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
51504         HAVE_FTELLO.
51505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
51506         * modules/unistd (Makefile.am): Likewise.
51507         * lib/unistd_.h (lseek): Declare a replacement.
51508         * doc/functions/lseek.texi (lseek): Document this fix.
51509         * doc/functions/fseek.texi (fseek): Likewise.
51510         * doc/functions/ftell.texi (ftell): Likewise.
51511
51512 2007-05-24  Bruno Haible  <bruno@clisp.org>
51513
51514         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
51515         in the printed representation of a NaN.
51516         * tests/test-vasprintf-posix.c (test_function): Likewise.
51517         * tests/test-snprintf-posix.h (test_function): Likewise.
51518         * tests/test-sprintf-posix.h (test_function): Likewise.
51519         Reported by Eric Blake.
51520
51521 2007-05-23  Eric Blake  <ebb9@byu.net>
51522
51523         Fix fseeko/ftello on cygwin 1.5.24.
51524         * doc/functions/fseeko.texi (fseeko): Document the fix.
51525         * doc/functions/ftello.texi (ftello): Document the fix.
51526         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
51527         * doc/functions/stdout.text (stdout): New file.
51528         * doc/functions/stderr.text (stderr): New file.
51529         * doc/gnulib.texi (Function Substitutes): Use new files.
51530         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
51531         prior to 1.7.0.
51532         * tests/test-ftello.c (main): Likewise for ftello.
51533         * tests/test-fseeko.sh: New file.
51534         * tests/test-ftello.sh: New file.
51535         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
51536         with seekable stdin.
51537         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
51538         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
51539         (gl_REPLACE_FSEEKO): New macro.
51540         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
51541         * modules/fseeko (Files): Distribute fseeko.c.
51542         * modules/ftello (Files): Distribute ftello.c.
51543         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
51544         mode.
51545         * lib/ftello.c (rpl_ftello): New file.
51546         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
51547         fseeko, ftello.
51548         (gl_STDIN_LARGE_OFFSET): New macro.
51549         * modules/stdio (Makefile.am): Perform the replacement.
51550         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
51551
51552 2007-05-23  Bruno Haible  <bruno@clisp.org>
51553
51554         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
51555         GNULIB_POSIXCHECK is defined.
51556
51557 2007-05-21  Bruno Haible  <bruno@clisp.org>
51558
51559         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
51560         Check also the output for NaN arguments. When cross-compiling, guess
51561         no on IRIX.
51562         * lib/vasnprintf.c: Update comments.
51563         * tests/test-vasnprintf-posix.c (strisnan): New function.
51564         (test_function): Use it.
51565         * tests/test-vasprintf-posix.c (strisnan): New function.
51566         (test_function): Use it.
51567         * tests/test-snprintf-posix.h (strisnan): New function.
51568         (test_function): Use it.
51569         * tests/test-sprintf-posix.h (strisnan): New function.
51570         (test_function): Use it.
51571         Reported by Eric Blake.
51572
51573 2007-05-20  Bruno Haible  <bruno@clisp.org>
51574
51575         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
51576         numbers that fails on BeOS.
51577         * doc/functions/frexpl.texi: Update.
51578
51579 2007-05-20  Jim Meyering  <jim@meyering.net>
51580
51581         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
51582         forced upon us by glibc-2.6.
51583
51584 2007-05-20  Bruno Haible  <bruno@clisp.org>
51585
51586         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
51587         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
51588         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
51589         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
51590         NEED_PRINTF_INFINITE.
51591         (is_infinitel): New function.
51592         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
51593         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
51594         gl_PREREQ_VASNPRINTF_INFINITE.
51595         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
51596         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51597         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
51598         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
51599         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
51600         gl_PREREQ_VASNPRINTF_INFINITE.
51601         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51602         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51603         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51604         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51605         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51606         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51607         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51608         * doc/functions/fprintf.texi: Update.
51609         * doc/functions/printf.texi: Update.
51610         * doc/functions/snprintf.texi: Update.
51611         * doc/functions/sprintf.texi: Update.
51612         * doc/functions/vfprintf.texi: Update.
51613         * doc/functions/vprintf.texi: Update.
51614         * doc/functions/vsnprintf.texi: Update.
51615         * doc/functions/vsprintf.texi: Update.
51616
51617 2007-05-20  Bruno Haible  <bruno@clisp.org>
51618
51619         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
51620         was not found in libc.
51621         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
51622
51623 2007-05-20  Bruno Haible  <bruno@clisp.org>
51624
51625         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
51626         printed as "-nan" instead of "nan".
51627         * tests/test-vasprintf-posix.c (test_function): Likewise.
51628         * tests/test-snprintf-posix.h (test_function): Likewise.
51629         * tests/test-sprintf-posix.h (test_function): Likewise.
51630         Needed for HP-UX 11.
51631
51632 2007-05-20  Jim Meyering  <jim@meyering.net>
51633
51634         Fix buggy test for the fchownat-deref bug.
51635         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
51636         symlink required for the run-test.  Without it, this test would
51637         always declare that fchownat doesn't work, and client code would
51638         unnecessarily use the replacement function with fixed libc.
51639         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
51640         Reported by Greg Schafer.
51641
51642 2007-05-19  Bruno Haible  <bruno@clisp.org>
51643
51644         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
51645         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
51646         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
51647         Needed for IRIX 6.5 and Solaris 2.5.1.
51648
51649 2007-05-19  Bruno Haible  <bruno@clisp.org>
51650
51651         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
51652         (test_function): Skip tests involving -0.0 on platforms where
51653         -0.0 = 0.0.
51654         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
51655         (test_function): Skip tests involving -0.0 on platforms where
51656         -0.0 = 0.0.
51657         * tests/test-snprintf-posix.h (have_minus_zero): New function.
51658         (test_function): Skip tests involving -0.0 on platforms where
51659         -0.0 = 0.0.
51660         * tests/test-sprintf-posix.h (have_minus_zero): New function.
51661         (test_function): Skip tests involving -0.0 on platforms where
51662         -0.0 = 0.0.
51663         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
51664         tests.
51665         * tests/test-printf-posix.h (test_function): Likewise.
51666         * tests/test-printf-posix.output: Remove all -0.0 related results.
51667         Needed for IRIX 6.5.
51668
51669 2007-05-19  Bruno Haible  <bruno@clisp.org>
51670
51671         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
51672         printed as "nan0x7fffffff" instead of "nan".
51673         * tests/test-vasprintf-posix.c (test_function): Likewise.
51674         * tests/test-snprintf-posix.h (test_function): Likewise.
51675         * tests/test-sprintf-posix.h (test_function): Likewise.
51676         * tests/test-fprintf-posix.h (NaN): Remove macro.
51677         (test_function): Remove all NaN related tests.
51678         * tests/test-printf-posix.h (NaN): Remove macro.
51679         (test_function): Remove all NaN related tests.
51680         * tests/test-printf-posix.output: Remove all NaN related results.
51681         Needed for IRIX 6.5.
51682
51683 2007-05-19  Bruno Haible  <bruno@clisp.org>
51684
51685         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
51686         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
51687
51688 2007-05-19  Bruno Haible  <bruno@clisp.org>
51689
51690         * lib/float_.h: New file.
51691         * m4/float_h.m4: New file.
51692         * modules/float: New file.
51693         * modules/isnanl (Dependencies): Add float.
51694         * modules/isnanl-nolibm (Dependencies): Likewise.
51695         * modules/mathl (Dependencies): Likewise.
51696         * modules/printf-frexpl (Dependencies): Likewise.
51697         * modules/signbit (Dependencies): Likewise.
51698         * modules/vasnprintf (Dependencies): Likewise.
51699         * doc/headers/float.texi: Update.
51700
51701 2007-05-19  Jim Meyering  <jim@meyering.net>
51702
51703         * lib/utimens.c (gl_futimens): Rename from futimens,
51704         now that glibc-2.6 declares futimens.
51705         * lib/utimens.h: Likewise.
51706
51707 2007-05-19  Bruno Haible  <bruno@clisp.org>
51708
51709         Avoid test failures on mingw.
51710         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
51711         * tests/test-printf-posix.sh: Likewise.
51712         * tests/test-vfprintf-posix.sh: Likewise.
51713         * tests/test-vprintf-posix.sh: Likewise.
51714
51715 2007-05-19  Bruno Haible  <bruno@clisp.org>
51716
51717         Fix *printf result for NaN, Inf, -0.0 on mingw.
51718         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
51719         * lib/vasnprintf.c: Include math.h and isnan.h.
51720         (is_infinite_or_zero): New function.
51721         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
51722         values in the %f, %F, %e, %E, %g, %G directives.
51723         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
51724         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51725         gl_PRINTF_INFINITE and test its result. Invoke
51726         gl_PREREQ_VASNPRINTF_INFINITE.
51727         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51728         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51729         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51730         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51731         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51732         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51733         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51734         * doc/functions/fprintf.texi: Update.
51735         * doc/functions/printf.texi: Update.
51736         * doc/functions/snprintf.texi: Update.
51737         * doc/functions/sprintf.texi: Update.
51738         * doc/functions/vfprintf.texi: Update.
51739         * doc/functions/vprintf.texi: Update.
51740         * doc/functions/vsnprintf.texi: Update.
51741         * doc/functions/vsprintf.texi: Update.
51742
51743 2007-05-19  Bruno Haible  <bruno@clisp.org>
51744
51745         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
51746         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
51747         Instead of multiplying with 10^k, set extra_zeroes to k.
51748         (scale10_round_long_double): Remove function.
51749
51750 2007-05-18  Bruno Haible  <bruno@clisp.org>
51751
51752         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
51753         introduced on 2007-05-06.
51754
51755 2007-05-18  Bruno Haible  <bruno@clisp.org>
51756
51757         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
51758         %g directives.
51759         * tests/test-vasprintf-posix.c (test_function): Likewise.
51760         * tests/test-snprintf-posix.h (test_function): Likewise.
51761         * tests/test-sprintf-posix.h (test_function): Likewise.
51762
51763 2007-05-18  Bruno Haible  <bruno@clisp.org>
51764
51765         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
51766         (strmatch): New function.
51767         (test_function): Test the %f directive on numbers of various exponents.
51768         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
51769         (strmatch): New function.
51770         (test_function): Test the %f directive on numbers of various exponents.
51771         * tests/test-snprintf-posix.h (strmatch): New function.
51772         (test_function): Test the %f directive on numbers of various exponents.
51773         * tests/test-sprintf-posix.h (strmatch): New function.
51774         (test_function): Test the %f directive on numbers of various exponents.
51775         * tests/test-snprintf-posix.c (SIZEOF): New macro.
51776         * tests/test-sprintf-posix.c (SIZEOF): New macro.
51777         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
51778         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
51779
51780 2007-05-18  Bruno Haible  <bruno@clisp.org>
51781
51782         Add support for 'long double' number output.
51783         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
51784         * lib/vasnprintf.c: Include math.h and float+.h.
51785         (mp_limb_t): New type.
51786         (GMP_LIMB_BITS): New macro.
51787         (mp_twolimb_t): New type.
51788         (GMP_TWOLIMB_BITS): New macro.
51789         (mpn_t): New type.
51790         (multiply, divide, convert_to_decimal, decode_long_double,
51791         scale10_round_long_double, scale10_round_decimal_long_double,
51792         floorlog10l): New functions.
51793         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
51794         for the %f, %F, %e, %E, %g, %G directives.
51795         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
51796         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51797         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
51798         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
51799         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51800         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51801         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51802         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51803         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51804         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51805         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51806         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
51807         * modules/snprintf-posix (Depends-on): Likewise.
51808         * modules/sprintf-posix (Depends-on): Likewise.
51809         * modules/vasnprintf-posix (Depends-on): Likewise.
51810         * modules/vasprintf-posix (Depends-on): Likewise.
51811         * modules/vfprintf-posix (Depends-on): Likewise.
51812         * modules/vsnprintf-posix (Depends-on): Likewise.
51813         * modules/vsprintf-posix (Depends-on): Likewise.
51814         * modules/vasnprintf (Files): Add lib/float+.h.
51815         * doc/functions/fprintf.texi: Update.
51816         * doc/functions/printf.texi: Update.
51817         * doc/functions/snprintf.texi: Update.
51818         * doc/functions/sprintf.texi: Update.
51819         * doc/functions/vfprintf.texi: Update.
51820         * doc/functions/vprintf.texi: Update.
51821         * doc/functions/vsnprintf.texi: Update.
51822         * doc/functions/vsprintf.texi: Update.
51823
51824 2007-05-18  Bruno Haible  <bruno@clisp.org>
51825
51826         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
51827
51828 2007-05-18  Bruno Haible  <bruno@clisp.org>
51829
51830         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
51831         for printing 64-bit integers. Needed for mingw.
51832
51833 2007-05-18  Bruno Haible  <bruno@clisp.org>
51834
51835         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
51836         gl_FUNC_FREXPL_WORKS.
51837         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
51838
51839 2007-05-18  Bruno Haible  <bruno@clisp.org>
51840
51841         * modules/frexpl-nolibm-tests: New file.
51842
51843         * modules/frexpl-nolibm: New file.
51844         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
51845
51846 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
51847
51848         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
51849         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
51850         GCC 4.2, which otherwise issues a lot of warnings.
51851         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
51852         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
51853         Likewise.
51854         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
51855         * modules/iconv_open (iconv.h): Likewise.
51856         * modules/locale (locale.h): Likewise.
51857         * modules/netinet_in (netinet/in.h): Likewise.
51858         * modules/sys_select (sys_select.h): Likewise.
51859         * modules/sys_socket (sys/socket.h): Likewise.
51860         * modules/sys_stat (sys/stat.h): Likewise.
51861         * modules/sysexits (sysexits.h): Likewise.
51862         * modules/unistd (unistd.h): Likewise.
51863
51864 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51865
51866         * modules/closein-tests (Makefile.am): Distribute
51867         `test-closein.sh'.
51868
51869 2007-05-17  Bruno Haible  <bruno@clisp.org>
51870
51871         * tests/test-printf-posix.output: Renamed from
51872         tests/test-fprintf-posix.out.
51873         * modules/fprintf-posix-tests: Update.
51874         * modules/printf-posix-tests: Update.
51875         * modules/vfprintf-posix-tests: Update.
51876         * modules/vprintf-posix-tests: Update.
51877         * tests/test-fprintf-posix.sh: Update.
51878         * tests/test-printf-posix.sh: Update.
51879         * tests/test-vfprintf-posix.sh: Update.
51880         * tests/test-vprintf-posix.sh: Update.
51881         Reported by Ralf Wildenhues.
51882
51883 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
51884
51885         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
51886         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
51887         GCC 4.2, which otherwise issues a lot of warnings.
51888         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
51889         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
51890         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
51891         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
51892         it should no longer be needed.
51893         * lib/string_.h: Likewise.
51894         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
51895         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
51896         * modules/inttypes (inttypes.h): Likewise.
51897         * modules/math (math.h): Likewise.
51898         * modules/search (search.h): Likewise.
51899         * modules/signal (signal.h): Likewise.
51900         * modules/stdint (stdint.h): Likewise.
51901         * modules/stdio (stdio.h): Likewise.
51902         * modules/stdlib (stdlib.h): Likewise.
51903         * modules/string (string.h): Likewise.
51904         * modules/sys_time (sys/time.h): Likewise.
51905         * modules/time (time.h): Likewise.
51906         * modules/wchar (wchar.h): Likewise.
51907         * modules/wctype (wtype.h): Likewise.
51908
51909 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51910
51911         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
51912
51913 2007-05-13  Bruno Haible  <bruno@clisp.org>
51914
51915         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
51916         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51917         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
51918         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
51919         (gl_PREREQ_STRTOK_R): Don't require it here.
51920
51921 2007-05-13  Bruno Haible  <bruno@clisp.org>
51922
51923         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
51924         when used in C++ mode.
51925
51926 2007-05-12  Bruno Haible  <bruno@clisp.org>
51927
51928         * lib/linebuffer.h: Tweak doc.
51929         * lib/linebuffer.c: Likewise.
51930
51931 2007-05-12  James Youngman  <jay@gnu.org>
51932
51933         * lib/linebuffer.c (readlinebuffer_delim): New function,
51934         like readlinebuffer, but use a caller-specified delimiter.
51935         (readlinebuffer): Just call readlinebuffer_delim with '\n'
51936         as the delimiter.
51937         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
51938
51939 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51940
51941         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
51942         * modules/openat (Files): Remove openat-die.c.
51943         (Depends-on): Add openat-die.
51944         * modules/openat-die: New module.
51945
51946 2007-05-06  Bruno Haible  <bruno@clisp.org>
51947
51948         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
51949         Update with info about Cygwin.
51950         * doc/functions/fprintf.texi: Update.
51951         * doc/functions/printf.texi: Update.
51952         * doc/functions/snprintf.texi: Update.
51953         * doc/functions/sprintf.texi: Update.
51954         * doc/functions/vfprintf.texi: Update.
51955         * doc/functions/vprintf.texi: Update.
51956         * doc/functions/vsnprintf.texi: Update.
51957         * doc/functions/vsprintf.texi: Update.
51958         Reported by Eric Blake.
51959
51960 2007-05-06  Bruno Haible  <bruno@clisp.org>
51961
51962         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
51963         padding ourselves for the floating-point directives.
51964         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
51965         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
51966         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51967         gl_PRINTF_FLAG_ZERO and test its result. Invoke
51968         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
51969         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51970         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
51971         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51972         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51973         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51974         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51975         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51976         * tests/test-snprintf-posix.h (test_function): Also check the width
51977         and some flags in the %f directive.
51978         * tests/test-sprintf-posix.h (test_function): Likewise.
51979         * tests/test-vasnprintf-posix.c (test_function): Likewise.
51980         * tests/test-vasprintf-posix.c (test_function): Likewise.
51981         * doc/functions/fprintf.texi: Update.
51982         * doc/functions/printf.texi: Update.
51983         * doc/functions/snprintf.texi: Update.
51984         * doc/functions/sprintf.texi: Update.
51985         * doc/functions/vfprintf.texi: Update.
51986         * doc/functions/vprintf.texi: Update.
51987         * doc/functions/vsnprintf.texi: Update.
51988         * doc/functions/vsprintf.texi: Update.
51989
51990 2007-05-06  Bruno Haible  <bruno@clisp.org>
51991
51992         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
51993         pass the ' flag character to sprintf or snprintf.
51994         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
51995         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
51996         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51997         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
51998         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
51999         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52000         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
52001         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52002         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52003         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52004         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52005         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52006         * tests/test-snprintf-posix.h (test_function): Also check the grouping
52007         flag.
52008         * tests/test-sprintf-posix.h (test_function): Likewise.
52009         * tests/test-vasnprintf-posix.c (test_function): Likewise.
52010         * tests/test-vasprintf-posix.c (test_function): Likewise.
52011         * doc/functions/fprintf.texi: Update.
52012         * doc/functions/printf.texi: Update.
52013         * doc/functions/snprintf.texi: Update.
52014         * doc/functions/sprintf.texi: Update.
52015         * doc/functions/vfprintf.texi: Update.
52016         * doc/functions/vprintf.texi: Update.
52017         * doc/functions/vsnprintf.texi: Update.
52018         * doc/functions/vsprintf.texi: Update.
52019
52020 2007-05-01  Bruno Haible  <bruno@clisp.org>
52021
52022         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
52023
52024 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
52025
52026         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
52027         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
52028
52029 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52030
52031         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
52032         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
52033         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
52034
52035 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
52036
52037         * lib/argp-help.c (struct hol_entry): New member `ord'.
52038         (HOL_ENTRY_PTRCMP): Use ord for comparison
52039         (hol_sort): Initialize ord.
52040
52041 2007-05-01  Bruno Haible  <bruno@clisp.org>
52042
52043         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
52044         Reported by Eric Blake.
52045         * doc/gnulib.texi (Function Substitutes): Update.
52046
52047 2007-05-01  Bruno Haible  <bruno@clisp.org>
52048
52049         * doc/functions.texi: Remove file, now redundant through
52050         doc/functions/*.texi.
52051
52052 2007-05-01  Bruno Haible  <bruno@clisp.org>
52053
52054         * modules/argp (Depends-on): Add sleep.
52055
52056 2007-05-01  Bruno Haible  <bruno@clisp.org>
52057
52058         * modules/sleep-tests: New file.
52059         * tests/test-sleep.c: New file.
52060
52061         * modules/sleep: New file.
52062         * lib/sleep.c: New file.
52063         * m4/sleep.m4: New file.
52064         * lib/unistd_.h (sleep): New declaration.
52065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
52066         HAVE_SLEEP.
52067         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
52068         * doc/functions/sleep.texi: Document the sleep module.
52069
52070 2007-05-01  Bruno Haible  <bruno@clisp.org>
52071
52072         * lib/sigprocmask.h: Remove file.
52073         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
52074         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
52075         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
52076         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
52077         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
52078         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
52079         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
52080         HAVE_SIGSET_T as a shell variable.
52081         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
52082         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
52083         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
52084         (Depends-on): Add signal. Remove verify.
52085         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
52086         (Include): Mention <signal.h> instead of sigprocmask.h.
52087         * NEWS: Mention the change.
52088         * lib/fatal-signal.c: Don't include sigprocmask.h.
52089
52090 2007-05-01  Bruno Haible  <bruno@clisp.org>
52091
52092         * modules/signal: New file.
52093         * lib/signal_.h: New file.
52094         * m4/signal_h.m4: New file.
52095
52096 2007-05-01  Bruno Haible  <bruno@clisp.org>
52097
52098         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
52099         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
52100         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
52101         HAVE_WCTYPE_CTMP_BUG into wctype.h.
52102
52103 2007-05-01  Bruno Haible  <bruno@clisp.org>
52104
52105         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
52106         configure time.
52107         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
52108         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
52109         * modules/sys_stat (Makefile.am): Substitute their values into
52110         sys/stat.h.
52111
52112 2007-05-01  Bruno Haible  <bruno@clisp.org>
52113
52114         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
52115         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
52116         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
52117
52118 2007-05-01  Bruno Haible  <bruno@clisp.org>
52119
52120         * doc/header/assert.texi: Undo last change: don't mention the gnulib
52121         'assert' module here.
52122
52123 2007-05-01  Bruno Haible  <bruno@clisp.org>
52124
52125         * doc/functions/*.texi: New files.
52126         * doc/functions/google-ranking.txt: New file.
52127         * doc/gnulib.texi (Function Substitutes): New chapter.
52128         (ctime, inet_ntoa): Remove sections.
52129         * doc/ctime.texi: Remove file.
52130         * doc/inet_ntoa.texi: Remove file.
52131         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
52132         dependencies.
52133         (%.info): New rule, specifying a --reference-limit.
52134
52135 2007-05-01  Bruno Haible  <bruno@clisp.org>
52136
52137         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
52138
52139 2007-05-01  Bruno Haible  <bruno@clisp.org>
52140
52141         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
52142         the portability of 'mkdir' to mingw systems.
52143
52144 2007-05-01  Bruno Haible  <bruno@clisp.org>
52145
52146         * doc/headers/google-ranking.txt: New file.
52147
52148 2007-04-30  Eric Blake  <ebb9@byu.net>
52149
52150         Prefer fseeko to fseek.
52151         * modules/getpass (Depends-on): Add fseeko.
52152         * lib/getpass.c (getpass): Use fseeko, not fseek.
52153
52154 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
52155
52156         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
52157         assumes the sorting is stable, while most qsort implementations
52158         are not.  Use argument addresses to ensure they never compare as
52159         equal.
52160
52161         * tests/test-argp-2.sh (usage-indent test): Fix output
52162         (func_compare): Restore diff options
52163         * tests/test-argp.c: Restore #include "progname.h"
52164
52165 2007-04-29  Bruno Haible  <bruno@clisp.org>
52166
52167         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
52168         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52169         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
52170         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52171         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
52172         (configure.ac): Define CHECK_SNPRINTF_POSIX.
52173         (TESTS, check_PROGRAMS): Add test-snprintf.
52174         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
52175         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
52176         (TESTS, check_PROGRAMS): Add test-vsnprintf.
52177         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
52178         assertions that fail on HP-UX, OSF/1, or IRIX.
52179         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
52180
52181 2007-04-29  Bruno Haible  <bruno@clisp.org>
52182
52183         * MODULES.html.sh (posix_functions): Remove 'contents'.
52184
52185 2007-04-29  Karl Berry  <karl@gnu.org>
52186
52187         * config/srclist.txt (gendocs_template_min): new entry.
52188
52189 2007-04-29  Bruno Haible  <bruno@clisp.org>
52190
52191         Work around fpurge bug on BSD systems.
52192         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
52193         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
52194         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
52195         fpurge to rpl_fpurge if the system already has this function.
52196         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
52197         the case where the system already has this function. Correct invariants
52198         on BSD systems.
52199         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
52200         BSD systems.
52201
52202 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
52203
52204         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
52205         proposed by Sven Verdoolaege.
52206
52207         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
52208         options.
52209         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
52210         (usage and help tests): Update
52211
52212 2007-04-29  Bruno Haible  <bruno@clisp.org>
52213
52214         * tests/test-fflush.c (main): Use a file of size 17, not 10.
52215         Print more information in case of failure. Disable a test on BeOS.
52216
52217 2007-04-29  Bruno Haible  <bruno@clisp.org>
52218
52219         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
52220         This helps debugging on systems on which no gdb is available.
52221
52222 2007-04-29  Bruno Haible  <bruno@clisp.org>
52223
52224         * lib/freading.h: Improve comments.
52225         * lib/fwriting.h: Likewise.
52226         * tests/test-freading.c (main): Don't check freading immediately after
52227         repositioning. Needed for glibc.
52228
52229 2007-04-29  Bruno Haible  <bruno@clisp.org>
52230
52231         * lib/freading.c (freading): Trivial simplification.
52232
52233 2007-04-28  Bruno Haible  <bruno@clisp.org>
52234
52235         * tests/test-fwriting.c (main): Also test the interaction between
52236         fflush and fwriting.
52237         * modules/fwriting-tests (Depends-on): Add fflush.
52238
52239         * tests/test-freading.c (main): Also test the interaction between
52240         fflush and freading.
52241         * modules/freading-tests (Depends-on): Add fflush.
52242
52243 2007-04-28  Bruno Haible  <bruno@clisp.org>
52244
52245         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
52246         fseeko and ftello.
52247         Suggested by Eric Blake.
52248
52249 2007-04-28  Jim Meyering  <jim@meyering.net>
52250
52251         Avoid false-negative in gl_STDINT_H's C99 conformance test.
52252         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
52253         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
52254
52255 2007-04-27  Eric Blake  <ebb9@byu.net>
52256
52257         * doc/headers/assert.texi (assert.h): Document assert module use.
52258
52259 2007-04-27  Bruno Haible  <bruno@clisp.org>
52260
52261         * doc/headers/*.texi: New files.
52262         * doc/gnulib.texi (Header File Substitutes): New chapter.
52263         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
52264         dependencies.
52265         (standards.info ,standards.html, standards.dvi): Update dependencies.
52266         (mostlyclean, clean): New targets.
52267
52268 2007-04-27  Bruno Haible  <bruno@clisp.org>
52269
52270         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
52271         * modules/sysexits (Files, Makefile.am): Update.
52272
52273         * lib/sys_socket_.h: Renamed from lib/socket_.h.
52274         * modules/sys_socket (Files, Makefile.am): Update.
52275
52276         * lib/sys_stat_.h: Renamed from lib/stat_.h.
52277         * modules/sys_stat (Files, Makefile.am): Update.
52278
52279 2007-04-27  Eric Blake  <ebb9@byu.net>
52280
52281         * lib/freading.h: Improve comments.
52282         * lib/fwriting.h: Likewise.
52283         * lib/fflush.c: Likewise.
52284
52285         Fix closein for mingw.
52286         * modules/closein-tests: Add tests for closein.
52287         * tests/test-closein.c: New file.
52288         * tests/test-closein.sh: Likewise.
52289         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
52290         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
52291
52292 2007-04-27  Bruno Haible  <bruno@clisp.org>
52293
52294         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
52295         version is < 6.
52296         * lib/math_.h [__DECC]: Likewise.
52297         * lib/stdio_.h [__DECC]: Likewise.
52298         * lib/stdlib_.h [__DECC]: Likewise.
52299         * lib/string_.h [__DECC]: Likewise.
52300         * lib/time_.h [__DECC]: Likewise.
52301         * lib/wchar_.h [__DECC]: Likewise.
52302         * lib/wctype_.h [__DECC]: Likewise.
52303
52304 2007-04-27  Bruno Haible  <bruno@clisp.org>
52305
52306         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
52307
52308 2007-04-27  Bruno Haible  <bruno@clisp.org>
52309
52310         * lib/fflush.c: Add comments.
52311         * modules/fpurge-tests (Depends-on): Add fflush.
52312         * modules/freadable-tests (Depends-on): Likewise.
52313         * modules/fwritable-tests (Depends-on): Likewise.
52314
52315 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
52316
52317         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
52318         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
52319         Report by Bruno Haible <bruno@clisp.org>.
52320
52321 2007-04-26  Eric Blake  <ebb9@byu.net>
52322
52323         Fix fflush on mingw.
52324         * modules/fflush (Depends-on): Add freading.
52325         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
52326         but unread data.
52327
52328 2007-04-26  Eric Blake  <ebb9@byu.net>
52329         and Bruno Haible  <bruno@clisp.org>
52330
52331         Implement freading and fwriting.
52332         * lib/freading.c: New file.
52333         * lib/freading.h: Likewise.
52334         * m4/freading.m4: Likewise.
52335         * modules/freading: Likewise.
52336         * modules/freading-tests: Likewise.
52337         * tests/test-freading.c: Likewise.
52338         * lib/fwriting.c: New file.
52339         * lib/fwriting.h: Likewise.
52340         * m4/fwriting.m4: Likewise.
52341         * modules/fwriting: Likewise.
52342         * modules/fwriting-tests: Likewise.
52343         * tests/test-fwriting.c: Likewise.
52344         * MODULES.html.sh (File stream based Input/Output): Mention them.
52345
52346 2007-04-26  Bruno Haible  <bruno@clisp.org>
52347
52348         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
52349         'long' when we assume it.
52350         Suggested by Eric Blake.
52351
52352 2007-04-26  Bruno Haible  <bruno@clisp.org>
52353
52354         Ensure fseeko, ftello are declared on glibc systems.
52355         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
52356         * modules/fseeko (configure.ac-early): Likewise.
52357         * modules/ftello (configure.ac-early): Likewise.
52358         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
52359         AC_FUNC_FSEEKO for this.
52360         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
52361         (gl_CHECK_FSEEKO): Remove macro.
52362
52363 2007-04-26  Bruno Haible  <bruno@clisp.org>
52364
52365         * tests/test-fflush.c (main): Also check the ftell result after
52366         fflush and fseek/fseeko.
52367         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
52368         file descriptor position cache in the stream.
52369         * lib/fseeko.c (rpl_fseeko): Likewise.
52370
52371 2007-04-26  Bruno Haible  <bruno@clisp.org>
52372
52373         * modules/fflush-tests (Depends-on): Add fseeko.
52374
52375 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
52376             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52377
52378         * lib/argz_.h: ensure error_t definition is obtained in same
52379         mechanism system argz.h would have.
52380         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
52381         argz facilities are known bad.  Err on the side of caution if
52382         cross-compiling.
52383
52384 2007-04-25  Eric Blake  <ebb9@byu.net>
52385
52386         * lib/fpurge.c (includes): Use stdlib.h for free.
52387         * tests/test-fflush.c (main): Also test fflush-fseeko.
52388
52389 2007-04-25  Bruno Haible  <bruno@clisp.org>
52390
52391         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
52392         * lib/fseeko.c: New file.
52393         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
52394         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
52395         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
52396         gl_FUNC_FSEEKO.
52397         (gl_FUNC_FSEEKO): Invoke it.
52398         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
52399         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
52400         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
52401
52402 2007-04-25  Bruno Haible  <bruno@clisp.org>
52403
52404         * modules/fflush (Depends-on): Add ftello.
52405
52406 2007-04-25  Bruno Haible  <bruno@clisp.org>
52407
52408         * modules/ftello-tests: New file.
52409         * tests/test-ftello.c: New file.
52410
52411         * modules/ftello: New file.
52412         * m4/ftello.m4: New file.
52413         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
52414         HAVE_FTELLO.
52415         * lib/stdio_.h (ftello): New declaration.
52416         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
52417         HAVE_FTELLO.
52418
52419 2007-04-25  Bruno Haible  <bruno@clisp.org>
52420
52421         * modules/fseeko-tests: New file.
52422         * tests/test-fseeko.c: New file.
52423
52424         * modules/fseeko: New file.
52425         * m4/fseeko.m4: New file.
52426         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
52427         HAVE_FSEEKO.
52428         * lib/stdio_.h (fseeko): New declaration.
52429         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
52430         HAVE_FSEEKO.
52431
52432 2007-04-25  Bruno Haible  <bruno@clisp.org>
52433
52434         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
52435
52436 2007-04-25  Bruno Haible  <bruno@clisp.org>
52437
52438         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
52439         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
52440         * tests/test-unistd.c: Likewise.
52441         * tests/test-fcntl.c: Likewise.
52442
52443 2007-04-23  Eric Blake  <ebb9@byu.net>
52444
52445         * lib/fflush.c: Fix missing include.
52446         Reported by Bruno Haible.
52447
52448 2007-04-23  Bruno Haible  <bruno@clisp.org>
52449
52450         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
52451         Reported by Eric Blake.
52452
52453 2007-04-23  Bruno Haible  <bruno@clisp.org>
52454
52455         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
52456
52457 2007-04-23  Bruno Haible  <bruno@clisp.org>
52458
52459         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
52460
52461 2007-04-23  Bruno Haible  <bruno@clisp.org>
52462
52463         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
52464         Needed on HP-UX 11.
52465
52466 2007-04-16  Eric Blake  <ebb9@byu.net>
52467
52468         Make fflush rely on fpurge.
52469         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
52470         open coding all variants.
52471         * modules/fflush (Depends-on): Add fpurge and unistd.
52472         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
52473         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
52474
52475         Fix --with-tests compilation on cygwin.
52476         * modules/argmatch-tests (Makefile.am): List gnulib library first
52477         in LDADD.
52478         * modules/argp-tests (Makefile.am): Likewise.
52479         * modules/array-list-tests (Makefile.am): Likewise.
52480         * modules/array-oset-tests (Makefile.am): Likewise.
52481         * modules/avltree-list-tests (Makefile.am): Likewise.
52482         * modules/avltree-oset-tests (Makefile.am): Likewise.
52483         * modules/avltreehash-list-tests (Makefile.am): Likewise.
52484         * modules/carray-list-tests (Makefile.am): Likewise.
52485         * modules/dirname-tests (Makefile.am): Likewise.
52486         * modules/frexp-tests (Makefile.am): Likewise.
52487         * modules/isnanl-tests (Makefile.am): Likewise.
52488         * modules/linked-list-tests (Makefile.am): Likewise.
52489         * modules/linkedhash-list-tests (Makefile.am): Likewise.
52490         * modules/lock-tests (Makefile.am): Likewise.
52491         * modules/rbtree-list-tests (Makefile.am): Likewise.
52492         * modules/rbtree-oset-tests (Makefile.am): Likewise.
52493         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
52494         * modules/tls-tests (Makefile.am): Likewise.
52495         * modules/tsearch-tests (Makefile.am): Likewise.
52496         * modules/xvasprintf-tests (Makefile.am): Likewise.
52497
52498         Fix fpurge for cygwin.
52499         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
52500         value.
52501         * modules/fpurge-tests (Depends-on): Clean up trash.
52502
52503 2007-04-16  Simon Josefsson  <simon@josefsson.org>
52504
52505         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
52506
52507         * m4/autobuild.m4: Re-indent.
52508
52509 2007-04-13  Bruno Haible  <bruno@clisp.org>
52510
52511         * modules/fpurge-tests: New file.
52512         * tests/test-fpurge.c: New file.
52513
52514         * modules/fpurge: New file.
52515         * lib/fpurge.h: New file.
52516         * lib/fpurge.c: New file.
52517         * m4/fpurge.m4: New file.
52518
52519 2007-04-13  Bruno Haible  <bruno@clisp.org>
52520
52521         * modules/fbufmode-tests: New file.
52522         * tests/test-fbufmode.c: New file.
52523
52524         * modules/fbufmode: New file.
52525         * lib/fbufmode.h: New file.
52526         * lib/fbufmode.c: New file.
52527         * m4/fbufmode.m4: New file.
52528
52529 2007-04-13  Bruno Haible  <bruno@clisp.org>
52530
52531         * modules/fwritable-tests: New file.
52532         * tests/test-fwritable.c: New file.
52533
52534         * modules/fwritable: New file.
52535         * lib/fwritable.h: New file.
52536         * lib/fwritable.c: New file.
52537         * m4/fwritable.m4: New file.
52538
52539 2007-04-13  Bruno Haible  <bruno@clisp.org>
52540
52541         * modules/freadable-tests: New file.
52542         * tests/test-freadable.c: New file.
52543
52544         * modules/freadable: New file.
52545         * lib/freadable.h: New file.
52546         * lib/freadable.c: New file.
52547         * m4/freadable.m4: New file.
52548
52549 2007-04-13  Bruno Haible  <bruno@clisp.org>
52550
52551         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
52552         MOSTLYCLEANFILES.
52553
52554 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
52555
52556         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
52557         gzip bootstrap.conf to avoid dragging in i18n machinery.
52558         (gnulib_tool_option): Use it.
52559
52560 2007-04-13  Bruno Haible  <bruno@clisp.org>
52561
52562         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
52563         %F directives.
52564         * tests/test-vasprintf-posix.c (test_function): Likewise.
52565         * tests/test-snprintf-posix.h (test_function): Likewise.
52566         * tests/test-sprintf-posix.h (test_function): Likewise.
52567         * tests/test-fprintf-posix.h (test_function): Likewise.
52568         * tests/test-printf-posix.h (test_function): Likewise.
52569         * tests/test-fprintf-posix.out: Likewise.
52570
52571 2007-04-13  Bruno Haible  <bruno@clisp.org>
52572
52573         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
52574         * modules/tls-tests (configure.ac): Likewise.
52575         Reported by Arto C. Nirkko <anirkko@insel.ch>.
52576
52577 2007-04-13  Bruno Haible  <bruno@clisp.org>
52578
52579         * lib/tls.c (glthread_tls_get): Fix return type.
52580         Patch by Arto C. Nirkko <anirkko@insel.ch>.
52581
52582 2007-04-12  Eric Blake  <ebb9@byu.net>
52583
52584         * modules/gettime (Depends-on): Remove gettime.
52585         Reported by Dmitry V. Levin.
52586
52587 2007-04-12  Bruno Haible  <bruno@clisp.org>
52588
52589         * modules/fflush (Include): Mention <stdio.h>.
52590         * modules/strtoimax (Include): Mention <inttypes.h>.
52591         * modules/strtoumax (Include): Likewise.
52592
52593 2007-04-12  Eric Blake  <ebb9@byu.net>
52594
52595         * .cvsignore: New file.
52596         * .gitignore: Likewise.
52597
52598 2007-04-12  Bruno Haible  <bruno@clisp.org>
52599
52600         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
52601         not before, since $(LDADD) often contains libgnu.a.
52602         * modules/striconv-tests (test_striconv_LDADD): Likewise.
52603         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
52604         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
52605         Needed on Cygwin.
52606
52607 2007-04-12  Eric Blake  <ebb9@byu.net>
52608
52609         Work around glibc's failure to flush stdin on fclose.
52610         * lib/closein.c (close_stdin): Flush stdin before closing.
52611
52612         Work around glibc's failure to reset seekable stdin on exit.
52613         * modules/closein: New module.
52614         * lib/closein.c: New file.
52615         * lib/closein.h: Likewise.
52616         * m4/closein.m4: Likewise.
52617         * MODULES.html.sh (File stream based Input/Output): Document it.
52618
52619 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52620
52621         * gnulib-tool: Rename generated 'autobuild' script to
52622         'do-autobuild' in --create-megatestdir output.
52623
52624         * doc/gnulib.texi (Build robot for gnulib): Fix.
52625
52626 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52627
52628         * modules/sysexits (Depends-on): Add absolute-header.
52629
52630 2007-04-12  Eric Blake  <ebb9@byu.net>
52631
52632         No need to preserve errno on success.
52633         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
52634         Reported by Bruno Haible.
52635
52636 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52637
52638         * MODULES.html.sh (Support for maintaining and releasing
52639         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
52640
52641 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52642
52643         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
52644
52645 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52646
52647         * modules/autobuild: New module.
52648
52649         * m4/autobuild.m4: New file.
52650
52651 2007-04-11  Bruno Haible  <bruno@clisp.org>
52652
52653         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
52654         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
52655         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
52656         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
52657         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52658         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52659         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52660         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52661         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52662         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52663         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
52664         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52665         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52666         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
52667         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52668         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52669         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
52670         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52671         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52672         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
52673         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52674         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52675         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
52676         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52677         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52678         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
52679         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52680         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52681         Reported by Eric Blake.
52682
52683 2007-04-11  Bruno Haible  <bruno@clisp.org>
52684
52685         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
52686
52687 2007-04-10  Bruno Haible  <bruno@clisp.org>
52688
52689         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
52690         for NaN and Infinity. Needed on FreeBSD 6.1.
52691         * tests/test-vasnprintf-posix.c (test_function): Undo last change
52692         regarding results for "%010a" of Infinity and NaN.
52693         * tests/test-vasprintf-posix.c (test_function): Likewise.
52694         * tests/test-snprintf-posix.h (test_function): Likewise.
52695         * tests/test-sprintf-posix.h (test_function): Likewise.
52696         * tests/test-fprintf-posix.h (test_function): Likewise.
52697         * tests/test-printf-posix.h (test_function): Likewise.
52698         * tests/test-fprintf-posix.out: Likewise.
52699
52700 2007-04-10  Bruno Haible  <bruno@clisp.org>
52701
52702         * modules/locale-tests: New file.
52703         * tests/test-locale.c: New file.
52704
52705         * modules/locale: New file.
52706         * lib/locale_.h: New file.
52707         * m4/locale_h.m4: New file.
52708
52709 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
52710             Bruno Haible  <bruno@clisp.org>
52711
52712         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
52713         be determined, test for availability of the copysignf, copysign,
52714         copysignl functions.
52715         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
52716         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
52717         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
52718
52719 2007-04-09  Eric Blake  <ebb9@byu.net>
52720
52721         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
52722         * modules/stdio (Makefile.am): Support fflush.
52723         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52724         * modules/fflush: New file.
52725         * lib/fflush.c: Likewise.
52726         * m4/fflush.m4: Likewise.
52727         * modules/fflush-tests: New test.
52728         * tests/test-fflush.c: Likewise.
52729         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
52730
52731 2007-04-06  Bruno Haible  <bruno@clisp.org>
52732
52733         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
52734         (VASNPRINTF): Use signbit for faster determination whether to print a
52735         minus sign.
52736         * modules/vasnprintf (Files): Remove lib/float+.h.
52737         * modules/fprintf-posix (Depends-on): Add signbit.
52738         * modules/snprintf-posix (Depends-on): Likewise.
52739         * modules/sprintf-posix (Depends-on): Likewise.
52740         * modules/vasnprintf-posix (Depends-on): Likewise.
52741         * modules/vasprintf-posix (Depends-on): Likewise.
52742         * modules/vfprintf-posix (Depends-on): Likewise.
52743         * modules/vsnprintf-posix (Depends-on): Likewise.
52744         * modules/vsprintf-posix (Depends-on): Likewise.
52745
52746 2007-04-06  Bruno Haible  <bruno@clisp.org>
52747
52748         * tests/test-frexp.c (main): Test also the sign bit of zero results.
52749         * tests/test-frexpl.c (main): Likewise.
52750         * tests/test-ldexpl.c (main): Likewise.
52751         * modules/frexp-tests (Depends-on): Add signbit.
52752         * modules/frexpl-tests (Depdends-on): Likewise.
52753         * modules/ldexpl-tests (Depdends-on): Likewise.
52754
52755 2007-04-06  Bruno Haible  <bruno@clisp.org>
52756
52757         * modules/signbit-tests: New file.
52758         * tests/test-signbit.c: New file.
52759
52760         * modules/signbit: New file.
52761         * lib/signbitf.c: New file.
52762         * lib/signbitd.c: New file.
52763         * lib/signbitl.c: New file.
52764         * m4/signbit.m4: New file.
52765         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
52766         (signbit): New macro.
52767         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
52768         REPLACE_SIGNBIT.
52769         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
52770         REPLACE_FREXPL into math.h.
52771
52772 2007-04-06  Bruno Haible  <bruno@clisp.org>
52773
52774         * modules/isnanf-nolibm-tests: New file.
52775         * tests/test-isnanf.c: New file.
52776
52777         * modules/isnanf-nolibm: New file.
52778         * lib/isnanf.h: New file.
52779         * lib/isnanf.c: New file.
52780         * lib/isnan.c: Consider the USE_FLOAT macro.
52781         * m4/isnanf.m4: New file.
52782
52783 2007-04-06  Bruno Haible  <bruno@clisp.org>
52784
52785         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
52786         (Link): New section.
52787
52788         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
52789
52790 2007-04-06  Bruno Haible  <bruno@clisp.org>
52791
52792         Assume the 'long double' type.
52793         * m4/longdouble.m4: Remove file.
52794         * config/srclist.txt: Don't mention longdouble.m4.
52795         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
52796         * lib/float+.h: Likewise.
52797         * lib/frexp.c: Likewise.
52798         * lib/printf-args.h: Likewise.
52799         * lib/printf-args.c: Likewise.
52800         * lib/printf-frexp.c: Likewise.
52801         * lib/printf-parse.c: Likewise.
52802         * lib/vasnprintf.c: Likewise.
52803         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
52804         * m4/intl.m4: Likewise.
52805         * m4/isnanl.m4: Likewise.
52806         * m4/printf.m4: Likewise.
52807         * m4/printf-frexpl.m4: Likewise.
52808         * m4/vasnprintf.m4: Likewise.
52809         * modules/allocsa (Files): Remove m4/longdouble.m4.
52810         * modules/gettext (Files): Likewise.
52811         * modules/relocatable-prog-wrapper (Files): Likewise.
52812         * modules/vasnprintf (Files): Likewise.
52813         * modules/isnanl (Files): Likewise.
52814         (Include): Simplify.
52815         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
52816         (Include): Simplify.
52817         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
52818         (Include): Simplify.
52819         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
52820         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52821         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
52822         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52823         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
52824         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52825         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
52826         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52827         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
52828         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52829         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
52830         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52831         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
52832         * tests/test-isnanl.c: Likewise.
52833         * tests/test-snprintf-posix.h: Likewise.
52834         * tests/test-sprintf-posix.h: Likewise.
52835         * tests/test-vasnprintf-posix.c: Likewise.
52836         * tests/test-vasnprintf-posix2.c: Likewise.
52837         * tests/test-vasprintf-posix.c: Likewise.
52838
52839 2007-04-06  Bruno Haible  <bruno@clisp.org>
52840
52841         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
52842         * lib/math_.h [__DECC]: Include the overridden include file through
52843         #include_next, outside the double-inclusion guard.
52844         * lib/stdio_.h [__DECC]: Likewise.
52845         * lib/stdlib_.h [__DECC]: Likewise.
52846         * lib/string_.h [__DECC]: Likewise.
52847         * lib/time_.h [__DECC]: Likewise.
52848         * lib/wchar_.h [__DECC]: Likewise.
52849         * lib/wctype_.h [__DECC]: Likewise.
52850         * lib/inttypes_.h [__DECC]: Likewise.
52851         Reported by Albert Chin <china@thewrittenword.com> in
52852         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
52853
52854 2007-04-04  Eric Blake  <ebb9@byu.net>
52855
52856         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
52857         1.5.x.
52858
52859 2007-04-04  Bruno Haible  <bruno@clisp.org>
52860
52861         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
52862         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
52863
52864 2007-04-04  Bruno Haible  <bruno@clisp.org>
52865
52866         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
52867         results for "%010a" of Infinity and NaN.
52868         * tests/test-vasprintf-posix.c (test_function): Likewise.
52869         * tests/test-snprintf-posix.h (test_function): Likewise.
52870         * tests/test-sprintf-posix.h (test_function): Likewise.
52871         * tests/test-fprintf-posix.h (test_function): Remove these tests.
52872         * tests/test-printf-posix.h (test_function): Likewise.
52873         * tests/test-fprintf-posix.out: Update.
52874         Needed for FreeBSD 6.1.
52875
52876 2007-04-04  Bruno Haible  <bruno@clisp.org>
52877
52878         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
52879         directly used by the gnulib modules nor by gnulib-tool.
52880
52881 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
52882
52883         * DEPENDENCIES: Give overall description of version dependency
52884         desirability.  Use more-typical names for apps.
52885         Add shell, coreutils, diffutils, grep, tar, gzip.
52886
52887 2007-04-04  Simon Josefsson  <simon@josefsson.org>
52888
52889         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
52890
52891 2007-04-04  Karl Berry  <karl@gnu.org>
52892
52893         * MODULES.html.sh (func_module): missing '.
52894
52895 2007-04-03  Bruno Haible  <bruno@clisp.org>
52896
52897         * modules/argmatch-tests (Makefile.am): New variable
52898         test_argmatch_LDADD.
52899         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
52900         * modules/array-list-tests (Makefile.am): New variable
52901         test_array_list_LDADD.
52902         * modules/array-oset-tests (Makefile.am): New variable
52903         test_array_oset_LDADD.
52904         * modules/avltree-list-tests (Makefile.am): New variable
52905         test_avltree_list_LDADD.
52906         * modules/avltree-oset-tests (Makefile.am): New variable
52907         test_avltree_oset_LDADD.
52908         * modules/avltreehash-list-tests (Makefile.am): New variable
52909         test_avltreehash_list_LDADD.
52910         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
52911         test_canonicalize_lgpl_LDADD.
52912         * modules/carray-list-tests (Makefile.am): New variable
52913         test_carray_list_LDADD.
52914         * modules/dirname-tests (Makefile.am): New variable
52915         test_dirname_LDADD.
52916         * modules/linked-list-tests (Makefile.am): New variable
52917         test_linked_list_LDADD.
52918         * modules/linkedhash-list-tests (Makefile.am): New variable
52919         test_linkedhash_list_LDADD.
52920         * modules/rbtree-list-tests (Makefile.am): New variable
52921         test_rbtree_list_LDADD.
52922         * modules/rbtree-oset-tests (Makefile.am): New variable
52923         test_rbtree_oset_LDADD.
52924         * modules/rbtreehash-list-tests (Makefile.am): New variable
52925         test_rbtreehash_list_LDADD.
52926         * modules/xvasprintf-tests (Makefile.am): New variable
52927         test_xvasprintf_LDADD.
52928         Reported by Eric Blake.
52929
52930 2007-04-03  Eric Blake  <ebb9@byu.net>
52931
52932         * DEPENDENCIES: Weaken m4 requirements.
52933
52934 2007-04-03  Bruno Haible  <bruno@clisp.org>
52935
52936         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
52937         * modules/isnanl-tests (configure.ac): Likewise.
52938
52939 2007-04-03  Ben Pfaff  <blp@gnu.org>
52940
52941         * modules/iconv_open: Add $(srcdir)/ to source directory
52942         references in Makefile fragments that call gperf, to fix VPATH
52943         builds.
52944
52945 2007-04-03  Bruno Haible  <bruno@clisp.org>
52946
52947         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
52948         * lib/ldexpl.c: Undo last change.
52949
52950 2007-04-03  Bruno Haible  <bruno@clisp.org>
52951
52952         * modules/printf-frexpl (Depends-on): Undo last change.
52953         (Files): Add m4/ldexpl.m4.
52954
52955 2007-04-03  Bruno Haible  <bruno@clisp.org>
52956
52957         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
52958         * modules/isnanl (Link): New section.
52959
52960         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
52961         * modules/frexp (Link): New section.
52962
52963         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
52964         * modules/frexpl (Link): New section.
52965
52966         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
52967         * modules/ldexpl (Link): New section.
52968
52969 2007-04-03  Bruno Haible  <bruno@clisp.org>
52970
52971         * modules/TEMPLATE-EXTENDED: New file.
52972         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
52973
52974 2007-04-03  Bruno Haible  <bruno@clisp.org>
52975
52976         * DEPENDENCIES: New file.
52977         Suggested by Simon Josefsson.
52978
52979 2007-04-03  Bruno Haible  <bruno@clisp.org>
52980
52981         * doc/gnulib.texi: Escape @.
52982
52983 2007-04-03  James Youngman  <jay@gnu.org>
52984         and Paul Eggert  <eggert@cs.ucla.edu>
52985
52986         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
52987         birthtime on all systems that have birthtime, not just those which
52988         use st_birthtimensec rather than st_birthtim.  Putting zero in
52989         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
52990         that the birth time is not available for files on an NFS mount.
52991
52992 2007-04-03  Simon Josefsson  <simon@josefsson.org>
52993
52994         * modules/memxor: Move back from crypto/, suggested by Bruno.
52995         * modules/crypto/hmac-sha1: Fix memxor dependency.
52996
52997         * modules/crypto/gc: Moved from ../.
52998
52999 2007-04-02  Eric Blake  <ebb9@byu.net>
53000
53001         * lib/ldexpl.c (includes): Avoid libm.
53002
53003         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
53004
53005 2007-04-02  Bruno Haible  <bruno@clisp.org>
53006
53007         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
53008         on IRIX.
53009
53010 2007-04-02  Bruno Haible  <bruno@clisp.org>
53011
53012         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
53013         x86 or x86_64 platforms running MacOS X.
53014         Reported by Ryan Schmidt <@ryandesign.com>.
53015
53016 2007-04-02  Bruno Haible  <bruno@clisp.org>
53017
53018         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
53019         i386.
53020
53021 2007-04-01  Simon Josefsson  <simon@josefsson.org>
53022
53023         * modules/crypto/arcfour: Moved from ../.
53024         * modules/crypto/arcfour-tests: Moved from ../.
53025         * modules/crypto/arctwo: Moved from ../.
53026         * modules/crypto/arctwo-tests: Moved from ../.
53027         * modules/crypto/des: Moved from ../.
53028         * modules/crypto/des-tests: Moved from ../.
53029         * modules/crypto/gc-arcfour: Moved from ../.
53030         * modules/crypto/gc-arcfour-tests: Moved from ../.
53031         * modules/crypto/gc-arctwo: Moved from ../.
53032         * modules/crypto/gc-arctwo-tests: Moved from ../.
53033         * modules/crypto/gc-des: Moved from ../.
53034         * modules/crypto/gc-des-tests: Moved from ../.
53035         * modules/crypto/gc-hmac-md5: Moved from ../.
53036         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
53037         * modules/crypto/gc-hmac-sha1: Moved from ../.
53038         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
53039         * modules/crypto/gc-md2: Moved from ../.
53040         * modules/crypto/gc-md2-tests: Moved from ../.
53041         * modules/crypto/gc-md4: Moved from ../.
53042         * modules/crypto/gc-md4-tests: Moved from ../.
53043         * modules/crypto/gc-md5: Moved from ../.
53044         * modules/crypto/gc-md5-tests: Moved from ../.
53045         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
53046         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
53047         * modules/crypto/gc-random: Moved from ../.
53048         * modules/crypto/gc-rijndael: Moved from ../.
53049         * modules/crypto/gc-rijndael-tests: Moved from ../.
53050         * modules/crypto/gc-sha1: Moved from ../.
53051         * modules/crypto/gc-sha1-tests: Moved from ../.
53052         * modules/crypto/gc-tests: Moved from ../.
53053         * modules/crypto/hmac-md5: Moved from ../.
53054         * modules/crypto/hmac-md5-tests: Moved from ../.
53055         * modules/crypto/hmac-sha1: Moved from ../.
53056         * modules/crypto/hmac-sha1-tests: Moved from ../.
53057         * modules/crypto/md2: Moved from ../.
53058         * modules/crypto/md2-tests: Moved from ../.
53059         * modules/crypto/md4: Moved from ../.
53060         * modules/crypto/md4-tests: Moved from ../.
53061         * modules/crypto/md5: Moved from ../.
53062         * modules/crypto/md5-tests: Moved from ../.
53063         * modules/crypto/memxor: Moved from ../.
53064         * modules/crypto/rijndael: Moved from ../.
53065         * modules/crypto/rijndael-tests: Moved from ../.
53066         * modules/crypto/sha1: Moved from ../.
53067
53068 2007-03-30  James Youngman  <jay@gnu.org>
53069
53070         * tests/test-stat-time.c (prepare_test): use chmod() rather than
53071         rename() to change the ctime of a file (because ctime is unaffected
53072         by rename on jfs2 on AIX 5.1).
53073         (main): Start by doing cleanup, in case a previous run failed leaving
53074         test files behind.
53075
53076 2007-03-31  Bruno Haible  <bruno@clisp.org>
53077
53078         Support old proprietary implementations of iconv.
53079         * modules/iconv_open: New file.
53080         * lib/iconv_.h: New file.
53081         * m4/iconv_h.m4: New file.
53082         * lib/iconv_open.c: New file.
53083         * lib/iconv_open-aix.gperf: New file.
53084         * lib/iconv_open-hpux.gperf: New file.
53085         * lib/iconv_open-irix.gperf: New file.
53086         * lib/iconv_open-osf.gperf: New file.
53087         * m4/iconv_open.m4: New file.
53088         * modules/linebreak (Depends-on): Add iconv_open.
53089         * modules/striconv (Depends-on): Likewise.
53090         * modules/striconveh (Depends-on): Likewise.
53091         * modules/unicodeio (Depends-on): Likewise.
53092         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
53093         (iconv_t)(-1).
53094         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
53095         conversion if cd is (iconv_t)(-1).
53096         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
53097         is not possible.
53098
53099 2007-03-31  Bruno Haible  <bruno@clisp.org>
53100
53101         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
53102         work on Solaris either. Protect also second use of "autodetect_jp".
53103
53104 2007-03-31  Bruno Haible  <bruno@clisp.org>
53105
53106         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
53107         the function is not present.
53108
53109 2007-03-31  Bruno Haible  <bruno@clisp.org>
53110
53111         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
53112         the function is not present.
53113
53114 2007-03-31  Bruno Haible  <bruno@clisp.org>
53115
53116         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
53117         a bug in HP-UX iconv_open().
53118
53119 2007-03-31  Bruno Haible  <bruno@clisp.org>
53120
53121         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
53122         (Mathematics <math.h>): New section, add fpieee.
53123         (Input/output <stdio.h>): Add fseterr.
53124         (Mathematics <math.h>): New section, add printf-frexp.
53125         (Container data structures): Add sublist.
53126         (Core language properties): Add fpucw, inline.
53127         (Functions for greatest-width integer types <inttypes.h>): Add
53128         imaxabs, imaxdiv, inttypes.
53129         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
53130         isnanl-nolibm, ldexp.
53131         (Mathematics <math.h>): New section, add printf-frexpl.
53132         (Support for systems lacking POSIX:2001): Add fprintf-posix,
53133         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
53134         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
53135         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
53136         (Unicode string functions): Add unistr/u*-mbtoucr.
53137         (Java): Add javacomp-script, javaexec-script.
53138         (C#): Add csharpcomp-script, csharpexec-script.
53139         (Support for building libraries and executables): Add havelib,
53140         relocatable-*.
53141         (Support for maintaining and releasing projects): Renamed from
53142         'Support for maintaining and release projects'. Add announce-gen.
53143
53144 2007-03-31  Bruno Haible  <bruno@clisp.org>
53145
53146         * README: Talk primarily about git.
53147         (git and CVS): Renamed from CVS.
53148         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
53149         gnulib is available through git.
53150         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
53151
53152 2007-03-30  Bruno Haible  <bruno@clisp.org>
53153
53154         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
53155         * lib/poll_.h: Likewise.
53156         * lib/stat_.h: Likewise.
53157         * lib/sys_time_.h: Likewise.
53158         * lib/sysexit_.h: Likewise.
53159         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
53160         * lib/stdbool_.h: Likewise.
53161         * lib/byteswap_.h: Add double-inclusion guard.
53162
53163 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
53164
53165         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
53166
53167 2007-03-30  Karl Berry  <karl@gnu.org>
53168
53169         * config/srclist-update: double space after USA in the license
53170         substitution, since that's how it's usually (?) written.
53171
53172 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53173
53174         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
53175         reported by Bruno Haible.
53176
53177 2007-03-29  Bruno Haible  <bruno@clisp.org>
53178
53179         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
53180         a bug in AIX iconv().
53181
53182 2007-03-29  Bruno Haible  <bruno@clisp.org>
53183
53184         * modules/ldexpl-tests: New file.
53185         * tests/test-ldexpl.c: New file.
53186
53187 2007-03-29  Bruno Haible  <bruno@clisp.org>
53188
53189         * lib/ldexpl.c: Include fpucw.h.
53190         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
53191         multiplication.
53192         * modules/ldexpl (Depends-on): Add fpucw.
53193
53194 2007-03-29  Bruno Haible  <bruno@clisp.org>
53195
53196         * modules/ldexpl: New file.
53197         * m4/ldexpl.m4: New file.
53198         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
53199         set.
53200         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
53201         REPLACE_LDEXPL.
53202         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
53203         REPLACE_LDEXPL.
53204         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
53205         gl_FUNC_LDEXPL_WORKS.
53206         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
53207         * modules/mathl (Files): Remove lib/ldexpl.c.
53208         (Depends-on): Add ldexpl.
53209
53210 2007-03-29  Bruno Haible  <bruno@clisp.org>
53211
53212         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
53213
53214 2007-03-29  Bruno Haible  <bruno@clisp.org>
53215
53216         * tests/test-striconveh.c (main): Don't assume that a direct conversion
53217         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
53218         and possibly also HP-UX.
53219         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
53220         work on AIX, IRIX, HP-UX, OSF/1.
53221         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
53222         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
53223         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
53224         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
53225         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
53226         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
53227
53228 2007-03-29  Bruno Haible  <bruno@clisp.org>
53229
53230         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
53231
53232 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
53233
53234         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
53235         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
53236
53237 2007-03-29  Eric Blake  <ebb9@byu.net>
53238
53239         * lib/acl-internal.h: Remove redundant include.
53240         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
53241         Cygwin when a file is locked.
53242
53243 2007-03-29  Bruno Haible  <bruno@clisp.org>
53244
53245         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
53246         file.
53247         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
53248
53249 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
53250
53251         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
53252         try to remove a parent directory if the child couldn't be removed
53253         (except for the first rmdir, which could fail because the child
53254         doesn't exist).  Problem reported by Jeff Blaine in
53255         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
53256
53257 2007-03-28  Bruno Haible  <bruno@clisp.org>
53258
53259         * lib/striconveh.c (utf8conv_carefully): New function.
53260         (mem_cd_iconveh_internal): Invoke it.
53261
53262 2007-03-28  Bruno Haible  <bruno@clisp.org>
53263
53264         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
53265         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
53266         input.
53267         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
53268         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
53269         unistr/u8-uctomb.
53270
53271 2007-03-28  Bruno Haible  <bruno@clisp.org>
53272
53273         * modules/unistr/u8-mbtoucr: New file.
53274         * lib/unistr/u8-mbtoucr.c: New file.
53275         * modules/unistr/u16-mbtoucr: New file.
53276         * lib/unistr/u16-mbtoucr.c: New file.
53277         * modules/unistr/u16-mbtoucr: New file.
53278         * lib/unistr/u16-mbtoucr.c: New file.
53279         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
53280
53281 2007-03-27  Simon Josefsson  <simon@josefsson.org>
53282             Bruno Haible  <bruno@clisp.org>
53283
53284         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
53285         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
53286         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
53287
53288         * m4/stdio_h.m4: Add stubs for vasprintf too.
53289
53290         * modules/stdio: Support vasprintf in sed command.
53291
53292         * modules/vasprintf: Depend on stdio for prototypes.  Remove
53293         vasprintf.h.  Add stdio module indicator.
53294
53295         * lib/stdio_.h: Declare asprintf and vasprintf, based on
53296         vasprintf.h.
53297
53298         * lib/vasprintf.h: File removed.
53299
53300         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
53301         * lib/vasprintf.c: Ditto.
53302         * lib/xvasprintf.c: Ditto.
53303         * tests/test-vasprintf-posix.c: Ditto.
53304         * tests/test-vasprintf.c: Ditto.
53305
53306 2007-03-27  Bruno Haible  <bruno@clisp.org>
53307
53308         Make vasnprintf multithread-safe.
53309         * lib/vasnprintf.c (decimal_point_char): New function.
53310         (VASNPRINTF): Use it.
53311         Suggested by Simon Josefsson.
53312
53313 2007-03-27  Eric Blake  <ebb9@byu.net>
53314
53315         Support sub-second birthtime on cygwin.
53316         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
53317         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
53318         (get_stat_birthtime): Also work with st_birthtim.
53319
53320 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
53321
53322         * lib/stat-time.h (USE_BIRTHTIME): Remove.
53323         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
53324         (get_stat_birthtime_ns): Do not try to use "spare" fields.
53325         (get_stat_birthtime_ns): Simplify compile-time tests.
53326         (get_stat_birthtime): Change the API to look like
53327         get_stat_mtime etc., except return a negative tv_nsec on error.
53328         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
53329         Don't check for "spare" fields.
53330         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
53331         or for struct stat.st_birthtime, as these tests aren't used.
53332         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
53333
53334 2007-03-27  Bruno Haible  <bruno@clisp.org>
53335
53336         * lib/stat-time.h: Include <sys/stat.h>.
53337
53338 2007-03-27  James Youngman  <jay@gnu.org>
53339
53340         * lib/stat-time.h (get_stat_birthtime): New function for
53341           retrieving st_birthtime as provided by UFS2 (hence *BSD).
53342         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
53343           and its variants.
53344         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
53345         * modules/stat-time-test: New file.
53346         * tests/test-stat-time.c: New test, devised by Bruno Haible.
53347
53348 2007-03-26  Bruno Haible  <bruno@clisp.org>
53349
53350         Better support of signalling NaNs.
53351         * lib/atanl.c: Include isnanl.h.
53352         (atanl): Perform test for NaN at the beginning of the function and
53353         through a call to isnanl.
53354         * lib/cosl.c: Include isnanl.h.
53355         (cosl): Perform test for NaN at the beginning of the function and
53356         through a call to isnanl.
53357         * lib/ldexpl.c: Include isnanl.h.
53358         (ldexpl): Perform test for NaN through a call to isnanl.
53359         * lib/logl.c: Include isnanl.h.
53360         (logl): Perform test for NaN at the beginning of the function and
53361         through a call to isnanl.
53362         * lib/sinl.c: Include isnanl.h.
53363         (sinl): Perform test for NaN at the beginning of the function and
53364         through a call to isnanl.
53365         * lib/sqrtl.c: Include isnanl.h.
53366         (sqrtl): Perform test for NaN at the beginning of the function and
53367         through a call to isnanl.
53368         * lib/tanl.c: Include isnanl.h.
53369         (tanl): Perform test for NaN at the beginning of the function and
53370         through a call to isnanl.
53371         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
53372         * modules/mathl (Depends-on): Add isnanl.
53373
53374 2007-03-26  Eric Blake  <ebb9@byu.net>
53375
53376         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
53377         regression in logic sense of previous patch.
53378
53379 2007-03-26  Bruno Haible  <bruno@clisp.org>
53380
53381         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
53382         unportable shell command "if ! ...".
53383         Reported by Ralf Wildenhues.
53384
53385 2007-03-25  Bruno Haible  <bruno@clisp.org>
53386
53387         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
53388         <sysexits.h> file, and only add EX_CONFIG.
53389         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
53390         absolute file name and whether it is sufficient. Substitute also
53391         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
53392         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
53393         ABSOLUTE_SYSEXITS_H into sysexits.h.
53394
53395 2007-03-25  Bruno Haible  <bruno@clisp.org>
53396
53397         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
53398         hints is NULL.
53399
53400 2007-03-25  Bruno Haible  <bruno@clisp.org>
53401
53402         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
53403         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
53404
53405 2007-03-25  Bruno Haible  <bruno@clisp.org>
53406
53407         * lib/vasnprintf.c: Include langinfo.h.
53408         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
53409         multithread-safe.
53410         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
53411         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
53412         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53413         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53414         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53415         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53416         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53417         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
53418         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53419         Reported by Simon Josefsson.
53420
53421 2007-03-25  Bruno Haible  <bruno@clisp.org>
53422
53423         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
53424         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
53425         * modules/vasnprintf (Depends-on): Add stdint.
53426
53427 2007-03-25  Bruno Haible  <bruno@clisp.org>
53428
53429         * modules/fpieee: New file.
53430         * m4/fpieee.m4: New file.
53431         * modules/isnan-nolibm (Depends-on): Add fpieee.
53432         * modules/isnanl-nolibm (Depends-on): Add fpieee.
53433         * modules/isnanl (Depends-on): Add fpieee.
53434
53435 2007-03-25  Bruno Haible  <bruno@clisp.org>
53436
53437         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
53438
53439 2007-03-25  Bruno Haible  <bruno@clisp.org>
53440
53441         Avoid test failures on IRIX 6.5.
53442         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
53443         (main): Use it.
53444         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
53445         macros.
53446         (main): Use them.
53447
53448 2007-03-25  Bruno Haible  <bruno@clisp.org>
53449
53450         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
53451         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
53452         exists but doesn't work.
53453         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
53454         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
53455         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
53456         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
53457         math.h.
53458
53459 2007-03-25  Bruno Haible  <bruno@clisp.org>
53460
53461         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
53462         returns inf. Needed on IRIX 6.5.
53463
53464 2007-03-25  Bruno Haible  <bruno@clisp.org>
53465
53466         * tests/test-frexpl.c: Include isnanl-nolibm.h.
53467         (main): Use isnanl instead of x != x idiom.
53468         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
53469
53470         * tests/test-frexp.c: Include isnan.h.
53471         (main): Use isnan instead of x != x idiom.
53472         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
53473
53474 2007-03-25  Bruno Haible  <bruno@clisp.org>
53475
53476         * tests/test-frexp.c (NaN): New function/macro.
53477         (main): Use it instead of 0.0 / 0.0.
53478         * tests/test-isnan.c (NaN): New function/macro.
53479         (main): Use it instead of 0.0 / 0.0.
53480         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
53481         (test_function): Use it instead of 0.0 / 0.0.
53482         * tests/test-vasprintf-posix.c (NaN): New function/macro.
53483         (test_function): Use it instead of 0.0 / 0.0.
53484         * tests/test-snprintf-posix.h (NaN): New function/macro.
53485         (test_function): Use it instead of 0.0 / 0.0.
53486         * tests/test-sprintf-posix.h (NaN): New function/macro.
53487         (test_function): Use it instead of 0.0 / 0.0.
53488         * tests/test-fprintf-posix.h (NaN): New function/macro.
53489         (test_function): Use it instead of 0.0 / 0.0.
53490         * tests/test-printf-posix.h (NaN): New function/macro.
53491         (test_function): Use it instead of 0.0 / 0.0.
53492
53493         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
53494
53495 2007-03-25  Bruno Haible  <bruno@clisp.org>
53496
53497         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
53498
53499 2007-03-25  Bruno Haible  <bruno@clisp.org>
53500
53501         * lib/regexec.c (merge_state_with_log): Make static.
53502
53503 2007-03-25  Bruno Haible  <bruno@clisp.org>
53504
53505         * lib/trigl.c (kernel_rem_pio2): Make static.
53506
53507 2007-03-25  Bruno Haible  <bruno@clisp.org>
53508
53509         * lib/sincosl.c (sincosl_table): Make static.
53510
53511 2007-03-25  Bruno Haible  <bruno@clisp.org>
53512
53513         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
53514         if the compiler does not support C99.
53515
53516 2007-03-25  Bruno Haible  <bruno@clisp.org>
53517
53518         * modules/time (Makefile.am): Ensure all rule action lines start with a
53519         tab.
53520
53521 2007-03-24  Bruno Haible  <bruno@clisp.org>
53522
53523         * modules/tsearch-tests: New file.
53524         * tests/test-tsearch.sh: New file.
53525         * tests/test-tsearch.c: New file, mostly copied from glibc.
53526
53527         * modules/search-tests: New file.
53528         * tests/test-search.c: New file.
53529
53530         * modules/search: New file.
53531         * lib/search_.h: New file, incorporating lib/tsearch.h.
53532         * m4/search_h.m4: New file.
53533         * lib/tsearch.h: Remove file.
53534         * lib/tsearch.c: Include search.h instead of tsearch.h.
53535         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
53536         HAVE_TSEARCH.
53537         * modules/tsearch (Files): Remove lib/tsearch.h.
53538         (Depends-on): Add search.
53539         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
53540         (Include): Change tsearch.h into search.h.
53541
53542 2007-03-24  Bruno Haible  <bruno@clisp.org>
53543
53544         * modules/fpucw: New file.
53545         * lib/fpucw.h: New file.
53546         * lib/frexp.c: Include fpucw.h.
53547         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
53548         (FUNC): Use them.
53549         * lib/printf-frexp.c: Include fpucw.h.
53550         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
53551         (FUNC): Use them.
53552         * lib/vasnprintf.c: Include fpucw.h.
53553         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
53554         'long double' calculations.
53555         * tests/test-frexpl.c: Include fpucw.h.
53556         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
53557         * tests/test-printf-frexpl.c: Include fpucw.h.
53558         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
53559         * modules/frexpl (Depends-on): Add fpucw.
53560         * modules/printf-frexpl (Depends-on): Likewise.
53561         * modules/fprintf-posix (Depends-on): Likewise.
53562         * modules/snprintf-posix (Depends-on): Likewise.
53563         * modules/sprintf-posix (Depends-on): Likewise.
53564         * modules/vasnprintf-posix (Depends-on): Likewise.
53565         * modules/vasprintf-posix (Depends-on): Likewise.
53566         * modules/vfprintf-posix (Depends-on): Likewise.
53567         * modules/vsnprintf-posix (Depends-on): Likewise.
53568         * modules/vsprintf-posix (Depends-on): Likewise.
53569         * modules/frexpl-tests (Depends-on): Likewise.
53570         * modules/printf-frexpl-tests (Depends-on): Likewise.
53571
53572 2007-03-24  Bruno Haible  <bruno@clisp.org>
53573
53574         * lib/float+.h: New file.
53575         * lib/isnan.c: Include float+.h.
53576         (SIZE): New macro.
53577         (FUNC): Compare only SIZE bytes of the value.
53578         * lib/vasnprintf.c: Include float+.h.
53579         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
53580         SIZEOF_LDBL or SIZEOF_DBL bytes.
53581         * modules/isnan-nolibm (Files): Add lib/float+.h.
53582         * modules/isnanl-nolibm (Files): Add lib/float+.h.
53583         * modules/isnanl (Files): Add lib/float+.h.
53584         * modules/vasnprintf (Files): Add lib/float+.h.
53585
53586 2007-03-24  Bruno Haible  <bruno@clisp.org>
53587
53588         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
53589         include isnanl-nolibm.h.
53590
53591 2007-03-24  Bruno Haible  <bruno@clisp.org>
53592
53593         * tests/test-read-file.c (main): Don't produce spurious output for
53594         expected situations. Make the test fail if it encountered unexpected
53595         results.
53596
53597 2007-03-24  Bruno Haible  <bruno@clisp.org>
53598
53599         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
53600         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
53601
53602 2007-03-24  Bruno Haible  <bruno@clisp.org>
53603
53604         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
53605
53606 2007-03-24  Bruno Haible  <bruno@clisp.org>
53607
53608         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
53609         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
53610
53611         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
53612         * modules/utf8-ucs4: Turn into a symbolic link to module
53613         unistr/u8-mbtouc.
53614
53615         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
53616         utf8-ucs4-unsafe.
53617         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
53618         unistr/u8-mbtouc-unsafe.
53619
53620         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
53621         * modules/utf16-ucs4: Turn into a symbolic link to module
53622         unistr/u16-mbtouc.
53623
53624         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
53625         utf16-ucs4-unsafe.
53626         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
53627         unistr/u16-mbtouc-unsafe.
53628
53629         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
53630         * modules/ucs4-utf8: Turn into a symbolic link to module
53631         unistr/u8-ubtomb.
53632
53633         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
53634         * modules/ucs4-utf16: Turn into a symbolic link to module
53635         unistr/u16-ubtomb.
53636
53637 2007-03-24  Bruno Haible  <bruno@clisp.org>
53638
53639         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
53640         Enable the function only if HAVE_INLINE.
53641         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
53642         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
53643         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
53644         Enable the function only if HAVE_INLINE.
53645         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
53646         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
53647         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
53648         Enable the function only if HAVE_INLINE.
53649         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
53650         Enable the function only if HAVE_INLINE.
53651         * modules/utf8-ucs4: Update.
53652         * modules/utf8-ucs4-unsafe: Update.
53653         * modules/utf16-ucs4: Update.
53654         * modules/utf16-ucs4-unsafe: Update.
53655         * modules/ucs4-utf8: Update.
53656         * modules/ucs4-utf16: Update.
53657
53658 2007-03-24  Bruno Haible  <bruno@clisp.org>
53659
53660         * lib/utf8-ucs4.h: Remove file.
53661         * lib/utf8-ucs4-unsafe.h: Remove file.
53662         * lib/utf16-ucs4.h: Remove file.
53663         * lib/utf16-ucs4-unsafe.h: Remove file.
53664         * lib/ucs4-utf8.h: Remove file.
53665         * lib/ucs4-utf16.h: Remove file.
53666         * lib/unistr.h: Include their previous contents.
53667         * m4/utf-ucs4.m4: Remove file.
53668         * m4/ucs4-utf.m4: Remove file.
53669         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
53670         (Depends-on): Add unistr/base.
53671         (configure.ac): Remove gl_UTF_UCS4.
53672         (Makefile.am): Update.
53673         (Include): Change to unistr.h.
53674         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
53675         (Depends-on): Add unistr/base.
53676         (configure.ac): Remove gl_UTF_UCS4.
53677         (Makefile.am): Update.
53678         (Include): Change to unistr.h.
53679         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
53680         (Depends-on): Add unistr/base.
53681         (configure.ac): Remove gl_UTF_UCS4.
53682         (Makefile.am): Update.
53683         (Include): Change to unistr.h.
53684         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
53685         (Depends-on): Add unistr/base.
53686         (configure.ac): Remove gl_UTF_UCS4.
53687         (Makefile.am): Update.
53688         (Include): Change to unistr.h.
53689         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
53690         (Depends-on): Add unistr/base.
53691         (configure.ac): Remove gl_UCS4_UTF.
53692         (Makefile.am): Update.
53693         (Include): Change to unistr.h.
53694         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
53695         (Depends-on): Add unistr/base.
53696         (configure.ac): Remove gl_UCS4_UTF.
53697         (Makefile.am): Update.
53698         (Include): Change to unistr.h.
53699         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
53700         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
53701         utf8-ucs4-unsafe.h.
53702         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
53703         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
53704         utf16-ucs4-unsafe.h.
53705         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
53706         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
53707         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
53708         * lib/unistr/u8-strchr.c: Likewise.
53709         * lib/unistr/u8-strrchr.c: Likewise.
53710         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
53711         * lib/unistr/u16-strchr.c: Likewise.
53712         * lib/unistr/u16-strrchr.c: Likewise.
53713         * lib/striconveh.c: Update.
53714         * lib/linebreak.c: Update.
53715
53716 2007-03-24  Bruno Haible  <bruno@clisp.org>
53717
53718         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
53719         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
53720
53721 2007-03-22  Bruno Haible  <bruno@clisp.org>
53722
53723         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
53724
53725 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53726
53727         * MODULES.html.sh (File system functions): New module write-any-file.
53728         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
53729         * m4/write-any-file.m4: New files.
53730
53731 2007-03-23  Eric Blake  <ebb9@byu.net>
53732
53733         * gnulib-tool: Rearrange space-tab sequences, since some editors
53734         like to eat them.
53735
53736 2007-03-23  Eric Blake  <ebb9@byu.net>
53737
53738         * lib/version-etc.c (version_etc_va): Update license wording to
53739         be more concise.  Recommended by Richard Stallman.
53740
53741 2007-03-22  Bruno Haible  <bruno@clisp.org>
53742
53743         * lib/poll.c (MSG_PEEK): New fallback definition.
53744
53745 2007-03-22  Bruno Haible  <bruno@clisp.org>
53746
53747         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
53748         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
53749         (main): Update.
53750         Fixes a compilation error on BeOS.
53751
53752 2007-03-22  Bruno Haible  <bruno@clisp.org>
53753
53754         * modules/frexpl-tests: New file.
53755         * tests/test-frexpl.c: New file.
53756
53757         * modules/frexpl: New file.
53758         * m4/frexpl.m4: New file.
53759         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
53760         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
53761         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
53762         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
53763         (Depends-on): Add frexpl. Remove isnanl-nolibm.
53764         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
53765
53766 2007-03-22  Bruno Haible  <bruno@clisp.org>
53767
53768         * lib/frexpl.c: Share code with lib/frexp.c.
53769         * modules/mathl (Files): Add lib/frexp.c.
53770         (Depends-on): Add isnanl-nolibm.
53771
53772 2007-03-22  Bruno Haible  <bruno@clisp.org>
53773
53774         * modules/printf-frexp (Files): Add m4/frexp.m4.
53775         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
53776         only if the found frexp function actually works.
53777
53778 2007-03-22  Bruno Haible  <bruno@clisp.org>
53779
53780         * lib/frexp.c: Remove older implementation that uses divisions.
53781
53782 2007-03-21  Bruno Haible  <bruno@clisp.org>
53783
53784         * modules/frexp-tests: New file.
53785         * tests/test-frexp.c: New file.
53786
53787         * modules/frexp: New file.
53788         * lib/frexp.c: New file.
53789         * m4/frexp.m4: New file.
53790         * lib/math_.h (frexp): New declaration.
53791         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
53792         REPLACE_FREXP.
53793         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
53794
53795 2007-03-21  Bruno Haible  <bruno@clisp.org>
53796
53797         * modules/isnanl-tests: New file.
53798         * tests/test-isnanl.c: New file.
53799
53800         * modules/isnanl: New file.
53801         * lib/isnanl.h: New file.
53802         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
53803         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
53804         gl_FUNC_ISNANL_WORKS.
53805         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
53806         New macros.
53807
53808 2007-03-21  Bruno Haible  <bruno@clisp.org>
53809
53810         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
53811         lib/isnanl.h.
53812         (Include): Update.
53813         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
53814         * lib/vasnprintf.c: Update.
53815         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
53816         tests/test-isnanl.h, remove tests/test-isnanl.c.
53817         (Makefile.am): Update.
53818         * tests/test-isnanl-nolibm.c: New file.
53819         * tests/test-isnanl.h: New file.
53820         * tests/test-isnanl.c: Remove file.
53821
53822 2007-03-21  Jim Meyering  <jim@meyering.net>
53823
53824         When trying to open ".", treat ESTALE like EACCES.
53825         * lib/savewd.c (savewd_save): Resort to forking not just upon
53826         failure with EACCES, but also when errno is ESTALE.
53827
53828 2007-03-20  Bruno Haible  <bruno@clisp.org>
53829
53830         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
53831         Needed on AIX 5.1. Reported by Matthew Woehlke.
53832
53833 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53834
53835         Suggestions by Bruno Haible:
53836         * lib/acl-internal.h: Include "gettext.h" rather than rolling
53837         our own.
53838         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
53839         * modules/acl (Depends-on): Add gettext.
53840
53841 2007-03-19  Bruno Haible  <bruno@clisp.org>
53842
53843         * modules/iconvme: Remove file.
53844         * lib/iconvme.h: Remove file.
53845         * lib/iconvme.c: Remove file.
53846         * m4/iconvme.m4: Remove file.
53847
53848 2007-03-19  Bruno Haible  <bruno@clisp.org>
53849
53850         * doc/relocatable-maint.texi: Break long shell script line.
53851         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
53852
53853 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53854
53855         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
53856         handle file_has_acl.
53857         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
53858         * lib/acl.c: Move header inclusions and related macro defns into
53859         lib/acl-internal.h.
53860         (S_ISLNK): Remove defn, since that's now done for us.
53861         (file_has_acl): Move to lib/file-has-acl.c.
53862         Call acl_trivial if available.  This is the crucial part of the fix.
53863         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
53864         shared within the library.  Rewrite a bit, partly to make it compatible
53865         with the GNU coding style.
53866         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
53867         Remove unnecessary double-quotes.
53868         Don't test for acl_to_text; the build will catch that.
53869         Replace acl_entries if it doesn't exist and it is needed.
53870         Check for -lsec and acl_trivial (as used on Solaris 10).
53871         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
53872         lib/file-has-acl.c.
53873         (Depends-on): Add sys_stat, for S_ISLNK.
53874
53875 2007-03-19  Ben Pfaff  <blp@gnu.org>
53876
53877         * doc/gnulib.texi: Fix typos.
53878         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
53879
53880 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53881
53882         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
53883         If size is zero here, buf must be zero.
53884
53885 2007-03-19  Simon Josefsson  <simon@josefsson.org>
53886
53887         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
53888         <bruno@clisp.org>.
53889
53890 2007-03-18  Bruno Haible  <bruno@clisp.org>
53891
53892         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
53893         Suggested by Eric Blake.
53894
53895 2007-03-18  Ben Pfaff  <blp@gnu.org>
53896
53897         * doc/relocatable.texi: Recommend using as prefix a directory
53898         that does not exist and will never be created.  Based on
53899         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
53900         and others.
53901
53902 2007-03-17  Bruno Haible  <bruno@clisp.org>
53903
53904         * lib/fchownat.c: Include lchown.h.
53905
53906 2007-03-17  Bruno Haible  <bruno@clisp.org>
53907
53908         Fix endless loop when the given allocated size was > INT_MAX.
53909         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
53910         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
53911         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
53912         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
53913         * lib/sprintf.c (sprintf): Likewise.
53914
53915 2007-03-17  Bruno Haible  <bruno@clisp.org>
53916
53917         * tests/test-argp-2.sh (func_compare): Output a context diff.
53918
53919 2007-03-17  Bruno Haible  <bruno@clisp.org>
53920
53921         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
53922         locale's decimal-point character.
53923
53924 2007-03-17  Bruno Haible  <bruno@clisp.org>
53925
53926         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
53927         before comparing it. Needed because on some platforms (e.g. x86) a
53928         'long double' occupies less bytes than sizeof (long double).
53929
53930 2007-03-17  Bruno Haible  <bruno@clisp.org>
53931
53932         * tests/test-crc.c (main): Make printf statements 64-bit clean.
53933         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
53934         * tests/test-getaddrinfo.c (simple): Likewise.
53935         * tests/test-read-file.c (main): Likewise.
53936
53937 2007-03-17  Bruno Haible  <bruno@clisp.org>
53938
53939         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
53940
53941 2007-03-17  Bruno Haible  <bruno@clisp.org>
53942
53943         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
53944         unused variable.
53945
53946 2007-03-17  Bruno Haible  <bruno@clisp.org>
53947
53948         * tests/test-c-strcasecmp.c: Include c-strcase.h.
53949         * tests/test-c-strncasecmp.c: Likewise.
53950
53951 2007-03-17  Bruno Haible  <bruno@clisp.org>
53952
53953         * modules/stdlib (Depends-on): Add unistd.
53954         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
53955         Needed for MacOS X 10.3.
53956
53957 2007-03-17  Bruno Haible  <bruno@clisp.org>
53958
53959         * lib/unistr/u-strdup.h: Include <stdlib.h>.
53960
53961 2007-03-17  Bruno Haible  <bruno@clisp.org>
53962
53963         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
53964
53965 2007-03-17  Bruno Haible  <bruno@clisp.org>
53966
53967         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
53968         to reflect files copied from gnulib (with or without modifications).
53969         Suggested by Jim Meyering.
53970
53971 2007-03-17  Eric Blake  <ebb9@byu.net>
53972
53973         * NEWS: Document stdlib change from 2007-02-18.
53974
53975 2007-03-17  Jim Meyering  <jim@meyering.net>
53976
53977         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
53978         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
53979         someone uses a name containing shell meta-characters.
53980         Reported by Alfred M. Szmidt.
53981
53982         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
53983
53984 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
53985
53986         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
53987         and copy gettext configuration files only if configure.ac contains
53988         a use of AM_GNU_GETTEXT_VERSION.
53989
53990 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
53991
53992         * build-aux/bootstrap (gnulib_name): New variable.
53993         (gnulib_tool_options): Use it.
53994
53995 2007-03-13  Simon Josefsson  <simon@josefsson.org>
53996
53997         * tests/test-des.c: Use new namespace.
53998
53999 2007-03-15  Bruno Haible  <bruno@clisp.org>
54000
54001         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
54002         Reported by James Youngman <jay@gnu.org>.
54003
54004 2007-03-15  Bruno Haible  <bruno@clisp.org>
54005
54006         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
54007         declared prototype. Needed with cc on OSF/1 5.1.
54008
54009 2007-03-15  Bruno Haible  <bruno@clisp.org>
54010
54011         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
54012         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
54013         (struct gl_list_implementation): Add dispose_fn argument to the
54014         'create_empty', 'create' methods.
54015         (struct gl_list_impl_base): Add field 'dispose_fn'.
54016         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
54017         argument.
54018         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
54019         dispose_fn argument.
54020         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
54021         dispose_fn on the dropped values.
54022         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
54023         dispose_fn argument.
54024         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
54025         dropped values.
54026         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
54027         (gl_tree_remove_node): Call dispose_fn on the dropped value.
54028         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
54029         (gl_tree_remove_node): Call dispose_fn on the dropped value.
54030         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
54031         argument.
54032         (gl_tree_list_free): Call dispose_fn on the dropped values.
54033         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
54034         the dropped values.
54035         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
54036         Add dispose_fn argument.
54037         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
54038         Call dispose_fn on the dropped values.
54039         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
54040         Add dispose_fn argument.
54041         (gl_sublist_create): Initialize the 'dispose_fn' field.
54042         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
54043         * tests/test-array_list.c (main): Update.
54044         * tests/test-carray_list.c (main): Update.
54045         * tests/test-avltree_list.c (main): Update.
54046         * tests/test-rbtree_list.c (main): Update.
54047         * tests/test-avltreehash_list.c (main): Update.
54048         * tests/test-rbtreehash_list.c (main): Update.
54049         * tests/test-linked_list.c (main): Update.
54050         * tests/test-linkedhash_list.c (main): Update.
54051         * tests/test-array_oset.c (main): Update.
54052
54053 2007-03-15  Bruno Haible  <bruno@clisp.org>
54054
54055         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
54056         (gl_oset_create_empty): Add dispose_fn argument.
54057         (struct gl_oset_implementation): Add dispose_fn argument to
54058         'create_empty' method.
54059         (struct gl_oset_impl_base): Add dispose_fn field.
54060         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
54061         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
54062         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
54063         values.
54064         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
54065         (gl_tree_oset_free): Call dispose_fn on the dropped values.
54066         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
54067         dropped value.
54068         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
54069         dropped value.
54070         * tests/test-array_oset.c (main): Update.
54071         * tests/test-avltree_oset.c (main): Update.
54072         * tests/test-rbtree_oset.c (main): Update.
54073         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
54074
54075 2007-03-13  Bruno Haible  <bruno@clisp.org>
54076
54077         * tests/test-stdbool.c (i): Update after last patch.
54078
54079 2007-03-12  Bruno Haible  <bruno@clisp.org>
54080
54081         * lib/quotearg.c: Include <wctype.h> early, before the definition of
54082         the iswprint macro. Needed on Solaris 2.5.1.
54083
54084 2007-03-12  Bruno Haible  <bruno@clisp.org>
54085
54086         * tests/test-printf-frexp.c (main): Declare x as volatile.
54087
54088 2007-03-12  Simon Josefsson  <simon@josefsson.org>
54089
54090         * doc/gnulib.texi (Build robot for gnulib): New section.
54091
54092 2007-03-12  Jim Meyering  <jim@meyering.net>
54093
54094         * build-aux/bootstrap: New file.
54095         * build-aux/bootstrap.conf: New file, from coreutils.
54096
54097 2007-03-11  Bruno Haible  <bruno@clisp.org>
54098
54099         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
54100
54101 2007-03-12  Simon Josefsson  <simon@josefsson.org>
54102
54103         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
54104         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
54105         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
54106
54107 2007-03-11  Bruno Haible  <bruno@clisp.org>
54108
54109         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
54110         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
54111
54112 2007-03-11  Bruno Haible  <bruno@clisp.org>
54113
54114         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
54115         formula. Needed for SunPRO C 5.0.
54116
54117 2007-03-11  Bruno Haible  <bruno@clisp.org>
54118
54119         * modules/long-options (Depends-on): Add getopt.
54120
54121 2007-03-11  Bruno Haible  <bruno@clisp.org>
54122
54123         * modules/modechange (Depends-on): Add stdbool.
54124
54125 2007-03-11  Bruno Haible  <bruno@clisp.org>
54126
54127         * modules/i-ring (Depends-on): Add stdbool.
54128
54129 2007-03-11  Bruno Haible  <bruno@clisp.org>
54130
54131         * modules/gc-des (Depends-on): Add stdbool.
54132
54133 2007-03-11  Bruno Haible  <bruno@clisp.org>
54134
54135         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
54136
54137 2007-03-11  Bruno Haible  <bruno@clisp.org>
54138
54139         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
54140
54141 2007-03-11  Bruno Haible  <bruno@clisp.org>
54142
54143         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
54144
54145 2007-03-11  Bruno Haible  <bruno@clisp.org>
54146
54147         * lib/vasnprintf.c (sprintf): Undefine.
54148
54149 2007-03-11  Bruno Haible  <bruno@clisp.org>
54150
54151         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
54152         initializers in SunPRO C and Compaq C compilers.
54153
54154 2007-03-11  Bruno Haible  <bruno@clisp.org>
54155
54156         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
54157         decrementing code ANSI C compliant.
54158
54159 2007-03-11  Bruno Haible  <bruno@clisp.org>
54160
54161         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
54162         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
54163
54164 2007-03-11  Bruno Haible  <bruno@clisp.org>
54165
54166         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
54167         <stdbool.h> substitute doesn't pass.
54168
54169 2007-03-11  Bruno Haible  <bruno@clisp.org>
54170
54171         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
54172
54173 2007-03-11  Bruno Haible  <bruno@clisp.org>
54174
54175         * gnulib-tool (func_create_megatestdir): Create also an autobuild
54176         script, for submission to autobuild.josefsson.org.
54177
54178 2007-03-10  Bruno Haible  <bruno@clisp.org>
54179
54180         * modules/canonicalize-lgpl-tests: New file.
54181         * tests/test-canonicalize-lgpl.sh: New file.
54182         * tests/test-canonicalize-lgpl.c: New file.
54183
54184         * modules/c-strcase-tests: New file.
54185         * tests/test-c-strcase.sh: New file.
54186         * tests/test-c-strcasecmp.c: New file.
54187         * tests/test-c-strncasecmp.c: New file.
54188
54189         * modules/atexit-tests: New file.
54190         * tests/test-atexit.sh: New file.
54191         * tests/test-atexit.c: New file.
54192
54193 2007-03-10  Bruno Haible  <bruno@clisp.org>
54194
54195         * tests/test-binary-io.sh: Use temporary filenames that are not so
54196         likely to clash with those of other tests (in a parallel make).
54197         * tests/test-binary-io.c: Likewise.
54198
54199 2007-03-10  Bruno Haible  <bruno@clisp.org>
54200
54201         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
54202         fallback; use #error instead.
54203         Suggested by Simon Josefsson.
54204
54205 2007-03-10  Bruno Haible  <bruno@clisp.org>
54206
54207         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
54208         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
54209         first and the last.
54210
54211 2007-03-10  Bruno Haible  <bruno@clisp.org>
54212
54213         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
54214
54215 2007-03-10  Bruno Haible  <bruno@clisp.org>
54216
54217         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
54218         "make distcheck".
54219         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
54220         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
54221         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
54222
54223 2007-03-10  Bruno Haible  <bruno@clisp.org>
54224
54225         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
54226         variable.
54227         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
54228         variable.
54229
54230 2007-03-09  Eric Blake  <ebb9@byu.net>
54231         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
54232
54233         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
54234         types are not being provided by gnulib.
54235         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
54236         types are supported.
54237
54238 2007-03-10  Bruno Haible  <bruno@clisp.org>
54239
54240         * lib/stdio_.h (__attribute__): New macro.
54241         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
54242         vsprintf): Specify __attribute__ __format__ for GCC.
54243         Suggested by Eric Blake.
54244
54245 2007-03-09  Bruno Haible  <bruno@clisp.org>
54246
54247         * modules/printf-posix-tests: New file.
54248         * tests/test-printf-posix.sh: New file.
54249         * tests/test-printf-posix.c: New file.
54250
54251         * modules/printf-posix: New file.
54252         * lib/printf.c: New file.
54253         * m4/printf-posix-rpl.m4: New file.
54254         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
54255         REPLACE_PRINTF.
54256         * lib/stdio_.h (printf): New declaration.
54257         (format, __format__, ____printf____, ____scanf____, ____strftime____,
54258         ____strfmon____): New macros.
54259         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
54260         REPLACE_PRINTF.
54261
54262 2007-03-09  Bruno Haible  <bruno@clisp.org>
54263
54264         * tests/test-vasnprintf-posix2.sh: New file.
54265         * tests/test-vasnprintf-posix2.c: New file.
54266         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
54267         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
54268         (Makefile.am): Activate test-vasnprintf-posix2.sh.
54269
54270         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
54271         a locale dependent decimal point, rather than always '.'.
54272
54273 2007-03-09  Eric Blake  <ebb9@byu.net>
54274
54275         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
54276         spite of platforms like Tandem/NSK that define it to -1.
54277
54278 2007-03-08  Bruno Haible  <bruno@clisp.org>
54279
54280         * modules/vprintf-posix-tests: New file.
54281         * tests/test-vprintf-posix.sh: New file.
54282         * tests/test-vprintf-posix.c: New file.
54283         * tests/test-printf-posix.h: New file.
54284
54285         * modules/vprintf-posix: New file.
54286         * lib/vprintf.c: New file.
54287         * m4/vprintf-posix.m4: New file.
54288         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
54289         REPLACE_VPRINTF.
54290         * lib/stdio_.h (vprintf): New declaration.
54291         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
54292         REPLACE_VPRINTF.
54293
54294 2007-03-08  Bruno Haible  <bruno@clisp.org>
54295
54296         * modules/fprintf-posix-tests: New file.
54297         * tests/test-fprintf-posix.sh: New file.
54298         * tests/test-fprintf-posix.c: New file.
54299
54300         * modules/fprintf-posix: New file.
54301         * lib/fprintf.c: New file.
54302         * m4/fprintf-posix.m4: New file.
54303         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
54304         REPLACE_FPRINTF.
54305         * lib/stdio_.h (fprintf): New declaration.
54306         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
54307         REPLACE_FPRINTF.
54308
54309 2007-03-08  Bruno Haible  <bruno@clisp.org>
54310
54311         * modules/vfprintf-posix-tests: New file.
54312         * tests/test-vfprintf-posix.sh: New file.
54313         * tests/test-vfprintf-posix.c: New file.
54314         * tests/test-fprintf-posix.h: New file.
54315         * tests/test-fprintf-posix.out: New file.
54316
54317         * modules/vfprintf-posix: New file.
54318         * lib/vfprintf.c: New file.
54319         * m4/vfprintf-posix.m4: New file.
54320         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
54321         REPLACE_VFPRINTF.
54322         * lib/stdio_.h (vfprintf): New declaration.
54323         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
54324         REPLACE_VFPRINTF.
54325
54326 2007-03-08  Bruno Haible  <bruno@clisp.org>
54327
54328         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
54329
54330 2007-03-08  Bruno Haible  <bruno@clisp.org>
54331
54332         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
54333         instead of 'expr' invocations.
54334         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54335         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54336         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54337         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54338         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54339         Suggested by Paul Eggert.
54340
54341 2007-03-08  Bruno Haible  <bruno@clisp.org>
54342
54343         * modules/fseterr-tests: New file.
54344         * tests/test-fseterr.c: New file.
54345
54346         * modules/fseterr: New file.
54347         * lib/fseterr.h: New file.
54348         * lib/fseterr.c: New file.
54349
54350 2007-03-08  Bruno Haible  <bruno@clisp.org>
54351
54352         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
54353         * lib/getopt_.h: Likewise.
54354         * lib/mbswidth.h: Likewise.
54355         * lib/setenv.h: Likewise.
54356         * lib/vasnprintf.h: Likewise.
54357         * lib/vasprintf.h: Likewise.
54358         * lib/verror.h: Likewise.
54359         * lib/xsetenv.h: Likewise.
54360         * lib/xvasprintf.h: Likewise.
54361
54362 2007-03-08  Jim Meyering  <jim@meyering.net>
54363
54364         * users.txt: Add parted.
54365
54366         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
54367
54368 2007-03-07  Bruno Haible  <bruno@clisp.org>
54369
54370         * m4/printf.m4: Make the shell script snippets copy&pastable.
54371
54372 2007-03-02  Bruno Haible  <bruno@clisp.org>
54373
54374         * lib/netinet_in_.h: New file.
54375         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
54376         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
54377         * modules/netinet_in (Files): Add lib/netinet_in_.h.
54378         (Depends-on): Add absolute-header.
54379         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
54380         into netinet/in.h.
54381
54382 2007-03-03  Bruno Haible  <bruno@clisp.org>
54383
54384         * lib/sys_select_.h: New file.
54385         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
54386         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
54387         * modules/sys_select (Files): Add lib/sys_select_.h.
54388         (Depends-on): Add absolute-header.
54389         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
54390         into sys/select.h.
54391
54392 2007-03-02  Bruno Haible  <bruno@clisp.org>
54393
54394         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
54395         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
54396         values.
54397         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
54398         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
54399         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
54400         * modules/sys_socket (Depends-on): Add absolute-header.
54401         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
54402         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
54403         (Include): Remove requirement of inclusion of <sys/types.h>.
54404
54405 2007-03-02  Bruno Haible  <bruno@clisp.org>
54406
54407         * lib/byteswap_.h (bswap_32): Fix formula.
54408
54409 2007-03-06  Bruno Haible  <bruno@clisp.org>
54410
54411         * modules/sprintf-posix-tests: New file.
54412         * tests/test-sprintf-posix.c: New file.
54413
54414         * modules/sprintf-posix: New file.
54415         * lib/sprintf.c: New file.
54416         * m4/sprintf-posix.m4: New file.
54417         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
54418         REPLACE_SPRINTF.
54419         * lib/stdio_.h (sprintf): New declaration.
54420         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
54421         REPLACE_SPRINTF.
54422
54423 2007-03-06  Bruno Haible  <bruno@clisp.org>
54424
54425         * modules/vsprintf-posix-tests: New file.
54426         * tests/test-vsprintf-posix.c: New file.
54427         * tests/test-sprintf-posix.h: New file.
54428
54429         * modules/vsprintf-posix: New file.
54430         * lib/vsprintf.c: New file.
54431         * m4/vsprintf-posix.m4: New file.
54432         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
54433         REPLACE_VSPRINTF.
54434         * lib/stdio_.h (vsprintf): New declaration.
54435         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
54436         REPLACE_VSPRINTF.
54437
54438 2007-03-06  Bruno Haible  <bruno@clisp.org>
54439
54440         * modules/vsnprintf (Depend-on): Remove minmax.
54441
54442 2007-03-06  Bruno Haible  <bruno@clisp.org>
54443
54444         * modules/snprintf-posix-tests: New file.
54445         * tests/test-snprintf-posix.c: New file.
54446
54447         * modules/snprintf-posix: New file.
54448         * m4/snprintf-posix.m4: New file.
54449         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
54450         gl_FUNC_SNPRINTF.
54451         (gl_FUNC_SNPRINTF): Invoke it.
54452         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
54453         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
54454         is set.
54455         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
54456
54457 2007-03-06  Bruno Haible  <bruno@clisp.org>
54458
54459         * modules/vsnprintf-posix-tests: New file.
54460         * tests/test-vsnprintf-posix.c: New file.
54461         * tests/test-snprintf-posix.h: New file.
54462
54463         * modules/vsnprintf-posix: New file.
54464         * m4/vsnprintf-posix.m4: New file.
54465         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
54466         gl_FUNC_VSNPRINTF.
54467         (gl_FUNC_VSNPRINTF): Invoke it.
54468         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
54469         * lib/stdio_.h (vsnprintf): Define as a replacement if
54470         REPLACE_VSNPRINTF is set.
54471         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
54472
54473 2007-03-06  Bruno Haible  <bruno@clisp.org>
54474
54475         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
54476         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
54477
54478 2007-03-06  Bruno Haible  <bruno@clisp.org>
54479
54480         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
54481         (asinl): Declare also if HAVE_DECL_ASINL is set.
54482         (atanl): Declare also if HAVE_DECL_ATANL is set.
54483         (ceill): Declare also if HAVE_DECL_CEILL is set.
54484         (cosl): Declare also if HAVE_DECL_COSL is set.
54485         (expl): Declare also if HAVE_DECL_EXPL is set.
54486         (floorl): Declare also if HAVE_DECL_FLOORL is set.
54487         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
54488         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
54489         (logl): Declare also if HAVE_DECL_LOGL is set.
54490         (sinl): Declare also if HAVE_DECL_SINL is set.
54491         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
54492         (tanl): Declare also if HAVE_DECL_TANL is set.
54493         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
54494         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
54495         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
54496         declaration of frexpl, ldexpl.
54497         * modules/printf-frexpl (Depends-on): Add math.
54498         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
54499
54500 2007-03-05  Bruno Haible  <bruno@clisp.org>
54501
54502         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
54503         frexpl and ldexpl are declared.
54504         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
54505
54506 2007-03-05  Bruno Haible  <bruno@clisp.org>
54507
54508         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
54509         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
54510
54511 2007-03-05  Bruno Haible  <bruno@clisp.org>
54512
54513         * lib/stdio_.h: Include <stddef.h>.
54514
54515 2007-03-05  Bruno Haible  <bruno@clisp.org>
54516
54517         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
54518
54519 2007-03-05  Bruno Haible  <bruno@clisp.org>
54520
54521         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
54522         NetBSD 4, from Ralf Wildenhues.
54523
54524 2007-03-04  Bruno Haible  <bruno@clisp.org>
54525
54526         * lib/vasprintf.h: Update #if logic for the case when the functions
54527         exist but are overridden.
54528
54529 2007-03-04  Bruno Haible  <bruno@clisp.org>
54530
54531         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
54532         implementations: glibc-2.4 and MacOS X 10.3.
54533         * tests/test-vasnprintf-posix.c (test_function): Test also the case
54534         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
54535         * tests/test-vasprintf-posix.c (test_function): Likewise.
54536
54537 2007-03-04  Bruno Haible  <bruno@clisp.org>
54538
54539         * modules/vasprintf-posix-tests: New file.
54540         * tests/test-vasprintf-posix.c: New file.
54541
54542         * modules/vasprintf-posix: New file.
54543         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
54544         defined.
54545         * m4/vasprintf-posix.m4: New file.
54546         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
54547         gl_FUNC_VASPRINTF.
54548         (gl_FUNC_VASPRINTF): Invoke it.
54549         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
54550         here.
54551         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
54552
54553 2007-03-04  Bruno Haible  <bruno@clisp.org>
54554
54555         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
54556         REPLACE_GETTIMEOFDAY.
54557         * modules/sys_time (Makefile.am): Likewise.
54558         * m4/sys_time_h.m4: Likewise.
54559         * m4/gettimeofday.m4: Likewise.
54560
54561 2007-03-04  Bruno Haible  <bruno@clisp.org>
54562
54563         * modules/vasnprintf-posix-tests: New file.
54564         * tests/test-vasnprintf-posix.c: New file.
54565
54566         * modules/vasnprintf-posix: New file.
54567         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
54568         printf-frexpl.h.
54569         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
54570         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
54571         REPLACE_VASNPRINTF is defined.
54572         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
54573         gl_FUNC_VASNPRINTF.
54574         (gl_FUNC_VASNPRINTF): Invoke it.
54575         * m4/vasnprintf-posix.m4: New file.
54576         * m4/printf.m4: New file.
54577
54578 2007-03-04  Bruno Haible  <bruno@clisp.org>
54579
54580         Compile progreloc.c only if --enable-relocatable is specified.
54581         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
54582         if --enable-relocatable was specified.
54583         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
54584         lib_SOURCES.
54585
54586 2007-03-04  Jim Meyering  <jim@meyering.net>
54587
54588         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
54589         Use it consistently, rather than enumerating errno constants.
54590
54591 2007-03-04  Bruno Haible  <bruno@clisp.org>
54592
54593         * modules/xvasprintf-tests: New file.
54594         * tests/test-xvasprintf.c: New file.
54595
54596         * modules/vasprintf-tests: New file.
54597         * tests/test-vasprintf.c: New file.
54598
54599         * modules/vasnprintf-tests: New file.
54600         * tests/test-vasnprintf.c: New file.
54601
54602         * modules/vsnprintf-tests: New file.
54603         * tests/test-vsnprintf.c: New file.
54604
54605         * modules/snprintf-tests: New file.
54606         * tests/test-snprintf.c: New file.
54607
54608 2007-03-04  Bruno Haible  <bruno@clisp.org>
54609
54610         Compile relocatable.c only if --enable-relocatable is specified.
54611         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
54612         gl_RELOCATABLE_LIBRARY.
54613         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
54614         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
54615         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
54616         gl_RELOCATABLE_LIBRARY.
54617         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
54618         (Makefile.am): Remove lib_SOURCES.
54619         * modules/relocatable-lib-lgpl (configure.ac): Invoke
54620         gl_RELOCATABLE_LIBRARY.
54621         (Makefile.am): Remove lib_SOURCES.
54622         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
54623         always.
54624         * modules/relocatable-prog-wrapper (configure.ac): Invoke
54625         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
54626
54627 2007-03-04  Bruno Haible  <bruno@clisp.org>
54628
54629         * modules/argmatch-tests: New file.
54630         * tests/test-argmatch.c: New file.
54631
54632         * tests/test-allocsa.c (main): Halve the number of loop runs.
54633
54634         * modules/alloca-opt-tests: New file.
54635         * tests/test-alloca-opt.c: New file.
54636
54637 2007-03-04  Jim Meyering  <jim@meyering.net>
54638
54639         Work around difference between Linux ACLs and Solaris 10 ZFS.
54640         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
54641         for EINVAL.
54642
54643 2007-03-03  Bruno Haible  <bruno@clisp.org>
54644
54645         * modules/relocatable-prog (Depends-on): Add back progreloc's
54646         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
54647
54648 2007-03-03  Bruno Haible  <bruno@clisp.org>
54649
54650         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
54651         * modules/relocatable-lib: New file.
54652
54653 2007-03-03  Bruno Haible  <bruno@clisp.org>
54654
54655         * modules/relocatable-prog: Renamed from modules/relocatable.
54656         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
54657
54658 2007-03-03  Bruno Haible  <bruno@clisp.org>
54659
54660         * modules/relocatable-script (Files): Add doc/relocatable.texi,
54661         m4/relocatable-lib.m4.
54662         (Depends-on): Remove 'relocatable'.
54663         (configure.ac): Add gl_RELOCATABLE_NOP.
54664
54665 2007-03-03  Bruno Haible  <bruno@clisp.org>
54666
54667         * modules/relocatable-prog-wrapper: New file.
54668         * modules/relocatable (Depends-on): Add it. Remove all other
54669         dependencies except progname.
54670         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
54671
54672         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
54673         (gl_FUNC_STRERROR): Nop.
54674         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
54675
54676         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
54677         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
54678
54679         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
54680         (gl_FUNC_READLINK): Update.
54681
54682         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
54683
54684 2007-03-03  Bruno Haible  <bruno@clisp.org>
54685
54686         * lib/xreadlink.c: Include <unistd.h> unconditionally.
54687         * modules/xreadlink (Depends-on): Add unistd.
54688         * modules/xreadlink-with-size (Depends-on): Likewise.
54689
54690 2007-03-03  Bruno Haible  <bruno@clisp.org>
54691
54692         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
54693         extracted from gt_FUNC_SETENV.
54694         (gt_FUNC_SETENV): Remove macro.
54695         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
54696         remove gt_FUNC_SETENV.
54697
54698 2007-03-03  Bruno Haible  <bruno@clisp.org>
54699
54700         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
54701         ENABLE_RELOCATABLE here.
54702         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
54703
54704 2007-03-03  Bruno Haible  <bruno@clisp.org>
54705
54706         * modules/rbtreehash-list-tests (Depends-on): Add progname.
54707         * tests/test-rbtreehash_list.c: Include progname.h.
54708         (main): Call set_program_name.
54709
54710         * modules/rbtree-oset-tests (Depends-on): Add progname.
54711         * tests/test-rbtree_oset.c: Include progname.h.
54712         (main): Call set_program_name.
54713
54714         * modules/rbtree-list-tests (Depends-on): Add progname.
54715         * tests/test-rbtree_list.c: Include progname.h.
54716         (main): Call set_program_name.
54717
54718         * modules/linked-list-tests (Depends-on): Add progname.
54719         * tests/test-linked_list.c: Include progname.h.
54720         (main): Call set_program_name.
54721
54722 2007-03-03  Bruno Haible  <bruno@clisp.org>
54723
54724         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
54725         All uses of __restrict changed to _Restrict_.
54726         * lib/glob_.h (__restrict): Remove macro.
54727
54728 2007-03-02  Bruno Haible  <bruno@clisp.org>
54729
54730         * modules/gettext (configure.ac): Require gettext infrastructure
54731         from version 0.16.1.
54732
54733 2007-03-02  Bruno Haible  <bruno@clisp.org>
54734
54735         * modules/linkedhash-list-tests (Depends-on): Add progname.
54736         * tests/test-linkedhash_list.c: Include progname.h.
54737         (main): Call set_program_name.
54738
54739         * modules/carray-list-tests (Depends-on): Add progname.
54740         * tests/test-carray_list.c: Include progname.h.
54741         (main): Call set_program_name.
54742
54743         * modules/avltreehash-list-tests (Depends-on): Add progname.
54744         * tests/test-avltreehash_list.c: Include progname.h.
54745         (main): Call set_program_name.
54746
54747         * modules/avltree-oset-tests (Depends-on): Add progname.
54748         * tests/test-avltree_oset.c: Include progname.h.
54749         (main): Call set_program_name.
54750
54751         * modules/avltree-list-tests (Depends-on): Add progname.
54752         * tests/test-avltree_list.c: Include progname.h.
54753         (main): Call set_program_name.
54754
54755         * modules/array-oset-tests (Depends-on): Add progname.
54756         * tests/test-array_oset.c: Include progname.h.
54757         (main): Call set_program_name.
54758
54759         * modules/array-list-tests (Depends-on): Add progname.
54760         * tests/test-array_list.c: Include progname.h.
54761         (main): Call set_program_name.
54762
54763         * modules/argp-tests (Depends-on): Add progname.
54764         * tests/test-argp.c: Include argp.h first. Include progname.h.
54765         (main): Call set_program_name.
54766
54767 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
54768
54769         * doc/gnulib-tool.texi (Initial import): Reword description of
54770         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
54771         limited effect even if defined after the first system include.
54772
54773 2007-03-01  Bruno Haible  <bruno@clisp.org>
54774
54775         * build-aux/config.libpath: Update to libtool-1.5.22.
54776         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54777
54778 2007-03-01  Bruno Haible  <bruno@clisp.org>
54779
54780         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
54781         foo_CFLAGS.
54782         Reported by Ralf Wildenhues.
54783
54784 2007-03-01  Bruno Haible  <bruno@clisp.org>
54785
54786         * build-aux/install-reloc: Remove object files left over by some
54787         compilers.
54788         Reported by Ralf Wildenhues.
54789
54790 2007-03-01  Bruno Haible  <bruno@clisp.org>
54791
54792         * build-aux/install-reloc: Break long lines.
54793
54794 2007-03-01  Bruno Haible  <bruno@clisp.org>
54795
54796         * doc/relocatable.texi: Document that it may not work on OpenBSD.
54797         Reported by Ralf Wildenhues.
54798
54799 2007-03-01  Bruno Haible  <bruno@clisp.org>
54800
54801         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
54802         include ordering constraints.
54803
54804 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54805
54806         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
54807         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
54808         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
54809         as another example.
54810         * lib/time_.h: Fix misspelling.
54811         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
54812         Require gl_HEADER_TIME_H_DEFAULTS.
54813         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
54814         * m4/time_r.m4 (gl_TIME_R): Likewise.
54815         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
54816
54817 2007-03-01  Bruno Haible  <bruno@clisp.org>
54818
54819         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
54820         * m4/utimens.m4 (gl_UTIMENS): Likewise.
54821
54822 2007-03-01  Jim Meyering  <jim@meyering.net>
54823
54824         * modules/xreadlink (Maintainer): Add my name.
54825         * modules/xreadlink-with-size (Depends-on): Alphabetize.
54826
54827 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
54828             Bruno Haible  <bruno@clisp.org>
54829
54830         * build-aux/install-reloc: Compile also c-ctype.c.
54831         * build-aux/relocatable.sh.in: New file.
54832         * doc/relocatable.texi: New file.
54833         * doc/relocatable-maint.texi: New file.
54834         * doc/gnulib.texi: Include relocatable-maint.texi.
54835         * lib/progreloc.c: Include unistd.h unconditionally.
54836         * lib/relocwrapper.c: Include unistd.h unconditionally.
54837         Include c-ctype.h.
54838         (add_dotbin): Use c_tolower.
54839         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
54840         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
54841         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
54842         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
54843         to m4/relocatable-lib.m4.
54844         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
54845         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
54846         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
54847         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
54848         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
54849         * modules/relocatable: New file.
54850         * modules/relocatable-lib: New file.
54851         * modules/relocatable-script: New file.
54852
54853 2007-02-28  Bruno Haible  <bruno@clisp.org>
54854
54855         Import --enable-relocatable infrastructure.
54856         * build-aux/config.libpath: New file, from GNU gettext.
54857         * build-aux/install-reloc: New file, from GNU gettext.
54858         * build-aux/reloc-ldflags: New file, from GNU gettext.
54859         * lib/relocatable.h: New file, from GNU gettext.
54860         * lib/relocatable.c: New file, from GNU gettext.
54861         * lib/relocwrapper.c: New file, from GNU gettext.
54862         * m4/relocatable.m4: New file, from GNU gettext.
54863
54864 2007-02-28  Bruno Haible  <bruno@clisp.org>
54865
54866         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
54867
54868         * modules/xreadlink: New file, from GNU gettext with modifications.
54869         * lib/xreadlink.c: New file, from GNU gettext.
54870         * lib/xreadlink.h: Add comments.
54871         (xreadlink): New declaration.
54872
54873         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
54874         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
54875         lib/xreadlink-with-size.c.
54876         (configure.ac): Remove gl_XREADLINK invocation.
54877         (Makefile.am): Augment lib_SOURCES.
54878         * m4/xreadlink.m4: Remove file.
54879         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
54880         (xreadlink_with_size): Renamed from xreadink.
54881         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
54882         * modules/canonicalize (Depends-on): Replace xreadlink with
54883         xreadlink-with-size.
54884         * lib/canonicalize.c (canonicalize_filename_mode): Update.
54885
54886 2007-02-25  Jim Meyering  <jim@meyering.net>
54887
54888         * build-aux/announce-gen: When complaining about excess arguments,
54889         list them.
54890
54891 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54892
54893         * README: Document signed integer overflow situation more
54894         accurately.
54895
54896 2007-02-25  Bruno Haible  <bruno@clisp.org>
54897
54898         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
54899         'a' or 'A' conversion.
54900
54901 2007-02-25  Bruno Haible  <bruno@clisp.org>
54902
54903         * modules/filename: Renamed from modules/pathname.
54904         (Files): Replace lib/pathname.h with lib/filename.h. Replace
54905         lib/concatpath.c with lib/concat-filename.c.
54906         (Makefile.am): Update.
54907         (Include): Replace pathname.h with filename.h.
54908         * lib/filename.h: Renamed from lib/pathname.h.
54909         (concatenated_filename): Renamed from concatenated_pathname.
54910         * lib/concat-filename.c: Renamed from lib/concatpath.c.
54911         (concatenated_filename): Renamed from concatenated_pathname.
54912         * lib/findprog.c: Include filename.h instead of pathname.h.
54913         (find_in_path): Update.
54914         * lib/javacomp.c: Include filename.h instead of pathname.h.
54915         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
54916         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
54917         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
54918         is_oldgcj_14_13_usable, is_javac_usable): Update.
54919         * lib/javaexec.c: Include filename.h instead of pathname.h.
54920         (execute_java_class): Update.
54921         * modules/findprog: Update.
54922         * modules/javacomp: Update.
54923         * modules/javaexec: Update.
54924         * MODULES.html.sh (File system functions): Add 'filename', remove
54925         'pathname'.
54926
54927 2007-02-25  Bruno Haible  <bruno@clisp.org>
54928
54929         * modules/printf-frexpl-tests: New file.
54930         * tests/test-printf-frexpl.c: New file.
54931
54932         * modules/printf-frexpl: New file.
54933         * lib/printf-frexpl.h: New file.
54934         * lib/printf-frexpl.c: New file.
54935         * m4/printf-frexpl.m4: New file.
54936
54937 2007-02-25  Bruno Haible  <bruno@clisp.org>
54938
54939         * modules/printf-frexp-tests: New file.
54940         * tests/test-printf-frexp.c: New file.
54941
54942         * modules/printf-frexp: New file.
54943         * lib/printf-frexp.h: New file.
54944         * lib/printf-frexp.c: New file.
54945         * m4/printf-frexp.m4: New file.
54946
54947 2007-02-25  Bruno Haible  <bruno@clisp.org>
54948
54949         Assume automake >= 1.10 for the tests.
54950         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
54951         * modules/arctwo-tests: Likewise.
54952         * modules/argp-tests: Likewise.
54953         * modules/avltree-list-tests: Likewise.
54954         * modules/avltree-oset-tests: Likewise.
54955         * modules/avltreehash-list-tests: Likewise.
54956         * modules/carray-list-tests: Likewise.
54957         * modules/crc-tests: Likewise.
54958         * modules/des-tests: Likewise.
54959         * modules/gc-arcfour-tests: Likewise.
54960         * modules/gc-arctwo-tests: Likewise.
54961         * modules/gc-des-tests: Likewise.
54962         * modules/gc-hmac-md5-tests: Likewise.
54963         * modules/gc-hmac-sha1-tests: Likewise.
54964         * modules/gc-md2-tests: Likewise.
54965         * modules/gc-md4-tests: Likewise.
54966         * modules/gc-md5-tests: Likewise.
54967         * modules/gc-pbkdf2-sha1-tests: Likewise.
54968         * modules/gc-rijndael-tests: Likewise.
54969         * modules/gc-sha1-tests: Likewise.
54970         * modules/gc-tests: Likewise.
54971         * modules/getaddrinfo-tests: Likewise.
54972         * modules/hmac-md5-tests: Likewise.
54973         * modules/hmac-sha1-tests: Likewise.
54974         * modules/linked-list-tests: Likewise.
54975         * modules/linkedhash-list-tests: Likewise.
54976         * modules/lock-tests: Likewise.
54977         * modules/md2-tests: Likewise.
54978         * modules/md4-tests: Likewise.
54979         * modules/md5-tests: Likewise.
54980         * modules/rbtree-list-tests: Likewise.
54981         * modules/rbtree-oset-tests: Likewise.
54982         * modules/rbtreehash-list-tests: Likewise.
54983         * modules/read-file-tests: Likewise.
54984         * modules/rijndael-tests: Likewise.
54985         * modules/stdint-tests: Likewise.
54986         * modules/tls-tests: Likewise.
54987
54988 2007-02-24  Bruno Haible  <bruno@clisp.org>
54989
54990         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
54991         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
54992         function; instead check whether isnan with a double argument links.
54993         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
54994         function; instead check whether isnan with a 'long double' argument
54995         links.
54996         Reported by Eric Blake <ebb9@byu.net>.
54997
54998 2007-02-24  Bruno Haible  <bruno@clisp.org>
54999
55000         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
55001         defined.
55002         * lib/isnanl.c: Remove all code. Just include isnan.c.
55003         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
55004
55005 2007-02-25  Jim Meyering  <jim@meyering.net>
55006
55007         Avoid conflicting types for 'unsetenv' on FreeBSD.
55008         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
55009         conflicting with FreeBSD's (5.0 and 6.1) function declaration
55010         in stdlib.h.
55011
55012 2007-02-24  Bruno Haible  <bruno@clisp.org>
55013
55014         * modules/isnanl-nolibm-tests: New file.
55015         * tests/test-isnanl.c: New file.
55016
55017         * modules/isnanl-nolibm: New file.
55018         * lib/isnanl.h: New file.
55019         * lib/isnanl.c: New file.
55020         * m4/isnanl.m4: New file.
55021
55022 2007-02-24  Bruno Haible  <bruno@clisp.org>
55023
55024         * modules/isnan-nolibm-tests: New file.
55025         * tests/test-isnan.c: New file.
55026
55027         * modules/isnan-nolibm: New file.
55028         * lib/isnan.h: New file.
55029         * lib/isnan.c: New file.
55030         * m4/isnan.m4: New file.
55031
55032 2007-02-24  Bruno Haible  <bruno@clisp.org>
55033
55034         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
55035         assume that an exponent fits in 20 bits.
55036
55037 2007-02-24  Jim Meyering  <jim@meyering.net>
55038
55039         * m4/regex.m4: Update the description of the configure-time option,
55040         --without-included-regex, to state accurately what the defaults are,
55041         and perhaps to give people an idea why using this option is risky.
55042
55043 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
55044
55045         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
55046         loops on small arguments.  This attempts to avoid the problem
55047         Bruno Haible reported for AIX 4.3.2 in
55048         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
55049
55050 2007-02-23  Bruno Haible  <bruno@clisp.org>
55051
55052         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
55053         Needed for help2man.
55054
55055 2007-02-23  Karl Berry  <karl@gnu.org>
55056
55057         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
55058         exists, foo.h should be cvs-ignored, not committed.
55059
55060 2007-02-23  Eric Blake  <ebb9@byu.net>
55061
55062         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
55063         * lib/stat-time.h (includes): Likewise.
55064         * lib/utimecmp.c (includes): Likewise.
55065         * lib/utimens.h (includes): Likewise.
55066         * lib/getdate.y (includes): Also include "timespec.h" for use
55067         internal to the module.
55068         * modules/utimens (Depends-on): Revert yesterday's patch.
55069         * modules/nanosleep (Depends-on): Add missing dependency.
55070
55071 2007-02-22  Bruno Haible  <bruno@clisp.org>
55072
55073         * lib/glob.c: Don't include getlogin_r.h.
55074
55075 2007-02-22  Jim Meyering  <jim@meyering.net>
55076
55077         * modules/utimens (Depends-on): Add timespec, required for
55078         utimens.h's inclusion of timespec.h.
55079
55080 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
55081
55082         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
55083         long unreadable paths in GNU/Linux.  Problem reported by Andreas
55084         Schwab in
55085         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
55086         I'll try to think of a better way to fix the Solaris problem.
55087
55088         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
55089         like glibc; on Solaris 10, it fails with errno == EINVAL.
55090         POSIX says the behavior is unspecified if the first argument is NULL,
55091         so play it safe and never pass NULL to the system getcwd.
55092
55093 2007-02-21  Jim Meyering  <jim@meyering.net>
55094
55095         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
55096         of gettimeofday.  It would conflict with the one now always
55097         provided via sys_time_.h.  Reported by Matthew Woehlke, as
55098         an IRIX 6.5 build failure.
55099
55100 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
55101
55102         Minor fixups to port to Solaris 10 with Sun C 5.8.
55103         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
55104         * modules/getcwd (Depends-on): Add dirfd.
55105         * lib/putenv.c (putenv): #undef it.
55106         (rpl_putenv): New decl.
55107         (malloc, free): Include <stdlib.h> rather than prototyping separately.
55108
55109 2007-02-20  Bruno Haible  <bruno@clisp.org>
55110
55111         * modules/stdio-tests: New file.
55112         * tests/test-stdio.c: New file.
55113
55114         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
55115         (Depends-on): Add stdio.
55116         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
55117         (Include): Use <stdio.h> instead of vsnprintf.h.
55118         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
55119         HAVE_DECL_VSNPRINTF.
55120         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
55121
55122         * modules/snprintf (Files): Remove lib/snprintf.h.
55123         (Depends-on): Add stdio.
55124         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
55125         (Include): Use <stdio.h> instead of snprintf.h.
55126         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
55127         HAVE_DECL_SNPRINTF.
55128         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
55129         * lib/getaddrinfo.c: Likewise.
55130
55131         * modules/stdio: New file.
55132         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
55133         * lib/snprintf.h: Remove file.
55134         * lib/vsnprintf.h: Remove file.
55135         * lib/.cppi-disable: Remove snprintf.h.
55136         * m4/stdio_h.m4: New file.
55137         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
55138
55139 2007-02-20  Jim Meyering  <jim@meyering.net>
55140
55141         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
55142         used by e.g., mingw.  From Bruno Haible.
55143
55144 2007-02-19  Bruno Haible  <bruno@clisp.org>
55145
55146         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
55147         warnings.
55148         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55149
55150 2007-02-19  Bruno Haible  <bruno@clisp.org>
55151
55152         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
55153         from mingw users.
55154
55155 2007-02-19  Bruno Haible  <bruno@clisp.org>
55156
55157         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
55158         warnings.
55159         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
55160
55161 2007-02-19  Jim Meyering  <jim@meyering.net>
55162
55163         Don't use FD after a successful "fdopendir (fd)".
55164         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
55165         Reset it by calling dirfd on the just-obtained DIR*.
55166
55167         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
55168         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
55169
55170 2007-02-18  Bruno Haible  <bruno@clisp.org>
55171
55172         * lib/readlink.c: Include <unistd.h>.
55173         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
55174         HAVE_READLINK.
55175         * modules/readlink (Depends-on): Add unistd.
55176         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55177         (Include): Add <unistd.h>.
55178
55179         * lib/getlogin_r.h: Remove file.
55180         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
55181         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
55182         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
55183         HAVE_DECL_GETLOGIN_R.
55184         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
55185         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55186         (Include): Use <unistd.h> instead of getlogin_r.h.
55187
55188         * lib/getcwd.h: Remove file.
55189         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
55190         * lib/xgetcwd.c: Likewise.
55191         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
55192         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
55193         * modules/getcwd (Files): Remove lib/getcwd.h.
55194         (Depends-on): Add unistd.
55195         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55196         (Include): Use <unistd.h> instad of getcwd.h.
55197
55198         * lib/ftruncate.c: Include <unistd.h> first.
55199         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
55200         Set HAVE_FTRUNCATE.
55201         * modules/ftruncate (Depends-on): Add unistd.
55202         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55203
55204         * lib/fchdir.c: Include <unistd.h> first.
55205         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
55206         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
55207         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
55208         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55209         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
55210
55211         * lib/dup2.c: Include <unistd.h> first.
55212         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
55213         HAVE_DUP2.
55214         * modules/dup2 (Depends-on): Add unistd.
55215         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55216
55217         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
55218         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
55219         REPLACE_CHOWN. Don't define chown as a macro here.
55220         * modules/chown (Depends-on): Add unistd.
55221         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55222
55223         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
55224         Add definition for GL_LINK_WARNING.
55225         (chown, dup2): New declarations.
55226         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
55227         link warning.
55228         (ftruncate): New declaration.
55229         (getcwd): New declaration, taken from old getcwd.h.
55230         (getlogin_r): New declaration, taken from old getlogin_r.h.
55231         (readlink): New declaration.
55232         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
55233         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
55234         (gl_PREREQ_UNISTD): Remove macro.
55235         (gl_UNISTD_MODULE_INDICATOR): New macro.
55236         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
55237         many new variables. Don't set UNISTD_H.
55238         * modules/unistd (Description): Change.
55239         (Depends-on): Add link-warning.
55240         (configure.ac): Update.
55241         (Makefile.am): Create unistd.h always. Substitute many new variables
55242         into it.
55243
55244 2007-02-18  Bruno Haible  <bruno@clisp.org>
55245
55246         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
55247         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
55248         HAVE_GETSUBOPT.
55249         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
55250         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
55251         * lib/getsubopt.h: Remove file.
55252         * modules/getsubopt (Files): Remove lib/getsubopt.h.
55253         (Depends-on): Add stdlib.
55254         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55255         (Includes): Use <stdlib.h> instead of getsubopt.h.
55256         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
55257         Set HAVE_GETSUBOPT.
55258         * lib/getsubopt.c: Don't include getsubopt.h.
55259
55260 2007-02-18  Bruno Haible  <bruno@clisp.org>
55261
55262         * modules/fchdir (Depends-on): Add dup2.
55263
55264 2007-02-18  Bruno Haible  <bruno@clisp.org>
55265
55266         * lib/stdlib_.h: Handle glibc's special invocation convention
55267         specially.
55268
55269 2007-02-18  Bruno Haible  <bruno@clisp.org>
55270
55271         * modules/stdlib-tests: New file.
55272         * tests/test-stdlib.c: New file.
55273
55274         * modules/mkstemp (Files): Remove lib/mkstemp.h.
55275         (Depends-on): Add stdlib.
55276         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55277         (Includes): Use <stdlib.h> instead of mkstemp.h.
55278         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
55279         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
55280         * lib/mkstemp.c: Don't include mkstemp.h.
55281         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
55282         * lib/stdlib--.h: Don't include mkstemp.h.
55283
55284         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
55285         (Depends-on): Add stdlib.
55286         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55287         (Includes): Use <stdlib.h> instead of mkdtemp.h.
55288         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
55289         HAVE_MKDTEMP.
55290         * lib/mkdtemp.c: Don't include mkdtemp.h.
55291         * lib/clean-temp.c: Don't include mkdtemp.h.
55292
55293         * modules/exit (Files): Remove lib/exit.h.
55294         (Depends-on): Add stdlib.
55295         (Makefile.am): Remove lib_SOURCES.
55296         (Include): Use <stdlib.h> instead of exit.h.
55297         * lib/argmatch.c: Don't include exit.h.
55298         * lib/execute.c: Likewise.
55299         * lib/pagealign_alloc.c: Likewise.
55300         * lib/pipe.c: Likewise.
55301         * lib/wait-process.c: Likewise.
55302         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
55303         * lib/exitfail.c: Likewise.
55304         * lib/savewd.c: Likewise.
55305         * lib/xsetenv.c: Likewise.
55306
55307         * modules/stdlib: New file.
55308         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
55309         and extra comments about mkstemp().
55310         * lib/exit.h: Remove file.
55311         * lib/mkdtemp.h: Remove file.
55312         * lib/mkstemp.h: Remove file.
55313         * m4/stdlib_h.m4: New file.
55314         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
55315
55316 2007-02-18  Bruno Haible  <bruno@clisp.org>
55317
55318         * modules/math-tests: New file.
55319         * tests/test-math.c: New file.
55320
55321         * modules/math: New file.
55322         * modules/mathl (Files): Remove lib/mathl.h.
55323         (Depends-on): Add math.
55324         (Makefile.am): Don't mention mathl.h.
55325         (Include): Use <math.h> instead of mathl.h.
55326         * lib/math_.h: New file.
55327         * lib/mathl.h: Remove file.
55328         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
55329         mathl.h.
55330         * lib/asinl.c: Likewise.
55331         * lib/atanl.c: Likewise.
55332         * lib/ceill.c: Likewise.
55333         * lib/cosl.c: Likewise.
55334         * lib/expl.c: Likewise.
55335         * lib/floorl.c: Likewise.
55336         * lib/frexpl.c: Likewise.
55337         * lib/ldexpl.c: Likewise.
55338         * lib/logl.c: Likewise.
55339         * lib/sincosl.c: Likewise.
55340         * lib/sinl.c: Likewise.
55341         * lib/sqrtl.c: Likewise.
55342         * lib/tanl.c: Likewise.
55343         * lib/trigl.c: Likewise.
55344         * m4/math_h.m4: New file.
55345         * MODULES.html.sh (Mathematics): Add math.
55346
55347 2007-02-17  Bruno Haible  <bruno@clisp.org>
55348
55349         * modules/wctype-tests: New file.
55350         * tests/test-wctype.c: New file.
55351
55352         * modules/wchar-tests: New file.
55353         * tests/test-wchar.c: New file.
55354
55355         * modules/unistd-tests: New file.
55356         * tests/test-unistd.c: New file.
55357
55358         * modules/time-tests: New file.
55359         * tests/test-time.c: New file.
55360
55361         * modules/sysexits-tests: New file.
55362         * tests/test-sysexits.c: New file.
55363
55364         * modules/sys_time-tests: New file.
55365         * tests/test-sys_time.c: New file.
55366
55367         * modules/sys_stat-tests: New file.
55368         * tests/test-sys_stat.c: New file.
55369
55370         * modules/sys_socket-tests: New file.
55371         * tests/test-sys_socket.c: New file.
55372
55373         * modules/sys_select-tests: New file.
55374         * tests/test-sys_select.c: New file.
55375
55376         * modules/string-tests: New file.
55377         * tests/test-string.c: New file.
55378
55379         * modules/stdbool-tests: New file.
55380         * tests/test-stdbool.c: New file.
55381
55382         * modules/netinet_in-tests: New file.
55383         * tests/test-netinet_in.c: New file.
55384
55385         * modules/inttypes-tests: New file.
55386         * tests/test-inttypes.c: New file.
55387
55388         * modules/fcntl-tests: New file.
55389         * tests/test-fcntl.c: New file.
55390
55391         * modules/byteswap-tests: New file.
55392         * tests/test-byteswap.c: New file.
55393
55394         * modules/arpa_inet-tests: New file.
55395         * tests/test-arpa_inet.c: New file.
55396
55397 2007-02-17  Bruno Haible  <bruno@clisp.org>
55398
55399         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
55400         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
55401         if the corresponding module is not enabled. Emit link warnings if
55402         the function is used nevertheless.
55403         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
55404         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
55405         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
55406         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
55407         * modules/inttypes (Depends-on): Add link-warning.
55408         (Makefile.am): Copy the contents of build-aux/link-warning.h into
55409         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
55410         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
55411         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
55412         * modules/imaxdiv (configure.ac): Likewise.
55413         * modules/strtoimax (configure.ac): Likewise.
55414         * modules/strtoumax (configure.ac): Likewise.
55415
55416 2007-02-17  Bruno Haible  <bruno@clisp.org>
55417
55418         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
55419         gl_STRING_MODULE_INDICATOR_DEFAULTS.
55420         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
55421         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
55422
55423 2007-02-17  Bruno Haible  <bruno@clisp.org>
55424
55425         * modules/link-warning: New file.
55426         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
55427         * lib/string_.h (GL_LINK_WARNING): Remove definition.
55428         * modules/string (Depends-on): Add link-warning.
55429         (Makefile.am): Copy the contents of build-aux/link-warning.h into
55430         string.h.
55431         * MODULES.html.sh (Support for building libraries and executables): Add
55432         link-warning.
55433
55434 2007-02-17  Bruno Haible  <bruno@clisp.org>
55435
55436         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
55437         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
55438         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
55439         long lines.
55440
55441 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
55442             Bruno Haible  <bruno@clisp.org>
55443
55444         * modules/tmpfile: New file.
55445         * lib/tmpfile.c: New file.
55446         * m4/tmpfile.m4: New file.
55447         * MODULES.html.sh (func_all_modules): New section "Input/output".
55448
55449 2007-02-15  Bruno Haible  <bruno@clisp.org>
55450
55451         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
55452         (supports_delete_on_close): New function.
55453         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
55454
55455 2007-02-14  Bruno Haible  <bruno@clisp.org>
55456
55457         * modules/mbspcasecmp-tests: New file.
55458         * tests/test-mbspcasecmp.sh: New file.
55459         * tests/test-mbspcasecmp.c: New file.
55460
55461         New module mbspcasecmp.
55462         * modules/mbspcasecmp: New file.
55463         * lib/mbspcasecmp.c: New file.
55464         * lib/string_.h (strncasecmp): Change warning message.
55465         (mbspcasecmp): New declaration.
55466         * m4/mbspcasecmp.m4: New file.
55467         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55468         GNULIB_MBSPCASECMP.
55469         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
55470         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
55471
55472 2007-02-14  Bruno Haible  <bruno@clisp.org>
55473
55474         * modules/mbsncasecmp-tests: New file.
55475         * tests/test-mbsncasecmp.sh: New file.
55476         * tests/test-mbsncasecmp.c: New file.
55477
55478         New module mbsncasecmp.
55479         * modules/mbsncasecmp: New file.
55480         * lib/mbsncasecmp.c: New file.
55481         * lib/string_.h (mbsncasecmp): New declaration.
55482         * m4/mbsncasecmp.m4: New file.
55483         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55484         GNULIB_MBSNCASECMP.
55485         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
55486         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
55487
55488 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
55489
55490         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
55491         Verify that it doesn't overlap with our flags.
55492         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
55493         do not have the desired effect in multibyte locales; instead, use
55494         mbscasecmp.
55495         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
55496         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
55497         we don't require GNU fnmatch ourselves (if our users require it, they
55498         should do so explicitly).
55499
55500         Fix regex code so it doesn't rely on strcasecmp.
55501         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
55502         Otherwise, include gnulib's langinfo.h.
55503         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
55504         undesirable behavior in non-C locales.  Instead, rely on localecharset.
55505         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
55506         * modules/regex (FILES): Remove m4/codeset.m4.
55507         (Depends-on): Add localcharset.  Remove strcase.
55508
55509 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55510
55511         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
55512         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
55513
55514 2007-02-13  Bruno Haible  <bruno@clisp.org>
55515
55516         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
55517         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55518
55519 2007-02-12  Bruno Haible  <bruno@clisp.org>
55520
55521         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
55522         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
55523         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
55524         time warning rather than a link error.
55525
55526 2007-02-12  Bruno Haible  <bruno@clisp.org>
55527
55528         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
55529         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55530         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55531
55532 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
55533
55534         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
55535         args, not 2.
55536
55537 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
55538
55539         New module 'time', so that apps can include <time.h> as per
55540         POSIX and GNU instead of separate include files like time_r.h
55541         and timegm.h.  This implementation tries out a simpler approach
55542         for replacing decls in standard include files (as compared to
55543         the string module), somewhat as an experiment.
55544
55545         * config/srclist.txt: Comment out mktime.c for now.
55546         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
55547         since it doesn't apply any more.  Use generic wording instead.
55548         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
55549         'time'.
55550         * lib/time_.h, m4/time_h.m4, modules/time: New files.
55551         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
55552         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
55553         Don't include <sys/types.h>; no longer needed since we assume C89.
55554         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
55555         * lib/strftime.c: Likewise.
55556         * lib/time_r.c: Likewise.
55557         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
55558         * lib/nanosleep.c: Include <time.h> first, to check interface.
55559         * lib/strptime.c: Likewise.
55560         * lib/time_r.c: Likewise.
55561         * lib/timegm.c: Likewise.
55562         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
55563         needed.
55564         * lib/timegm.c: Don't include timegm.h; no longer needed.
55565         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
55566         time.h now handles any problems in that area.
55567         (struct timespec, nanosleep): Remove; time.h now arranges for these.
55568         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
55569         that time.h defines struct timespec.
55570         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
55571         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
55572         handles that.
55573         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
55574         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
55575         needed.  Set REPLACE_LOCALTIME.
55576         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
55577         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
55578         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
55579         nanosleep; time_h.m4 now does that.  Don't require
55580         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
55581         module handles this now.
55582         * modules/getdate (Depends-on): Remove timespec.  Add time.
55583         * modules/nanosleep (Depends-on): Likewise.
55584         * modules/stat-time (Depends-on): Likewise.
55585         * modules/nanosleep (Include): Include time.h, not timespec.h.
55586         * modules/strptime (Files): Remove lib/strptime.h.
55587         (Depends-on): Add extensions, time.
55588         (Include): Include time.h, not strptime.h.
55589         * modules/time_r (Files): Remove lib/time_r.h.
55590         (Depends-on): Add time.
55591         (Include): Include time.h, not time_r.h.
55592         * modules/timegm: Likewise.
55593         * modules/timespec (Description): Now does timespec-related decls
55594         of our own, instead of struct timespec itself.
55595         (Depends-on): Add time; remove extensions.
55596         (Maintainer): Add self.
55597         * modules/utimecmp (Depends-on): Add time; remove timespec.
55598         * modules/utimens (Depends-on): Likewise.
55599         * modules/xnanosleep (Depends-on): Likewise.
55600
55601 2007-02-11  Bruno Haible  <bruno@clisp.org>
55602
55603         * lib/c-strstr.c: Include allocsa.h.
55604         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
55605         * lib/c-strcasestr.c: Include allocsa.h.
55606         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
55607         * lib/strcasestr.c: Include allocsa.h.
55608         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
55609         * lib/mbsstr.c: Include allocsa.h.
55610         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
55611         allocsa/freesa instead of malloc/free.
55612         * lib/mbscasestr.c: Include allocsa.h.
55613         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
55614         allocsa/freesa instead of malloc/free.
55615         * modules/c-strstr (Depends-on): Add allocsa.
55616         * modules/c-strcasestr (Depends-on): Likewise.
55617         * modules/strcasestr (Depends-on): Likewise.
55618         * modules/mbsstr (Depends-on): Likewise.
55619         * modules/mbscasestr (Depends-on): Likewise.
55620
55621 2007-02-11  Bruno Haible  <bruno@clisp.org>
55622
55623         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
55624
55625         * modules/mbsspn-tests: New file.
55626         * tests/test-mbsspn.sh: New file.
55627         * tests/test-mbsspn.c: New file.
55628
55629 2007-02-11  Bruno Haible  <bruno@clisp.org>
55630
55631         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
55632
55633         * modules/mbspbrk-tests: New file.
55634         * tests/test-mbspbrk.sh: New file.
55635         * tests/test-mbspbrk.c: New file.
55636
55637 2007-02-11  Bruno Haible  <bruno@clisp.org>
55638
55639         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
55640         unneeded cast.
55641
55642         * modules/mbscspn-tests: New file.
55643         * tests/test-mbscspn.sh: New file.
55644         * tests/test-mbscspn.c: New file.
55645
55646 2007-02-11  Bruno Haible  <bruno@clisp.org>
55647
55648         * modules/mbscasecmp-tests: New file.
55649         * tests/test-mbscasecmp.sh: New file.
55650         * tests/test-mbscasecmp.c: New file.
55651
55652 2007-02-11  Bruno Haible  <bruno@clisp.org>
55653
55654         Ensure O(n) worst-case complexity of mbscasestr.
55655         * lib/mbscasestr.c: Include stdbool.h.
55656         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
55657         functions.
55658         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
55659         the bookkeeping indicates that it's worth it.
55660         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
55661
55662         * modules/mbscasestr-tests: New file.
55663         * tests/test-mbscasestr1.c: New file.
55664         * tests/test-mbscasestr2.sh: New file.
55665         * tests/test-mbscasestr2.c: New file.
55666         * tests/test-mbscasestr3.sh: New file.
55667         * tests/test-mbscasestr3.c: New file.
55668         * tests/test-mbscasestr4.sh: New file.
55669         * tests/test-mbscasestr4.c: New file.
55670         * m4/locale-tr.m4: New file.
55671
55672 2007-02-11  Bruno Haible  <bruno@clisp.org>
55673
55674         Ensure O(n) worst-case complexity of mbsstr.
55675         * lib/mbsstr.c: Include stdbool.h.
55676         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
55677         functions.
55678         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
55679         bookkeeping indicates that it's worth it.
55680         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
55681
55682         * modules/mbsstr-tests: New file.
55683         * tests/test-mbsstr1.c: New file.
55684         * tests/test-mbsstr2.sh: New file.
55685         * tests/test-mbsstr2.c: New file.
55686         * tests/test-mbsstr3.sh: New file.
55687         * tests/test-mbsstr3.c: New file.
55688         * m4/locale-fr.m4: New file.
55689
55690 2007-02-11  Bruno Haible  <bruno@clisp.org>
55691
55692         * lib/mbsrchr.c (mbsrchr): Fix bug.
55693
55694         * modules/mbsrchr-tests: New file.
55695         * tests/test-mbsrchr.sh: New file.
55696         * tests/test-mbsrchr.c: New file.
55697
55698 2007-02-11  Bruno Haible  <bruno@clisp.org>
55699
55700         * lib/mbschr.c (mbschr): Fix bug.
55701
55702         * modules/mbschr-tests: New file.
55703         * tests/test-mbschr.sh: New file.
55704         * tests/test-mbschr.c: New file.
55705         * m4/locale-zh.m4: New file.
55706
55707 2007-02-11  Bruno Haible  <bruno@clisp.org>
55708
55709         Support for copying multibyte string iterators.
55710         * lib/mbiter.h: Include <string.h>.
55711         (mbiter_multi_copy): New function.
55712         (mbi_copy): New macro.
55713         * lib/mbuiter.h: Include <string.h>.
55714         (mbuiter_multi_copy): New function.
55715         (mbui_copy): New macro.
55716
55717 2007-02-11  Bruno Haible  <bruno@clisp.org>
55718
55719         New module mbslen.
55720         * modules/mbslen: New file.
55721         * lib/mbslen.c: New file.
55722         * lib/string_.h (mbslen): New declaration.
55723         * m4/mbslen.m4: New file.
55724         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55725         GNULIB_MBSLEN.
55726         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
55727         * MODULES.html.sh (Internationalization functions): Add mbslen.
55728
55729 2007-02-11  Bruno Haible  <bruno@clisp.org>
55730
55731         Ensure O(n) worst-case complexity of strcasestr substitute.
55732         * lib/strcasestr.c: Include stdbool.h.
55733         (knuth_morris_pratt): New function.
55734         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
55735         bookkeeping indicates that it's worth it.
55736         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
55737
55738         * modules/strcasestr-tests: New file.
55739         * tests/test-strcasestr.c: New file.
55740
55741 2007-02-11  Bruno Haible  <bruno@clisp.org>
55742
55743         Ensure O(n) worst-case complexity of c_strcasestr.
55744         * lib/c-strcasestr.c: Include stdbool.h, string.h.
55745         (knuth_morris_pratt): New function.
55746         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
55747         the bookkeeping indicates that it's worth it.
55748         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
55749
55750         * modules/c-strcasestr-tests: New file.
55751         * tests/test-c-strcasestr.c: New file.
55752
55753 2007-02-11  Bruno Haible  <bruno@clisp.org>
55754
55755         Ensure O(n) worst-case complexity of c_strstr.
55756         * lib/c-strstr.c: Include stdbool.h, string.h.
55757         (knuth_morris_pratt): New function.
55758         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
55759         bookkeeping indicates that it's worth it.
55760         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
55761
55762         * lib/c-strstr.c: Complete rewrite for maintainability.
55763
55764         * modules/c-strstr-tests: New file.
55765         * tests/test-c-strstr.c: New file.
55766
55767 2007-02-11  Bruno Haible  <bruno@clisp.org>
55768
55769         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
55770         5.2.1 and earlier, whereby \055 was treated just like the range
55771         delimiter '-'.
55772         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55773
55774 2007-02-08  Bruno Haible  <bruno@clisp.org>
55775
55776         * modules/regex (Depends-on): Add stdbool.
55777         Reported by Dalibor Topic <robilad@kaffe.org>.
55778
55779 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55780
55781         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
55782         Prefer returning from main to exiting from it.
55783         Remove unnecessary parens after sizeof.
55784
55785 2007-02-05  Bruno Haible  <bruno@clisp.org>
55786
55787         New module mbssep.
55788         * modules/mbssep: New file.
55789         * lib/mbssep.c: New file.
55790         * lib/string_.h (strsep): Add a conditional link warning.
55791         (mbssep): New declaration.
55792         * m4/mbssep.m4: New file.
55793         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55794         GNULIB_MBSSEP.
55795         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
55796         * MODULES.html.sh (Internationalization functions): Add mbssep.
55797
55798 2007-02-05  Bruno Haible  <bruno@clisp.org>
55799
55800         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
55801         Optimize search in case of 1 delimiter.
55802
55803 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
55804
55805         * lib/acl.h: Include sys/types.h before sys/acl.h.
55806
55807 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
55808
55809         Merge upstream fix for glibc bugzilla #3957:
55810
55811         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
55812
55813         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
55814         bit for RE_HAT_LISTS_NOT_NEWLINE.
55815         (build_charclass_op): Remove bogus comment.
55816
55817 2007-02-05  Simon Josefsson  <simon@josefsson.org>
55818
55819         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
55820
55821 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55822
55823         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
55824         * lib/memmem.c [!defined _LIBC]: Include config.h.
55825
55826 2007-02-04  Bruno Haible  <bruno@clisp.org>
55827
55828         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
55829         warning message.
55830
55831 2007-02-04  Bruno Haible  <bruno@clisp.org>
55832
55833         New module mbstok_r.
55834         * modules/mbstok_r: New file.
55835         * lib/mbstok_r.c: New file.
55836         * lib/string_.h (strtok_r): Change argument names to match the
55837         comments. Add a conditional link warning.
55838         (mbstok_r): New declaration.
55839         * m4/mbstok_r.m4: New file.
55840         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55841         GNULIB_MBSTOK_R.
55842         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
55843         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
55844
55845 2007-02-04  Bruno Haible  <bruno@clisp.org>
55846
55847         New module mbsspn.
55848         * modules/mbsspn: New file.
55849         * lib/mbsspn.c: New file.
55850         * lib/string_.h (strspn): Add a conditional link warning.
55851         (mbsspn): New declaration.
55852         * m4/mbsspn.m4: New file.
55853         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55854         GNULIB_MBSSPN.
55855         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
55856         * MODULES.html.sh (Internationalization functions): Add mbsspn.
55857
55858 2007-02-04  Bruno Haible  <bruno@clisp.org>
55859
55860         New module mbspbrk.
55861         * modules/mbspbrk: New file.
55862         * lib/mbspbrk.c: New file.
55863         * lib/string_.h (strpbrk): Add a conditional link warning.
55864         (mbspbrk): New declaration.
55865         * m4/mbspbrk.m4: New file.
55866         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55867         GNULIB_MBSPBRK.
55868         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
55869         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
55870
55871 2007-02-04  Bruno Haible  <bruno@clisp.org>
55872
55873         New module mbscspn.
55874         * modules/mbscspn: New file.
55875         * lib/mbscspn.c: New file.
55876         * lib/string_.h (strcspn): Add a conditional link warning.
55877         (mbscspn): New declaration.
55878         * m4/mbscspn.m4: New file.
55879         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55880         GNULIB_MBSCSPN.
55881         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
55882         * MODULES.html.sh (Internationalization functions): Add mbscspn.
55883
55884 2007-02-04  Bruno Haible  <bruno@clisp.org>
55885
55886         New module mbscasestr, reduced goal of strcasestr.
55887         * modules/mbscasestr: New file.
55888         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
55889         (mbscasestr): Renamed from strcasestr.
55890         * lib/strcasestr.c: Don't include mbuiter.h.
55891         (strcasestr): Remove support for multibyte locales.
55892         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
55893         Change the conditional link warning.
55894         (mbscasestr): New declaration.
55895         * m4/mbscasestr.m4: New file.
55896         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
55897         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
55898         REPLACE_STRCASESTR.
55899         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
55900         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55901         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
55902         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
55903         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
55904         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
55905         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
55906         (Depends-on): Remove mbuiter.
55907         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
55908
55909 2007-02-04  Bruno Haible  <bruno@clisp.org>
55910
55911         Simplify handling of strncasecmp.
55912         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
55913         the conditional link warning.
55914         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55915         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
55916         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
55917         * modules/strcase (configure.ac): Don't invoke
55918         gl_STRING_MODULE_INDICATOR.
55919         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
55920
55921 2007-02-04  Bruno Haible  <bruno@clisp.org>
55922
55923         New module mbscasecmp, reduced goal of strcasecmp.
55924         * modules/mbscasecmp: New file.
55925         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
55926         (mbscasecmp): Renamed from strcasecmp.
55927         * lib/strcasecmp.c: Don't include mbuiter.h.
55928         (strcasecmp): Remove support for multibyte locales.
55929         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
55930         Change the conditional link warning.
55931         (mbscasecmp): New declaration.
55932         * m4/mbscasecmp.m4: New file.
55933         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
55934         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
55935         REPLACE_STRCASECMP.
55936         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
55937         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55938         GNULIB_MBSCASECMP.
55939         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
55940         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
55941         * modules/strcase (Files): Remove m4/mbrtowc.m4.
55942         (Depends-on): Remove mbuiter.
55943         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
55944
55945 2007-02-04  Bruno Haible  <bruno@clisp.org>
55946
55947         New module mbsstr. Remove module strstr.
55948         * modules/mbsstr: New file.
55949         * modules/strstr: Remove file.
55950         * lib/mbsstr.c: Renamed from lib/strstr.c.
55951         (mbsstr): Renamed from strstr.
55952         * lib/string_.h (strstr): Remove declaration. Change the conditional
55953         link warning.
55954         (mbsstr): New declaration.
55955         * m4/mbsstr.m4: New file.
55956         * m4/strstr.m4: Remove file.
55957         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
55958         REPLACE_STRSTR.
55959         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
55960         Don't initialize GNULIB_STRSTR.
55961         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
55962         substitute GNULIB_STRSTR and REPLACE_STRSTR.
55963         * MODULES.html.sh (Internationalization functions): Add mbsstr.
55964         (Support for systems lacking ANSI C 89): Remove strstr.
55965
55966 2007-02-04  Bruno Haible  <bruno@clisp.org>
55967
55968         New module mbsrchr.
55969         * modules/mbsrchr: New file.
55970         * lib/mbsrchr.c: New file.
55971         * lib/string_.h (strrchr): Add a conditional link warning.
55972         (mbsrchr): New declaration.
55973         * m4/mbsrchr.m4: New file.
55974         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55975         GNULIB_MBSRCHR.
55976         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
55977         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
55978
55979 2007-02-04  Bruno Haible  <bruno@clisp.org>
55980
55981         New module mbschr.
55982         * modules/mbschr: New file.
55983         * lib/mbschr.c: New file.
55984         * lib/string_.h (strchr): Add a conditional link warning.
55985         (mbschr): New declaration.
55986         * m4/mbschr.m4: New file.
55987         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55988         GNULIB_MBSCHR.
55989         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
55990         * MODULES.html.sh (Internationalization functions): Add mbschr.
55991
55992 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55993
55994         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
55995
55996         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
55997
55998 2007-02-04  Bruno Haible  <bruno@clisp.org>
55999
56000         New module description section 'configure.ac-early'.
56001         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
56002         (func_get_autoconf_early_snippet): New function.
56003         (func_import, func_create_testdir): Use it. Remove special cases for
56004         modules 'extensions' and 'lock'.
56005         * modules/extensions (configure.ac-early): Require
56006         gl_USE_SYSTEM_EXTENSIONS.
56007         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
56008
56009 2007-02-04  Bruno Haible  <bruno@clisp.org>
56010
56011         Make use of gcj-4.3's -fsource and -ftarget option.
56012         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
56013         and if so try the options -fsource and -ftarget.
56014         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
56015         source_version, ftarget_option, target_version arguments.
56016         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
56017         (is_envjavac_oldgcj_14_14_usable): Renamed from
56018         is_envjavac_gcj_14_14_usable.
56019         (is_envjavac_oldgcj_14_13_usable): Renamed from
56020         is_envjavac_gcj_14_13_usable.
56021         (is_gcj_present): Update.
56022         (is_gcj_43, is_gcj43_usable): New functions.
56023         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
56024         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
56025         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
56026         try the options -fsource and -ftarget.
56027
56028 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56029
56030         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
56031         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
56032         larger value.
56033
56034 2007-02-03  Jim Meyering  <jim@meyering.net>
56035
56036         Give tools a better chance to allocate space for very large buffers.
56037         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
56038
56039         Make pwd and readlink work also when run with an unreadable parent dir
56040         on systems with openat support.
56041         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
56042         provided getcwd function, even when we have openat support.
56043         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
56044
56045 2007-02-02  Bruno Haible  <bruno@clisp.org>
56046
56047         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
56048         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
56049         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
56050         portability problems if one of these functions is only used on specific
56051         platforms.
56052         Reported by Paul Eggert.
56053
56054 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
56055
56056         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
56057         is causing more trouble than it's curing.
56058         * lib/regex_internal.h (__mempcpy): Remove.
56059         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
56060         (and make the code a tad smaller to boot).
56061         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
56062
56063 2007-02-02  Jim Meyering  <jim@meyering.net>
56064
56065         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
56066         section, not in the Makefile.am: one.
56067
56068 2007-02-02  Eric Blake  <ebb9@byu.net>
56069
56070         * lib/strchrnul.c: Always include config.h first.
56071
56072         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
56073         gnulib strstr is not necessary here.
56074
56075 2007-02-02  Simon Josefsson  <simon@josefsson.org>
56076
56077         * m4/socklen.m4: Fix typo.
56078
56079 2007-02-02  Eric Blake  <ebb9@byu.net>
56080
56081         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
56082         * modules/netinet_in (Makefile.am): Likewise.
56083
56084 2007-02-01  Bruno Haible  <bruno@clisp.org>
56085
56086         * lib/string_.h (GL_LINK_WARNING): New macro.
56087         (strcasecmp, strstr, strcasestr): If provided by the system,
56088         conditionally define as a macro that leads to a warning instead of to
56089         an error.
56090         (strncasecmp): Conditionally define as a macro that leads to a warning.
56091
56092 2007-02-01  Karl Berry  <karl@gnu.org>
56093
56094         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
56095
56096 2007-02-01  Bruno Haible  <bruno@clisp.org>
56097
56098         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
56099         renamings.
56100
56101 2007-02-01  Eric Blake  <ebb9@byu.net>
56102
56103         * modules/regex (Depends-on): Revert dependence on mempcpy.
56104         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
56105         module's definition of mempcpy.
56106         Reported by Paul Eggert.
56107
56108 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
56109
56110         * lib/string_.h: If the gnulib module XYZ is not present, undefine
56111         the symbol XYZ before redefining it.  This fixes a problem with
56112         programs that don't use XYZ, when compiled on systems that define
56113         XYZ to something else.
56114
56115 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
56116
56117         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
56118         occurs when "mkdir -m foo" creates a setgid directory that is (1)
56119         writeable to group or other and (2) is intended to have a special
56120         mode bit that is set or cleared.  In such a case, the directory
56121         should be neither group- nor other-writeable until the special
56122         mode bits are right.
56123
56124 2007-01-31  Eric Blake  <ebb9@byu.net>
56125
56126         * modules/mountlist (Depends-on): Add strstr.
56127
56128         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
56129         bug.
56130         * modules/string (Makefile.am): Remove redundant replacement.
56131         * modules/regex (Depends-on): Add mempcpy.
56132
56133 2007-01-31  Bruno Haible  <bruno@clisp.org>
56134
56135         New module description field 'Link'.
56136         * gnulib-tool (func_usage): Document --extract-link-directive.
56137         (sed_extract_prog): Recognize 'Link' directive.
56138         (func_get_link_directive): New function.
56139         (func_import): Show summary of link directives.
56140         Handle --extract-link-directive option.
56141         * modules/acl (Link): New section.
56142         * modules/clock-time (Link): New section.
56143         * modules/euidaccess (Link): New section.
56144         * modules/gettext (Link): New section.
56145         * modules/iconv (Link): New section.
56146         * modules/lock (Link): New section.
56147         * modules/nanosleep (Link): New section.
56148         * modules/readline (Link): New section.
56149
56150 2007-01-27  Bruno Haible  <bruno@clisp.org>
56151
56152         Enforce the use of gnulib modules for unportable <string.h> functions.
56153         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
56154         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
56155         (gl_HEADER_STRING_H_BODY): Require it.
56156         * lib/string_.h: If the gnulib module XYZ is not present, redefine
56157         the symbol XYZ to one that gives a link error.
56158         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
56159         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
56160         * modules/mempcpy (configure.ac): Likewise.
56161         * modules/memrchr (configure.ac): Likewise.
56162         * modules/stpcpy (configure.ac): Likewise.
56163         * modules/stpncpy (configure.ac): Likewise.
56164         * modules/strcase (configure.ac): Likewise.
56165         * modules/strcasestr (configure.ac): Likewise.
56166         * modules/strchrnul (configure.ac): Likewise.
56167         * modules/strdup (configure.ac): Likewise.
56168         * modules/strndup (configure.ac): Likewise.
56169         * modules/strnlen (configure.ac): Likewise.
56170         * modules/strpbrk (configure.ac): Likewise.
56171         * modules/strsep (configure.ac): Likewise.
56172         * modules/strstr (configure.ac): Likewise.
56173         * modules/strtok_r (configure.ac): Likewise.
56174
56175 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
56176
56177         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
56178
56179 2007-01-30  Jim Meyering  <jim@meyering.net>
56180
56181         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
56182
56183 2007-01-29  Bruno Haible  <bruno@clisp.org>
56184
56185         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
56186         * lib/execute.c: Likewise.
56187         * lib/pipe.c: Likewise.
56188         * lib/printf-args.h: Likewise.
56189         * lib/printf-args.c: Likewise.
56190         * lib/printf-parse.c: Likewise.
56191         * lib/vasnprintf.c: Likewise.
56192
56193 2007-01-29  Eric Blake  <ebb9@byu.net>
56194
56195         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
56196         declaration.
56197
56198 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
56199
56200         * lib/strptime.h (strptime): Use 'restrict' for args where
56201         POSIX requires this.
56202         * lib/strptime.c (strptime): Likewise.
56203         Change license notice from LGPL to GPL, since gnulib-tool will
56204         change this as needed.
56205         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
56206         defined.
56207         Include "strptime.h" first, to check interface.
56208         Do not #undef _LIBC and _NL_CURRENT.
56209         Do not include <stdlib.h>; no longer needed.
56210         Include "time_r.h" and declare ptime_locale_status
56211         only if _LIBC is not defined.
56212         (__P): Remove unused macro.
56213         (match_string): Bring back glibc version, but use it only if _LIBC
56214         is defined.
56215         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
56216         Remove unnecessary assertion and abort() call.
56217         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
56218         * m4/strptime.m4: Fix serial number comment.
56219         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
56220         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
56221         (Depends-on): Add time_r.
56222
56223 2007-01-29  Bruno Haible  <bruno@clisp.org>
56224
56225         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56226         strptime.
56227         * modules/strptime (Depends-on): Add stdbool.
56228         * lib/strptime.h: Include <time.h> always. Add comments.
56229
56230 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56231
56232         * modules/strptime: New file.
56233         * lib/strptime.h: New file.
56234         * lib/strptime.c: New file.
56235         * m4/strptime.m4: New file.
56236
56237 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56238
56239         * MODULES.html.sh: New module mpsort.
56240         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
56241
56242         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
56243         a circularity problem with HP-UX ia64 reported by Bob Proulx in
56244         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
56245         All uses changed.
56246         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
56247         All uses changed.
56248         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
56249         to _Restrict_.
56250         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
56251         the parameter matches the prototype.
56252
56253 2007-01-28  Jim Meyering  <jim@meyering.net>
56254
56255         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
56256         sys/time.h here, reverting that part of the previous patch:
56257         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
56258
56259 2007-01-28  Bruno Haible  <bruno@clisp.org>
56260
56261         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
56262         value of $(SYS_TIME_H).
56263         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
56264         remove it conditionally, too. [added by Jim Meyering]
56265         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
56266         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
56267         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
56268         GETTIMEOFDAY_REPLACEMENT to 1.
56269
56270 2007-01-28  Bruno Haible  <bruno@clisp.org>
56271
56272         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
56273         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
56274         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
56275         Set UNISTD_H instead of UNISTD_H2.
56276         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
56277
56278 2007-01-28  Bruno Haible  <bruno@clisp.org>
56279
56280         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
56281         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
56282
56283 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56284
56285         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
56286         (func_create_testdir): Ensure C locale for `grep' and `tr'
56287         character ranges.
56288         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
56289         ACLOCAL_AMFLAGS parsing state machine.
56290
56291 2007-01-27  Bruno Haible  <bruno@clisp.org>
56292
56293         * modules/unistr/base: Update.
56294
56295 2007-01-27  Bruno Haible  <bruno@clisp.org>
56296
56297         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
56298         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
56299         * modules/unistr/u32-mbtouc-unsafe: Renamed from
56300         modules/unistr/u32-mbtouc.
56301         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
56302         * lib/unistr.h: Update.
56303         * lib/linebreak.c: Update.
56304         * modules/unistr/u32-mbtouc: Renamed from
56305         modules/unistr/u32-mbtouc-safe.
56306         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
56307         * lib/unistr.h: Update.
56308         * lib/unistr/u32-to-u8.c: Update.
56309         * lib/unistr/u32-to-u16.c: Update.
56310
56311 2007-01-27  Bruno Haible  <bruno@clisp.org>
56312
56313         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
56314         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
56315         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
56316         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
56317         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
56318         * modules/unistr/u16-mbtouc-unsafe: Renamed from
56319         modules/unistr/u16-mbtouc.
56320         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
56321         * lib/unistr.h: Update.
56322         * lib/linebreak.c: Update.
56323         * modules/linebreak: Update.
56324         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
56325         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
56326         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
56327         * modules/unistr/u16-mbtouc: Renamed from
56328         modules/unistr/u16-mbtouc-safe.
56329         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
56330         * lib/unistr.h: Update.
56331         * lib/unistr/u16-to-u8.c: Update.
56332         * modules/unistr/u16-to-u8: Update.
56333         * lib/unistr/u16-to-u32.c: Update.
56334         * modules/unistr/u16-to-u32: Update.
56335
56336 2007-01-27  Bruno Haible  <bruno@clisp.org>
56337
56338         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
56339         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
56340         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
56341         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
56342         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
56343         * modules/unistr/u8-mbtouc-unsafe: Renamed from
56344         modules/unistr/u8-mbtouc.
56345         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
56346         * lib/unistr.h: Update.
56347         * lib/striconveh.c: Update.
56348         * modules/striconveh: Update.
56349         * lib/linebreak.c: Update.
56350         * modules/linebreak: Update.
56351         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
56352         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
56353         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
56354         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
56355         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
56356         * lib/unistr.h: Update.
56357         * lib/striconveh.c: Update.
56358         * modules/striconveh: Update.
56359         * lib/unistr/u8-to-u16.c: Update.
56360         * modules/unistr/u8-to-u16: Update.
56361         * lib/unistr/u8-to-u32.c: Update.
56362         * modules/unistr/u8-to-u32: Update.
56363
56364 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56365
56366         Sync from Libtool.
56367         * lib/argz.c: Do not include strings.h nor memory.h, include
56368         string.h unconditionally.  Patch by Simon Josefsson.
56369
56370 2007-01-27  Bruno Haible  <bruno@clisp.org>
56371
56372         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
56373         from gl_HEADER_STRING_H_BODY.
56374         (gl_HEADER_STRING_H_BODY): Require it.
56375         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
56376         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56377         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56378         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56379         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56380         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
56381         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56382         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56383         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
56384         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56385         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56386         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
56387         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56388         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56389         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
56390
56391 2007-01-27  Bruno Haible  <bruno@clisp.org>
56392
56393         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
56394         check_PROGRAMS into noinst_PROGRAMS.
56395         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
56396         check_PROGRAMS in this case.
56397         (func_import): Set for_test to false.
56398         (func_create_testdir): Set for_test to true.
56399
56400 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
56401             Bruno Haible  <bruno@clisp.org>
56402
56403         * modules/strcasestr (Files): Remove lib/strcasestr.h.
56404         (Depends-on): Add string.
56405         (Includes): Use <string.h> instead of strcasestr.h.
56406         * modules/string (Makefile.am): Also substitute the value of
56407         REPLACE_STRCASESTR.
56408         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
56409         assume strcasestr is declared in <string.h> not <strings.h>. Also
56410         set REPLACE_STRCASESTR.
56411         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
56412         REPLACE_STRCASESTR.
56413         * lib/strcasestr.h: Remove file.
56414         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
56415         * lib/string_.h (strcasestr): New declaration.
56416
56417 2007-01-27  Bruno Haible  <bruno@clisp.org>
56418
56419         * lib/string_.h: Use 'extern'.
56420
56421 2007-01-27  Jim Meyering  <jim@meyering.net>
56422
56423         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
56424         of set-but-not-used local, "q".
56425
56426         * lib/mempcpy.c: Include <config.h> before <string.h>.
56427         This fixes a compilation error on HP-UX, due to the system's
56428         "restrict"-using mempcpy prototype.
56429
56430 2007-01-26  Bruno Haible  <bruno@clisp.org>
56431
56432         Small optimization.
56433         * lib/javacomp.c: Include c-strstr.h.
56434          (is_envjavac_gcj): Use c_strstr instead of strstr.
56435         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
56436
56437 2007-01-26  Bruno Haible  <bruno@clisp.org>
56438
56439         * MODULES.html.sh (Unicode string functions): Add the new modules.
56440
56441         * modules/uniconv/u32-strconv-to-locale: New file.
56442         * lib/uniconv/u32-strconv-to-locale.c: New file.
56443
56444         * modules/uniconv/u16-strconv-to-locale: New file.
56445         * lib/uniconv/u16-strconv-to-locale.c: New file.
56446
56447         * modules/uniconv/u8-strconv-to-locale: New file.
56448         * lib/uniconv/u8-strconv-to-locale.c: New file.
56449
56450         * modules/uniconv/u32-strconv-from-locale: New file.
56451         * lib/uniconv/u32-strconv-from-locale.c: New file.
56452
56453         * modules/uniconv/u16-strconv-from-locale: New file.
56454         * lib/uniconv/u16-strconv-from-locale.c: New file.
56455
56456         * modules/uniconv/u8-strconv-from-locale: New file.
56457         * lib/uniconv/u8-strconv-from-locale.c: New file.
56458
56459         * modules/uniconv/u32-strconv-to-enc: New file.
56460         * lib/uniconv/u32-strconv-to-enc.c: New file.
56461         * modules/uniconv/u32-strconv-to-enc-tests: New file.
56462         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
56463
56464         * modules/uniconv/u16-strconv-to-enc: New file.
56465         * lib/uniconv/u16-strconv-to-enc.c: New file.
56466         * lib/uniconv/u-strconv-to-enc.h: New file.
56467         * modules/uniconv/u16-strconv-to-enc-tests: New file.
56468         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
56469
56470         * modules/uniconv/u8-strconv-to-enc: New file.
56471         * lib/uniconv/u8-strconv-to-enc.c: New file.
56472         * modules/uniconv/u8-strconv-to-enc-tests: New file.
56473         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
56474
56475         * modules/uniconv/u32-strconv-from-enc: New file.
56476         * lib/uniconv/u32-strconv-from-enc.c: New file.
56477         * modules/uniconv/u32-strconv-from-enc-tests: New file.
56478         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
56479
56480         * modules/uniconv/u16-strconv-from-enc: New file.
56481         * lib/uniconv/u16-strconv-from-enc.c: New file.
56482         * modules/uniconv/u16-strconv-from-enc-tests: New file.
56483         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
56484
56485         * modules/uniconv/u8-strconv-from-enc: New file.
56486         * lib/uniconv/u8-strconv-from-enc.c: New file.
56487         * lib/uniconv/u-strconv-from-enc.h: New file.
56488         * modules/uniconv/u8-strconv-from-enc-tests: New file.
56489         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
56490
56491         * modules/uniconv/u32-conv-from-enc: New file.
56492         * lib/uniconv/u32-conv-from-enc.c: New file.
56493         * modules/uniconv/u32-conv-from-enc-tests: New file.
56494         * tests/uniconv/test-u32-conv-from-enc.c: New file.
56495
56496         * modules/uniconv/u16-conv-from-enc: New file.
56497         * lib/uniconv/u16-conv-from-enc.c: New file.
56498         * lib/uniconv/u-conv-from-enc.h: New file.
56499         * modules/uniconv/u16-conv-from-enc-tests: New file.
56500         * tests/uniconv/test-u16-conv-from-enc.c: New file.
56501
56502         * modules/uniconv/u8-conv-from-enc: New file.
56503         * lib/uniconv/u8-conv-from-enc.c: New file.
56504         * modules/uniconv/u8-conv-from-enc-tests: New file.
56505         * tests/uniconv/test-u8-conv-from-enc.c: New file.
56506
56507         * modules/uniconv/base: New file.
56508         * lib/uniconv.h: New file.
56509
56510 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
56511
56512         * doc/gnulib-tool.texi (Initial import): Update to match current
56513         behavior with strdup module.
56514         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
56515         * lib/memmem.h: Remove; all uses removed.  This is now done
56516         by <string.h>.
56517         * lib/mempcpy.h: Likewise.
56518         * lib/memrchr.h: Likewise.
56519         * lib/stpcpy.h: Likewise.
56520         * lib/stpncpy.h: Likewise.
56521         * lib/strcase.h: Likewise.
56522         * lib/strchrnul.h: Likewise.
56523         * lib/strdup.h: Likewise.
56524         * lib/strndup.h: Likewise.
56525         * lib/strnlen.h: Likewise.
56526         * lib/strpbrk.h: Likewise.
56527         * lib/strsep.h: Likewise.
56528         * lib/strstr.h: Likewise.
56529         * lib/strtok_r.h: Likewise.
56530         * lib/string_.h: New file.
56531         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
56532         Rely on <string.h> instead.
56533         * lib/canon-host.c: Likewise.
56534         * lib/chdir-long.c: Likewise.
56535         * lib/concatpath.c: Likewise.
56536         * lib/exclude.c: Likewise.
56537         * lib/fchdir.c: Likewise.
56538         * lib/getaddrinfo.c: Likewise.
56539         * lib/getcwd.c: Likewise.
56540         * lib/getsubopt.c: Likewise.
56541         * lib/glob.c: Likewise.
56542         * lib/hard-locale.c: Likewise.
56543         * lib/iconvme.c: Likewise.
56544         * lib/javacomp.c: Likewise.
56545         * lib/mempcpy.c: Likewise.
56546         * lib/memrchr.c: Likewise.
56547         * lib/regex_internal.h: Likewise.
56548         * lib/stpncpy.c: Likewise.
56549         * lib/strcasecmp.c: Likewise.
56550         * lib/strchrnul.c: Likewise.
56551         * lib/strdup.c: Likewise.
56552         * lib/striconv.c: Likewise.
56553         * lib/striconveh.c: Likewise.
56554         * lib/striconveha.c: Likewise.
56555         * lib/strncasecmp.c: Likewise.
56556         * lib/strndup.c: Likewise.
56557         * lib/strnlen.c: Likewise.
56558         * lib/strsep.c: Likewise.
56559         * lib/strstr.c: Likewise.
56560         * lib/strtok_r.c: Likewise.
56561         * lib/userspec.c: Likewise.
56562         * lib/w32spawn.h: Likewise.
56563         * lib/xstrndup.c: Likewise.
56564         * lib/mountlist.c (strstr): Remove decl.
56565         * m4/string_h.m4: New file.
56566         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
56567         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
56568         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
56569         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
56570         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
56571         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
56572         Set REPLACE_STRCASECMP if necessary.
56573         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
56574         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
56575         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
56576         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
56577         HAVE_DECL_STRDUP if necessary.
56578         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
56579         since gl_FUNC_STRNDUP does that now.
56580         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
56581         Check for decl here...
56582         (gl_PREREQ_STRNLEN): ... not here.
56583         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
56584         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
56585         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
56586         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
56587         necessary.
56588         * modules/string: New file.
56589         * modules/memmem (Files): Remove special-purpose include file.
56590         (Depends-on): Add string.
56591         (Include): Include <string.h>, not the removed file.
56592         * modules/mempcpy: Likewise.
56593         * modules/memrchr: Likewise.
56594         * modules/stpcpy: Likewise.
56595         * modules/stpncpy: Likewise.
56596         * modules/strcase: Likewise.
56597         * modules/strchrnul: Likewise.
56598         * modules/strdup: Likewise.
56599         * modules/strndup: Likewise.
56600         * modules/strnlen: Likewise.
56601         * modules/strpbrk: Likewise.
56602         * modules/strsep: Likewise.
56603         * modules/strstr: Likewise.
56604         * modules/strtok_r: Likewise.
56605         * tests/test-dirname.c: Don't include "strdup.h", since
56606         <string.h> now suffices.
56607         * tests/test-memmem.c: Don't include "memmem.h", since
56608         <string.h> now suffices.
56609
56610 2007-01-25  Bruno Haible  <bruno@clisp.org>
56611
56612         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
56613         *resultp is 0.
56614
56615         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
56616         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
56617         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
56618         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
56619
56620         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
56621         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
56622         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
56623         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
56624         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
56625         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
56626
56627 2007-01-24  Bruno Haible  <bruno@clisp.org>
56628
56629         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
56630         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
56631         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
56632         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
56633         gl_FUNC_FTS_CORE.
56634         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
56635         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
56636         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56637         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
56638         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
56639         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
56640         gl_FUNC_FCHOWNAT.
56641         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
56642         gl_FUNC_STRFTIME.
56643         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
56644         Reported by Ralf Wildenhues.
56645
56646 2007-01-24  Bruno Haible  <bruno@clisp.org>
56647
56648         Drop AC_REQUIRE calls that are redundant with the module dependencies.
56649         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
56650         gl_GETADDRINFO.
56651         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
56652         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
56653         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
56654
56655 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
56656
56657         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
56658         Don't use 'exit'; just return from 'main'.
56659         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
56660
56661         * lib/fnmatch_.h: Readjust white space and comments to match
56662         glibc, to avoid spurious diffs.
56663
56664 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56665
56666         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
56667         2004-12-01 change by Jakub Jelinek, since this code won't compile
56668         if !LIBC.  Problem reported by Bob Proulx.
56669
56670 2007-01-23  Bruno Haible  <bruno@clisp.org>
56671
56672         * lib/striconveh.c: Include c-strcaseeq.h.
56673         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
56674         * modules/striconveh (Depends-on): Add c-strcaseeq.
56675
56676 2007-01-23  Bruno Haible  <bruno@clisp.org>
56677
56678         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
56679
56680         * modules/c-strcaseeq: New file.
56681         * lib/c-strcaseeq.h: New file.
56682
56683         * modules/streq: New file.
56684         * lib/streq.h: New file.
56685
56686 2007-01-23  Bruno Haible  <bruno@clisp.org>
56687
56688         * modules/striconveha-tests: New file.
56689         * tests/test-striconveha.c: New file.
56690
56691         * lib/striconveha.h: Include <stdbool.h>.
56692         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
56693         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
56694         (mem_iconveha_notranslit): Renamed from mem_iconveha.
56695         (mem_iconveha): New function.
56696         (str_iconveha_notranslit): Renamed from str_iconveha.
56697         (str_iconveha): New function.
56698         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
56699         c-strcase.
56700
56701 2007-01-23  Bruno Haible  <bruno@clisp.org>
56702
56703         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
56704         encodings without forgiving before trying any encoding with handler.
56705         (str_iconveha): Try all encodings without forgiving before trying any
56706         encoding with handler.
56707
56708 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56709
56710         Import the following changes from libc.
56711
56712         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
56713
56714         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
56715
56716         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
56717
56718         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
56719         normal_bracket label.
56720
56721         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
56722
56723         [BZ #361]
56724         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
56725         to normal_bracket after fetching the next character.
56726
56727 2007-01-22  Bruno Haible  <bruno@clisp.org>
56728
56729         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
56730         argument.
56731         * lib/striconveh.c (iconv_carefully_1): New function.
56732         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
56733         argument.
56734         (str_cd_iconveh): Update.
56735         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
56736         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
56737         * tests/test-striconveh.c (MAGIC): New macro.
56738         (new_offsets): New function.
56739         (main): Test call with and without offsets.
56740
56741 2007-01-22  Bruno Haible  <bruno@clisp.org>
56742
56743         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
56744         * modules/sys_select (Makefile.am): Likewise.
56745         * modules/sys_socket (Makefile.am): Likewise.
56746         * modules/sys_time (Makefile.am): Likewise.
56747
56748 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
56749
56750         * modules/gettimeofday (License): Change from GPL to LGPL, since
56751         gettimeofday is a library function.
56752
56753 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56754
56755         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
56756
56757 2007-01-21  Bruno Haible  <bruno@clisp.org>
56758
56759         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
56760
56761 2007-01-21  Bruno Haible  <bruno@clisp.org>
56762
56763         * modules/striconveha: New file.
56764         * lib/striconveha.h: New file.
56765         * lib/striconveha.c: New file.
56766         * MODULES.html.sh (Internationalization functions): Add striconveha.
56767         * lib/striconv.c (str_iconv): Optimize the case of an empty input
56768         string.
56769         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
56770
56771 2007-01-21  Bruno Haible  <bruno@clisp.org>
56772
56773         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
56774         * lib/striconveh.c (str_iconveh): Likewise.
56775
56776 2007-01-21  Bruno Haible  <bruno@clisp.org>
56777
56778         * lib/striconveh.h (mem_iconveh): New declaration.
56779         * lib/striconveh.c (mem_iconveh): New function.
56780         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
56781
56782 2007-01-21  Bruno Haible  <bruno@clisp.org>
56783
56784         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
56785
56786         * lib/striconveh.h (mem_cd_iconveh): Change specification.
56787         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
56788         original result buffer.
56789         (str_cd_iconveh): Update.
56790         * tests/test-striconveh.c (main): Update.
56791
56792         * lib/striconv.h (mem_cd_iconv): Change specification.
56793         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
56794         result buffer.
56795         (str_cd_iconv): Update.
56796         * tests/test-striconv.c (main): Update.
56797
56798 2007-01-21  Bruno Haible  <bruno@clisp.org>
56799
56800         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
56801
56802 2007-01-20  Jim Meyering  <jim@meyering.net>
56803
56804         * lib/userspec.c (parse_with_separator): If a user or group string
56805         starts with "+", skip the corresponding name-to-ID look-up, since
56806         such a look-up must fail: user and group names may not include "+".
56807
56808 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
56809
56810         * lib/poll.c: Include sys/time.h and time.h unconditionally,
56811         since we now assume the sys_time module.
56812         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
56813         check for sys/time.h; no longer needed.
56814         * modules/poll (Depends-on): Depend on sys_time.
56815
56816 2007-01-18  Bruno Haible  <bruno@clisp.org>
56817
56818         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
56819         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
56820
56821         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
56822         gettimeofday.
56823
56824         * tests/test-gettimeofday.c: Include <time.h>.
56825         (dummy): Remove variable.
56826
56827         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
56828         gl_HEADER_SYS_TIME_H.
56829         (gl_HEADER_SYS_TIME_H): New macro.
56830
56831         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
56832         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56833         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
56834         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
56835         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56836         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
56837         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
56838         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56839         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
56840         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
56841         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56842
56843         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
56844         last change; it caused a compilation error when cross-compiling to
56845         Cygwin.
56846
56847 2007-01-18  Jim Meyering  <jim@meyering.net>
56848
56849         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
56850         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
56851         than the race-prone "test -d sys || mkdir sys".
56852         (configure.ac): Use AC_PROG_MKDIR_P.
56853         * modules/sys_select: Likewise.
56854         * modules/sys_socket: Likewise.
56855         * modules/sys_time: Likewise.
56856
56857 2007-01-18  Eric Blake  <ebb9@byu.net>
56858
56859         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
56860         replace gettimeofday.
56861         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
56862         name, to avoid infinite recursion.
56863
56864 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
56865
56866         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
56867         module sys_time.
56868         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
56869         assume timespec.h defines struct timeval.
56870         * lib/settime.c: Likewise.
56871         * lib/utimens.c: Likewise.
56872         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
56873         since we now assume the gettimeofday module.
56874         * lib/tempname.c (__gen_tempname): Likewise.
56875         * lib/gettimeofday.h: Remove.
56876         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
56877         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
56878         Include <time.h>, for 'time()'.
56879         (localtime_buffer_addr): Also use this workaround if
56880         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
56881         to simplify the uses.  All uses changed.
56882         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
56883         that #undef is inside {}, and 'const' follows type name consistently.
56884         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
56885         (gettimeofday): Do not use the maximum possible value for
56886         tv->tv_usec, since that might break usages other than ls.c.
56887         Instead, we'll leave ls.c alone.  This undoes today's patch
56888         by Bruno.  Add a compile-time warning for 1s-clock resolution;
56889         we've never observed the problem but might as well keep the
56890         canary.
56891         * lib/nanosleep.c: Include timespec.h first, for interface check.
56892         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
56893         now assume the sys_time module.
56894         * lib/tempname.c: Likewise.
56895         * lib/timespec.h: Likewise.
56896         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
56897         needed.
56898         * lib/strftime.c: Likewise.
56899         * lib/timespec.h: Likewise.
56900         * lib/posixtm.c: Include posixtm.h first, for interface check.
56901         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
56902         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
56903         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
56904         * lib/sys_time_.h: New file.
56905         * lib/timespec.h (struct timespec): Use long int, not long.
56906         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
56907         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
56908         Remove obsolescent call to AC_HEADER_TIME.
56909         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
56910         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
56911         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
56912         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
56913         Likewise.
56914         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
56915         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
56916         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
56917         into the sys_time module.  Check for gettimeofday just once.
56918         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
56919         for gettimeofday signature to just check the signature.  Merely
56920         compile it, since linking doesn't test signature.  Improve test for
56921         whether gettimeofday.o is actually needed.
56922         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
56923         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
56924         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
56925         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56926         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
56927         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
56928         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
56929         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
56930         than worrying about sys/time.h.
56931         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
56932         Don't bother worrying about TIME_WITH_SYS_TIME.
56933         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
56934         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
56935         * m4/sys_time_h.m4: New file.
56936         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
56937         Don't include sys/time.h.  Return from main rather than exiting.
56938         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
56939         all uses changed.
56940         * modules/gethrxtime (Depends-on): Add sys_time.
56941         * modules/gettime (Depends-on): Likewise.
56942         * modules/gettimeofday (Depends-on): Likewise.
56943         * modules/nanosleep (Depends-on): Likewise.
56944         * modules/settime (Depends-on): Likewise.
56945         * modules/tempname (Depends-on): Likewise.
56946         * modules/utimens (Depends-on): Likewise.
56947         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
56948         (Include): Change back to <sys/time.h>.
56949         (Maintainer): Add self.
56950         * modules/sys_time: New file.
56951         * modules/tempname (Depends-on): Add gettimeofday.
56952         * tests/test-gettimeofday.c: Include <sys/time.h>
56953         rather than gettimeofday.h.
56954
56955 2007-01-17  Bruno Haible  <bruno@clisp.org>
56956
56957         * gnulib-tool (func_get_license): Revert last patch. Instead, let
56958         the license default to GPL.
56959         (func_create_testdir): Don't complain if a module is LGPL and its
56960         tests module depends on GPLed modules.
56961
56962 2007-01-17  Bruno Haible  <bruno@clisp.org>
56963
56964         * lib/gettimeofday.c (gettimeofday): Add code for the case
56965         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
56966         maximum possible value for tv->tv_usec, rather than the minimum one.
56967
56968 2005-10-08  Martin Lambers  <marlam@marlam.de>
56969 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
56970 2007-01-16  Bruno Haible  <bruno@clisp.org>
56971
56972         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
56973         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
56974         gl_FUNC_GETTIMEOFDAY.
56975         (Include): Add gettimeofday.h.
56976         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
56977         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
56978         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
56979         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
56980         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
56981         * lib/gettimeofday.h: New file.
56982         * lib/gettimeofday.c: Include <sys/timeb.h>.
56983         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
56984         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56985         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
56986         fall back on time().
56987
56988         * tests/test-gettimeofday.c: New file.
56989         * modules/gettimeofday-tests: New file.
56990
56991 2007-01-16  Eric Blake  <ebb9@byu.net>
56992
56993         * modules/fnmatch (Depends-on): Depend on wchar.
56994         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
56995         * m4/fnmatch.m4: Likewise.
56996         * modules/mbchar (Makefile.am): Assume <wchar.h>.
56997         * m4/mbchar.m4: Likewise.
56998         * modules/mbswidth (Depends-on): Depend on wchar.
56999         * lib/mbswidth.c: Assume <wchar.h>.
57000         * m4/mbswidth.m4: Likewise.
57001         * modules/quotearg (Depends-on): Depend on wchar.
57002         * lib/quotearg.c: Assume <wchar.h>.
57003         * m4/quotearg.m4: Likewise.
57004         * modules/regex (Depends-on): Depend on wchar.
57005         * lib/regex_internal.h: Assume <wchar.h>.
57006         * m4/regex.m4: Likewise.
57007         * modules/stdint (Depends-on): Depend on wchar.
57008         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
57009         * m4/stdint.m4: Likewise.
57010         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
57011         * modules/strftime (Depends-on): Depend on wchar.
57012         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
57013         * modules/strtol (Depends-on): Depend on wchar.
57014         * lib/strtol.c: Assume <wchar.h>.
57015         * modules/wcwidth (Depends-on): Depend on wchar.
57016         * lib/wcwidth.h: Assume <wchar.h>.
57017         * m4/wcwidth.m4: Likewise.
57018
57019 2007-01-16  Bruno Haible  <bruno@clisp.org>
57020
57021         * modules/csharpexec-script: New, created from...
57022         * modules/csharpexec: ... this.
57023
57024 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
57025
57026         * modules/javaexec-script: New, created from...
57027         * modules/javaexec: ... this.
57028
57029 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57030
57031         * modules/poll (Dependencies): Add sys_select.
57032
57033 2007-01-15  Jim Meyering  <jim@meyering.net>
57034
57035         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
57036         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
57037         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
57038         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
57039
57040 2007-01-15  Bruno Haible  <bruno@clisp.org>
57041
57042         * modules/striconveh: New file.
57043         * lib/striconveh.h: New file.
57044         * lib/striconveh.c: New file.
57045         * MODULES.html.sh (Internationalization functions): Add striconveh.
57046
57047         * modules/striconveh-tests: New file.
57048         * tests/test-striconveh.c: New file.
57049
57050 2007-01-15  Bruno Haible  <bruno@clisp.org>
57051
57052         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
57053         not from GNU libiconv or GNU libc.
57054
57055 2007-01-15  Bruno Haible  <bruno@clisp.org>
57056
57057         * doc/gnulib-intro.texi (Copyright): Explain the different license
57058         terms for module descriptions, autoconf macros, tests, documentation.
57059
57060 2007-01-14  Bruno Haible  <bruno@clisp.org>
57061
57062         * modules/striconv-tests: New file.
57063         * tests/test-striconv.c: New file.
57064
57065 2007-01-14  Bruno Haible  <bruno@clisp.org>
57066
57067         * modules/iconv-tests: New file.
57068         * tests/test-iconv.c: New file.
57069
57070 2007-01-14  Bruno Haible  <bruno@clisp.org>
57071
57072         * gnulib-tool (func_get_license): For test modules, use the license of
57073         the main module.
57074
57075 2007-01-14  Bruno Haible  <bruno@clisp.org>
57076
57077         * modules/iconv (Include): Clarify that <iconv.h> can only be included
57078         if iconv is found to exist.
57079
57080 2007-01-14  Bruno Haible  <bruno@clisp.org>
57081
57082         * modules/c-ctype-tests: New file.
57083         * tests/test-c-ctype.c: New file.
57084
57085 2007-01-14  Bruno Haible  <bruno@clisp.org>
57086
57087         * modules/binary-io-tests: New file.
57088         * tests/test-binary-io.sh: New file.
57089         * tests/test-binary-io.c: New file.
57090
57091 2007-01-14  Bruno Haible  <bruno@clisp.org>
57092
57093         * modules/array-oset-tests: New file.
57094         * tests/test-array_oset.c: New file.
57095
57096 2007-01-14  Bruno Haible  <bruno@clisp.org>
57097
57098         * modules/array-list-tests: New file.
57099         * tests/test-array_list.c: New file.
57100
57101 2007-01-14  Bruno Haible  <bruno@clisp.org>
57102
57103         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
57104         and make.
57105         Reported by Simon Josefsson in
57106         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
57107
57108 2007-01-14  Bruno Haible  <bruno@clisp.org>
57109
57110         * modules/allocsa-tests: New file.
57111         * tests/test-allocsa.c: New file.
57112
57113 2007-01-14  Bruno Haible  <bruno@clisp.org>
57114
57115         * modules/fchdir (Depends-on): Add absolute-header.
57116         * modules/unistd (Depends-on): Likewise.
57117
57118 2006-12-30  Bruno Haible  <bruno@clisp.org>
57119
57120         * modules/fchdir: New file.
57121         * modules/unistd (Files): Add lib/unistd_.h.
57122         (Makefile.am): Generate unistd.h from unistd_.h.
57123         * lib/fchdir.c: New file.
57124         * lib/dirent_.h: New file.
57125         * lib/unistd_.h: New file.
57126         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
57127         * m4/fchdir.m4: New file.
57128         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
57129         (gl_HEADER_UNISTD): Invoke it.
57130         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
57131         function.
57132         * lib/backupfile.c (opendir, closedir): Undefine.
57133         * lib/chown.c (open, close): Undefine.
57134         * lib/clean-temp.c (open, close): Undefine.
57135         * lib/copy-file.c (open, close): Undefine.
57136         * lib/execute.c (open, close): Undefine.
57137         * lib/fsusage.c (open, close): Undefine.
57138         * lib/gc-gnulib.c (open, close): Undefine.
57139         * lib/getcwd.c (opendir, closedir): Undefine.
57140         * lib/glob.c (opendir, closedir): Undefine.
57141         * lib/javacomp.c (open, close): Undefine.
57142         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
57143         * lib/openat-proc.c (open, close): Undefine.
57144         * lib/pagealign_alloc.c (open, close): Undefine.
57145         * lib/pipe.c (open, close): Undefine.
57146         * lib/progreloc.c (open, close): Undefine.
57147         * lib/savedir.c (opendir, closedir): Undefine.
57148         * lib/utime.c (open, close): Undefine.
57149         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
57150
57151 2007-01-10  Bruno Haible  <bruno@clisp.org>
57152
57153         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
57154
57155 2007-01-12  Eric Blake  <ebb9@byu.net>
57156
57157         Provide a robust <wchar.h>.  Further simplifications are now
57158         possible in other modules, but not included here.
57159         * modules/wchar: New module.
57160         * m4/wchar.m4: New file.
57161         * lib/wchar_.h: Likewise.
57162         * modules/mbchar (Depends-on): Depend on wchar, as the first use
57163         of the new module.
57164         * MODULES.html.sh (Extended multibyte and wide character utilities):
57165         New section.
57166
57167 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
57168
57169         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
57170         to a reasonable default for memory allocation.
57171         (xreadlink): Don't allocate a huge buffer, to work around a buggy
57172         file system that reports garbage st_size values for symlinks.
57173         Problem reported by Liyang Hu.
57174
57175 2007-01-11  Simon Josefsson  <simon@josefsson.org>
57176
57177         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
57178         Emacs .#* auto-save files).
57179
57180 2007-01-11  Bruno Haible  <bruno@clisp.org>
57181
57182         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
57183         directory.
57184
57185 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
57186
57187         Use @...@ consistently in lib/wctype_.h.
57188         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
57189         on it being set to 1 or 0.
57190         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
57191         go back to AC_SUBSTing it.
57192         * modules/wctype (Makefile.am): Undo previous change.
57193
57194 2007-01-10  Eric Blake  <ebb9@byu.net>
57195
57196         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
57197         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
57198         * modules/wctype (Makefile.am): Likewise.
57199         Reported by Chris McGuire.
57200
57201 2007-01-10  Jim Meyering  <jim@meyering.net>
57202
57203         fts.c: a small readability/maintainability improvement
57204         * lib/fts.c (fts_read): Make this code slightly more readable and
57205         maintainable by hoisting the "sp->fts_cur = p" assignments to
57206         immediately follow the statements that set P.  Derived from
57207         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
57208
57209 2007-01-10  Eric Blake  <ebb9@byu.net>
57210
57211         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
57212         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
57213         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
57214         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
57215         Reported by Chris McGuire.
57216
57217 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57218
57219         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
57220         in sed script.
57221
57222 2007-01-09  Bruno Haible  <bruno@clisp.org>
57223
57224         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
57225         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
57226         variables.
57227         (func_module): Use them.
57228
57229 2007-01-09  Bruno Haible  <bruno@clisp.org>
57230
57231         * modules/unistr/base: New file.
57232         * lib/unistr.h: New file.
57233
57234         * modules/unistr/u8-to-u16: New file.
57235         * lib/unistr/u8-to-u16.c: New file.
57236
57237         * modules/unistr/u8-to-u32: New file.
57238         * lib/unistr/u8-to-u32.c: New file.
57239
57240         * modules/unistr/u16-to-u8: New file.
57241         * lib/unistr/u16-to-u8.c: New file.
57242
57243         * modules/unistr/u16-to-u32: New file.
57244         * lib/unistr/u16-to-u32.c: New file.
57245
57246         * modules/unistr/u32-to-u8: New file.
57247         * lib/unistr/u32-to-u8.c: New file.
57248
57249         * modules/unistr/u32-to-u16: New file.
57250         * lib/unistr/u32-to-u16.c: New file.
57251
57252         * modules/unistr/u8-check: New file.
57253         * modules/unistr/u16-check: New file.
57254         * modules/unistr/u32-check: New file.
57255         * lib/unistr/u8-check.c: New file.
57256         * lib/unistr/u16-check.c: New file.
57257         * lib/unistr/u32-check.c: New file.
57258
57259         * modules/unistr/u8-chr: New file.
57260         * modules/unistr/u16-chr: New file.
57261         * modules/unistr/u32-chr: New file.
57262         * lib/unistr/u8-chr.c: New file.
57263         * lib/unistr/u16-chr.c: New file.
57264         * lib/unistr/u32-chr.c: New file.
57265
57266         * modules/unistr/u8-cmp: New file.
57267         * modules/unistr/u16-cmp: New file.
57268         * modules/unistr/u32-cmp: New file.
57269         * lib/unistr/u8-cmp.c: New file.
57270         * lib/unistr/u16-cmp.c: New file.
57271         * lib/unistr/u32-cmp.c: New file.
57272
57273         * modules/unistr/u8-cpy: New file.
57274         * modules/unistr/u16-cpy: New file.
57275         * modules/unistr/u32-cpy: New file.
57276         * lib/unistr/u8-cpy.c: New file.
57277         * lib/unistr/u16-cpy.c: New file.
57278         * lib/unistr/u32-cpy.c: New file.
57279         * lib/unistr/u-cpy.h: New file.
57280
57281         * modules/unistr/u8-cpy-alloc: New file.
57282         * modules/unistr/u16-cpy-alloc: New file.
57283         * modules/unistr/u32-cpy-alloc: New file.
57284         * lib/unistr/u8-cpy-alloc.c: New file.
57285         * lib/unistr/u16-cpy-alloc.c: New file.
57286         * lib/unistr/u32-cpy-alloc.c: New file.
57287         * lib/unistr/u-cpy-alloc.h: New file.
57288
57289         * modules/unistr/u8-endswith: New file.
57290         * modules/unistr/u16-endswith: New file.
57291         * modules/unistr/u32-endswith: New file.
57292         * lib/unistr/u8-endswith.c: New file.
57293         * lib/unistr/u16-endswith.c: New file.
57294         * lib/unistr/u32-endswith.c: New file.
57295         * lib/unistr/u-endswith.h: New file.
57296
57297         * modules/unistr/u8-mblen: New file.
57298         * modules/unistr/u16-mblen: New file.
57299         * modules/unistr/u32-mblen: New file.
57300         * lib/unistr/u8-mblen.c: New file.
57301         * lib/unistr/u16-mblen.c: New file.
57302         * lib/unistr/u32-mblen.c: New file.
57303
57304         * modules/unistr/u8-mbtouc: New file.
57305         * modules/unistr/u16-mbtouc: New file.
57306         * modules/unistr/u32-mbtouc: New file.
57307         * lib/unistr/u8-mbtouc.c: New file.
57308         * lib/unistr/u16-mbtouc.c: New file.
57309         * lib/unistr/u32-mbtouc.c: New file.
57310
57311         * modules/unistr/u8-mbtouc-safe: New file.
57312         * modules/unistr/u16-mbtouc-safe: New file.
57313         * modules/unistr/u32-mbtouc-safe: New file.
57314         * lib/unistr/u8-mbtouc-safe.c: New file.
57315         * lib/unistr/u16-mbtouc-safe.c: New file.
57316         * lib/unistr/u32-mbtouc-safe.c: New file.
57317
57318         * modules/unistr/u8-move: New file.
57319         * modules/unistr/u16-move: New file.
57320         * modules/unistr/u32-move: New file.
57321         * lib/unistr/u8-move.c: New file.
57322         * lib/unistr/u16-move.c: New file.
57323         * lib/unistr/u32-move.c: New file.
57324         * lib/unistr/u-move.h: New file.
57325
57326         * modules/unistr/u8-next: New file.
57327         * modules/unistr/u16-next: New file.
57328         * modules/unistr/u32-next: New file.
57329         * lib/unistr/u8-next.c: New file.
57330         * lib/unistr/u16-next.c: New file.
57331         * lib/unistr/u32-next.c: New file.
57332
57333         * modules/unistr/u8-prev: New file.
57334         * modules/unistr/u16-prev: New file.
57335         * modules/unistr/u32-prev: New file.
57336         * lib/unistr/u8-prev.c: New file.
57337         * lib/unistr/u16-prev.c: New file.
57338         * lib/unistr/u32-prev.c: New file.
57339
57340         * modules/unistr/u8-set: New file.
57341         * modules/unistr/u16-set: New file.
57342         * modules/unistr/u32-set: New file.
57343         * lib/unistr/u8-set.c: New file.
57344         * lib/unistr/u16-set.c: New file.
57345         * lib/unistr/u32-set.c: New file.
57346         * lib/unistr/u-set.h: New file.
57347
57348         * modules/unistr/u8-startswith: New file.
57349         * modules/unistr/u16-startswith: New file.
57350         * modules/unistr/u32-startswith: New file.
57351         * lib/unistr/u8-startswith.c: New file.
57352         * lib/unistr/u16-startswith.c: New file.
57353         * lib/unistr/u32-startswith.c: New file.
57354         * lib/unistr/u-startswith.h: New file.
57355
57356         * modules/unistr/u8-stpcpy: New file.
57357         * modules/unistr/u16-stpcpy: New file.
57358         * modules/unistr/u32-stpcpy: New file.
57359         * lib/unistr/u8-stpcpy.c: New file.
57360         * lib/unistr/u16-stpcpy.c: New file.
57361         * lib/unistr/u32-stpcpy.c: New file.
57362         * lib/unistr/u-stpcpy.h: New file.
57363
57364         * modules/unistr/u8-stpncpy: New file.
57365         * modules/unistr/u16-stpncpy: New file.
57366         * modules/unistr/u32-stpncpy: New file.
57367         * lib/unistr/u8-stpncpy.c: New file.
57368         * lib/unistr/u16-stpncpy.c: New file.
57369         * lib/unistr/u32-stpncpy.c: New file.
57370         * lib/unistr/u-stpncpy.h: New file.
57371
57372         * modules/unistr/u8-strcat: New file.
57373         * modules/unistr/u16-strcat: New file.
57374         * modules/unistr/u32-strcat: New file.
57375         * lib/unistr/u8-strcat.c: New file.
57376         * lib/unistr/u16-strcat.c: New file.
57377         * lib/unistr/u32-strcat.c: New file.
57378         * lib/unistr/u-strcat.h: New file.
57379
57380         * modules/unistr/u8-strchr: New file.
57381         * modules/unistr/u16-strchr: New file.
57382         * modules/unistr/u32-strchr: New file.
57383         * lib/unistr/u8-strchr.c: New file.
57384         * lib/unistr/u16-strchr.c: New file.
57385         * lib/unistr/u32-strchr.c: New file.
57386
57387         * modules/unistr/u8-strcmp: New file.
57388         * modules/unistr/u16-strcmp: New file.
57389         * modules/unistr/u32-strcmp: New file.
57390         * lib/unistr/u8-strcmp.c: New file.
57391         * lib/unistr/u16-strcmp.c: New file.
57392         * lib/unistr/u32-strcmp.c: New file.
57393
57394         * modules/unistr/u8-strcpy: New file.
57395         * modules/unistr/u16-strcpy: New file.
57396         * modules/unistr/u32-strcpy: New file.
57397         * lib/unistr/u8-strcpy.c: New file.
57398         * lib/unistr/u16-strcpy.c: New file.
57399         * lib/unistr/u32-strcpy.c: New file.
57400         * lib/unistr/u-strcpy.h: New file.
57401
57402         * modules/unistr/u8-strcspn: New file.
57403         * modules/unistr/u16-strcspn: New file.
57404         * modules/unistr/u32-strcspn: New file.
57405         * lib/unistr/u8-strcspn.c: New file.
57406         * lib/unistr/u16-strcspn.c: New file.
57407         * lib/unistr/u32-strcspn.c: New file.
57408         * lib/unistr/u-strcspn.h: New file.
57409
57410         * modules/unistr/u8-strdup: New file.
57411         * modules/unistr/u16-strdup: New file.
57412         * modules/unistr/u32-strdup: New file.
57413         * lib/unistr/u8-strdup.c: New file.
57414         * lib/unistr/u16-strdup.c: New file.
57415         * lib/unistr/u32-strdup.c: New file.
57416         * lib/unistr/u-strdup.h: New file.
57417
57418         * modules/unistr/u8-strlen: New file.
57419         * modules/unistr/u16-strlen: New file.
57420         * modules/unistr/u32-strlen: New file.
57421         * lib/unistr/u8-strlen.c: New file.
57422         * lib/unistr/u16-strlen.c: New file.
57423         * lib/unistr/u32-strlen.c: New file.
57424         * lib/unistr/u-strlen.h: New file.
57425
57426         * modules/unistr/u8-strmblen: New file.
57427         * modules/unistr/u16-strmblen: New file.
57428         * modules/unistr/u32-strmblen: New file.
57429         * lib/unistr/u8-strmblen.c: New file.
57430         * lib/unistr/u16-strmblen.c: New file.
57431         * lib/unistr/u32-strmblen.c: New file.
57432
57433         * modules/unistr/u8-strmbtouc: New file.
57434         * modules/unistr/u16-strmbtouc: New file.
57435         * modules/unistr/u32-strmbtouc: New file.
57436         * lib/unistr/u8-strmbtouc.c: New file.
57437         * lib/unistr/u16-strmbtouc.c: New file.
57438         * lib/unistr/u32-strmbtouc.c: New file.
57439
57440         * modules/unistr/u8-strncat: New file.
57441         * modules/unistr/u16-strncat: New file.
57442         * modules/unistr/u32-strncat: New file.
57443         * lib/unistr/u8-strncat.c: New file.
57444         * lib/unistr/u16-strncat.c: New file.
57445         * lib/unistr/u32-strncat.c: New file.
57446         * lib/unistr/u-strncat.h: New file.
57447
57448         * modules/unistr/u8-strncmp: New file.
57449         * modules/unistr/u16-strncmp: New file.
57450         * modules/unistr/u32-strncmp: New file.
57451         * lib/unistr/u8-strncmp.c: New file.
57452         * lib/unistr/u16-strncmp.c: New file.
57453         * lib/unistr/u32-strncmp.c: New file.
57454
57455         * modules/unistr/u8-strncpy: New file.
57456         * modules/unistr/u16-strncpy: New file.
57457         * modules/unistr/u32-strncpy: New file.
57458         * lib/unistr/u8-strncpy.c: New file.
57459         * lib/unistr/u16-strncpy.c: New file.
57460         * lib/unistr/u32-strncpy.c: New file.
57461         * lib/unistr/u-strncpy.h: New file.
57462
57463         * modules/unistr/u8-strnlen: New file.
57464         * modules/unistr/u16-strnlen: New file.
57465         * modules/unistr/u32-strnlen: New file.
57466         * lib/unistr/u8-strnlen.c: New file.
57467         * lib/unistr/u16-strnlen.c: New file.
57468         * lib/unistr/u32-strnlen.c: New file.
57469         * lib/unistr/u-strnlen.h: New file.
57470
57471         * modules/unistr/u8-strpbrk: New file.
57472         * modules/unistr/u16-strpbrk: New file.
57473         * modules/unistr/u32-strpbrk: New file.
57474         * lib/unistr/u8-strpbrk.c: New file.
57475         * lib/unistr/u16-strpbrk.c: New file.
57476         * lib/unistr/u32-strpbrk.c: New file.
57477         * lib/unistr/u-strpbrk.h: New file.
57478
57479         * modules/unistr/u8-strrchr: New file.
57480         * modules/unistr/u16-strrchr: New file.
57481         * modules/unistr/u32-strrchr: New file.
57482         * lib/unistr/u8-strrchr.c: New file.
57483         * lib/unistr/u16-strrchr.c: New file.
57484         * lib/unistr/u32-strrchr.c: New file.
57485
57486         * modules/unistr/u8-strspn: New file.
57487         * modules/unistr/u16-strspn: New file.
57488         * modules/unistr/u32-strspn: New file.
57489         * lib/unistr/u8-strspn.c: New file.
57490         * lib/unistr/u16-strspn.c: New file.
57491         * lib/unistr/u32-strspn.c: New file.
57492         * lib/unistr/u-strspn.h: New file.
57493
57494         * modules/unistr/u8-strstr: New file.
57495         * modules/unistr/u16-strstr: New file.
57496         * modules/unistr/u32-strstr: New file.
57497         * lib/unistr/u8-strstr.c: New file.
57498         * lib/unistr/u16-strstr.c: New file.
57499         * lib/unistr/u32-strstr.c: New file.
57500         * lib/unistr/u-strstr.h: New file.
57501
57502         * modules/unistr/u8-strtok: New file.
57503         * modules/unistr/u16-strtok: New file.
57504         * modules/unistr/u32-strtok: New file.
57505         * lib/unistr/u8-strtok.c: New file.
57506         * lib/unistr/u16-strtok.c: New file.
57507         * lib/unistr/u32-strtok.c: New file.
57508         * lib/unistr/u-strtok.h: New file.
57509
57510         * modules/unistr/u8-uctomb: New file.
57511         * modules/unistr/u16-uctomb: New file.
57512         * modules/unistr/u32-uctomb: New file.
57513         * lib/unistr/u8-uctomb.c: New file.
57514         * lib/unistr/u16-uctomb.c: New file.
57515         * lib/unistr/u32-uctomb.c: New file.
57516
57517         * MODULES.html.sh (Unicode string functions): Add the new modules.
57518
57519 2007-01-08  Bruno Haible  <bruno@clisp.org>
57520
57521         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
57522         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
57523         subdirectories.
57524
57525 2007-01-08  Karl Berry  <karl@gnu.org>
57526
57527         * doc/error.texi: mention that main() fns must set program_name
57528         when progname is used.
57529
57530 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
57531
57532         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
57533         WCTYPE_H is empty, for the benefit of builds from non-distclean
57534         directories.  Problem reported by Eric Blake in
57535         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
57536
57537 2007-01-08  Bruno Haible  <bruno@clisp.org>
57538
57539         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
57540         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
57541         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
57542         PROVIDE_CANONICALIZE_FILENAME_MODE.
57543         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
57544
57545 2007-01-08  Bruno Haible  <bruno@clisp.org>
57546
57547         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
57548         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
57549         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
57550         * lib/fts.c: Likewise.
57551         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
57552
57553 2006-12-25  Bruno Haible  <bruno@clisp.org>
57554
57555         * modules/utf8-ucs4-safe: New file.
57556         * lib/utf8-ucs4-safe.h: New file.
57557         * lib/unistr/utf8-ucs4-safe.c: New file.
57558
57559         * modules/utf16-ucs4-safe: New file.
57560         * lib/utf16-ucs4-safe.h: New file.
57561         * lib/unistr/utf16-ucs4-safe.c: New file.
57562
57563         * MODULES.html.sh (Unicode string functions): Add the new modules.
57564
57565 2007-01-08  Bruno Haible  <bruno@clisp.org>
57566
57567         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
57568         (Depends-on): Add unitypes.
57569         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
57570         (u8_mbtouc_aux): Move out to separate file.
57571         (u8_mbtouc): Use ucs4_t, uint8_t types.
57572         * lib/unistr/utf8-ucs4.c: New file.
57573
57574         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
57575         (Depends-on): Add unitypes.
57576         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
57577         (u16_mbtouc_aux): Move out to separate file.
57578         (u16_mbtouc): Use ucs4_t, uint16_t types.
57579         * lib/unistr/utf16-ucs4.c: New file.
57580
57581         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
57582         (Depends-on): Add unitypes.
57583         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
57584         (u8_uctomb_aux): Move out to separate file.
57585         (u8_uctomb): Use ucs4_t, uint8_t types.
57586         * lib/unistr/ucs4-utf8.c: New file.
57587
57588         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
57589         (Depends-on): Add unitypes.
57590         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
57591         (u16_uctomb_aux): Move out to separate file.
57592         (u16_uctomb): Use ucs4_t, uint16_t types.
57593         * lib/unistr/ucs4-utf16.c: New file.
57594
57595 2006-12-25  Bruno Haible  <bruno@clisp.org>
57596
57597         * modules/unitypes: New file.
57598         * lib/unitypes.h: New file.
57599         * MODULES.html.sh (func_all_modules): New section "Unicode string
57600         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
57601         this section. Add unitypes.
57602
57603 2007-01-08  Bruno Haible  <bruno@clisp.org>
57604
57605         Avoid variable names that conflict with those from libtool.
57606         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
57607         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
57608         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
57609         library_names_spec to acl_library_names_spec, hardcode_* to
57610         acl_hardcode_*.
57611         Reported by Ralf Wildenhues.
57612
57613 2007-01-08  Bruno Haible  <bruno@clisp.org>
57614
57615         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
57616         definition.
57617         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
57618         definition.
57619         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
57620         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
57621         definition.
57622         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
57623         definition.
57624         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
57625         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
57626         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
57627         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
57628         definition.
57629         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
57630         definition.
57631         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
57632         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
57633         GC_USE_<algorithm>.
57634         * lib/gc-libgcrypt.c: Likewise.
57635         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
57636         * modules/gc-arctwo (configure.ac): Likewise.
57637         * modules/gc-des (configure.ac): Likewise.
57638         * modules/gc-hmac-md5 (configure.ac): Likewise.
57639         * modules/gc-hmac-sha1 (configure.ac): Likewise.
57640         * modules/gc-md2 (configure.ac): Likewise.
57641         * modules/gc-md4 (configure.ac): Likewise.
57642         * modules/gc-md5 (configure.ac): Likewise.
57643         * modules/gc-random (configure.ac): Likewise.
57644         * modules/gc-rijndael (configure.ac): Likewise.
57645         * modules/gc-sha1 (configure.ac): Likewise.
57646
57647 2007-01-08  Bruno Haible  <bruno@clisp.org>
57648
57649         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
57650         macro definition.
57651         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
57652         definition.
57653         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
57654         definition.
57655         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
57656         * modules/fcntl-safer (configure.ac): Likewise.
57657         * modules/fopen-safer (configure.ac): Likewise.
57658         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
57659         GNULIB_FWRITEERROR macro definition.
57660
57661 2007-01-08  Bruno Haible  <bruno@clisp.org>
57662
57663         * m4/gnulib-common.m4: New file.
57664         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
57665         (func_get_filelist): Add m4/gnulib-common.m4.
57666
57667 2007-01-08  Bruno Haible  <bruno@clisp.org>
57668
57669         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
57670         command.
57671
57672 2007-01-08  Jim Meyering  <jim@meyering.net>
57673
57674         Use a more robust test for a "can't happen" condition.
57675         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
57676         narrowed the st_size value.  Presuming the "can't happen" condition
57677         is true, that narrowing could conceivably convert an invalid st_size
57678         value into a valid one.  Instead, use a change based on Matthew
57679         Woehlke's original patch.
57680
57681         Slight readability improvement: use an assert-like macro
57682         in place of literal "abort ()" uses.
57683         * lib/fts.c (fts_assert): Define.
57684         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
57685         Use this macro instead of a bare 'abort'.
57686
57687 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
57688
57689         Don't worry about using IRIX 5.3's wctype.h broken definitions;
57690         simply work around them.
57691         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
57692         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
57693         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
57694         declaring.
57695         Don't bother to define as macros, since the standard doesn't require it.
57696         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
57697         longer worry about IRIX 5.3.
57698         (HAVE_WCTYPE_CTMP_BUG): Remove.
57699
57700 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57701
57702         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
57703         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
57704         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57705         Problems reported by Georg Schwarz for IRIX 5.3.
57706
57707         * gnulib-tool (autoconf_minversion): Take the maximum version number
57708         found, not the minimum.  Problem reported by James Youngman.
57709
57710 2007-01-03  Karl Berry  <karl@gnu.org>
57711
57712         * doc/error.texi: new file, explaining interaction with progname.
57713         * doc/gnulib.texi: include it.  Update copyright.
57714
57715 2007-01-03  Simon Josefsson  <simon@josefsson.org>
57716
57717         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
57718         AC_CANONICAL_HOST, to improve autobuild outputs.
57719
57720 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
57721             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
57722
57723         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
57724         sockets, server sockets, and other file descriptors.  Count errors
57725         to compute the return value.  Reorder the code a bit to be easier
57726         to follow.  Don't set event bits that were not requested (except
57727         POLLERR and POLLHUP).
57728
57729 2007-01-01  Bruno Haible  <bruno@clisp.org>
57730
57731         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
57732
57733 2007-01-03  Jim Meyering  <jim@meyering.net>
57734
57735         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
57736
57737 2007-01-02  Bruno Haible  <bruno@clisp.org>
57738
57739         * modules/settime (Include): Require timespec.h.
57740         * modules/nanosleep (Include): Likewise.
57741
57742 2007-01-01  Bruno Haible  <bruno@clisp.org>
57743
57744         * gnulib-tool (func_emit_copyright_notice): Bump year.
57745         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
57746
57747 2007-01-01  Bruno Haible  <bruno@clisp.org>
57748
57749         Improve support for OpenBSD.
57750         * build-aux/config.rpath (libname_spec): Export.
57751         (library_names_spec): New variable. Export.
57752         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
57753         library_names_spec from the config.rpath output. Locate shared library
57754         through the name pattern in library_names_spec.
57755
57756 2007-01-01  Eric Blake  <ebb9@byu.net>
57757
57758         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
57759
57760 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
57761
57762         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
57763         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
57764         assume the C locale, and avoid an "eval" that could cause trouble.
57765         Problem with SORT reported by Bob Proulx.
57766
57767         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
57768         Define.  Trivial patch from Henning Nielsen Lund, originally
57769         sent to bug-grep@gnu.org today.
57770
57771 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57772
57773         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
57774         struct stat.  Problem reported by Henning Nielsen Lund.
57775         * lib/acl.c: Include acl.h first, to check interface.  Don't
57776         bother to include sys/types.h and sys/stat.h again.
57777
57778 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57779
57780         Import the following change from libc; problem reported by
57781         Sven Verdoolaege.
57782
57783         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
57784
57785         [BZ #1373]
57786         * lib/argp.h: Remove __NTH for __argp_usage inline function.
57787
57788 2006-12-28  Jim Meyering  <jim@meyering.net>
57789
57790         * build-aux/announce-gen: Do not assume that the package
57791         builds any of tar.gz, tar.bz2, and .xdelta files.
57792         Suggestion from Simon Josefsson.
57793
57794 2006-12-28  Simon Josefsson  <simon@josefsson.org>
57795
57796         * modules/announce-gen: New file.
57797
57798 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
57799
57800         * lib/mbchar.h: Just include <wctype.h>; the wctype module
57801         handles its gotchas now.
57802         * lib/mbswidth.c: Likewise.
57803         * lib/wcwidth.h: Likewise.
57804         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
57805         and iswcntrl; the wctype module does this stuff now.
57806         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
57807         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
57808         * modules/mbchar (Depends-on): Add wctype.
57809         * modules/mbswidth (Depends-on): Likewise.
57810         * modules/wcwidth (Depends-on): Likewise.
57811
57812 2006-12-27  Eric Blake  <ebb9@byu.net>
57813
57814         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
57815         module uses more than what <wctype.h> is required to provide.
57816
57817 2006-12-26  Eric Blake  <ebb9@byu.net>
57818
57819         * gnulib-tool (sed_extract_prog): Avoid space-tab.
57820
57821 2006-12-26  Eric Blake  <ebb9@byu.net>
57822
57823         * modules/absolute-header: New module.
57824         * modules/fcntl (Depends-on): Depend on it.
57825         * modules/inttypes (Depends-on): Likewise.
57826         * modules/stdint (Depends-on): Likewise.
57827         * modules/sys_stat (Depends-on): Likewise.
57828         * modules/wctype (Depends-on): Likewise.
57829         * MODULES.html.sh (Support for building libraries and
57830         executables): Document it.
57831
57832 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57833
57834         * gnulib-tool (SED): Remove, undoing previous change.
57835         The problem was that it broke coreutils on Solaris, because
57836         "sed --posix" leaked into a makefile.
57837         (sed): New alias, if 'alias' and GNU sed.
57838
57839 2006-12-24  Jim Meyering  <jim@meyering.net>
57840
57841         Work around an fchownat bug in glibc-2.4:
57842         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
57843         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
57844         in spite of the -P option.
57845         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
57846         New macros.
57847         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
57848         * modules/openat (Files): Add lib/fchownat.c.
57849         * lib/openat.c (fchownat): Don't define here.  Move to...
57850         * lib/fchownat.c: ...this new file.
57851
57852 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57853
57854         Fix bug reported by Bruno Haible in
57855         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
57856         where quotearg.c didn't compile on Mac OS X 10.2 because it
57857         lacks <wchar.h> and wint_t.
57858         * lib/wctype_.h (__wctype_wint_t): New type.
57859         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
57860         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
57861         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
57862         Arg is now of type __wctype_wint_t, not wint_t.
57863         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
57864         substitute HAVE_WINT_T.
57865         * modules/wctype (Files): Add m4/wint_t.m4.
57866         (wctype.h): Substitute HAVE_WINT_T.
57867
57868 2006-12-23  Bruno Haible  <bruno@clisp.org>
57869
57870         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
57871
57872 2006-12-23  Bruno Haible  <bruno@clisp.org>
57873
57874         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
57875         S_ISLNK.
57876         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
57877         mingw.
57878
57879 2006-12-22  Bruno Haible  <bruno@clisp.org>
57880
57881         * lib/copy-file.c: Include acl.h.
57882         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
57883         Close the file descriptors only after being done with copy_acl.
57884         * modules/copy-file (Depends-on): Add acl.
57885
57886 2006-12-22  Bruno Haible  <bruno@clisp.org>
57887
57888         * gnulib-tool (SED): New variable.
57889         Use $SED instead of sed everywhere.
57890
57891 2006-12-22  Bruno Haible  <bruno@clisp.org>
57892
57893         * modules/no-c++: New file.
57894         * m4/no-c++.m4: New file.
57895         * MODULES.html.sh (Support for building libraries and executables):
57896         Add no-c++.
57897
57898 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
57899
57900         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
57901         Include <limits.h>, and use its INT_MAX to rewrite the
57902         j loop so that it does not overflow 'int'.  Problem reported by
57903         Ralf Wildenhues in
57904         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
57905         Play it safe by shifting left by 1 rather than multiplying by 2,
57906         as GCC is less likely to optimize this away when the value
57907         is signed (when it assumes overflow leads to undefined behavior).
57908         Also, don't assume time_t uses two's complement.
57909
57910 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
57911
57912         * MODULES.html.sh: New module wctype.
57913         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
57914         * lib/fnmatch.c: Don't bother to include <wchar.h> before
57915         <wctype.h>, since the new wctype module should fix this.
57916         * lib/quotearg.c: Include <wctype.h> unconditionally, since
57917         the wctype module should arrange for it.
57918         * lib/regex_internal.h: Likewise.
57919         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
57920         since the wctype module should handle this now.
57921         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
57922         * modules/fnmatch (Depends-on): Add wctype.
57923         * modules/quotearg (Depends-on): Likewise.
57924         * modules/regex (Depends-on): Likewise.
57925
57926 2006-12-19  Bruno Haible  <bruno@clisp.org>
57927
57928         * lib/strdup.h [C++]: Wrap definitions in extern "C".
57929         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
57930
57931 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57932
57933         * modules/savewd (Depends-on): Fix dependency on fcntl.
57934
57935 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57936
57937         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
57938         conforms to C99, rather than relying on the user's environment
57939         setting of STDINT_H.
57940
57941 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57942         and Eric Blake  <ebb9@byu.net>
57943
57944         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
57945         This is more consistent with the other defines here.
57946         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
57947         Port to z/OS.  Problem reported by Paul Gilmartin.
57948         Change local vars to use gl_ prefix rather than ac_.
57949         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
57950         with other defines.
57951         * modules/double-slash-root: New module.
57952         * modules/dirname (Files): Remove m4/double-slash-root.m4.
57953         (Depends-on): Add double-slash-root.
57954         * MODULES.html.sh (File system functions): Mention new module.
57955
57956 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
57957
57958         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
57959         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
57960         This is for the benefit of gzip, which doesn't do i18n.
57961
57962 2006-12-12  Jim Meyering  <jim@meyering.net>
57963
57964         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
57965         Reported by Andreas Schwab <schwab@suse.de>.
57966
57967 2006-12-12  Bruno Haible  <bruno@clisp.org>
57968
57969         Merge these changes.
57970         2006-09-05  Bruno Haible  <bruno@clisp.org>
57971         * lib/iconvme.c (iconv_string): No need to save and restore errno when
57972         iconv_alloc succeeded.
57973         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
57974         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
57975         test for " && dest " at the end - dest is always != NULL there. Call
57976         iconv with 4xNULL arguments initially, to reset the state. Call iconv
57977         with 2xNULL arguments, also to flush the state storage. Handle the
57978         IRIX iconv behaviour. Realloc the final result, to throw away unused
57979         memory.
57980
57981 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
57982
57983         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
57984         and fchmodat unconditionally, since glibc 2.4 has them.
57985         Problem reported by Arkadiusz Miskiewicz.
57986
57987 2006-12-10  Bruno Haible  <bruno@clisp.org>
57988
57989         * gnulib-tool (func_import): Show the include files only for those
57990         modules that are copied and specified.
57991         Reported by Karl Berry.
57992
57993 2006-12-08  Jim Meyering  <jim@meyering.net>
57994
57995         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
57996         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
57997
57998         * build-aux/announce-gen: Add two new options, both optional:
57999         --bootstrap-tools=TOOL_LIST
58000               a comma-separated list of tools, e.g.,
58001               autoconf,automake,bison,gnulib
58002         --gnulib-snapshot-date=DATE
58003               if gnulib is in the bootstrap tool list,
58004               then report this as the snapshot date.
58005               If not specified, use the current date/time.
58006               If you specify a date here, be sure it's UTC.
58007
58008 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58009
58010         * tests/test-argp-2.sh: Fix test to match actual output.
58011         (func_compare): Fix sed script to be portable.
58012
58013 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
58014
58015         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
58016         workaround for this case.  It is not autoconfigured now; offhand
58017         it's hard to see how to autoconfigure it.
58018
58019 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
58020
58021         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
58022         a directory that is about to be chowned.  Such a directory's
58023         initial file permissions should permit the owner only and this
58024         should not be changed until after the chown, since the group and
58025         other bits would be incorrect if they granted permission before
58026         the chown.
58027
58028         Fix porting problem for iswctype reported by Georg Schwarz in:
58029         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
58030         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
58031         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
58032         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
58033         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58034
58035 2006-12-03  Jim Meyering  <jim@meyering.net>
58036
58037         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
58038         p->fts_statp may not yet be defined.
58039         (fts_read): Instead, set it in the caller, once p->fts_statp is
58040         sure to be defined, and corresponds to a top-level directory.
58041         This bug made du -x fail.  Here's the coreutils test case:
58042         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
58043         Reported by Mike Frysinger.
58044
58045 2006-12-01  Jim Meyering  <jim@meyering.net>
58046
58047         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
58048         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
58049         Reported by Simon Josefsson.
58050
58051 2006-11-30  Jim Meyering  <jim@meyering.net>
58052
58053         * m4/warning.m4: Use the all-permissive copyright notice
58054         recommended by RMS (rather than LGPL).
58055         * m4/vararrays.m4: Likewise.
58056         * m4/flexmember.m4: Likewise.
58057
58058 2006-11-29  Bruno Haible  <bruno@clisp.org>
58059
58060         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58061         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
58062         using +=.
58063         Reported by Simon Josefsson <simon@josefsson.org>.
58064
58065 2006-11-28  James Youngman <jay@gnu.org>
58066
58067         * README: Advise users that they might find the bug-gnulib@gnu.org
58068         and autotools-announce@gnu.org mailing lists useful.
58069
58070 2006-11-28  Bruno Haible  <bruno@clisp.org>
58071
58072         * m4/ptrdiff_max.m4: Remove file.
58073
58074 2006-11-21  Bruno Haible  <bruno@clisp.org>
58075
58076         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
58077         _AC_COMPUTE_INT.
58078         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58079         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
58080         _AC_COMPUTE_INT.
58081         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58082         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
58083         _AC_COMPUTE_INT.
58084         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58085
58086 2006-11-28  Jim Meyering  <jim@meyering.net>
58087
58088         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
58089         warning from "gcc -Wshadow" about shadowing the builtin.
58090
58091 2006-11-27  Bruno Haible  <bruno@clisp.org>
58092
58093         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
58094         _AC_COMPUTE_INT.
58095         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58096
58097 2006-11-27  Bruno Haible  <bruno@clisp.org>
58098             Paul Eggert  <eggert@cs.ucla.edu>
58099
58100         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
58101
58102 2006-11-26  Bruno Haible  <bruno@clisp.org>
58103
58104         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58105         noinst_LTLIBRARIES.
58106
58107 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
58108             Bruno Haible  <bruno@clisp.org>
58109
58110         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
58111         if compiling with "gcc -ansi".
58112
58113 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
58114
58115         Fix some incompatibilities with gcc -ansi -pedantic.
58116         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
58117         if compiling pedantically with GCC, unless it's C99 or later.
58118         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
58119         it mishandles gcc -ansi -pedantic as well.
58120         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
58121         if gcc -pedantic.
58122         * lib/regexec.c (check_node_accept_bytes): Don't use auto
58123         initializers for struct if -pedantic, unless it's C99 or later.
58124
58125 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
58126
58127         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
58128         Don't close an fd more than once. Identical atimes indicate
58129         success, not failure.
58130
58131 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
58132
58133         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
58134
58135 2006-11-23  Jim Meyering  <jim@meyering.net>
58136
58137         * build-aux/announce-gen: New file.  From coreutils.
58138
58139 2006-11-22  Jim Meyering  <jim@meyering.net>
58140
58141         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
58142         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
58143         (fts_read): Use a temporary to narrow the overused st_size member
58144         before using it in a switch statement.  Reported by Matthew Woehlke.
58145
58146         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
58147         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
58148
58149 2006-11-20  Bruno Haible  <bruno@clisp.org>
58150
58151         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
58152         changequote instead of pairs of brackets.
58153         Reported by Andreas Schwab <schwab@suse.de>.
58154
58155 2006-11-21  Jim Meyering  <jim@meyering.net>
58156
58157         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
58158         so as to remain compatible with older compilers.
58159         Patch from Michael Deutschmann.
58160
58161 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58162
58163         * MODULES.html.sh (File system functions): Add openat.
58164
58165         * lib/openat.h (rpl_fstatat): New macro, if
58166         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
58167         (fstatat): Define to rpl_fstatat under the same conditions,
58168         unless COMPILING_FSTATAT.
58169         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
58170         seems to have the bug.
58171         * lib/fstatat.c: New file.
58172         * modules/openat (Files): Add it.
58173
58174 2006-11-20  Bruno Haible  <bruno@clisp.org>
58175
58176         * Makefile: New file.
58177
58178 2006-11-20  Jim Meyering  <jim@meyering.net>
58179
58180         The beginnings of syntax-related checks for gnulib.
58181         * lib/Makefile: New file.
58182         * lib/t-idcache: New script.  Ensure that the two halves of
58183         idcache.c stay in sync.
58184
58185         * lib/idcache.c: Adjust comments in user- and group- portions to
58186         be more accurate, and to be consistent with one another.
58187
58188 2006-11-20  Jim Meyering  <jim@meyering.net>
58189
58190         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
58191         continue using the flexible array member (thus, this module performs
58192         half as many malloc calls), with the addition that...
58193         (getgroup, getuser): Consistently record a non-match via an empty
58194         "name" string, and map an empty string match to a NULL return value.
58195         * modules/idcache (Depends-on): Re-add flexmember.
58196
58197         * lib/idcache.c (getuser): Remove all uses of the register keyword.
58198         (getuidbyname, getgroup, getgidbyname): Likewise.
58199
58200         Use cleaner syntax: NULL rather than 0.
58201         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
58202
58203 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58204
58205         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
58206         It mishandled the case where the group was missing.
58207         Problem reported by Greg Schafer.
58208         * modules/idcache: Likewise.
58209
58210 2006-11-18  Jim Meyering  <jim@meyering.net>
58211
58212         * check-module (%exempt_header): Add exception for some
58213         conditionally-included headers.
58214
58215         * modules/i-ring (Depends-on): Add verify.
58216         (License): Change to LGPL.
58217
58218 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58219
58220         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
58221         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
58222         and inttostr.h.  Use snprintf rather than uinttostr, so that
58223         LGPLed code doesn't depend on GPLed.
58224
58225 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
58226
58227         * modules/inline (License): Change from GPL to LGPL.
58228
58229 2006-11-17  Jim Meyering  <jim@meyering.net>
58230
58231         * modules/d-type (License): Switch to LGPL.
58232
58233 2006-11-15  Bruno Haible  <bruno@clisp.org>
58234
58235         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
58236
58237 2006-11-15  Eric Blake  <ebb9@byu.net>
58238
58239         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
58240         the module dependency.
58241
58242 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58243             Bruno Haible  <bruno@clisp.org>
58244
58245         * gnulib-tool (func_create_testdir): Add license consistency check.
58246
58247 2006-11-15  Eric Blake  <ebb9@byu.net>
58248
58249         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
58250         random "(cached)" in configure output.
58251
58252 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58253
58254         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
58255         test for conforming inttypes.h is both announced and cached.
58256
58257         * MODULES.html.sh (seen_modules, seen_files): New variables.
58258         (func_module): Rewrite to use a few less gnulib-tool and sed
58259         invocations.  Avoid a couple of quadratic algorithms for ...
58260         (missed_modules, missed_files): ... these, with ...
58261         (func_append, func_tmpdir): ... these new functions, from
58262         gnulib-tool.  Analogously, install traps for cleanup.
58263
58264         * tests/test-gc.c (main): Remove unused variables.
58265         * tests/test-read-file.c: Include stdlib.h, for 'free'.
58266
58267 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
58268
58269         * modules/inttostr (License): Change to LGPL.
58270
58271 2006-11-14  Eric Blake  <ebb9@byu.net>
58272
58273         * modules/tempname (License): Change to LGPL.
58274
58275 2006-11-14  Eric Blake  <ebb9@byu.net>
58276
58277         * doc/functions.texi (Function Portability): *printf functions on
58278         Cygwin now understand all POSIX size specifiers.
58279
58280 2006-11-14  Bruno Haible  <bruno@clisp.org>
58281
58282         * modules/c-ctype (License): Change to LGPL.
58283
58284 2006-11-12  Bruno Haible  <bruno@clisp.org>
58285
58286         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58287         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
58288         for GNOME libraries, for which the include files are installed in
58289         subdirectories of $prefix/include.
58290
58291 2006-11-12  Bruno Haible  <bruno@clisp.org>
58292
58293         * m4/lib-link.m4: Require at least autoconf-2.54.
58294         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
58295         name to underscores for the --with option.
58296
58297 2006-11-13  Bruno Haible  <bruno@clisp.org>
58298
58299         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
58300         the tests directory.
58301         Reported by Ralf Wildenhues.
58302
58303 2006-11-13  Bruno Haible  <bruno@clisp.org>
58304
58305         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
58306         (func_emit_initmacro_end): Undo the override here.
58307         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
58308         Works around the famous automake error in coreutils.
58309
58310 2006-11-13  Eric Blake  <ebb9@byu.net>
58311
58312         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
58313         element, not its node.
58314
58315 2006-11-12  Bruno Haible  <bruno@clisp.org>
58316
58317         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
58318         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
58319
58320 2006-11-12  Bruno Haible  <bruno@clisp.org>
58321
58322         * gnulib-tool: New option --local-symlink.
58323         (func_usage): Document it.
58324         (lsymbolic): New variable.
58325         (func_import, func_create_testdir): If --symlink was not specified,
58326         test whether --local-symlink was specified and the file comes from
58327         the local_gnulib_dir.
58328
58329 2006-11-12  Bruno Haible  <bruno@clisp.org>
58330
58331         * gnulib-tool (func_ln): New function.
58332         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
58333
58334 2006-11-12  Bruno Haible  <bruno@clisp.org>
58335
58336         Finish support for source files in subdirectories.
58337         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
58338         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
58339         AUTOMAKE_OPTIONS.
58340         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
58341
58342 2006-11-12  Bruno Haible  <bruno@clisp.org>
58343
58344         * gnulib-tool (func_get_automake_snippet): Synthesize also an
58345         EXTRA_lib_SOURCES augmentation.
58346         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
58347
58348 2006-11-12  Jim Meyering  <jim@meyering.net>
58349
58350         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
58351         file descriptors.  This also averts a failure on systems with
58352         native openat support when a traversed directory lacks "x" access.
58353         * lib/fts_.h: Include "i-ring.h"
58354         (struct FTS) [fts_fd_ring]: New member.
58355         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
58356         (FCHDIR): Add parentheses.
58357         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
58358         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
58359         When descending, rather than simply closing the previous
58360         fts_cwd_fd value, push that file descriptor onto the ring.
58361         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
58362         (fts_open): Initialize the new fd_ring member.
58363         (fts_close): Clear the ring.
58364         (fts_safe_changedir): When possible, use our new fd_ring to skip
58365         the diropen and fstat and dev/ino comparison that would normally
58366         accompany a virtual `chdir ("..")'.
58367
58368         * modules/fts (Depends-on): Add i-ring.
58369         * modules/i-ring: New module.
58370         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
58371         * m4/i-ring.m4: New file.
58372
58373 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58374
58375         * gnulib-tool (func_create_testdir): Fix replacement of
58376         `build-aux' in configure.ac.  Run autotools in gltests
58377         subdirectory.
58378         (func_create_testdir, func_create_megatestdir, test): There is
58379         no need for '--force' in most autotool invocations in a new
58380         tree.  Actually fail the whole test if any of the tools, or the
58381         configure or make stages fail.
58382
58383         Sync from Automake.
58384         * build-aux/gnupload: Revert last change.  Add pointer to upload
58385         instructions of the GNU Maintenance Instructions.
58386         Suggestion by Karl Berry.
58387
58388 2006-11-10  Jim Meyering  <jim@meyering.net>
58389
58390         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
58391
58392 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58393
58394         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
58395         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
58396         (bind_textdomain_codeset) [! ENABLE_NLS]:
58397         Evaluate all the arguments.  That way, callers get compatible behavior
58398         if the arguments have side effects.  Also, it avoids some GCC
58399         diagnostics in some cases; Joel E. Denny reported problems when Bison
58400         was configured with --enable-gcc-warnigs.
58401
58402 2006-11-10  Jim Meyering  <jim@meyering.net>
58403
58404         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
58405         relevant options in CFLAGS (like -O, -fno-inline) are taken into
58406         account.
58407
58408 2006-11-10  Jim Meyering  <jim@meyering.net>
58409
58410         * modules/inline: New file/module.
58411         * modules/xalloc (Files): Remove m4/inline.m4.
58412         (Depends-on): Add inline, instead.
58413         * modules/oset: Likewise.
58414         * modules/list: Likewise.
58415
58416 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58417
58418         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
58419         Problem reported by Matthew Woehlke.
58420
58421 2006-11-09  Bruno Haible  <bruno@clisp.org>
58422
58423         * lib/tempname.c (gen_tempname): Remove variant that invokes
58424         __gen_tempname.
58425         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
58426         __gen_tempname.
58427
58428 2006-11-08  Bruno Haible  <bruno@clisp.org>
58429
58430         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
58431         to 'yes' instead of 'cross-compiling'.
58432
58433 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
58434
58435         * lib/quotearg.h (quotearg_free): New decl.
58436         * lib/quotearg.c (quotearg_free): New function.
58437         (slot0, nslots, slotvec0, slotvec):
58438         Now file-scope so that quotearg_free can get at them.
58439
58440 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58441
58442         Sync from Automake.
58443         * build-aux/gnupload: Add missing 'gnu' to example URL.
58444         Report by Karl Berry.
58445
58446 2006-11-08  Bruno Haible  <bruno@clisp.org>
58447
58448         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
58449         Suggested by Paul Eggert.
58450
58451 2006-11-08  Jim Meyering  <jim@meyering.net>
58452
58453         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
58454         It's already included if !_LIBC.
58455         (fts_safe_changedir): Add a comment.
58456
58457 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
58458
58459         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
58460         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
58461         Matthew Woehlke.
58462
58463         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
58464         definitions up, to avoid colliding with change below.
58465         (static_inline) [HAVE_INLINE]: New macro.
58466         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
58467         Provide extern decls when !HAVE_INLINE.  Do not define unless
58468         static_inline is defined, either by us or by xmalloc.c.  Use
58469         static_inline rather than static inline.
58470         (XCALLOC): Optimize sizeof(T) = 1 case.
58471         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
58472
58473 2006-11-07  Bruno Haible  <bruno@clisp.org>
58474
58475         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
58476         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
58477         AC_C_INLINE.
58478         * modules/xalloc (Files): Add m4/inline.m4.
58479
58480 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58481
58482         * README: Fix typo.
58483         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
58484         (Miscellanous Notes): ...from this.
58485
58486 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
58487
58488         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
58489         Mention that offsetof should be used instead of sizeof.
58490         From Bruno Haible.
58491
58492 2006-11-07  Bruno Haible  <bruno@clisp.org>
58493
58494         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
58495
58496 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
58497
58498         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
58499         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
58500         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
58501         (gl_tree_add_before, gl_tree_add_after):
58502         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
58503         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
58504         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
58505         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
58506         (gl_linked_add_after, gl_linked_add_at): Likewise.
58507         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
58508         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
58509         (gl_tree_add_before, gl_tree_add_after): Likewise.
58510         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
58511         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
58512         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
58513
58514 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58515
58516         * lib/gl_oset.h: Use C comment style, not C++ comment style.
58517
58518 2006-11-06  Bruno Haible  <bruno@clisp.org>
58519
58520         * m4/inline.m4: New file.
58521         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
58522         * modules/list (Files): Add m4/inline.m4.
58523         * modules/oset (Files): Likewise.
58524
58525 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
58526
58527         * lib/idcache.c: Include <stddef.h>, for offsetof.
58528         (struct userid.name): Change from char * to a flexible array member.
58529         All uses changed.
58530         * modules/idcache (Depends-on): Add flexmember.
58531
58532         * MODULES.html.sh (Core language properties): New module flexmember.
58533         * modules/flexmember, m4/flexmember.m4: New files.
58534
58535         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
58536         inline functions that are identical with the old xnmalloc_inline,
58537         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
58538         that we can avoid some unnecessary integer multiplications and
58539         divisions in the common case where the element size is known at
58540         compile time.
58541         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
58542         needed.
58543         (xnboundedmalloc): Remove.
58544         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
58545         arguments, for consistency with rest of this header.
58546         (xcharalloc): Rewrite using XNMALLOC.
58547         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
58548         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
58549         versions have been moved to lib/xalloc.h and renamed to be the
58550         non-*_inline versions.
58551         (xmalloc, xrealloc): Implement without reference to the xnmalloc
58552         and xnrealloc functions, since those functions are now inline and
58553         now call us.
58554         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
58555         renaming described above.
58556         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
58557         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
58558         captures the dependency in AC_C_INLINE.
58559
58560         New module canonicalize-lgpl, proposed by Charles Wilson in
58561         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
58562         with a few small changes afterwards.
58563         * MODULES.html.sh (File system functions): New module
58564         canonicalize-lgpl.
58565         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
58566         and canonicalize_file_name.
58567         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
58568         * modules/canonicalize-lgpl: New files.
58569
58570 2006-11-05  Bruno Haible  <bruno@clisp.org>
58571
58572         * gnulib-tool (func_import, func_create_testdir): Create directories
58573         also for files in subdirectories of lib/.
58574
58575 2006-11-05  Bruno Haible  <bruno@clisp.org>
58576
58577         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
58578         ANSI C compliant.
58579
58580 2006-11-03  Bruno Haible  <bruno@clisp.org>
58581
58582         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
58583         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
58584         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
58585         (xnboundedmalloc): New inline function.
58586         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
58587         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
58588         xmalloc.
58589         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
58590         xmalloc.
58591         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
58592         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
58593         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
58594         xmalloc.
58595         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
58596         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
58597         xmalloc.
58598         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
58599         gl_tree_add_after): Use XMALLOC instead of xmalloc.
58600         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
58601         xmalloc.
58602         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
58603         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
58604         gl_tree_add_after): Use XMALLOC instead of xmalloc.
58605         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
58606         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
58607         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
58608         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
58609
58610 2006-11-03  Bruno Haible  <bruno@clisp.org>
58611
58612         * lib/c-ctype.h [C++]: Define functions without name mangling.
58613         * lib/fwriteerror.h [C++]: Likewise.
58614         * lib/gcd.h [C++]: Likewise.
58615         * lib/linebreak.h [C++]: Likewise.
58616
58617 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
58618
58619         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
58620         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
58621         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
58622         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
58623         Check for functions and headers just once.
58624         Check for declaration of canonicalize_file_name.
58625         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
58626
58627 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58628
58629         * gnulib-tool (func_import): Fix typo in actioncmd.
58630
58631 2006-11-02  Bruno Haible  <bruno@clisp.org>
58632
58633         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
58634         newline sequence in the Makefile.am snippet as a space, like "make"
58635         does.
58636         Reported by Roger Persson <perrog@gmail.com>.
58637
58638 2006-11-01  Bruno Haible  <bruno@clisp.org>
58639
58640         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
58641         already declared in <string.h>.
58642         * lib/strcase.h (strncasecmp): Don't declare it if yes.
58643
58644 2006-11-01  Bruno Haible  <bruno@clisp.org>
58645
58646         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
58647         * lib/strcase.h: Include <string.h>.
58648         (strcasecmp): Define to rpl_strcasecmp here.
58649
58650 2006-11-01  Bruno Haible  <bruno@clisp.org>
58651
58652         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
58653
58654 2006-11-01  Eric Blake  <ebb9@byu.net>
58655
58656         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
58657
58658         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
58659
58660 2006-10-29  Bruno Haible  <bruno@clisp.org>
58661
58662         Make it compile in C++ mode.
58663         * lib/full-write.c (full_rw): Add a cast.
58664
58665 2006-11-01  Bruno Haible  <bruno@clisp.org>
58666
58667         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
58668         be POSIX compliant.
58669         Reported by Roger Persson <perrog@gmail.com>.
58670
58671 2006-11-01  Eric Blake  <ebb9@byu.net>
58672
58673         * lib/getopt_.h: Fix comments.
58674
58675 2006-10-31  Eric Blake  <ebb9@byu.net>
58676
58677         * modules/tmpdir (Depends-on): Add sys_stat.
58678         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
58679         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
58680         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
58681         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
58682         tempname.
58683
58684 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
58685
58686         Avoid some C++ diagnostics reported by Bruno Haible.
58687         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
58688         xmalloc.
58689         (quotearg_alloc): Use xcharalloc rather than xmalloc.
58690         (struct slotvec): Move to top level.
58691         (quotearg_n_options): Rewrite to avoid xmalloc.
58692         * lib/xalloc.h (xcharalloc): New function.
58693         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
58694         [defined __cplusplus]: Add function template that provides result
58695         type propagation.  This part of the change is from Bruno Haible.
58696
58697 2006-10-29  Bruno Haible  <bruno@clisp.org>
58698
58699         Make it compile in C++ mode.
58700         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
58701         * lib/strnlen1.c (strnlen1): Cast memchr result.
58702         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
58703         * lib/clean-temp.c (string_equals, string_hash): Add casts.
58704         (create_temp_dir): Rename local variable 'template'.
58705         (compile_csharp_using_sscli): Add cast.
58706         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
58707         * lib/findprog.c (find_in_path): Likewise.
58708         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
58709         * lib/wait-process.c (register_slave_subprocess): Likewise.
58710
58711 2006-10-22  Bruno Haible  <bruno@clisp.org>
58712
58713         * modules/tsearch: New file.
58714         * lib/tsearch.h: New file.
58715         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
58716         * m4/tsearch.m4: New file.
58717         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
58718
58719 2006-10-29  Eric Blake  <ebb9@byu.net>
58720
58721         * lib/arcfour.c: Assume config.h.
58722         * lib/arctwo.c: Likewise.
58723         * lib/base64.c: Likewise.
58724         * lib/check-version.c: Likewise.
58725         * lib/crc.c: Likewise.
58726         * lib/des.c: Likewise.
58727         * lib/gc-gnulib.c: Likewise.
58728         * lib/gc-libgcrypt.c: Likewise.
58729         * lib/gc-pbkdf2-sha1.c: Likewise.
58730         * lib/getaddrinfo.c: Likewise.
58731         * lib/getdelim.c: Likewise.
58732         * lib/getline.c: Likewise.
58733         * lib/hmac-md5.c: Likewise.
58734         * lib/hmac-sha1.c: Likewise.
58735         * lib/iconvme.c: Likewise.
58736         * lib/md2.c: Likewise.
58737         * lib/md4.c: Likewise.
58738         * lib/memxor.c: Likewise.
58739         * lib/read-file.c: Likewise.
58740         * lib/readline.c: Likewise.
58741         * lib/rijndael-alg-fst.c: Likewise.
58742         * lib/rijndael-api-fst.c: Likewise.
58743         * lib/xgetdomainname.c: Likewise.
58744
58745 2006-10-28  Eric Blake  <ebb9@byu.net>
58746
58747         * lib/xstrndup.c: Assume config.h.
58748
58749 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
58750
58751         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
58752         stat-macros.h is now for our own macros, whereas stat_h is for
58753         macros in the <sys/stat.h> name space.
58754         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
58755         (STAT_MACROS_H): Remove.
58756         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
58757         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
58758         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
58759         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
58760         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
58761         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
58762         Move these macros to ...
58763         * lib/stat_.h: here.  Don't include stat-macros.h.
58764         * lib/canonicalize.c: Don't include stat-macros.h.
58765         * lib/chown.c: Likewise.
58766         * lib/euidaccess.c: Likewise.
58767         * lib/file-type.c: Likewise.
58768         * lib/filemode.c: Likewise.
58769         * lib/glob.c: Likewise.
58770         * lib/isapipe.c: Likewise.
58771         * lib/lchown.c: Likewise.
58772         * lib/lstat.c: Likewise.
58773         * lib/mkdir-p.c: Likewise.
58774         * lib/rmdir.c: Likewise.
58775         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
58776         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
58777         unless mkdir isn't declared, to speed up 'configure'.
58778         Always create sys/stat.h, since it's unlikely any real sys/stat.h
58779         would define all the S_* symbols.
58780         * modules/canonicalize (Depends-on):
58781         Depend on sys_stat, not stat-macros.
58782         * modules/chown: Likewise.
58783         * modules/euidaccess: Likewise.
58784         * modules/filemode: Likewise.
58785         * modules/file-type: Likewise.
58786         * modules/glob: Likewise.
58787         * modules/isapipe: Likewise.
58788         * modules/lchown: Likewise.
58789         * modules/lstat: Likewise.
58790         * modules/mkancesdirs: Likewise.
58791         * modules/rmdir: Likewise.
58792         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
58793         * modules/modechange: Likewise.
58794         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
58795         (configure.ac): Remove gl_STAT_MACROS.
58796         * modules/sys_stat (Depends-on): Remove stat-macros.
58797
58798 2006-10-27  Bruno Haible  <bruno@clisp.org>
58799
58800         * m4/signed.m4: Remove file.
58801         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
58802         invocation.
58803         * modules/vasnprintf (Files): Remove m4/signed.m4.
58804
58805 2006-10-27  Bruno Haible  <bruno@clisp.org>
58806
58807         Update to GNU gettext 0.16.
58808         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
58809         m4/inttypes-h.m4, m4/signed.m4.
58810         * m4/gettext.m4: Update to GNU gettext 0.16.
58811         * m4/intl.m4: New file, from GNU gettext.
58812         * m4/intldir.m4: New file, from GNU gettext.
58813         * config/srclist.txt: Update
58814
58815 2006-10-27  Eric Blake  <ebb9@byu.net>
58816
58817         * MODULES.html.sh: Document tempname.
58818         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
58819         dependencies.
58820         (Files): Move lib/tempname.c...
58821         * modules/tempname: ...to this new module.
58822         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
58823         (gl_PREREQ_TEMPNAME): Move...
58824         * m4/tempname.m4: ...to this new file.
58825         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
58826         * modules/sys_stat (Depends-on): Add stat-macros.
58827         * lib/stat_.h (includes): Pick up stat macros.
58828         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
58829         if stat macros are broken.
58830         * lib/tempname.c (includes): No need to include "stat-macros.h".
58831         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
58832         (direxists, __path_search) [!_LIBC]: Don't compile these in
58833         gnulib; the tmpdir module covers that.
58834         * lib/tempname.h: New file.
58835
58836 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
58837
58838         * COPYING: Explain how gnulib-tool converts licence headers.
58839         Almost all wording by Eric Blake.
58840
58841 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
58842
58843         * lib/mbchar.h (is_basic_table): Make read-only.
58844         * lib/mbchar.c (is_basic_table): Likewise.
58845         Reported by John Darrington.
58846
58847 2006-10-25  Bruno Haible  <bruno@clisp.org>
58848
58849         * lib/progname.h (set_program_name): Undefine before defining.
58850
58851 2006-10-25  Bruno Haible  <bruno@clisp.org>
58852
58853         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
58854         false for non-gcc C++ compilers.
58855         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
58856
58857 2006-10-24  Bruno Haible  <bruno@clisp.org>
58858
58859         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
58860         iconv implementations like Irix iconv.
58861
58862 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58863
58864         * modules/vararrays: New file.
58865         * m4/vararrays.m4: New file, taken from diffutils.
58866         * MODULES.html.sh: New module vararrays.
58867
58868 2006-10-24  Karl Berry  <karl@gnu.org>
58869
58870         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
58871         Don't call GNU Unix.
58872
58873 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58874
58875         * users.txt: Add Libtool.
58876
58877         Sync from Libtool:
58878
58879         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58880
58881         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
58882         to gnulib's policy of including config.h unconditionally.
58883
58884 2006-10-24  Bruno Haible  <bruno@clisp.org>
58885
58886         * modules/wcwidth (Files): Add m4/wint_t.m4.
58887         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
58888         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
58889
58890 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58891
58892         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
58893         to pacify GCC with some -W flags enabled.  Problem reported by
58894         Bruno Haible.
58895
58896 2006-10-24  Jim Meyering  <jim@meyering.net>
58897
58898         * MODULES.html.sh: Remove uinttostr.  It's not a module.
58899         Reported by Karl Berry.
58900
58901 2006-10-23  Bruno Haible  <bruno@clisp.org>
58902
58903         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
58904
58905 2006-10-24  Bruno Haible  <bruno@clisp.org>
58906
58907         * lib/gl_list.h: Use C comment style, not C++ comment style.
58908
58909 2006-10-23  Eric Blake  <ebb9@byu.net>
58910
58911         * lib/getaddrinfo.c (includes): Add missing include.
58912
58913 2006-10-23  Bruno Haible  <bruno@clisp.org>
58914             Paul Eggert  <eggert@cs.ucla.edu>
58915
58916         Ability to rename obstack_free.
58917         * lib/obstack.h (__obstack_free): New macro. Declare instead of
58918         obstack_free.
58919         (obstack_free): Invoke the __obstack_free macro.
58920         * lib/obstack.c (obstack_free): Use __obstack_free macro.
58921
58922 2006-10-23  Bruno Haible  <bruno@clisp.org>
58923             Paul Eggert  <eggert@cs.ucla.edu>
58924
58925         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
58926         __argc, __argv from the declaration. (They are defined as macros on
58927         mingw.)
58928
58929 2006-10-22  Bruno Haible  <bruno@clisp.org>
58930
58931         * doc/gnulib-intro.texi: New file.
58932         * doc/gnulib.texi: Include it.
58933
58934 2006-10-21  Bruno Haible  <bruno@clisp.org>
58935
58936         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
58937         "Introduction", "Miscellanous Notes", "Particular Modules".
58938
58939 2006-10-21  Bruno Haible  <bruno@clisp.org>
58940
58941         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58942         Change mostlyclean-local rule to avoid sh syntax error from bash
58943         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
58944
58945 2006-10-23  Jim Meyering  <jim@meyering.net>
58946
58947         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
58948         in place of snprintf.
58949
58950         * modules/inttostr (Files): Add lib/uinttostr.c.
58951         * lib/uinttostr.c (inttostr): New file/function.
58952         * lib/inttostr.h (uinttostr): Declare.
58953         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
58954         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
58955         Add uinttostr.
58956         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
58957
58958 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
58959
58960         * lib/canonicalize.c (ELOOP): Define if not already defined.
58961         Problem reported by Bruno Haible in
58962         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
58963
58964 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
58965
58966         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
58967         Problem reported by Perry Smith and Ville Laurikari.
58968
58969         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
58970         uses.
58971
58972 2006-10-19  Bruno Haible  <bruno@clisp.org>
58973
58974         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
58975         for mingw.
58976
58977 2006-10-19  Bruno Haible  <bruno@clisp.org>
58978
58979         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
58980         Needed for mingw.
58981
58982 2006-10-19  Bruno Haible  <bruno@clisp.org>
58983
58984         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
58985
58986 2006-10-19  Bruno Haible  <bruno@clisp.org>
58987
58988         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
58989         it.
58990
58991 2006-10-19  Bruno Haible  <bruno@clisp.org>
58992
58993         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
58994         invocation.
58995
58996 2006-10-19  Bruno Haible  <bruno@clisp.org>
58997
58998         * gnulib-tool (func_create_testdir): Don't include ftruncate and
58999         mountlist by default.
59000
59001 2006-10-16  Bruno Haible  <bruno@clisp.org>
59002
59003         * lib/c-strstr.c: Include c-strstr.h.
59004
59005 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59006
59007         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
59008         in a slash.
59009
59010 2006-10-18  Bruno Haible  <bruno@clisp.org>
59011
59012         * lib/lock.h [C++]: Wrap definitions in extern "C".
59013
59014 2006-10-18  Bruno Haible  <bruno@clisp.org>
59015
59016         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
59017         gl_LIBOBJS list.
59018
59019 2006-10-18  Bruno Haible  <bruno@clisp.org>
59020
59021         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
59022
59023 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
59024
59025         * lib/xstrtol.h: Include gettext.h.
59026         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
59027         Problem reported by Eric Blake.
59028         * modules/xstrtol (Depends-on): Add gettext-h.
59029
59030 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
59031
59032         * lib/strftime.c (advance): New macro.
59033         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
59034         incomplete type, so you can't add 0 to it.  Problem and patch
59035         reported by Eelco Dolstra for dietlibc.
59036
59037 2006-10-18  Jim Meyering  <jim@meyering.net>
59038
59039         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
59040         type for a local, and rename it: s/up/user_proc/.
59041
59042 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59043
59044         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
59045         READ_UTMP_USER_PROCESS.
59046         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
59047
59048 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59049
59050         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
59051         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
59052
59053 2006-10-17  Eric Blake  <ebb9@byu.net>
59054
59055         * lib/sigprocmask.c (sigprocmask): Fix typo.
59056
59057         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
59058
59059         * modules/clean-temp (Makefile.am): Don't add to make output...
59060         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
59061         config.h.
59062
59063 2006-10-17  Bruno Haible  <bruno@clisp.org>
59064
59065         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
59066         differently if DEFAULT_TEXT_DOMAIN is set.
59067
59068 2006-10-16  Bruno Haible  <bruno@clisp.org>
59069
59070         * lib/clean-temp.c: Include fwriteerror.h.
59071
59072 2006-10-16  Bruno Haible  <bruno@clisp.org>
59073
59074         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
59075
59076 2006-10-16  Bruno Haible  <bruno@clisp.org>
59077
59078         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
59079         * lib/sigprocmask.h: Include <sys/types.h>.
59080         (sigset_t): Use the system's definition if present.
59081
59082 2006-10-17  Eric Blake  <ebb9@byu.net>
59083
59084         * lib/xvasprintf.c (includes): Assume config.h.
59085         * lib/xasprintf.c (includes): Likewise.
59086
59087 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59088
59089         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
59090         at least as wide as intmax_t.
59091
59092 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
59093
59094         (Imported from Automake.)
59095         * build-aux/gnupload: Update to version 1.1 of directive file.
59096
59097 2006-10-16  Eric Blake  <ebb9@byu.net>
59098
59099         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
59100         match Automake 1.10a.
59101
59102 2006-10-14  Bruno Haible  <bruno@clisp.org>
59103
59104         * modules/sigprocmask: New file.
59105         * lib/sigprocmask.h: New file.
59106         * lib/sigprocmask.c: New file.
59107         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
59108         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
59109         request sigprocmask.o.
59110         (gl_PREREQ_SIGPROCMASK): New macro.
59111         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
59112         (Depends-on): Add sigprocmask.
59113         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
59114         gt_SIGNALBLOCKING. Test for 'raise' only once.
59115         * lib/fatal-signal.c: Include sigprocmask.h.
59116         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
59117         unblock_fatal_signals): Define always.
59118         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59119         sigprocmask.
59120
59121 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
59122
59123         Sync from Automake.
59124         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
59125         which incorrectly sets the mode of an existing destination
59126         directory.  In some cases the unpatched install-sh could do the
59127         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
59128         system.  We hope this is rare in practice, but it's clearly worth
59129         fixing.  Problem reported by Alex Unleashed in
59130         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
59131         Also, don't bother to check for -m bugs unless we're using -m;
59132         suggested by Stepan Kasal.
59133
59134 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59135
59136         Sync from Automake.
59137         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
59138         `-c' flag, so they appear at the same position as in %FASTDEP%
59139         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
59140         which ignores unknown options only after the first non-option.
59141         Bug report against M4 by Nelson H. F. Beebe.
59142
59143 2006-10-13  Jim Meyering  <jim@meyering.net>
59144
59145         Fix a bug in yesterday's change.
59146         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
59147         p->fts_statp->st_dev would be used uninitialized.
59148         Ensures that we always call fts_stat on the very first entry.
59149         Miklos Szeredi reported that find -xdev stopped working.
59150
59151 2006-10-12  Bruno Haible  <bruno@clisp.org>
59152
59153         * gnulib-tool (func_get_automake_snippet): Append an automatically
59154         computed EXTRA_DIST augmentation.
59155         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
59156         * modules/alloca-opt (Makefile.am): Likewise.
59157         * modules/allocsa (Makefile.am): Likewise.
59158         * modules/arcfour (Makefile.am): Likewise.
59159         * modules/arctwo (Makefile.am): Likewise.
59160         * modules/argmatch (Makefile.am): Likewise.
59161         * modules/argz (Makefile.am): Likewise.
59162         * modules/atexit (Makefile.am): Likewise.
59163         * modules/backupfile (Makefile.am): Likewise.
59164         * modules/byteswap (Makefile.am): Likewise.
59165         * modules/c-strtod (Makefile.am): Likewise.
59166         * modules/c-strtold (Makefile.am): Likewise.
59167         * modules/calloc (Makefile.am): Likewise.
59168         * modules/canon-host (Makefile.am): Likewise.
59169         * modules/canonicalize (Makefile.am): Likewise.
59170         * modules/chdir-long (Makefile.am): Likewise.
59171         * modules/chdir-safer (Makefile.am): Likewise.
59172         * modules/check-version (Makefile.am): Likewise.
59173         * modules/chown (Makefile.am): Likewise.
59174         * modules/cloexec (Makefile.am): Likewise.
59175         * modules/close-stream (Makefile.am): Likewise.
59176         * modules/closeout (Makefile.am): Likewise.
59177         * modules/crc (Makefile.am): Likewise.
59178         * modules/csharpexec (Makefile.am): Likewise.
59179         * modules/cycle-check (Makefile.am): Likewise.
59180         * modules/des (Makefile.am): Likewise.
59181         * modules/dev-ino (Makefile.am): Likewise.
59182         * modules/dirfd (Makefile.am): Likewise.
59183         * modules/dirname (Makefile.am): Likewise.
59184         * modules/dup2 (Makefile.am): Likewise.
59185         * modules/eealloc (Makefile.am): Likewise.
59186         * modules/error (Makefile.am): Likewise.
59187         * modules/euidaccess (Makefile.am): Likewise.
59188         * modules/exclude (Makefile.am): Likewise.
59189         * modules/exitfail (Makefile.am): Likewise.
59190         * modules/fcntl-safer (Makefile.am): Likewise.
59191         * modules/fcntl (Makefile.am): Likewise.
59192         * modules/file-type (Makefile.am): Likewise.
59193         * modules/fileblocks (Makefile.am): Likewise.
59194         * modules/filemode (Makefile.am): Likewise.
59195         * modules/filenamecat (Makefile.am): Likewise.
59196         * modules/fnmatch (Makefile.am): Likewise.
59197         * modules/fopen-safer (Makefile.am): Likewise.
59198         * modules/fpending (Makefile.am): Likewise.
59199         * modules/fprintftime (Makefile.am): Likewise.
59200         * modules/free (Makefile.am): Likewise.
59201         * modules/fsusage (Makefile.am): Likewise.
59202         * modules/ftruncate (Makefile.am): Likewise.
59203         * modules/fts (Makefile.am): Likewise.
59204         * modules/gc-arcfour (Makefile.am): Likewise.
59205         * modules/gc-des (Makefile.am): Likewise.
59206         * modules/gc-hmac-md5 (Makefile.am): Likewise.
59207         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
59208         * modules/gc-md4 (Makefile.am): Likewise.
59209         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
59210         * modules/gc-sha1 (Makefile.am): Likewise.
59211         * modules/gc (Makefile.am): Likewise.
59212         * modules/getaddrinfo (Makefile.am): Likewise.
59213         * modules/getcwd (Makefile.am): Likewise.
59214         * modules/getdelim (Makefile.am): Likewise.
59215         * modules/getdomainname (Makefile.am): Likewise.
59216         * modules/getgroups (Makefile.am): Likewise.
59217         * modules/gethostname (Makefile.am): Likewise.
59218         * modules/gethrxtime (Makefile.am): Likewise.
59219         * modules/getline (Makefile.am): Likewise.
59220         * modules/getloadavg (Makefile.am): Likewise.
59221         * modules/getlogin_r (Makefile.am): Likewise.
59222         * modules/getndelim2 (Makefile.am): Likewise.
59223         * modules/getopt (Makefile.am): Likewise.
59224         * modules/getpagesize (Makefile.am): Likewise.
59225         * modules/getpass-gnu (Makefile.am): Likewise.
59226         * modules/getpass (Makefile.am): Likewise.
59227         * modules/getsubopt (Makefile.am): Likewise.
59228         * modules/gettime (Makefile.am): Likewise.
59229         * modules/gettimeofday (Makefile.am): Likewise.
59230         * modules/getugroups (Makefile.am): Likewise.
59231         * modules/getusershell (Makefile.am): Likewise.
59232         * modules/glob (Makefile.am): Likewise.
59233         * modules/group-member (Makefile.am): Likewise.
59234         * modules/hard-locale (Makefile.am): Likewise.
59235         * modules/hash (Makefile.am): Likewise.
59236         * modules/hmac-md5 (Makefile.am): Likewise.
59237         * modules/hmac-sha1 (Makefile.am): Likewise.
59238         * modules/human (Makefile.am): Likewise.
59239         * modules/idcache (Makefile.am): Likewise.
59240         * modules/imaxabs (Makefile.am): Likewise.
59241         * modules/imaxdiv (Makefile.am): Likewise.
59242         * modules/inet_ntop (Makefile.am): Likewise.
59243         * modules/inet_pton (Makefile.am): Likewise.
59244         * modules/intprops (Makefile.am): Likewise.
59245         * modules/inttostr (Makefile.am): Likewise.
59246         * modules/inttypes (Makefile.am): Likewise.
59247         * modules/isapipe (Makefile.am): Likewise.
59248         * modules/javaversion (Makefile.am): Likewise.
59249         * modules/lchmod (Makefile.am): Likewise.
59250         * modules/lchown (Makefile.am): Likewise.
59251         * modules/localcharset (Makefile.am): Likewise.
59252         * modules/long-options (Makefile.am): Likewise.
59253         * modules/lstat (Makefile.am): Likewise.
59254         * modules/malloc (Makefile.am): Likewise.
59255         * modules/mathl (Makefile.am): Likewise.
59256         * modules/mbchar (Makefile.am): Likewise.
59257         * modules/md2 (Makefile.am): Likewise.
59258         * modules/md4 (Makefile.am): Likewise.
59259         * modules/md5 (Makefile.am): Likewise.
59260         * modules/memcasecmp (Makefile.am): Likewise.
59261         * modules/memchr (Makefile.am): Likewise.
59262         * modules/memcmp (Makefile.am): Likewise.
59263         * modules/memcoll (Makefile.am): Likewise.
59264         * modules/memcpy (Makefile.am): Likewise.
59265         * modules/memmem (Makefile.am): Likewise.
59266         * modules/memmove (Makefile.am): Likewise.
59267         * modules/mempcpy (Makefile.am): Likewise.
59268         * modules/memrchr (Makefile.am): Likewise.
59269         * modules/memset (Makefile.am): Likewise.
59270         * modules/memxor (Makefile.am): Likewise.
59271         * modules/mkancesdirs (Makefile.am): Likewise.
59272         * modules/mkdir-p (Makefile.am): Likewise.
59273         * modules/mkdir (Makefile.am): Likewise.
59274         * modules/mkdtemp (Makefile.am): Likewise.
59275         * modules/mkstemp (Makefile.am): Likewise.
59276         * modules/mktime (Makefile.am): Likewise.
59277         * modules/modechange (Makefile.am): Likewise.
59278         * modules/mountlist (Makefile.am): Likewise.
59279         * modules/nanosleep (Makefile.am): Likewise.
59280         * modules/obstack (Makefile.am): Likewise.
59281         * modules/openat (Makefile.am): Likewise.
59282         * modules/pagealign_alloc (Makefile.am): Likewise.
59283         * modules/pathmax (Makefile.am): Likewise.
59284         * modules/physmem (Makefile.am): Likewise.
59285         * modules/poll (Makefile.am): Likewise.
59286         * modules/posixtm (Makefile.am): Likewise.
59287         * modules/posixver (Makefile.am): Likewise.
59288         * modules/putenv (Makefile.am): Likewise.
59289         * modules/quote (Makefile.am): Likewise.
59290         * modules/quotearg (Makefile.am): Likewise.
59291         * modules/raise (Makefile.am): Likewise.
59292         * modules/read-file (Makefile.am): Likewise.
59293         * modules/readline (Makefile.am): Likewise.
59294         * modules/readlink (Makefile.am): Likewise.
59295         * modules/readtokens (Makefile.am): Likewise.
59296         * modules/readutmp (Makefile.am): Likewise.
59297         * modules/realloc (Makefile.am): Likewise.
59298         * modules/regex (Makefile.am): Likewise.
59299         * modules/rename-dest-slash (Makefile.am): Likewise.
59300         * modules/rename (Makefile.am): Likewise.
59301         * modules/rijndael (Makefile.am): Likewise.
59302         * modules/rmdir (Makefile.am): Likewise.
59303         * modules/rpmatch (Makefile.am): Likewise.
59304         * modules/safe-read (Makefile.am): Likewise.
59305         * modules/safe-write (Makefile.am): Likewise.
59306         * modules/same-inode (Makefile.am): Likewise.
59307         * modules/same (Makefile.am): Likewise.
59308         * modules/save-cwd (Makefile.am): Likewise.
59309         * modules/savedir (Makefile.am): Likewise.
59310         * modules/setenv (Makefile.am): Likewise.
59311         * modules/settime (Makefile.am): Likewise.
59312         * modules/sha1 (Makefile.am): Likewise.
59313         * modules/sig2str (Makefile.am): Likewise.
59314         * modules/snprintf (Makefile.am): Likewise.
59315         * modules/stat-macros (Makefile.am): Likewise.
59316         * modules/stat-time (Makefile.am): Likewise.
59317         * modules/stdbool (Makefile.am): Likewise.
59318         * modules/stdint (Makefile.am): Likewise.
59319         * modules/stdlib-safer (Makefile.am): Likewise.
59320         * modules/stpcpy (Makefile.am): Likewise.
59321         * modules/stpncpy (Makefile.am): Likewise.
59322         * modules/strcase (Makefile.am): Likewise.
59323         * modules/strcasestr (Makefile.am): Likewise.
59324         * modules/strchrnul (Makefile.am): Likewise.
59325         * modules/strcspn (Makefile.am): Likewise.
59326         * modules/strdup (Makefile.am): Likewise.
59327         * modules/strerror (Makefile.am): Likewise.
59328         * modules/strftime (Makefile.am): Likewise.
59329         * modules/strndup (Makefile.am): Likewise.
59330         * modules/strnlen (Makefile.am): Likewise.
59331         * modules/strpbrk (Makefile.am): Likewise.
59332         * modules/strsep (Makefile.am): Likewise.
59333         * modules/strstr (Makefile.am): Likewise.
59334         * modules/strtod (Makefile.am): Likewise.
59335         * modules/strtoimax (Makefile.am): Likewise.
59336         * modules/strtok_r (Makefile.am): Likewise.
59337         * modules/strtol (Makefile.am): Likewise.
59338         * modules/strtoll (Makefile.am): Likewise.
59339         * modules/strtoul (Makefile.am): Likewise.
59340         * modules/strtoull (Makefile.am): Likewise.
59341         * modules/strtoumax (Makefile.am): Likewise.
59342         * modules/strverscmp (Makefile.am): Likewise.
59343         * modules/sys_socket (Makefile.am): Likewise.
59344         * modules/sys_stat (Makefile.am): Likewise.
59345         * modules/sysexits (Makefile.am): Likewise.
59346         * modules/time_r (Makefile.am): Likewise.
59347         * modules/timegm (Makefile.am): Likewise.
59348         * modules/timespec (Makefile.am): Likewise.
59349         * modules/tmpfile-safer (Makefile.am): Likewise.
59350         * modules/trim (Makefile.am): Likewise.
59351         * modules/unistd-safer (Makefile.am): Likewise.
59352         * modules/unlinkdir (Makefile.am): Likewise.
59353         * modules/unlocked-io (Makefile.am): Likewise.
59354         * modules/userspec (Makefile.am): Likewise.
59355         * modules/utime (Makefile.am): Likewise.
59356         * modules/utimecmp (Makefile.am): Likewise.
59357         * modules/utimens (Makefile.am): Likewise.
59358         * modules/vasnprintf (Makefile.am): Likewise.
59359         * modules/vasprintf (Makefile.am): Likewise.
59360         * modules/vsnprintf (Makefile.am): Likewise.
59361         * modules/xalloc (Makefile.am): Likewise.
59362         * modules/xgetcwd (Makefile.am): Likewise.
59363         * modules/xnanosleep (Makefile.am): Likewise.
59364         * modules/xreadlink (Makefile.am): Likewise.
59365         * modules/xstrtod (Makefile.am): Likewise.
59366         * modules/xstrtol (Makefile.am): Likewise.
59367         * modules/xstrtold (Makefile.am): Likewise.
59368         * modules/yesno (Makefile.am): Likewise.
59369         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
59370
59371 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59372
59373         * modules/error (Makefile.am): Distribute files through
59374         EXTRA_DIST, not lib_SOURCES.
59375
59376 2006-10-12  Eric Blake  <ebb9@byu.net>
59377
59378         * modules/error (Makefile.am): Distribute files in /lib.
59379         * modules/obstack (Makefile.am): Likewise.
59380
59381 2006-10-12  Bruno Haible  <bruno@clisp.org>
59382
59383         * modules/acl (Makefile.am): Distribute all files in lib/ through
59384         EXTRA_DIST.
59385         * modules/arcfour (Makefile.am): Likewise.
59386         * modules/arctwo (Makefile.am): Likewise.
59387         * modules/argmatch (Makefile.am): Likewise.
59388         * modules/argz (Makefile.am): Likewise.
59389         * modules/atexit (Makefile.am): Likewise.
59390         * modules/backupfile (Makefile.am): Likewise.
59391         * modules/c-strtod (Makefile.am): Likewise.
59392         * modules/c-strtold (Makefile.am): Likewise.
59393         * modules/calloc (Makefile.am): Likewise.
59394         * modules/canon-host (Makefile.am): Likewise.
59395         * modules/canonicalize (Makefile.am): Likewise.
59396         * modules/chdir-long (Makefile.am): Likewise.
59397         * modules/chdir-safer (Makefile.am): Likewise.
59398         * modules/check-version (Makefile.am): Likewise.
59399         * modules/chown (Makefile.am): Likewise.
59400         * modules/cloexec (Makefile.am): Likewise.
59401         * modules/close-stream (Makefile.am): Likewise.
59402         * modules/closeout (Makefile.am): Likewise.
59403         * modules/crc (Makefile.am): Likewise.
59404         * modules/cycle-check (Makefile.am): Likewise.
59405         * modules/des (Makefile.am): Likewise.
59406         * modules/dirfd (Makefile.am): Likewise.
59407         * modules/dirname (Makefile.am): Likewise.
59408         * modules/dup2 (Makefile.am): Likewise.
59409         * modules/euidaccess (Makefile.am): Likewise.
59410         * modules/exclude (Makefile.am): Likewise.
59411         * modules/exitfail (Makefile.am): Likewise.
59412         * modules/fcntl-safer (Makefile.am): Likewise.
59413         * modules/file-type (Makefile.am): Likewise.
59414         * modules/fileblocks (Makefile.am): Likewise.
59415         * modules/filemode (Makefile.am): Likewise.
59416         * modules/filenamecat (Makefile.am): Likewise.
59417         * modules/fnmatch (Makefile.am): Likewise.
59418         * modules/fopen-safer (Makefile.am): Likewise.
59419         * modules/fpending (Makefile.am): Likewise.
59420         * modules/fprintftime (Makefile.am): Likewise.
59421         * modules/free (Makefile.am): Likewise.
59422         * modules/fsusage (Makefile.am): Likewise.
59423         * modules/ftruncate (Makefile.am): Likewise.
59424         * modules/fts (Makefile.am): Likewise.
59425         * modules/gc (Makefile.am): Likewise.
59426         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
59427         * modules/getaddrinfo (Makefile.am): Likewise.
59428         * modules/getcwd (Makefile.am): Likewise.
59429         * modules/getdelim (Makefile.am): Likewise.
59430         * modules/getdomainname (Makefile.am): Likewise.
59431         * modules/getgroups (Makefile.am): Likewise.
59432         * modules/gethostname (Makefile.am): Likewise.
59433         * modules/gethrxtime (Makefile.am): Likewise.
59434         * modules/getline (Makefile.am): Likewise.
59435         * modules/getloadavg (Makefile.am): Likewise.
59436         * modules/getlogin_r (Makefile.am): Likewise.
59437         * modules/getopt (Makefile.am): Likewise.
59438         * modules/getpass (Makefile.am): Likewise.
59439         * modules/getpass-gnu (Makefile.am): Likewise.
59440         * modules/getsubopt (Makefile.am): Likewise.
59441         * modules/gettime (Makefile.am): Likewise.
59442         * modules/gettimeofday (Makefile.am): Likewise.
59443         * modules/getugroups (Makefile.am): Likewise.
59444         * modules/getusershell (Makefile.am): Likewise.
59445         * modules/glob (Makefile.am): Likewise.
59446         * modules/group-member (Makefile.am): Likewise.
59447         * modules/hard-locale (Makefile.am): Likewise.
59448         * modules/hash (Makefile.am): Likewise.
59449         * modules/hmac-md5 (Makefile.am): Likewise.
59450         * modules/hmac-sha1 (Makefile.am): Likewise.
59451         * modules/human (Makefile.am): Likewise.
59452         * modules/idcache (Makefile.am): Likewise.
59453         * modules/imaxabs (Makefile.am): Likewise.
59454         * modules/imaxdiv (Makefile.am): Likewise.
59455         * modules/inet_ntop (Makefile.am): Likewise.
59456         * modules/inet_pton (Makefile.am): Likewise.
59457         * modules/inttostr (Makefile.am): Likewise.
59458         * modules/isapipe (Makefile.am): Likewise.
59459         * modules/lchown (Makefile.am): Likewise.
59460         * modules/long-options (Makefile.am): Likewise.
59461         * modules/lstat (Makefile.am): Likewise.
59462         * modules/malloc (Makefile.am): Likewise.
59463         * modules/mathl (Makefile.am): Likewise.
59464         * modules/mbchar (Makefile.am): Likewise.
59465         * modules/md2 (Makefile.am): Likewise.
59466         * modules/md4 (Makefile.am): Likewise.
59467         * modules/md5 (Makefile.am): Likewise.
59468         * modules/memcasecmp (Makefile.am): Likewise.
59469         * modules/memchr (Makefile.am): Likewise.
59470         * modules/memcmp (Makefile.am): Likewise.
59471         * modules/memcoll (Makefile.am): Likewise.
59472         * modules/memcpy (Makefile.am): Likewise.
59473         * modules/memmem (Makefile.am): Likewise.
59474         * modules/memmove (Makefile.am): Likewise.
59475         * modules/mempcpy (Makefile.am): Likewise.
59476         * modules/memrchr (Makefile.am): Likewise.
59477         * modules/memset (Makefile.am): Likewise.
59478         * modules/memxor (Makefile.am): Likewise.
59479         * modules/mkancesdirs (Makefile.am): Likewise.
59480         * modules/mkdir (Makefile.am): Likewise.
59481         * modules/mkdir-p (Makefile.am): Likewise.
59482         * modules/mkdtemp (Makefile.am): Likewise.
59483         * modules/mkstemp (Makefile.am): Likewise.
59484         * modules/mktime (Makefile.am): Likewise.
59485         * modules/modechange (Makefile.am): Likewise.
59486         * modules/mountlist (Makefile.am): Likewise.
59487         * modules/nanosleep (Makefile.am): Likewise.
59488         * modules/openat (Makefile.am): Likewise.
59489         * modules/pagealign_alloc (Makefile.am): Likewise.
59490         * modules/physmem (Makefile.am): Likewise.
59491         * modules/poll (Makefile.am): Likewise.
59492         * modules/posixtm (Makefile.am): Likewise.
59493         * modules/posixver (Makefile.am): Likewise.
59494         * modules/putenv (Makefile.am): Likewise.
59495         * modules/quote (Makefile.am): Likewise.
59496         * modules/quotearg (Makefile.am): Likewise.
59497         * modules/raise (Makefile.am): Likewise.
59498         * modules/read-file (Makefile.am): Likewise.
59499         * modules/readline (Makefile.am): Likewise.
59500         * modules/readlink (Makefile.am): Likewise.
59501         * modules/readtokens (Makefile.am): Likewise.
59502         * modules/readutmp (Makefile.am): Likewise.
59503         * modules/realloc (Makefile.am): Likewise.
59504         * modules/regex (Makefile.am): Likewise.
59505         * modules/rename (Makefile.am): Likewise.
59506         * modules/rename-dest-slash (Makefile.am): Likewise.
59507         * modules/rijndael (Makefile.am): Likewise.
59508         * modules/rmdir (Makefile.am): Likewise.
59509         * modules/rpmatch (Makefile.am): Likewise.
59510         * modules/safe-read (Makefile.am): Likewise.
59511         * modules/safe-write (Makefile.am): Likewise.
59512         * modules/same (Makefile.am): Likewise.
59513         * modules/save-cwd (Makefile.am): Likewise.
59514         * modules/savedir (Makefile.am): Likewise.
59515         * modules/setenv (Makefile.am): Likewise.
59516         * modules/settime (Makefile.am): Likewise.
59517         * modules/sha1 (Makefile.am): Likewise.
59518         * modules/sig2str (Makefile.am): Likewise.
59519         * modules/snprintf (Makefile.am): Likewise.
59520         * modules/stdlib-safer (Makefile.am): Likewise.
59521         * modules/stpcpy (Makefile.am): Likewise.
59522         * modules/stpncpy (Makefile.am): Likewise.
59523         * modules/strcase (Makefile.am): Likewise.
59524         * modules/strcasestr (Makefile.am): Likewise.
59525         * modules/strchrnul (Makefile.am): Likewise.
59526         * modules/strcspn (Makefile.am): Likewise.
59527         * modules/strdup (Makefile.am): Likewise.
59528         * modules/strerror (Makefile.am): Likewise.
59529         * modules/strftime (Makefile.am): Likewise.
59530         * modules/strndup (Makefile.am): Likewise.
59531         * modules/strnlen (Makefile.am): Likewise.
59532         * modules/strpbrk (Makefile.am): Likewise.
59533         * modules/strsep (Makefile.am): Likewise.
59534         * modules/strstr (Makefile.am): Likewise.
59535         * modules/strtod (Makefile.am): Likewise.
59536         * modules/strtoimax (Makefile.am): Likewise.
59537         * modules/strtok_r (Makefile.am): Likewise.
59538         * modules/strtol (Makefile.am): Likewise.
59539         * modules/strtoll (Makefile.am): Likewise.
59540         * modules/strtoul (Makefile.am): Likewise.
59541         * modules/strtoull (Makefile.am): Likewise.
59542         * modules/strtoumax (Makefile.am): Likewise.
59543         * modules/strverscmp (Makefile.am): Likewise.
59544         * modules/time_r (Makefile.am): Likewise.
59545         * modules/timegm (Makefile.am): Likewise.
59546         * modules/tmpfile-safer (Makefile.am): Likewise.
59547         * modules/unistd-safer (Makefile.am): Likewise.
59548         * modules/unlinkdir (Makefile.am): Likewise.
59549         * modules/userspec (Makefile.am): Likewise.
59550         * modules/utime (Makefile.am): Likewise.
59551         * modules/utimecmp (Makefile.am): Likewise.
59552         * modules/utimens (Makefile.am): Likewise.
59553         * modules/vasnprintf (Makefile.am): Likewise.
59554         * modules/vasprintf (Makefile.am): Likewise.
59555         * modules/vsnprintf (Makefile.am): Likewise.
59556         * modules/xalloc (Makefile.am): Likewise.
59557         * modules/xgetcwd (Makefile.am): Likewise.
59558         * modules/xnanosleep (Makefile.am): Likewise.
59559         * modules/xreadlink (Makefile.am): Likewise.
59560         * modules/xstrtod (Makefile.am): Likewise.
59561         * modules/xstrtol (Makefile.am): Likewise.
59562         * modules/xstrtold (Makefile.am): Likewise.
59563         * modules/yesno (Makefile.am): Likewise.
59564
59565 2006-10-12  Jim Meyering  <jim@meyering.net>
59566
59567         * m4/getloadavg.m4: Revert the change below.
59568
59569         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
59570         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
59571         fail with a symlink, which is what coreutils' ./bootstrap now
59572         creates by default.
59573
59574 2006-10-12  Bruno Haible  <bruno@clisp.org>
59575
59576         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
59577         mingw.
59578         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
59579         MSVC and mingw explicitly.
59580
59581 2006-10-11  Simon Josefsson  <jas@extundo.com>
59582             Bruno Haible  <bruno@clisp.org>
59583
59584         Add support for multiple gnulib-tool invocations in the scope of a
59585         single configure.ac file.
59586         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
59587         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
59588         with the same contents as the _LIBADD variable.
59589         (func_emit_initmacro_start, func_emit_initmacro_end,
59590         func_emit_initmacro_done): New functions.
59591         (func_import, func_create_testdir): Invoke them. Allow the identifiers
59592         gl_LIBOBJS and gl_LTLIBOBJS.
59593
59594 2006-10-11  Bruno Haible  <bruno@clisp.org>
59595
59596         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
59597         (func_create_testdir): Don't create po/Makefile.am, don't invoke
59598         autoreconf. Instead, invoke autopoint explicitly but move back the
59599         *.m4 files from gnulib.
59600
59601 2006-10-11  Bruno Haible  <bruno@clisp.org>
59602
59603         * gnulib-tool (func_usage): Make module names after --create-testdir
59604         optional.
59605         (func_create_testdir): If no module was specified, use nearly all
59606         modules.
59607
59608 2006-10-12  Jim Meyering  <jim@meyering.net>
59609
59610         Big performance improvement for fts-based tools that use FTS_NOSTAT.
59611         Avoid spurious inode-mismatch problems on non-POSIX file systems.
59612         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
59613         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
59614         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
59615         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
59616         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
59617         (fts_set_stat_required): New function.
59618         (fts_open): Defer the calls to fts_stat, if possible or requested.
59619         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
59620         into fts_stat itself.
59621         (fts_read): Perform any required (deferred) fts_stat call.
59622         (fts_build): Likewise, for the directory we're about to open and read.
59623         In the readdir loop, carefully decide whether each entry will require
59624         an eventual call to fts_stat, using dirent.d_type info if available.
59625         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
59626         a command line argument into this function.  Update all callers.
59627         Map a return value of FTS_DOT to FTS_D for a command line argument.
59628         * modules/fts (Depends-on): Add d-type.  Alphabetize.
59629         Thanks to Miklos Szeredi for his tenacity and for the initial
59630         bug report about "find" failing on a FUSE-based file system.
59631
59632         * lib/fts.c (fts_open): Use consistent indentation.
59633
59634 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59635
59636         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
59637         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
59638         reported by Jim Meyering.  All uses of cache variables renamed
59639         to match Autoconf's.
59640         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
59641         the other one.
59642
59643         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
59644         Fix misspelling in diagnostic.
59645
59646 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59647
59648         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
59649         defined.  Problem reported by Matthew Woehlke.
59650
59651         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
59652         Add support for Tandem NonStop R series.
59653         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
59654         Use new macro.
59655
59656         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
59657         (has_trailing_slash): Omit size arg; all callers changed.
59658         Omit 'inline', since it doesn't help performance and we'd
59659         need to configure it.
59660         Don't count //, ///, etc. as having a trailing slash.
59661         As a side effect, this removes a C99ism reported by Matthew Woehlke.
59662         (rpl_rename_dest_slash): On failure, use rename's errno rather
59663         than (in some cases) an incorrect or junk errno.
59664         Simplify code by removing need to compute length; this does
59665         cause it to make two passes instead of one over the file name,
59666         but it's worth it.
59667
59668         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
59669         change, since Autoconf's version may no longer be appropriate now
59670         that we are using CVS Autoconf's version.  Add support for Tandem.
59671
59672 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59673             Bruno Haible  <bruno@clisp.org>
59674
59675         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
59676         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
59677         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
59678         gl_AC_TYPE_LONG_LONG.
59679
59680         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
59681         instead of HAVE_LONG_LONG.
59682         * lib/printf-args.c (printf_fetchargs): Likewise.
59683         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
59684         * lib/vasnprintf.c (VASNPRINTF): Likewise.
59685         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
59686         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
59687         gl_AC_TYPE_LONG_LONG.
59688
59689 2006-10-11  Bruno Haible  <bruno@clisp.org>
59690
59691         * m4/longlong.m4: Add comments.
59692         * m4/ulonglong.m4: Likewise.
59693
59694 2006-10-10  Bruno Haible  <bruno@clisp.org>
59695
59696         Make it possible to #define stpcpy, strdup to aliases.
59697         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
59698         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
59699
59700 2006-10-10  Bruno Haible  <bruno@clisp.org>
59701
59702         Make it possible to #define gcd to an alias.
59703         * lib/gcd.c: Include config.h.
59704
59705 2006-10-10  Bruno Haible  <bruno@clisp.org>
59706
59707         Make it possible to #define c_isascii to an alias.
59708         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
59709         defined. Undefine the macros before defining them, to avoid gcc
59710         warnings.
59711         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
59712         define NO_C_CTYPE_MACROS early.
59713
59714 2006-10-10  Bruno Haible  <bruno@clisp.org>
59715
59716         Make it possible to #define set_program_name to an alias.
59717         * lib/progname.c: Don't undefine set_program_name; instead, undefine
59718         ENABLE_RELOCATABLE early.
59719
59720 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
59721
59722         Port to Tandem NSK OSS, which has 64-bit signed int but at most
59723         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
59724         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
59725         More generally, don't assume that 64-bit signed int is available
59726         if unsigned int is, and vice versa.
59727         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
59728         unsigned symbols, not on their signed counterparts.
59729         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
59730         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
59731         (UINT64_C, UINTMAX_C):
59732         Likewise.
59733         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
59734         unsigned counterparts.
59735         (Have_long_long, Unsigned): New macros.
59736         (Int): Renamed from INT.
59737         (strtoimax): Use the new macros.
59738         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
59739         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
59740         * modules/inttypes (inttypes.h): Substitute
59741         HAVE_UNSIGNED_LONG_LONG_INT.
59742         * modules/stdint (stdint.h): Likewise.
59743         (Files): Add m4/ulonglong.m4.
59744
59745 2006-10-10  Bruno Haible  <bruno@clisp.org>
59746
59747         Fix a gcc -Wshadow warning.
59748         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
59749         to 'bucket'.
59750         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
59751         gl_linked_indexof_from_to): Likewise.
59752         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
59753         Likewise.
59754         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
59755         Likewise.
59756         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
59757         Reported by Eric Blake.
59758
59759 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
59760
59761         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
59762         for NetBSD.  Problem reported by Bruno Haible.
59763
59764 2006-10-09  Jim Meyering  <jim@meyering.net>
59765
59766         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
59767         Patch from Bruno Haible.
59768
59769 2006-10-09  Jim Meyering  <jim@meyering.net>
59770
59771         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
59772         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
59773         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
59774
59775 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59776
59777         Don't include <config.h> twice; this doesn't work in some cases,
59778         e.g., when config.h has "#define intmax_t long long int" and
59779         we include <config.h>, <inttypes.h>, <config.h> in that order.
59780         Problem reported by Matthew Woehlke in:
59781         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
59782         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
59783         * lib/fts-cycle.c: Don't include config.h.
59784         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
59785         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
59786         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
59787         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
59788         inttypes.h.
59789         * lib/xstrtoumax.c: Likewise.
59790         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
59791         __strtol and the like, so that this module is more like its siblings.
59792         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
59793         Remove; no longer needed now that we assume gnulib inttypes.h.
59794
59795 2006-10-08  Bruno Haible  <bruno@clisp.org>
59796
59797         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
59798         option.
59799
59800 2006-10-07  Jim Meyering  <jim@meyering.net>
59801
59802         * modules/inttypes (inttypes.h): Revert what seems to have been
59803         an inadvertent part of today's change: use "|", not "/" in the
59804         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
59805
59806 2006-10-07  Bruno Haible  <bruno@clisp.org>
59807
59808         * modules/sublist: New file.
59809
59810 2006-10-07  Bruno Haible  <bruno@clisp.org>
59811
59812         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
59813         * modules/argz (argz.h): Likewise.
59814         * modules/arpa_inet (arpa/inet.h): Likewise.
59815         * modules/byteswap (byteswap.h): Likewise.
59816         * modules/configmake (configmake.h): Likewise.
59817         * modules/fcntl (fcntl.h): Likewise.
59818         * modules/fnmatch (fnmatch.h): Likewise.
59819         * modules/getopt (getopt.h): Likewise.
59820         * modules/glob (glob.h): Likewise.
59821         * modules/inttypes (inttypes.h): Likewise.
59822         * modules/netinet_in (netinet/in.h): Likewise.
59823         * modules/poll (poll.h): Likewise.
59824         * modules/stdbool (stdbool.h): Likewise.
59825         * modules/stdint (stdint.h): Likewise.
59826         * modules/sys_select (sys/select.h): Likewise.
59827         * modules/sys_socket (sys/socket.h): Likewise.
59828         * modules/sys_stat (sys/stat.h): Likewise.
59829         * modules/sysexits (sysexits.h): Likewise.
59830         * modules/unistd (unistd.h): Likewise.
59831         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59832         Add a "DO NOT EDIT" comment to the generated file.
59833         (func_import): Likewise for gnulib-comp.m4.
59834
59835 2006-10-07  Bruno Haible  <bruno@clisp.org>
59836
59837         * lib/gl_sublist.h: New file.
59838         * lib/gl_sublist.c: New file.
59839
59840 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
59841
59842         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
59843         name (relative to the original working directory) and the file
59844         name component (relative to the temporary working directory).  All
59845         callers changed.
59846         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
59847         * lib/mkdir-p.c (make_dir_parents): Likewise.
59848         * lib/mkdir-p.h (make_dir_parents): Likewise.
59849
59850 2006-10-06  Eric Blake  <ebb9@byu.net>
59851
59852         Define several macros for use by the clean-temp module.
59853         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
59854         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
59855         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
59856
59857         * lib/clean-temp.h (close_stream_temp): New declaration.
59858         * lib/clean-temp.c (includes): Pull in headers according to what
59859         other modules are in use.
59860         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
59861
59862 2006-10-06  Bruno Haible  <bruno@clisp.org>
59863
59864         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
59865         instead of fopen, fwriteerror.
59866
59867 2006-10-06  Bruno Haible  <bruno@clisp.org>
59868
59869         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
59870         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
59871         int.
59872         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
59873         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
59874         Return an error indicator.
59875         Suggested by Eric Blake.
59876
59877 2006-10-06  Bruno Haible  <bruno@clisp.org>
59878
59879         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
59880         Reported by Eric Blake.
59881
59882 2006-10-06  Bruno Haible  <bruno@clisp.org>
59883
59884         * modules/closeout (Description): Mention stderr too.
59885
59886 2006-10-06  Bruno Haible  <bruno@clisp.org>
59887         and Paul Eggert  <eggert@cs.ucla.edu>
59888
59889         * lib/closeout.c (close_stdout): Also close stderr.
59890         * lib/closeout.h: Update comment.
59891
59892 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
59893
59894         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
59895         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
59896         * lib/dirchownmod.c: Include lchown.h.
59897         * lib/lchown.c: Don't include files that lchown.h now includes.
59898         Don't declare chown, since lchown.h now does that.
59899         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
59900         (lchown): Define to rpl_chown if lchown is declared but
59901         does not exist.  Declare using a prototype if lchown is not
59902         declared.  Add a copyright notice.
59903         * lib/mkstemp.h: Include <unistd.h>.
59904         * lib/openat.c: Include lchown.h.
59905
59906         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
59907         we now test for that separately.
59908         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
59909         rather than O_NOFOLLOW, when testing whether it's possible to
59910         avoid a race condition reliably.
59911         * lib/savewd.c (savewd_chdir): Likewise.
59912
59913         Remove macros that are no longer needed now that stdint.h is
59914         reliable.
59915         * lib/fsusage.c (UINTMAX_MAX): Remove.
59916         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
59917         * lib/utimecmp.c (SIZE_MAX): Remove.
59918
59919         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
59920
59921         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
59922         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
59923         O_NOATIME works.
59924
59925 2006-10-05  Bruno Haible  <bruno@clisp.org>
59926
59927         * lib/gl_list.h (gl_sortedlist_search_from_to,
59928         gl_sortedlist_indexof_from_to): New declarations.
59929         (gl_list_implementation): New fields sortedlist_search_from_to,
59930         sortedlist_indexof_from_to.
59931         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
59932         inline functions.
59933         * lib/gl_list.c (gl_sortedlist_search_from_to,
59934         gl_sortedlist_indexof_from_to): New functions.
59935         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
59936         function.
59937         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
59938         (gl_array_sortedlist_search_from_to): New function.
59939         (gl_array_list_implementation): Update.
59940         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
59941         function.
59942         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
59943         (gl_carray_sortedlist_search_from_to): New function.
59944         (gl_carray_list_implementation): Update.
59945         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
59946         gl_linked_sortedlist_indexof_from_to): New functions.
59947         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59948         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59949         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
59950         gl_tree_sortedlist_indexof_from_to): New functions.
59951         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59952         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59953         Update.
59954         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59955         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
59956         Update.
59957
59958 2006-10-05  Bruno Haible  <bruno@clisp.org>
59959
59960         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
59961         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
59962         (struct gl_list_implementation): Add fields search_from_to,
59963         indexof_from_to. Remove fields search, indexof.
59964         (gl_list_search): Use the search_from_to method.
59965         (gl_list_search_from, gl_list_search_from_to): New functions.
59966         (gl_list_indexof): Use the indexof_from_to method.
59967         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
59968         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
59969         (gl_list_search_from, gl_list_search_from_to): New functions.
59970         (gl_list_indexof): Use the indexof_from_to method.
59971         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
59972         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
59973         gl_array_indexof. Add start_index, end_index arguments.
59974         (gl_array_search_from_to): Renamed from gl_array_search. Add
59975         start_index, end_index arguments.
59976         (gl_array_remove, gl_array_list_implementation): Update.
59977         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
59978         gl_carray_indexof. Add start_index, end_index arguments.
59979         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
59980         start_index, end_index arguments.
59981         (gl_carray_remove, gl_carray_list_implementation): Update.
59982         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
59983         gl_linked_search. Add start_index, end_index arguments.
59984         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
59985         start_index, end_index arguments.
59986         (gl_linked_remove): Update.
59987         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59988         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59989         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
59990         field to 'size_t'.
59991         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
59992         gl_tree_search. Add start_index, end_index arguments.
59993         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
59994         start_index, end_index arguments.
59995         (gl_tree_remove): Update.
59996         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59997         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59998         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
59999         function.
60000         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
60001         gl_tree_search. Add start_index, end_index arguments.
60002         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
60003         start_index, end_index arguments.
60004         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
60005         Update.
60006         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
60007
60008 2006-10-05  Bruno Haible  <bruno@clisp.org>
60009
60010         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
60011
60012         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
60013         fwriteerror_temp): New declarations.
60014         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
60015         (descriptors): New variable.
60016         (cleanup): First, close the descriptors.
60017         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
60018         fclose_temp, fwriteerror_temp): New functions.
60019
60020 2006-10-04  Jim Meyering  <jim@meyering.net>
60021
60022         * lib/fts.c (fts_open): Tiny comment change.
60023
60024 2006-10-04  Bruno Haible  <bruno@clisp.org>
60025
60026         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
60027         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
60028         gl_LOCK_BODY.
60029         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
60030         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
60031         gl_LOCK_EARLY_BODY.
60032         (gl_LOCK): Require gl_LOCK_BODY.
60033
60034 2006-10-04  Bruno Haible  <bruno@clisp.org>
60035
60036         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
60037         (gl_oset_search_atleast): New declaration.
60038         (struct gl_oset_implementation): Add field 'search_atleast'.
60039         (gl_oset_search_atleast): New inline function.
60040         * lib/gl_oset.c (gl_oset_search_atleast): New function.
60041         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
60042         (gl_array_oset_implementation): Update.
60043         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
60044         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
60045         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
60046
60047 2006-10-04  Bruno Haible  <bruno@clisp.org>
60048
60049         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
60050
60051 2006-10-03  Bruno Haible  <bruno@clisp.org>
60052
60053         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
60054         from gl_avltreehash_list_implementation.
60055
60056 2006-10-03  Bruno Haible  <bruno@clisp.org>
60057
60058         * lib/gl_oset.c (gl_oset_add): Fix return type.
60059
60060 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
60061
60062         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
60063
60064 2006-10-02  Eric Blake  <ebb9@byu.net>
60065
60066         * modules/strnlen (Depends-on): Add extensions.
60067
60068 2006-10-02  Eric Blake  <ebb9@byu.net>
60069
60070         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
60071         definition in 2.60+.
60072
60073 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
60074
60075         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
60076         checks.
60077
60078 2006-10-02  Bruno Haible  <bruno@clisp.org>
60079
60080         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
60081         to the AUTOMAKE_OPTIONS.
60082         Reported by Jim Meyering.
60083
60084 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
60085
60086         Work around bug in Solaris 10 /proc file system:
60087         /proc/self/fd/NNN/.. isn't the parent directory of
60088         the directory whose file descriptor is NNN.  This needs to
60089         be worked around at run time, not compile time, since a
60090         program might be built on Solaris 8, where things work, and
60091         run on Solaris 10.
60092         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
60093         to use the following interface instead:
60094         (OPENAT_BUFFER_SIZE): New macro.
60095         (openat_proc_name): New function.
60096         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
60097         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
60098         Likewise.
60099         * lib/openat-proc.c: New file.
60100         * modules/openat (Files): Add lib/openat-proc.c.
60101         (Depends-on): Add same-inode, stdbool.
60102         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
60103
60104 2006-09-29  Bruno Haible  <bruno@clisp.org>
60105
60106         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
60107         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
60108         argument. Set stdout_closed before testing for ferror, not after.
60109         (fwriteerror, fwriteerror_no_ebadf): New functions.
60110
60111 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60112
60113         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
60114
60115 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
60116
60117         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
60118         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
60119
60120 2006-09-28  Jim Meyering  <jim@meyering.net>
60121
60122         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
60123         Include <unistd.h>.
60124
60125 2006-09-28  Bruno Haible  <bruno@clisp.org>
60126
60127         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
60128         * modules/linkedhash-list (Depends-on): Likewise.
60129         * modules/rbtreehash-list (Depends-on): Likewise.
60130
60131 2006-09-28  Bruno Haible  <bruno@clisp.org>
60132
60133         * lib/strndup.h: Simplify the redefinition of strndup.
60134         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
60135         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
60136
60137 2006-09-28  Bruno Haible  <bruno@clisp.org>
60138
60139         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
60140         * lib/gl_linkedhash_list.c: Likewise.
60141         * lib/gl_rbtreehash_list.c: Likewise.
60142
60143 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
60144
60145         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
60146         getaddrinfo.
60147
60148         * lib/__fpending.h: Don't include <stdio_ext.h> unless
60149         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
60150         it causes <stdio_ext.h> to cause a compile-time error.
60151         Problem reported by Nelson H. F. Beebe.
60152         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
60153         of HAVE_DECL___PENDING.
60154
60155         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
60156         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
60157         declaration.
60158
60159 2006-09-27  Jim Meyering  <jim@meyering.net>
60160
60161         This file could end up with a definition for a function
60162         named __strndup, rather than rpl_strndup on a system with
60163         incomplete weak_alias support.
60164         * lib/strndup.c (strndup): Rename from __strndup.
60165         Remove #defines that used to map __strndup to strndup.
60166         Don't use K&R prototypes.
60167         Remove LIBC-related code, since this file is not sync'd with glibc.
60168         * lib/strndup.h: Revamp, accordingly.
60169         * m4/strndup.m4: Modernize.
60170
60171 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
60172
60173         * modules/savewd (Depends-on): Add 'raise'.
60174         * lib/savewd.c: Include <signal.h>, for 'raise'.
60175
60176 2006-09-26  Jim Meyering  <jim@meyering.net>
60177
60178         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
60179         when we detect Darwin 8.7.0's acl_get_file bug.
60180         Rearrange to perform the new (below) run-test while $LIBS
60181         contains any acl-related library.  Set USE_ACL at the end.
60182         (gl_ACL_GET_FILE): New function.
60183
60184 2006-09-26  Eric Blake  <ebb9@byu.net>
60185
60186         * lib/verror.c: Include <config.h> unconditionally.
60187
60188 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
60189
60190         * modules/clock-time (Maintainer): Add self.
60191         * modules/getlogin_r (Depends-on): Add extensions.
60192
60193 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60194
60195         * modules/clock-time: New module.
60196         * modules/nanosleep (Depends-on): Add clock-time.
60197         * modules/gethrxtime (Depends-on): Likewise.
60198         * modules/gettime (Depends-on): Likewise.
60199         * modules/settime (Depends-on): Likewise.
60200
60201         * modules/fts-lgpl: Depend on openat.
60202         * modules/mkancesdirs: Depend on savewd.
60203         * modules/mkdir-p: Likewise.
60204
60205 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60206
60207         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
60208
60209         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
60210         `gl_have_arbitrary_file_name_length_limit' to
60211         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
60212         actually works between configure runs.
60213
60214 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60215             Bruno Haible  <bruno@clisp.org>
60216
60217         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
60218
60219 2006-09-25  Jim Meyering  <jim@meyering.net>
60220
60221         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
60222         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
60223
60224 2006-09-25  Eric Blake  <ebb9@byu.net>
60225
60226         * gnulib-tool (func_import, func_create_testdir): Fix typos in
60227         exec's in 2006-09-18 patch when shuffling fds.
60228
60229 2006-09-25  Bruno Haible  <bruno@clisp.org>
60230
60231         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
60232         Reported by Jim Meyering.
60233
60234 2006-09-24  Jim Meyering  <jim@meyering.net>
60235
60236         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
60237         compare a pointer against a literal "0".  That caused failures with
60238         at least HP-UX's hpcc.
60239
60240 2006-09-22  Simon Josefsson  <jas@extundo.com>
60241
60242         * modules/gc-sha1:
60243         * modules/gc-md4:
60244         * modules/gc-hmac-sha1:
60245         * modules/gc-hmac-md5:
60246         * modules/gc-des:
60247         * modules/gc-arcfour: Distribute more files.
60248
60249 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60250
60251         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
60252         (gl_linked_iterator_from_to): Initialize struct completely.
60253         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
60254         (gl_tree_iterator_from_to): Likewise
60255         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
60256         * lib/gl_array_list.c [lint] (gl_array_iterator)
60257         (gl_array_iterator_from_to): Likewise.
60258         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
60259         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
60260         (gl_carray_iterator_from_to): Likewise.
60261
60262         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
60263         * lib/md4.c (md4_process_block): Remove unused variable.
60264         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
60265         parentheses for clarity.
60266
60267 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60268
60269         * modules/bison-i18n (Depends-on): Add gettext.
60270
60271 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60272
60273         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
60274         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
60275         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
60276         also add missing comma that caused broken test.
60277         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
60278         stdlib.h, for `abort'.
60279         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
60280         variables.
60281         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
60282         include unistd.h if present, for `rmdir'.
60283         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
60284         variables.
60285         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
60286         in the process include standard headers for prototypes.
60287         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
60288         gets declared on GNU/Linux.
60289         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
60290         unistd.h, for `rmdir'.
60291         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
60292
60293         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
60294         always true.
60295         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
60296
60297         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
60298
60299 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60300
60301         * gnulib-tool (func_version): Create output all at once.  This
60302         may help avoid triggering unnecessary SIGPIPEs, and at any
60303         rate it doesn't hurt.
60304
60305 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60306             Bruno Haible  <bruno@clisp.org>
60307
60308         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
60309         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
60310         * m4/signed.m4 (bh_C_SIGNED): Likewise.
60311
60312         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
60313         (gl_FUNC_VASPRINTF): Invoke it.
60314
60315 2006-09-22  Bruno Haible  <bruno@clisp.org>
60316
60317         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
60318         getloadavg.c as first argument.
60319
60320 2006-09-22  Bruno Haible  <bruno@clisp.org>
60321
60322         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
60323         at the beginning of the gl_INIT macro.
60324         * modules/getloadavg (configure.ac): Pass $gl_source_base to
60325         gl_GETLOADAVG.
60326
60327 2006-09-22  Bruno Haible  <bruno@clisp.org>
60328
60329         * gnulib-tool (func_create_megatestdir): Don't include the config-h
60330         module.
60331         Suggested by Ralf Wildenhues.
60332
60333 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
60334
60335         Import this patch from libc:
60336
60337         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
60338
60339         * lib/regex_internal.c (re_string_reconstruct): Handle
60340         offset < pstr->valid_raw_len && pstr->offsets_needed case.
60341         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
60342         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
60343         re_string_context_at.
60344
60345         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
60346         now requires it.
60347         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
60348         gl_REGEX now does it for us.
60349         (gl_REGEX): Add test taken from
60350         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
60351
60352         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
60353         Check that large offsets work.  Modernize Autoconf usages.
60354         Prefer "yes" to mean a good thing rather than a bad.
60355         Don't put "#define mkstemp" in config.h, as this might interfere
60356         with standard system headers that "#define mkstemp mkstemp64".
60357
60358         * modules/mkstemp (Depends-on): Add extensions, so that
60359         mkstemp is visible on some platforms.
60360         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
60361         (Include): Change to "mkstemp.h" from <stdlib.h>.
60362         (Files): Add mkstemp.h.
60363
60364         * lib/mkstemp.h: New file, since some standard headers
60365         #define mkstemp.
60366         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
60367         Include "mkstemp.h".
60368         Make the _LIBC code resemble glibc original more,
60369         e.g., use K&R style.
60370         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
60371         (mkstemp): Remove, since mkstemp.h does this for us.
60372         * lib/stdlib--.h: Include mkstemp.h.
60373
60374         Import this patch from libc:
60375
60376         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
60377
60378         * lib/tempname.c (__gen_tempname): Change attempts_min
60379         into a macro.  Use preprocessor to decide how to initialize
60380         attempts [Coverity CID 67].
60381
60382 2006-09-20  Bruno Haible  <bruno@clisp.org>
60383
60384         * lib/mkdtemp.c: Import from libc.
60385         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
60386                 * sysdeps/posix/tempname.c (__gen_tempname): Change
60387                 attempts_min into a macro.  Use preprocessor to decide how to
60388                 initialize attempts [Coverity CID 67].
60389         2001-11-27  Paul Eggert  <eggert@twinsun.com>
60390                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
60391                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
60392
60393 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60394
60395         * gnulib-tool (func_exit): New function, to allow to pass the
60396         exit status portably through the trap.  Use everywhere.
60397         (--help, --version): Signal a write error.
60398         (trap): catch SIGPIPE, for write errors.
60399         Exit at the end of the trap, with the correct exit status.
60400
60401 2006-09-19  Karl Berry  <karl@gnu.org>
60402
60403         * doc/gnulib.texi: note about the license texinfo files.
60404
60405 2006-09-19  Eric Blake  <ebb9@byu.net>
60406
60407         * gnulib-tool: Avoid space-tab.
60408
60409 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
60410
60411         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
60412         that prevented coreutils 6.1 from building.  Problem reported
60413         by Petter Reinholdtsen.
60414
60415 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
60416
60417         * gnulib-tool (avoidlist): Fix typo that broke options like
60418         --avoid=lock that are used by coreutils bootstrap.
60419
60420 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
60421
60422         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
60423         more systematically.
60424
60425 2006-09-18  Jim Meyering  <jim@meyering.net>
60426
60427         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
60428
60429 2006-09-18  Bruno Haible  <bruno@clisp.org>
60430
60431         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
60432
60433 2006-09-18  Bruno Haible  <bruno@clisp.org>
60434
60435         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
60436         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
60437         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
60438         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
60439         * m4/gettext.m4: Require autoconf >= 2.52.
60440         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
60441         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
60442         of gl_cv_header_inttypes_h.
60443
60444 2006-09-18  Bruno Haible  <bruno@clisp.org>
60445
60446         * lib/javaversion.c: Include configmake.h.
60447
60448 2006-09-18  Bruno Haible  <bruno@clisp.org>
60449
60450         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
60451         avoid that the while loops be executed in a subshell.
60452
60453 2006-09-18  Bruno Haible  <bruno@clisp.org>
60454
60455         * MODULES.html.sh (func_module): Break long lines.
60456         Suggested by Bruce Korb <bkorb@gnu.org>.
60457
60458 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60459
60460         Speed up by a factor of 1.12.
60461         * gnulib-tool (nl): New variable.
60462         (func_import): Rewrite include directive extraction to only read each
60463         directive once.
60464
60465 2006-09-17  Bruno Haible  <bruno@clisp.org>
60466
60467         * modules/javaversion (Makefile.am): Remove DEFS setting.
60468         (Depends-on): Add configmake, for PKGDATADIR definition.
60469
60470 2006-09-17  Bruno Haible  <bruno@clisp.org>
60471
60472         * gnulib-tool (func_create_testdir): Rewrite all files at once.
60473
60474 2006-09-17  Bruno Haible  <bruno@clisp.org>
60475
60476         * gnulib-tool (func_append): New function, stolen from libtool.m4.
60477         (func_modules_transitive_closure, func_modules_add_dummy,
60478         func_modules_to_filelist, func_import, func_create_testdir,
60479         func_create_megatestdir, ...): Use it wherever possible.
60480         Suggested by Ralf Wildenhues.
60481
60482 2006-09-16  Karl Berry  <karl@gnu.org>
60483
60484         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
60485         to avoid sectioning errors.
60486         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
60487         [ifinfo]: blank line after @center-ed titles.
60488         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
60489         Spell FSF address consistently with others.
60490         (These changes approved by rms.)
60491
60492 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60493
60494         Speed up by a factor of 1.61.
60495         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
60496         already checked module names again.
60497
60498 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60499
60500         Speed up by a factor of 1.13.
60501         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
60502         for new_files, and the input to func_add_or_update.
60503
60504 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60505
60506         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
60507         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
60508
60509 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60510
60511         * modules/mkancesdirs (Depends-on): Add fcntl.
60512         * modules/savewd: New file.
60513         * MODULES.html.sh (File system functions): Add savewd.
60514
60515         * modules/configmake (Makefile.am): Add support for the
60516         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
60517
60518 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60519
60520         * m4/savewd.m4: New file.
60521
60522 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60523
60524         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
60525         (dirchownmod): New arg FD.  All callers changed.
60526         Use FD rather than opening the directory ourself, as opening is
60527         now the caller's responsibility.
60528         * lib/dirchownmod.h: Likewise.
60529         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
60530         hosts that require <sys/types.h> before <sys/stat.h>.  Include
60531         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
60532         (test_dir): Remove.
60533         (mkancesdirs): Return length of prefix of FILE that has already
60534         been made, or -2 if there is a child doing the work.  Redo
60535         algorithm so that it is O(N) rather than O(N**2).  Optimize away
60536         ".", and treat ".." specially since it might stray back into
60537         already-created areas.  Use a subprocess if necessary.  New arg
60538         WD; all users changed.  MAKE_DIR function should now return 1
60539         if it creates a directory that is not readable.  Return -2 if
60540         a child process is spun off.
60541         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
60542         Adjust signature to match code.
60543         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
60544         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
60545         all users changed.
60546         * lib/savewd.c, lib/savewd.h: New files.
60547
60548 2006-09-15  Jim Meyering  <jim@meyering.net>
60549
60550         * modules/rename-dest-slash: New module.
60551         * MODULES.html.sh (posix_compat): Add it here.
60552
60553         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
60554
60555 2006-09-15  Jim Meyering  <jim@meyering.net>
60556
60557         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
60558         file.
60559
60560         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
60561
60562 2006-09-15  Jim Meyering  <jim@meyering.net>
60563
60564         * lib/rename-dest-slash.c (has_trailing_slash): Use
60565         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
60566         (rpl_rename_dest_slash): Perform the cheaper trailing slash
60567         test before testing whether SRC is a directory.
60568         Suggestions from Bruno Haible.
60569
60570         Avoid a warning about an unused variable.
60571         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
60572         into the #ifdef block where it's used.
60573
60574         * lib/rename-dest-slash.c: New file.
60575
60576 2006-09-14  Bruno Haible  <bruno@clisp.org>
60577
60578         * lib/allocsa.c: Include <config.h> unconditionally.
60579         * lib/asnprintf.c: Likewise.
60580         * lib/asprintf.c: Likewise.
60581         * lib/c-strcasecmp.c: Likewise.
60582         * lib/c-strcasestr.c: Likewise.
60583         * lib/c-strncasecmp.c: Likewise.
60584         * lib/c-strstr.c: Likewise.
60585         * lib/classpath.c: Likewise.
60586         * lib/clean-temp.c: Likewise.
60587         * lib/concatpath.c: Likewise.
60588         * lib/copy-file.c: Likewise.
60589         * lib/csharpcomp.c: Likewise.
60590         * lib/csharpexec.c: Likewise.
60591         * lib/execute.c: Likewise.
60592         * lib/fatal-signal.c: Likewise.
60593         * lib/findprog.c: Likewise.
60594         * lib/fwriteerror.c: Likewise.
60595         * lib/gl_array_list.c: Likewise.
60596         * lib/gl_array_oset.c: Likewise.
60597         * lib/gl_avltree_list.c: Likewise.
60598         * lib/gl_avltree_oset.c: Likewise.
60599         * lib/gl_avltreehash_list.c: Likewise.
60600         * lib/gl_carray_list.c: Likewise.
60601         * lib/gl_linked_list.c: Likewise.
60602         * lib/gl_linkedhash_list.c: Likewise.
60603         * lib/gl_list.c: Likewise.
60604         * lib/gl_oset.c: Likewise.
60605         * lib/gl_rbtree_list.c: Likewise.
60606         * lib/gl_rbtree_oset.c: Likewise.
60607         * lib/gl_rbtreehash_list.c: Likewise.
60608         * lib/imaxabs.c: Likewise.
60609         * lib/imaxdiv.c: Likewise.
60610         * lib/javacomp.c: Likewise.
60611         * lib/javaexec.c: Likewise.
60612         * lib/javaversion.c: Likewise.
60613         * lib/linebreak.c: Likewise.
60614         * lib/localcharset.c: Likewise.
60615         * lib/lock.c: Likewise.
60616         * lib/mbchar.c: Likewise.
60617         * lib/mbswidth.c: Likewise.
60618         * lib/mkdtemp.c: Likewise.
60619         * lib/pipe.c: Likewise.
60620         * lib/printf-args.c: Likewise.
60621         * lib/printf-parse.c: Likewise.
60622         * lib/progname.c: Likewise.
60623         * lib/progreloc.c: Likewise.
60624         * lib/readlink.c: Likewise.
60625         * lib/sh-quote.c: Likewise.
60626         * lib/stpcpy.c: Likewise.
60627         * lib/stpncpy.c: Likewise.
60628         * lib/strcasecmp.c: Likewise.
60629         * lib/strcasestr.c: Likewise.
60630         * lib/strcspn.c: Likewise.
60631         * lib/striconv.c: Likewise.
60632         * lib/strncasecmp.c: Likewise.
60633         * lib/strnlen1.c: Likewise.
60634         * lib/strstr.c: Likewise.
60635         * lib/strtok_r.c: Likewise.
60636         * lib/tls.c: Likewise.
60637         * lib/tmpdir.c: Likewise.
60638         * lib/unicodeio.c: Likewise.
60639         * lib/unsetenv.c: Likewise.
60640         * lib/vasnprintf.c: Likewise.
60641         * lib/vasprintf.c: Likewise.
60642         * lib/wait-process.c: Likewise.
60643         * lib/xallocsa.c: Likewise.
60644         * lib/xsetenv.c: Likewise.
60645         * lib/xstriconv.c: Likewise.
60646
60647 2006-09-13  Simon Josefsson  <jas@extundo.com>
60648
60649         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
60650         that internally, suggested by Ralf Wildenhues
60651         <Ralf.Wildenhues@gmx.de>.
60652
60653 2006-09-13  Simon Josefsson  <jas@extundo.com>
60654
60655         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
60656         @LIBOBJS@.
60657         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60658
60659 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60660
60661         * lib/_fpending.c: Include <config.h> unconditionally, since we no
60662         longer worry about uses that don't define HAVE_CONFIG_H.
60663         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
60664         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
60665         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
60666         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
60667         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
60668         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
60669         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
60670         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
60671         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
60672         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
60673         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
60674         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
60675         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
60676         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
60677         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
60678         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
60679         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
60680         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
60681         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
60682         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
60683         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
60684         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
60685         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
60686         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
60687         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
60688         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
60689         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
60690         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
60691         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
60692         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
60693         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
60694         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
60695         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
60696         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
60697         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
60698         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
60699         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
60700         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
60701         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
60702         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
60703         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
60704         Likewise.
60705
60706 2006-09-13  Eric Blake  <ebb9@byu.net>
60707
60708         * lib/getopt.c: Fix typo in last commit.
60709
60710 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60711
60712         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
60713         dgettext.
60714
60715 2006-09-12  Jim Meyering  <jim@meyering.net>
60716
60717         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
60718         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
60719         Reported by Nelson H. F. Beebe.
60720
60721 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60722
60723         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
60724         program_invocation_name and program_invocation_short_name are
60725         initialized.
60726         * lib/argp-namefrob.h: Move declarations of program_invocation_name
60727         and program_invocation_short_name to argp.h, so they are visible
60728         to user programs.
60729         * lib/argp.h: Likewise
60730
60731 2006-09-10  Bruno Haible  <bruno@clisp.org>
60732
60733         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
60734         m4/inttypes_h.m4, m4/uintmax_t.m4.
60735
60736 2006-09-10  Bruno Haible  <bruno@clisp.org>
60737
60738         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
60739         gl_AC_TYPE_UINTMAX_T.
60740
60741 2006-09-10  Bruno Haible  <bruno@clisp.org>
60742
60743         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
60744
60745 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
60746
60747         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
60748         convention.  Text proposed by Bruno Haible.
60749         (struct argp_option): Document the use of N_() wrappers.
60750
60751         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
60752         '\v', and translate the two parts separately, instead of feeding
60753         the whole string to gettext.  This allows to exclude
60754         '\v' from the strings visible to the translator by writing doc
60755         strings as N_("..") "\v" N_("..").
60756
60757 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
60758
60759         * config/srclist.txt: Undo latest change; the bug was fixed.
60760
60761 2006-09-09  Bruno Haible  <bruno@clisp.org>
60762
60763         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
60764         assignments if building a library without libtool.
60765         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
60766         in func_emit_lib_Makefile_am.
60767         (func_import): When building a static library libfoo.a, arrange to
60768         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
60769         (func_create_testdir): Likewise.
60770         * modules/gc (configure.ac, Makefile.am): If building statically,
60771         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
60772         * modules/iconvme (configure.ac, Makefile.am): Likewise.
60773         * modules/striconv (configure.ac, Makefile.am): Likewise.
60774         Based on a suggestion by Ralf Wildenhues.
60775
60776 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60777
60778         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
60779         Check for unistd.h too, since Autoconf doesn't assume POSIX.
60780         Also:
60781
60782         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60783         Add year_2050_test to catch glibc bug 2821
60784         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
60785
60786         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60787         Prefer #ifdef to #if.
60788
60789         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
60790         Return from 'main' instead of calling 'exit'.
60791
60792 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60793
60794         * lib/mktime.c (guess_time_tm): Fix bug where mktime
60795         returned the maximum time_t value rather than (time_t) -1.
60796         Problem originally reported by William Bardwell
60797         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
60798
60799         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
60800         Moved to here ...
60801         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
60802         ... from here.
60803
60804 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60805
60806         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
60807         2821 is fixed.
60808
60809 2006-09-08  Jim Meyering  <jim@meyering.net>
60810
60811         Don't make generated files read-only.  That would bother too many
60812         people.  However, do retain the ability to work when targets are
60813         read-only: remove the destination and temporary files before writing
60814         them (when generated via sed or echo), or by using the -f option for
60815         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
60816         * modules/alloca-opt, modules/argz, modules/arpa_inet:
60817         * modules/byteswap, modules/configmake, modules/fcntl:
60818         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
60819         * modules/localcharset, modules/netinet_in, modules/poll:
60820         * modules/stdbool, modules/stdint, modules/sys_select:
60821         * modules/sys_socket, modules/sys_stat, modules/sysexits:
60822
60823 2006-09-08  Jim Meyering  <jim@meyering.net>
60824
60825         Avoid new build failure on FreeBSD 6.0.
60826         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
60827         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
60828         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
60829
60830 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60831
60832         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
60833
60834 2006-09-07  Jim Meyering  <jim@meyering.net>
60835
60836         Fix global typo in last change: use chmod u-w, not chmod u-x.
60837         Spotted by Paul Eggert and Bruce Korb.
60838         * modules/alloca-opt, modules/argz, modules/arpa_inet:
60839         * modules/byteswap, modules/configmake, modules/fcntl:
60840         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
60841         * modules/localcharset, modules/netinet_in, modules/poll:
60842         * modules/stdbool, modules/stdint, modules/sys_select:
60843         * modules/sys_socket, modules/sys_stat, modules/sysexits:
60844
60845 2006-09-06  Jim Meyering  <jim@meyering.net>
60846
60847         Make generated files be read-only.
60848         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
60849         Ensure that each generated file is now read-only.
60850         * modules/argz: Likewise.
60851         * modules/arpa_inet: Likewise.
60852         * modules/byteswap: Likewise.
60853         * modules/configmake: Likewise.
60854         * modules/fcntl: Likewise.
60855         * modules/fnmatch: Likewise.
60856         * modules/getopt: Likewise.
60857         * modules/glob: Likewise.
60858         * modules/inttypes: Likewise.
60859         * modules/netinet_in: Likewise.
60860         * modules/poll: Likewise.
60861         * modules/stdbool: Likewise.
60862         * modules/stdint: Likewise.
60863         * modules/sys_select: Likewise.
60864         * modules/sys_socket: Likewise.
60865         * modules/sys_stat: Likewise.
60866         * modules/sysexits: Likewise.
60867         * modules/localcharset: Same as above, but continue using temporary
60868         file named "t-$@" (why different?) rather than the "$@-t" used
60869         everywhere else.
60870
60871         * modules/sysexits (Makefile.am): Replace literal occurrences
60872         of "sysexit.h" more readable, and more consistent, "$@".
60873
60874 2006-09-06  Bruno Haible  <bruno@clisp.org>
60875
60876         * modules/striconv: New file.
60877         * modules/xstriconv: New file.
60878         * MODULES.html.sh (Internationalization functions): Add striconv,
60879         xstriconv.
60880
60881 2006-09-06  Bruno Haible  <bruno@clisp.org>
60882
60883         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
60884         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
60885         not using libtool correctly.
60886
60887 2006-09-06  Bruno Haible  <bruno@clisp.org>
60888
60889         * lib/striconv.h: New file.
60890         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
60891         iconvstring.c.
60892         * lib/xstriconv.h: New file.
60893         * lib/xstriconv.c: New file.
60894
60895 2006-09-06  Bruno Haible  <bruno@clisp.org>
60896
60897         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
60898         lib_..._LDFLAGS.
60899
60900 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60901
60902         * lib/argz_.h: Sync from Libtool.
60903
60904         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
60905                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
60906
60907         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
60908
60909 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
60910
60911         * modules/trim: New file.
60912
60913 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
60914
60915         * lib/trim.h: New file.
60916         * lib/trim.c: New file.
60917
60918 2006-09-05  Bruno Haible  <bruno@clisp.org>
60919
60920         * MODULES.html.sh (String handling): Add trim.
60921
60922 2006-09-04  Karl Berry  <karl@gnu.org>
60923
60924         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
60925         until next release.
60926
60927 2006-09-03  Bruno Haible  <bruno@clisp.org>
60928
60929         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
60930         correctly.
60931
60932 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60933
60934         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
60935         not gl_GETLOADAVG.  Omit unneeded semicolons.
60936         Problems reported by Ralf Wildenhues in
60937         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
60938         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
60939         at the end, which is the usual gnulib style.
60940
60941         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
60942         of doing all the work ourselves.
60943         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
60944         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
60945
60946 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60947
60948         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
60949         Problem reported by Ralf Wildenhues in
60950         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
60951
60952         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
60953         HAVE_STRUCT_STATFS_F_FSTYPENAME.
60954
60955 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60956
60957         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
60958         yesterday's patch by changing test -n to test -z.
60959
60960 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60961
60962         * modules/getloadavg (Files): Add m4/getloadavg.m4.
60963         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
60964         the former is now obsolescent.
60965
60966         * modules/chdir-long (Depends-on): Add fcntl.
60967
60968 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60969
60970         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
60971         obsolescent, and programs should use gnulib instead.
60972         * m4/getloadavg.m4: New file, with contents taken from Autoconf
60973         but with prefixes changed.
60974
60975 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60976
60977         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
60978         or stdbool.h, because they might not exist while configuring.
60979
60980         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
60981         Don't include unistd.h or limits.h; not needed, since chdir-long.h
60982         does that for us.
60983         (O_DIRECTORY): Remove.
60984
60985 2006-08-31  Eric Blake  <ebb9@byu.net>
60986
60987         * gnulib-tool: Don't let emacs change spaces to TAB.
60988
60989 2006-08-31  Bruno Haible  <bruno@clisp.org>
60990
60991         * gnulib-tool: When calling func_import more than once, do it in a
60992         subshell.
60993         Reported by Eric Blake <ebb9@byu.net>.
60994
60995 2006-08-31  Bruno Haible  <bruno@clisp.org>
60996
60997         * gnulib-tool (nl): Remove variable.
60998         (sed_transform_lib_file): Use more robust test for config-h module.
60999         (func_import): Fix typo in 2006-08-25 patch.
61000
61001 2006-08-31  Bruno Haible  <bruno@clisp.org>
61002
61003         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
61004         specified, augment Makefile.am variables instead of assigning them.
61005
61006 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61007
61008         Work around a bug in both the Linux and SunOS 64-bit kernels:
61009         nanosleep mishandles sleeps for longer than 2**31 seconds.
61010         Problem reported by Frank v Waveren in
61011         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
61012         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
61013         Check for nanosleep bug.
61014         (LIB_NANOSLEEP): Append clock_gettime library if needed.
61015
61016 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61017
61018         Work around a bug in both the Linux and SunOS 64-bit kernels:
61019         nanosleep mishandles sleeps for longer than 2**31 seconds.
61020         Problem reported by Frank v Waveren in
61021         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
61022         * lib/nanosleep.c (BILLION): New constant.
61023         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
61024         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
61025         implementation.
61026
61027 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61028
61029         * modules/nanosleep (Depends-on): Add gettime.
61030
61031 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61032         and Simon Josefsson  <jas@extundo.com>
61033         and Oskar Liljeblad  <oskar@osk.mine.nu>
61034
61035         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
61036         * gnulib-tool (func_import): New license type 'unmodifiable license
61037         text'.
61038         * modules/fdl: Use it.  Longer description.
61039         * module/gpl, module/lgpl: New files.
61040
61041 2006-08-30  Jim Meyering  <jim@meyering.net>
61042
61043         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
61044         shadowing the parameter.
61045
61046 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61047
61048         Sync from Libtool:
61049
61050         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61051
61052         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
61053         sharing with gnulib.  Report by Eric Blake.
61054
61055 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61056
61057         * modules/isapipe: New file.
61058         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
61059
61060 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61061
61062         * modules/configmake (Makefile.am): Add a comment, and omit
61063         the CONFIGMAKE_ prefix from generated macro names.  Suggested
61064         by Bruno Haible.
61065
61066 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61067
61068         * m4/isapipe.m4: New file.
61069
61070 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61071
61072         * lib/isapipe.c, lib/isapipe.h: New files.
61073
61074 2006-08-29  Jim Meyering  <jim@meyering.net>
61075
61076         * modules/configmake (Makefile.am): Make configmake.h depend on
61077         Makefile.  Otherwise, a stale configmake.h could hang around.
61078
61079 2006-08-29  Eric Blake  <ebb9@byu.net>
61080
61081         * lib/error.c (error_at_line, print_errno_message): Match libc, after
61082         resolution of upstream bug 3044.
61083
61084 2006-08-29  Bruno Haible  <bruno@clisp.org>
61085
61086         * modules/localcharset (Depends-on): Add configmake.
61087         (Makefile.am): Remove setting of LIBDIR through DEFS.
61088
61089 2006-08-29  Bruno Haible  <bruno@clisp.org>
61090
61091         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
61092         defined.
61093
61094 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61095
61096         * modules/fcntl: New file.
61097         * modules/chdir-safer (Depends-on): Add fcntl.
61098         * modules/fts: Likewise.
61099         * modules/mkdir-p: Likewise.
61100
61101         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
61102         This undoes the most recent change, since we're now addressing the
61103         problem in a different way.
61104
61105         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
61106         into output, since the output might be called Makefile.am even
61107         if $makefile_name is something different.
61108         (func_import): Use $makefile_am rather than
61109         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
61110         empty.
61111
61112         * modules/inttypes (Files): Add m4/inttypes-h.m4.
61113
61114 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61115
61116         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
61117         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
61118         recent change to stdint.m4, since we're now addressing the problem in a
61119         different way.
61120
61121 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61122
61123         * m4/fcntl_h.m4: New file.
61124
61125 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61126
61127         * lib/fcntl_.h: New file.
61128         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
61129         the fcntl module.
61130         * lib/dirchownmod.c: Likewise.
61131         * lib/fts.c: Likewise.
61132
61133         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
61134         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
61135         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
61136         just before including <inttypes.h>, to avoid circular inclusion.
61137
61138 2006-08-28  Jim Meyering  <jim@meyering.net>
61139
61140         * doc/visibility.texi: Actually read and correct the grammar of the
61141         sentence affected by yesterday's change.
61142
61143 2006-08-28  Eric Blake  <ebb9@byu.net>
61144
61145         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
61146         needs wrapper.
61147
61148 2006-08-28  Eric Blake  <ebb9@byu.net>
61149
61150         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
61151
61152 2006-08-28  Eric Blake  <ebb9@byu.net>
61153
61154         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
61155
61156 2006-08-28  Bruno Haible  <bruno@clisp.org>
61157
61158         * modules/c-strstr: New file, from GNU gettext.
61159         * MODULES.html.sh (String handling): Add c-strstr.
61160
61161 2006-08-28  Bruno Haible  <bruno@clisp.org>
61162
61163         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
61164         macros.
61165         Reported by Eric Blake.
61166
61167 2006-08-28  Bruno Haible  <bruno@clisp.org>
61168
61169         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
61170         (VASNPRINTF): Return a string of length > INT_MAX without failing.
61171         * lib/vasprintf.c: Include errno.h, limits.h.
61172         (EOVERFLOW): New fallback definition.
61173         (vasprintf): Test here whether the string length is > INT_MAX.
61174         * lib/vsnprintf.c: Include errno.h, limits.h.
61175         (EOVERFLOW): New fallback definition.
61176         (vsnprintf): Fix bug when generated string was too long for the buffer.
61177         Test here whether the string length is > INT_MAX.
61178
61179 2006-08-28  Bruno Haible  <bruno@clisp.org>
61180
61181         * lib/inttypes_.h (SCNX*): Remove definitions.
61182         Reported by Eric Blake.
61183
61184 2006-08-28  Bruno Haible  <bruno@clisp.org>
61185
61186         * lib/c-strstr.h: New file, from GNU gettext.
61187         * lib/c-strstr.c: New file, from GNU gettext.
61188
61189 2006-08-28  Bruno Haible  <bruno@clisp.org>
61190
61191         * gnulib-tool: Reorder some statements.
61192
61193 2006-08-28  Bruno Haible  <bruno@clisp.org>
61194
61195         * gnulib-tool: New option --makefile-name.
61196         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
61197         $makefile_name.
61198         (func_import): Write $makefile_name to the cache file, and read it from
61199         there unless explicitly specified. Use $makefile_name as file name
61200         instead of Makefile.am. Adjust the recommendations accordingly.
61201
61202 2006-08-28  Bruno Haible  <bruno@clisp.org>
61203
61204         * gnulib-tool (func_verify_module): Check against misapplying patch.
61205
61206 2006-08-28  Bruno Haible  <bruno@clisp.org>
61207
61208         * gnulib-tool (func_relativize, func_relconcat): New functions.
61209         Give an error if --local-dir is given with --update.
61210         Remove trailing slashes from $local_gnulib_dir.
61211         (func_import): Store the relativized $local_gnulib_dir in
61212         gnulib-cache.m4, and read it from there if not specified explicitly.
61213
61214 2006-08-28  Bruno Haible  <bruno@clisp.org>
61215
61216         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
61217         is the current directory. Respect also $local_gnulib_dir.
61218
61219 2006-08-28  Bruno Haible  <bruno@clisp.org>
61220             Simon Josefsson  <jas@extundo.com>
61221
61222         BeOS portability.
61223         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
61224
61225 2006-08-27  Jim Meyering  <jim@meyering.net>
61226
61227         * doc/visibility.texi: Remove duplicate word: "pointer".
61228
61229 2006-08-26  Bruno Haible  <bruno@clisp.org>
61230
61231         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
61232         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
61233         (Makefile.am): Create inttypes.h from inttypes_.h.
61234         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
61235
61236         * modules/imaxabs: New file.
61237
61238         * modules/imaxdiv: New file.
61239
61240 2006-08-26  Bruno Haible  <bruno@clisp.org>
61241
61242         * m4/inttypes.m4: New file.
61243         * m4/_inttypes_h.m4: Remove file.
61244         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
61245         PRI_MACROS_BROKEN.
61246         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
61247
61248         * m4/imaxabs.m4: New file.
61249
61250         * m4/imaxdiv.m4: New file.
61251
61252 2006-08-26  Bruno Haible  <bruno@clisp.org>
61253
61254         * lib/inttypes_.h: New file.
61255         * lib/inttypes.h: Remove file.
61256         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
61257
61258         * lib/imaxabs.c: New file.
61259
61260         * lib/imaxdiv.c: New file.
61261
61262 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61263
61264         New config-h module, so that "make" output needn't be cluttered
61265         by -DHAVE_CONFIG_H.
61266         * MODULES.html.sh (Support for building libraries and executables):
61267         Add config-h.
61268         * modules/config-h: New file.
61269         * gnulib-tool (nl, sed_transform_lib_file): New vars.
61270         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
61271         the config-h module is used.
61272
61273         New configmake module, so that "make" output needn't be cluttered
61274         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
61275         * MODULES.html.sh (Support for building libraries and executables):
61276         Add configmake.
61277         * modules/configmake: New file.
61278
61279 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61280
61281         * m4/config-h.m4: New file.
61282
61283 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61284
61285         * config/srclist.txt: Add elisp-comp.
61286
61287 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61288
61289         * MODULES.html.sh (Support for building libraries and executables):
61290         Add elisp-comp.
61291         * build-aux/elisp-comp: New file.
61292         * modules/elisp-comp: New file.
61293
61294 2006-08-24  Bruno Haible  <bruno@clisp.org>
61295
61296         * gnulib-tool (func_create_testdir): Use non-default values of
61297         sourcebase and m4base.
61298
61299 2006-08-24  Bruno Haible  <bruno@clisp.org>
61300
61301         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
61302         HTML structure.
61303
61304 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61305
61306         * modules/openat (Depends-on): Add lchown.
61307
61308 2006-08-23  Bruno Haible  <bruno@clisp.org>
61309
61310         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
61311         of gl_LOCK_EARLY instead of gl_LOCK.
61312
61313 2006-08-23  Bruno Haible  <bruno@clisp.org>
61314
61315         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
61316         on OSF/1 to no.
61317         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
61318
61319 2006-08-23  Bruno Haible  <bruno@clisp.org>
61320
61321         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
61322         as unusable.
61323
61324         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
61325         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
61326         (gl_LOCK): New macro.
61327
61328 2006-08-22  Simon Josefsson  <jas@extundo.com>
61329
61330         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
61331         to md5 module.
61332
61333 2006-08-22  Simon Josefsson  <jas@extundo.com>
61334
61335         * MODULES.html.sh: Add "Support for maintaining and release
61336         projects".
61337
61338         * build-aux/gnupload: New file, from coreutils.
61339
61340 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
61341
61342         Avoid the need for AC_LIBSOURCES in m4 macros.
61343         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
61344         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
61345         * modules/check-version (EXTRA_DIST): Add check-version.h.
61346         * modules/crc (EXTRA_DIST): Add crc.h.
61347         * modules/des (EXTRA_DIST): Add des.h.
61348         * modules/gc (EXTRA_DIST): Add gc.h.
61349         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
61350         * modules/getline (EXTRA_DIST): Add getline.h.
61351         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
61352         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
61353         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
61354         * modules/md2 (EXTRA_DIST): Add md2.h.
61355         * modules/md4 (EXTRA_DIST): Add md4.h.
61356         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
61357         * modules/read-file (EXTRA_DIST): Add read-file.h.
61358         * modules/readline (EXTRA_DIST): Add readline.h.
61359         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
61360         rijndael-api-fst.h.
61361
61362 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
61363
61364         * m4/rijndael.m4 (gl_ARCFOUR):
61365         * m4/arctwo.m4 (gl_ARCTWO):
61366         * m4/check-version.m4 (gl_CHECK_VERSION):
61367         * m4/crc.m4 (gl_CRC):
61368         * m4/des.m4 (gl_DES):
61369         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
61370         * m4/gc.m4 (gl_GC):
61371         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
61372         * m4/getline.m4 (gl_FUNC_GETLINE):
61373         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
61374         * m4/hmac-md5.m4 (gl_HMAC_MD5):
61375         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
61376         * m4/md2.m4 (gl_MD2):
61377         * m4/md4.m4 (gl_MD4):
61378         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
61379         * m4/read-file.m4 (gl_FUNC_READ_FILE):
61380         * m4/readline.m4 (gl_FUNC_READLINE):
61381         * m4/rijndael.m4 (gl_RIJNDAEL):
61382         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
61383         to get the necessary .h files and whatnot.
61384
61385 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
61386
61387         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
61388         gnulib rather than the other way around.
61389         * config/srclistvars.sh (COREUTILS): Remove.
61390
61391 2006-08-22  Jim Meyering  <jim@meyering.net>
61392
61393         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
61394
61395         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
61396
61397 2006-08-22  Eric Blake  <ebb9@byu.net>
61398
61399         * modules/regexprops-generic: New file.
61400         * MODULES.html.sh (Support for building documentation): List it.
61401
61402 2006-08-22  Eric Blake  <ebb9@byu.net>
61403
61404         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
61405         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
61406         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
61407         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
61408
61409 2006-08-22  Bruno Haible  <bruno@clisp.org>
61410
61411         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
61412         and lib_LTLIBRARIES like the other lib_* variables.
61413
61414 2006-08-22  Bruno Haible  <bruno@clisp.org>
61415
61416         * build-aux/x-to-1.in: New file, from GNU gettext.
61417
61418 2006-08-22  Bruno Haible  <bruno@clisp.org>
61419
61420         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
61421         <utmpx.h> exists.
61422
61423 2006-08-22  Bruno Haible  <bruno@clisp.org>
61424
61425         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
61426         <utmpx.h> exists.
61427
61428 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
61429
61430         BeOS portability.
61431         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
61432         exist.
61433         Problem reported by Bruno Haible.
61434
61435 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
61436
61437         Avoid the need for AC_LIBSOURCES in m4 macros.
61438         * modules/acl (EXTRA_DIST): Add acl.h.
61439         * modules/argmatch (Files): Add m4/argmatch.m4.
61440         (configure.ac): Add gl_ARGMATCH.
61441         (EXTRA_DIST): Renamed from lib_SOURCES, for
61442         consistency with the other modules.  Remove argmatch.c.
61443         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
61444         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
61445         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
61446         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
61447         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
61448         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
61449         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
61450         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
61451         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
61452         * modules/closeout (EXTRA_DIST): Add closeout.h.
61453         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
61454         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
61455         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
61456         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
61457         dirname.h; remove basename.c and stripslash.c.
61458         * modules/exclude (EXTRA_DIST): Add exclude.h.
61459         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
61460         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
61461         * modules/file-type (EXTRA_DIST): Add file-type.h.
61462         * modules/filemode (EXTRA_DIST): Add filemode.h.
61463         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
61464         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
61465         * modules/fpending (EXTRA_DIST): Add __fpending.h.
61466         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
61467         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
61468         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
61469         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
61470         * modules/getdate (EXTRA_DIST): Add getdate.c.
61471         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
61472         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
61473         * modules/getpass (EXTRA_DIST): Add getpass.h.
61474         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
61475         * modules/group-member (EXTRA_DIST): Add group-member.h.
61476         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
61477         * modules/hash (EXTRA_DIST): Add hash.h.
61478         * modules/human (EXTRA_DIST): Add human.h.
61479         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
61480         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
61481         * modules/lchown (EXTRA_DIST): Add lchown.h.
61482         * modules/long-options (EXTRA_DIST): Add long-options.h.
61483         * modules/lstat (EXTRA_DIST): Add lstat.h.
61484         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
61485         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
61486         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
61487         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
61488         * modules/memxor (EXTRA_DIST): Add memxor.h.
61489         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
61490         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
61491         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
61492         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
61493         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
61494         * modules/physmem (EXTRA_DIST): Add physmem.h.
61495         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
61496         * modules/posixver (EXTRA_DIST): Add posixver.h.
61497         * modules/quote (EXTRA_DIST): Add quote.h.
61498         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
61499         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
61500         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
61501         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
61502         regex_internal.h regexec.c.
61503         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
61504         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
61505         * modules/same (EXTRA_DIST): Add same.h.
61506         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
61507         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
61508         * modules/savedir (EXTRA_DIST): Add savedir.h.
61509         * modules/sha1 (EXTRA_DIST): Add sha1.h.
61510         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
61511         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
61512         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
61513         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
61514         * modules/strdup (EXTRA_DIST): Add strdup.h.
61515         * modules/strftime (EXTRA_DIST): Add strftime.h.
61516         * modules/strndup (EXTRA_DIST): Add strndup.h.
61517         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
61518         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
61519         * modules/time_r (EXTRA_DIST): Add time_r.h.
61520         * modules/timespec (EXTRA_DIST): Add timespec.h.
61521         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
61522         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
61523         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
61524         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
61525         * modules/userspec (EXTRA_DIST): Add userspec.h.
61526         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
61527         * modules/utimens (EXTRA_DIST): Add utimens.h.
61528         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
61529         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
61530         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
61531         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
61532         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
61533         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
61534         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
61535         * modules/yesno (EXTRA_DIST): Add yesno.h.
61536
61537 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
61538
61539         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
61540
61541         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
61542         * m4/dev-ino.m4, same-inode.m4: Remove.
61543
61544         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
61545         * m4/acl.m4 (AC_FUNC_ACL):
61546         * m4/backupfile.m4 (gl_BACKUPFILE):
61547         * m4/c-strtod.m4 (gl_C99_STRTOLD):
61548         * m4/canon-host.m4 (gl_CANON_HOST):
61549         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
61550         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
61551         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
61552         * m4/cloexec.m4 (gl_CLOEXEC):
61553         * m4/close-stream.m4 (gl_CLOSE_STREAM):
61554         * m4/closeout.m4 (gl_CLOSEOUT):
61555         * m4/dirfd.m4 (gl_FUNC_DIRFD):
61556         * m4/dirname.m4 (gl_DIRNAME):
61557         * m4/exclude.m4 (gl_EXCLUDE):
61558         * m4/exitfail.m4 (gl_EXITFAIL):
61559         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
61560         * m4/file-type.m4 (gl_FILE_TYPE):
61561         * m4/filemode.m4 (gl_FILEMODE):
61562         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
61563         * m4/fpending.m4 (gl_FUNC_FPENDING):
61564         * m4/fprintftime.m4 (gl_FPRINTFTIME):
61565         * m4/fts.m4 (gl_FUNC_FTS):
61566         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
61567         * m4/getdate.m4 (gl_GETDATE):
61568         * m4/gethrxtime.m4 (gl_GETHRXTIME):
61569         * m4/getpagesize.m4 (gl_GETPAGESIZE):
61570         * m4/getpass.m4 (gl_FUNC_GETPASS):
61571         * m4/gettime.m4 (gl_GETTIME):
61572         * m4/getugroups.m4 (gl_GETUGROUPS):
61573         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
61574         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
61575         * m4/hard-locale.m4 (gl_HARD_LOCALE):
61576         * m4/hash.m4 (gl_HASH):
61577         * m4/idcache.m4 (gl_IDCACHE):
61578         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
61579         * m4/lchown.m4 (gl_FUNC_LCHOWN):
61580         * m4/long-options.m4 (gl_LONG_OPTIONS):
61581         * m4/lstat.m4 (gl_FUNC_LSTAT):
61582         * m4/md5.m4 (gl_MD5):
61583         * m4/memcasecmp.m4 (gl_MEMCASECMP):
61584         * m4/memcoll.m4 (gl_MEMCOLL):
61585         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
61586         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
61587         * m4/memxor.m4 (gl_MEMXOR):
61588         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
61589         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
61590         * m4/modechange.m4 (gl_MODECHANGE):
61591         * m4/mountlist.m4 (gl_MOUNTLIST):
61592         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61593         * m4/openat.m4 (gl_FUNC_OPENAT):
61594         * m4/pathmax.m4 (gl_PATHMAX):
61595         * m4/physmem.m4 (gl_PHYSMEM):
61596         * m4/posixtm.m4 (gl_POSIXTM):
61597         * m4/posixver.m4 (gl_POSIXVER):
61598         * m4/quote.m4 (gl_QUOTE):
61599         * m4/quotearg.m4 (gl_QUOTEARG):
61600         * m4/readtokens.m4 (gl_READTOKENS):
61601         * m4/readutmp.m4 (gl_READUTMP):
61602         * m4/regex.m4 (gl_REGEX):
61603         * m4/safe-read.m4 (gl_SAFE_READ):
61604         * m4/safe-write.m4 (gl_SAFE_WRITE):
61605         * m4/same.m4 (gl_SAME):
61606         * m4/save-cwd.m4 (gl_SAVE_CWD):
61607         * m4/savedir.m4 (gl_SAVEDIR):
61608         * m4/settime.m4 (gl_SETTIME):
61609         * m4/sha1.m4 (gl_SHA1):
61610         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
61611         * m4/stat-macros.m4 (gl_STAT_MACROS):
61612         * m4/stat-time.m4 (gl_STAT_TIME):
61613         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
61614         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
61615         * m4/strdup.m4 (gl_FUNC_STRDUP):
61616         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
61617         * m4/strndup.m4 (gl_FUNC_STRNDUP):
61618         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
61619         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
61620         * m4/time_r.m4 (gl_TIME_R):
61621         * m4/timespec.m4 (gl_TIMESPEC):
61622         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
61623         * m4/unlinkdir.m4 (gl_UNLINKDIR):
61624         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
61625         * m4/userspec.m4 (gl_USERSPEC):
61626         * m4/utimecmp.m4 (gl_UTIMECMP):
61627         * m4/utimens.m4 (gl_UTIMENS):
61628         * m4/xalloc.m4 (gl_XALLOC):
61629         * m4/xgetcwd.m4 (gl_XGETCWD):
61630         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
61631         * m4/xreadlink.m4 (gl_XREADLINK):
61632         * m4/xstrtod.m4 (gl_XSTRTOD):
61633         * m4/yesno.m4 (gl_YESNO):
61634         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
61635         to get the necessary .h files and whatnot.
61636
61637 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
61638             Bruno Haible  <bruno@clisp.org>
61639
61640         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
61641         /bin/sh understanding of '!' conditional negation.
61642
61643 2006-08-21  Jim Meyering  <jim@meyering.net>
61644
61645         * modules/openat (Depends-on): Really alphabetize.
61646
61647         * modules/acl (Depends-on): Add error and quote.
61648
61649         * check-module (find_included_lib_files): Add at-func.c to the
61650         ok-to-include-more-than-once white list.
61651
61652         * modules/openat (Depends-on): Add lstat.  Alphabetize.
61653
61654 2006-08-21  Bruno Haible  <bruno@clisp.org>
61655
61656         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61657         Emit a pkgdata_DATA variable only if some snippets add contents to it.
61658         Reported by Martin Lambers <marlam@marlam.de>.
61659
61660 2006-08-21  Bruno Haible  <bruno@clisp.org>
61661
61662         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
61663         specify an installation location, don't emit a noinst_LIBRARIES or
61664         noinst_LTLIBRARIES assignment.
61665
61666 2006-08-21  Bruno Haible  <bruno@clisp.org>
61667
61668         BeOS portability.
61669         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
61670         BeOS has mbrtowc() but no <wctype.h>.
61671
61672 2006-08-21  Bruno Haible  <bruno@clisp.org>
61673
61674         BeOS portability.
61675         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
61676         exist.
61677
61678 2006-08-21  Bruno Haible  <bruno@clisp.org>
61679
61680         BeOS portability.
61681         * lib/mbchar.h: Include <wctype.h> only if it exists.
61682
61683 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61684
61685         Remove files that are no longer needed by their respective modules.
61686         * m4/obstack.m4: Remove.
61687         * m4/strerror_r.m4: Remove.
61688         * m4/uint32_t.m4: Remove.
61689         * m4/uintptr_t.m4: Remove.
61690         * m4/ullong_max.m4: Remove.
61691         * m4/xstrtoimax.m4: Remove.
61692         * m4/xstrtoumax.m4: Remove.
61693
61694         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
61695         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
61696         dependencies now capture this.
61697
61698         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
61699         Do not use AC_LIBSOURCES, since gnulib modules now do this.
61700         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
61701         * m4/human.m4 (gl_HUMAN): Likewise.
61702         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
61703         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
61704
61705         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
61706
61707         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
61708         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
61709         stdint.
61710         * m4/human.m4 (gl_HUMAN): Likewise.
61711         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
61712         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
61713         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
61714         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
61715         * m4/xstrtol (gl_XSTRTOL): Likewise.
61716
61717         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
61718         AC_TYPE_LONG_LONG_INT.
61719         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
61720         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
61721         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
61722         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
61723
61724         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
61725         on stdbool.
61726
61727         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
61728         (gl_PREREQ_XSTRTOUL): Remove.
61729
61730         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
61731
61732         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
61733         mode.
61734
61735 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61736
61737         Add and change modules to make it easier for coreutils to use
61738         gnulib-tool.
61739         * modules/backupfile (Files): Remove m4/d-ino.m4.
61740         (Depends-on): Add d-ino.
61741         * modules/cycle-check (Depends-on): Add stdint.
61742         (lib_SOURCES): Add cycle-check.h.
61743         * modules/d-ino: New module.
61744         * modules/d-type: New module.
61745         * modules/error (Files): Remove m4/strerror_r.m4.
61746         * modules/filemode (Files): Add m4/st_dm_mode.m4.
61747         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
61748         m4/inttypes_h.m4, m4/uintmax_t.m4.
61749         (Depends-on): Add stdint.
61750         (lib_SOURCES): Add fsusage.h.
61751         * modules/getcwd (Files): Remove d-ino.m4.
61752         (Depends-on): Add d-ino.
61753         * modules/getndelim2 (Depends-on): Add stdint.
61754         * modules/glob (Files): Remove m4/d-type.m4.
61755         (Depends-on): Add d-type.
61756         * modules/host-os: New module.
61757         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
61758         m4/inttypes_h.m4, m4/uintmax_t.m4.
61759         * Depends-on: Add stdint.
61760         (lib_SOURCES): Add human.h.
61761         * modules/inttostr (Files): Remove m4/intmax_t.m4,
61762         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
61763         m4/uintmax_t.m4, m4/ulonglong.m4.
61764         (Depends-on): Add stdint.
61765         (EXTRA_DIST): Add inttostr.h.
61766         * modules/lchmod: New module.
61767         * modules/link-follow: New module.
61768         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
61769         (Depends-on): Add lchmod.
61770         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
61771         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
61772         (Depends-on): Add stdint.
61773         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
61774         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
61775         (Depends-on): Add stdint.
61776         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
61777         * modules/perl: New module.
61778         * modules/regex (Depends-on): Add stdint.
61779         * modules/rmdir-errno: New module.
61780         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
61781         m4/intmax_t.m4.
61782         (Depends-on): Add stdint.
61783         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
61784         m4/uintmax_t.m4.
61785         (Depends-on): Add stdint.
61786         * modules/unlink-busy: New module.
61787         * modules/utimecmp (Depends-on): Add stdint.
61788         * modules/uptime: New module.
61789         * modules/winsz-ioctl: New module.
61790         * modules/winsz-termios: New module.
61791         * modules/xnanosleep (Depends-on): Add nanosleep.
61792         * modules/ullong_max: Remove.
61793         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
61794         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
61795         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
61796         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
61797         (Depends-on): Add inttypes.
61798         (lib_SOURCES): Add xstrtol.h.
61799         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
61800         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
61801         * MODULES.html.sh: Move 'assert' into the assert section.
61802         Move 'dummy' into the linking section.
61803         Remove ullong_max.
61804         Add section for compatibility checks for POSIX:2001 functions,
61805         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
61806         winsz-ioctl, and winsz-termios into it.
61807         Add lchmod.
61808         Add top-level Misc section and put host-os, perl, and uptime
61809         into it.
61810
61811 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61812
61813         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
61814         now assume the stdint module.  Do not include inttypes.h.
61815         * lib/fsusage.h: Likewise.
61816         * lib/getndelim2.c: Likewise.
61817         * lib/human.h: Likewise.
61818         * lib/inttostr.h: Likewise.
61819         * lib/obstack.c: Likewise.
61820         * lib/regex_internal.h: Likewise.
61821         * lib/tempname.c: Likewise.
61822         * lib/utimecmp.c: Likewise.
61823         * lib/xstrtol.h: Likewise.
61824
61825         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
61826
61827         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
61828         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
61829         * lib/xtime.h: Likewise.
61830
61831 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61832
61833         * modules/openat (Files): Add lib/fchmodat.c.
61834         Fixes problem reported by Jay Youngman.
61835
61836 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61837
61838         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
61839         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
61840
61841 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
61842             Bruno Haible  <bruno@clisp.org>
61843
61844         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
61845         and is a script that invokes bison. Tighten the code. Add comments.
61846
61847 2006-08-18  Jim Meyering  <jim@meyering.net>
61848
61849         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
61850         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
61851         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
61852         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
61853
61854 2006-08-18  Bruno Haible  <bruno@clisp.org>
61855
61856         * modules/bison-i18n: New file.
61857         * MODULES.html.sh (Internationalization functions): Add it.
61858
61859 2006-08-18  Bruno Haible  <bruno@clisp.org>
61860
61861         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
61862         sys/statvfs.h. When getmntinfo was found, check its declaration and
61863         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
61864
61865 2006-08-18  Bruno Haible  <bruno@clisp.org>
61866
61867         * m4/bison-i18n.m4: New file, from bison.
61868
61869 2006-08-18  Bruno Haible  <bruno@clisp.org>
61870
61871         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
61872         (ME_DUMMY): Treat "kernfs" as a dummy.
61873         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
61874
61875 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
61876
61877         Update from coreutils.
61878
61879         2006-08-15  Jim Meyering  <jim@meyering.net>
61880
61881         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
61882
61883         2006-01-17  Jim Meyering  <jim@meyering.net>
61884
61885         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
61886
61887         2006-01-11  Jim Meyering  <jim@meyering.net>
61888
61889         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
61890         Check for the lchmod function.
61891
61892 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
61893
61894         Update from coreutils.
61895
61896         * lib/__fpending.h: Add copyright notice.
61897         * lib/fprintftime.h: Likewise.
61898         * lib/savedir.c: Use (C) in copyright notice.
61899         * lib/savedir.h: Likewise.
61900
61901         2006-08-15  Jim Meyering  <jim@meyering.net>
61902
61903         * lib/at-func.c: New file, with the logic of all emulated at-functions.
61904         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
61905         in support of the EXPECTED_ERRNO macro.
61906         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
61907         definitions.  Instead, define the appropriate symbols and include
61908         "at-func.c".
61909         * lib/mkdirat.c (mkdirat): Likewise.
61910         * lib/fchmodat.c (fchmodat): Likewise.
61911         (ENOSYS): Remove definition.
61912         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
61913         it.  Don't include "unistd--.h" -- it wasn't ever used.
61914
61915         2006-01-17  Jim Meyering  <jim@meyering.net>
61916
61917         Rewrite fts.c not to change the current working directory,
61918         by using openat, fstatat, fdopendir, etc..
61919
61920         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
61921         (HAVE_OPENAT_SUPPORT): Define.
61922         [_LIBC] (fchdir): Don't undef or define; no longer used.
61923         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
61924         Now, this `function' always succeeds, and consumes its file descriptor
61925         parameter -- so callers must not close such FDs.  Update callers.
61926         (diropen_fd, opendirat, cwd_advance_fd): New functions.
61927         (diropen): Add parameter, SP.  Adjust all callers.
61928         Implement using diropen_fd, rather than open.
61929         (fts_open): Initialize new member, fts_cwd_fd.
61930         Remove fts_rft-setting code.
61931         (fts_close): Close fts_cwd_fd, if necessary.
61932         (__opendir2): Define in terms of opendir or opendirat,
61933         depending on whether the FST_NOCHDIR flag is set.
61934         (fts_build): Since fts_safe_changedir consumes its FD, and since
61935         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
61936         and close the dup'd file descriptor upon failure.
61937         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
61938         (fts_safe_changedir): Tweak semantics to reflect that this function
61939         now calls cwd_advance_fd and hence consumes its FD argument.
61940         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
61941         [struct FTS] (fts_rft): Remove now-unused member.
61942         [struct FTS] (fts_cycle.state): Improve comment.
61943
61944         * lib/openat.c (openat_needs_fchdir): New function.
61945         * lib/openat.h (openat_needs_fchdir): Declare it.
61946
61947 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
61948
61949         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
61950         Problem and fix reported by Pádraig Brady in
61951         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
61952
61953 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61954
61955         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
61956
61957 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61958
61959         * lib/memcoll.c (memcoll): Optimize for the common case where the
61960         arguments are bytewise equal.
61961
61962 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61963
61964         * doc/regexprops-generic.texi: Add a copyright notice.
61965
61966 2006-08-15  Bruno Haible  <bruno@clisp.org>
61967
61968         * modules/tmpdir (License): Change to LGPL.
61969
61970 2006-08-15  Bruno Haible  <bruno@clisp.org>
61971
61972         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
61973         module.
61974
61975 2006-08-14  Simon Josefsson  <jas@extundo.com>
61976
61977         * config/srclist.txt: Add gnupload.
61978
61979 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61980
61981         Change copyright notice from LGPL 2 to GPL 2, since that's the
61982         standard form used in the gnulib repository.
61983         * tests/test-lock.c: Likewise.
61984         * tests/test-stdint.c: Likewise.
61985         * tests/test-tls.c: Likewise.
61986
61987         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
61988         prelude-manager.  User shorter URLs for GNU projects, without '?'.
61989         Add copyright notice.
61990
61991         * check-module: Add copyright notice.  Output a copyright
61992         notice if "--version" is specified.
61993         * modules/COPYING: New file.
61994         * tests/test-getaddrinfo.c: Add copyright notice.
61995         * tests/test-verify.c: Likewise.
61996
61997 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61998
61999         Change copyright notice from LGPL 2 to GPL 2, since that's the
62000         standard form used in the gnulib repository.
62001         * lib/lock.c: LGPL -> GPL.
62002         * lib/lock.h: Likewise.
62003         * lib/strnlen1.c: Likewise.
62004         * lib/strnlen1.h: Likewise.
62005         * lib/tls.c: Likewise.
62006         * lib/tls.h: Likewise.
62007         * lib/tmpdir.c: Likewise.
62008
62009         * lib/TODO: Remove; this belongs only in coreutils.
62010
62011 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62012
62013         Add copyright notices to long-enough files that lack them, since
62014         otherwise the files aren't clearly free.  Use the same notice that
62015         getdate.texi already uses.
62016         * doc/alloca-opt.texi: Add copyright notice.
62017         * doc/alloca.texi: Likewise.
62018         * doc/ctime.texi: Likewise.
62019         * doc/functions.texi: Likewise.
62020         * doc/gcd.texi: Likewise.
62021         * doc/gnulib-tool.texi: Likewise.
62022         * doc/inet_ntoa.texi: Likewise.
62023         * doc/visibility.texi: Likewise.
62024
62025         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
62026         * doc/quote.texi: Add copyright notice.
62027
62028         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
62029         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
62030         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
62031         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
62032         is now obsolete, and give a pointer to the Sun list.
62033         Add copyright notice.
62034
62035 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62036
62037         * config/srclistvars.sh: Add copyright notice.
62038
62039 2006-08-14  Eric Blake  <ebb9@byu.net>
62040
62041         Import the following change from libc:
62042
62043         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
62044
62045         Upstream bug 2997.
62046         * lib/misc/error.c: Add space between program name and message if file
62047         name is missing.
62048
62049 2006-08-12  Karl Berry  <karl@gnu.org>
62050
62051         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
62052         remove, these originate in gnulib now.
62053
62054 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62055
62056         * doc/Makefile (standards.info standards.html standards.dvi):
62057         Also depend on make-stds.texi.
62058
62059 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
62060
62061         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
62062         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
62063
62064         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
62065         in wchar_t.  Problem reported by Eric Blake.
62066
62067         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
62068         LEN is smaller than SIZE.  Suggested by Bruno Haible.
62069         Also, help the compiler to keep LEN in a register.
62070
62071 2006-08-11  Eric Blake  <ebb9@byu.net>
62072
62073         * users.txt: Sort.  Add tar.
62074
62075 2006-08-11  Bruno Haible  <bruno@clisp.org>
62076
62077         * users.txt: New file.
62078
62079 2006-08-11  Bruno Haible  <bruno@clisp.org>
62080
62081         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
62082         before <wchar.h>. Needed for OSF/1 and BSD/OS.
62083
62084 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62085
62086         * modules/snprintf (Depends-on): Remove minmax.
62087         (Maintainer): Add self and Bruno.
62088
62089 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62090
62091         * lib/.cppi-disable: Add snprintf.h, socket_.h.
62092         * lib/snprintf.c: Include <errno.h> and <limits.h>.
62093         (EOVERFLOW): Define if the system does not.
62094         Do not include "minmax.h"; it wasn't used.
62095         (snprintf): Don't assume size_t promotes to an unsigned type.
62096         Fix bug when generated string was too long for the buffer: the
62097         buffer's contents are supposed to be the initial prefix of the
62098         output.  Don't assume vasnprintf returns EOVERFLOW if the size
62099         exceeds INT_MAX; do the check ourselves.
62100
62101         Import the following changes from libc:
62102
62103         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
62104
62105         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
62106         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
62107         set wc to the byte which couldn't be converted.
62108         (re_string_reconstruct): Don't clear valid_raw_len before calling
62109         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
62110         tip_context using re_string_context_at.
62111
62112         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
62113
62114         * lib/posix/regex.h: g++ still cannot handled [restrict].
62115
62116         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
62117
62118         * lib/posix/regex.h: Remove special handling for VMS.
62119
62120 2006-08-10  Jim Meyering  <jim@meyering.net>
62121
62122         * modules/same-inode: New module.
62123         * modules/dev-ino: New module.
62124         * modules/cycle-check: Depend on these modules, rather than simply
62125         including their .h files.
62126         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
62127         required via m4/cycle-check.m4.
62128         * modules/same: Depend on new same-inode module, rather than
62129         including same-inode.h.
62130         * modules/chdir-safer: New file.
62131
62132         * modules/chown (Depends-on): Add stat-macros.
62133
62134 2006-08-10  Jim Meyering  <jim@meyering.net>
62135
62136         * m4/cycle-check.m4: New file.
62137         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
62138         * m4/dev-ino.m4, m4/same-inode.m4: New files.
62139
62140 2006-08-10  Eric Blake  <ebb9@byu.net>
62141
62142         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
62143         in from original proposal.
62144
62145 2006-08-10  Eric Blake  <ebb9@byu.net>
62146         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
62147
62148         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
62149         namespace.
62150
62151 2006-08-10  Bruno Haible  <bruno@clisp.org>
62152
62153         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
62154         as well.
62155
62156 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62157
62158         Sync from coreutils.
62159
62160         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
62161
62162         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
62163         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
62164
62165 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62166
62167         * modules/restrict: Remove; no longer needed now that we assume
62168         Autoconf 2.59 or later.
62169         * MODULES.html.sh: Remove 'restrict'.
62170         * modules/argp (Depends-on): Remove 'restrict'.
62171         * modules/base64 (Depends-on): Likewise.
62172         * modules/gc (Depends-on): Likewise.
62173         * modules/getaddrinfo (Depends-on): Likewise.
62174         * modules/glob (Depends-on): Likewise.
62175         * modules/inet_ntop (Depends-on): Likewise.
62176         * modules/inet_pton (Depends-on): Likewise.
62177         * modules/memxor (Depends-on): Likewise.
62178         * modules/regex (Depends-on): Likewise.
62179         * modules/strtok_r (Depends-on): Likewise.
62180         * modules/time_r (Depends-on): Likewise.
62181
62182 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62183
62184         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
62185         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
62186         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62187         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
62188         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62189         * m4/memxor.m4 (gl_MEMXOR): Likewise.
62190         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
62191         gl_C_RESTRICT replaced by AC_C_RESTRICT.
62192
62193         Merge from coreutils.
62194         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
62195         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
62196         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
62197         * m4/time_r.m4 (gl_TIME_R): Likewise.
62198
62199 2006-08-09  Karl Berry  <karl@gnu.org>
62200
62201         * config/srclist.txt: no more gettext-tools, per Bruno.
62202
62203 2006-08-08  Eric Blake  <ebb9@byu.net>
62204
62205         * modules/verror: New module.
62206         * MODULES.html.sh: Document it.
62207
62208 2006-08-08  Eric Blake  <ebb9@byu.net>
62209
62210         * lib/verror.h, lib/verror.c: New files.
62211
62212 2006-08-08  Eric Blake  <ebb9@byu.net>
62213
62214         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
62215         verror_at_line output complies with GNU Coding Standards even when
62216         file is NULL.
62217
62218 2006-08-07  Bruno Haible  <bruno@clisp.org>
62219
62220         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
62221         versions of AIX.
62222         Reported by Ralf Wildenhues.
62223
62224 2006-08-07  Bruno Haible  <bruno@clisp.org>
62225
62226         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
62227         in an AC_DEFUN. Needed so that the autoconf snippets can use
62228         AC_REQUIRE.
62229
62230 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62231
62232         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62233         Initialize pkgdata_DATA.
62234         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
62235         overriding it.
62236
62237 2006-08-06  Eric Blake  <ebb9@byu.net>
62238
62239         * lib/error.h: Fold in some upstream changes from glibc.
62240         * lib/error.c: Likewise.
62241
62242 2006-08-04  Bruno Haible  <bruno@clisp.org>
62243
62244         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62245         Make the mostlyclean-local rule depend on mostlyclean-generic.
62246         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
62247
62248 2006-07-31  Bruno Haible  <bruno@clisp.org>
62249
62250         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
62251         <stdlib.h>, <string.h>.
62252
62253 2006-07-30  Bruno Haible  <bruno@clisp.org>
62254
62255         * modules/readlink (License): Change to LGPL.
62256
62257 2006-07-30  Bruno Haible  <bruno@clisp.org>
62258
62259         * modules/javaversion (Makefile.am): Distribute javaversion.java and
62260         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
62261         set PKGDATADIR to point to it.
62262
62263 2006-07-30  Bruno Haible  <bruno@clisp.org>
62264
62265         * modules/csharpexec (configure.ac): Comment out macro invocation.
62266         * modules/javaexec (configure.ac): Likewise.
62267         * modules/javacomp-script (configure.ac): Likewise.
62268
62269         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
62270
62271 2006-07-30  Bruno Haible  <bruno@clisp.org>
62272
62273         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
62274         linked-list.
62275
62276 2006-07-30  Bruno Haible  <bruno@clisp.org>
62277
62278         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
62279
62280 2006-07-30  Bruno Haible  <bruno@clisp.org>
62281
62282         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62283         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
62284         get removed.
62285
62286 2006-07-29  Bruno Haible  <bruno@clisp.org>
62287
62288         Make it possible for gnulib-tool to work with locally modified or
62289         augmented gnulib repositories.
62290         * gnulib-tool (func_usage): Document --local-dir option.
62291         (local_gnulib_dir): New variable.
62292         Handle --local-dir option.
62293         (func_lookup_file): New function.
62294         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
62295         (func_get_description, func_get_filelist, func_get_description,
62296         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
62297         func_get_automake_snippet, func_get_include_directive,
62298         func_get_license, func_get_maintainer): Use func_lookup_file.
62299         (func_import, func_create_testdir): Use func_lookup_file.
62300
62301 2006-07-29  Bruno Haible  <bruno@clisp.org>
62302
62303         * modules/setenv (Depends-on): Add unistd.
62304
62305 2006-07-29  Bruno Haible  <bruno@clisp.org>
62306
62307         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
62308
62309 2006-07-29  Bruno Haible  <bruno@clisp.org>
62310
62311         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
62312
62313 2006-07-29  Bruno Haible  <bruno@clisp.org>
62314
62315         * gnulib-tool (import, update): If there is no Makefile.am, look at
62316         aclocal.m4, instead of bailing out.
62317
62318 2006-07-29  Bruno Haible  <bruno@clisp.org>
62319
62320         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
62321         Categorize the options by when they are useful.
62322
62323 2006-07-29  Bruno Haible  <bruno@clisp.org>
62324
62325         * gnulib-tool (func_usage): Document option --no-libtool.
62326         Handle option --no-libtool.
62327         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
62328         for changed semantics of $libtool variable.
62329         (func_import): Likewise. If libtool is not used, show this through
62330         an option --no-libtool.
62331         (func_create_testdir): Update.
62332
62333 2006-07-29  Bruno Haible  <bruno@clisp.org>
62334
62335         * gnulib-tool (func_import): Extend error message about missing
62336         --doc-base.
62337
62338 2006-07-29  Bruno Haible  <bruno@clisp.org>
62339
62340         * gnulib-tool (func_import): Don't create the $docbase directory if
62341         there is no file to store there.
62342
62343 2006-07-29  Bruno Haible  <bruno@clisp.org>
62344
62345         * gnulib-tool (autoconf_minversion): If a --dir option is given and
62346         relevant, look for configure.ac there, not in the current directory.
62347         Also use a simple search for AC_PREREQ, not "autoconf --trace".
62348
62349 2006-07-29  Bruno Haible  <bruno@clisp.org>
62350
62351         * gnulib-tool (SORT): New variable.
62352         (func_usage): Undocument --assume-autoconf option.
62353         Remove --assume-autoconf option handling.
62354         (autoconf_minversion): Determine from the contents of configure.ac.
62355         (func_import): Remove autoconf_minversion handling.
62356         Suggested by Eric Blake.
62357
62358 2006-07-29  Bruno Haible  <bruno@clisp.org>
62359
62360         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
62361
62362 2006-07-29  Bruno Haible  <bruno@clisp.org>
62363
62364         * config/srclist.txt (*setenv.[ch]): Remove rules.
62365
62366 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62367
62368         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
62369
62370 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62371
62372         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
62373         arpa/inet.h.
62374
62375 2006-07-28  Simon Josefsson  <jas@extundo.com>
62376
62377         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
62378         * modules/inet_pton (Depends-on): Likewise.
62379
62380 2006-07-28  Simon Josefsson  <jas@extundo.com>
62381
62382         * m4/netinet_in_h.m4: New file.
62383
62384 2006-07-28  Simon Josefsson  <jas@extundo.com>
62385
62386         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
62387         #include's.
62388
62389 2006-07-28  Simon Josefsson  <jas@extundo.com>
62390
62391         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
62392         #include's.
62393
62394 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
62395
62396         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
62397         setgid on directories only if they set these bits.
62398         * lib/modechange.h: Remove obsolete comment about masks.
62399
62400 2006-07-28  Eric Blake  <ebb9@byu.net>
62401
62402         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
62403         macro expansion.
62404
62405 2006-07-28  Bruno Haible  <bruno@clisp.org>
62406
62407         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
62408
62409 2006-07-28  Bruno Haible  <bruno@clisp.org>
62410
62411         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
62412
62413 2006-07-28  Bruno Haible  <bruno@clisp.org>
62414
62415         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
62416         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
62417         Define fallbacks.
62418         Avoids link error on FreeBSD 4.x.
62419         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62420
62421         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
62422         encoding.
62423         * lib/mbswidth.c (iswcntrl): Likewise.
62424
62425 2006-07-27  Bruno Haible  <bruno@clisp.org>
62426
62427         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
62428         test.
62429
62430 2006-07-27  Bruno Haible  <bruno@clisp.org>
62431
62432         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
62433         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
62434         defined.
62435
62436 2006-07-26  Eric Blake  <ebb9@byu.net>
62437
62438         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
62439
62440 2006-07-26  Eric Blake  <ebb9@byu.net>
62441
62442         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
62443         like mingw that lack mkstemp.
62444         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
62445         avoid compilation warning on mingw.
62446
62447 2006-07-26  Bruno Haible  <bruno@clisp.org>
62448
62449         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
62450         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
62451         INT_FAST*_MIN, INTPTR_MIN.
62452
62453 2006-07-25  Bruno Haible  <bruno@clisp.org>
62454
62455         * modules/version-etc (Depends-on): Add stdarg.
62456
62457 2006-07-25  Bruno Haible  <bruno@clisp.org>
62458
62459         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
62460         complex commands.
62461
62462 2006-07-25  Bruno Haible  <bruno@clisp.org>
62463
62464         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
62465         defined in <stdarg.h> or config.h.
62466
62467 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
62468
62469         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
62470         (gl_STDIO_SAFER): Remove.
62471
62472 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
62473
62474         * MODULES.html.sh (File stream based Input/Output):
62475         Add fopen-safer, tmpfile-safer; remove stdio-safer.
62476         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
62477         * modules/fopen-safer, modules/tmpfile-safer: New files.
62478         * modules/stdio-safer: Remove.
62479
62480 2006-07-24  Bruno Haible  <bruno@clisp.org>
62481
62482         * modules/tmpdir: New file.
62483         * MODULES.html.sh (File system functions): Add it.
62484
62485 2006-07-24  Bruno Haible  <bruno@clisp.org>
62486
62487         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
62488         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
62489
62490 2006-07-24  Bruno Haible  <bruno@clisp.org>
62491
62492         * modules/clean-temp: New file.
62493
62494 2006-07-24  Bruno Haible  <bruno@clisp.org>
62495
62496         * m4/tmpdir.m4: New file, from GNU gettext.
62497
62498 2006-07-24  Bruno Haible  <bruno@clisp.org>
62499
62500         * lib/tmpdir.h: New file, from GNU gettext.
62501         * lib/tmpdir.c: New file, from GNU gettext.
62502
62503 2006-07-24  Bruno Haible  <bruno@clisp.org>
62504
62505         * lib/clean-temp.h: New file, from GNU gettext.
62506         * lib/clean-temp.c: New file, from GNU gettext.
62507
62508 2006-07-23  Eric Blake  <ebb9@byu.net>
62509
62510         * modules/stdio-safer (Files): Add tmpfile-safer.c.
62511         (Depends-on): Add binary-io.
62512
62513 2006-07-23  Eric Blake  <ebb9@byu.net>
62514
62515         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
62516
62517 2006-07-23  Eric Blake  <ebb9@byu.net>
62518
62519         * lib/tmpfile-safer.c: New file.
62520         * lib/stdio-safer.h (fopen_safer): Add prototype.
62521         * lib/stdio--.h (tmpfile): Make safer.
62522
62523 2006-07-23  Bruno Haible  <bruno@clisp.org>
62524
62525         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
62526         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
62527         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
62528         gl_linked_remove_at): Use it.
62529
62530 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62531         and Simon Josefsson <jas@extundo.com>
62532
62533         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
62534
62535         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
62536
62537 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62538
62539         * modules/close-stream: New file.
62540         * modules/closeout (Description): Make it clear that it exits
62541         with a diagnostic on error.
62542         (Depends-on): Add close-stream.  Remove fpending, stdbool.
62543         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
62544
62545 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62546
62547         * m4/close-stream.m4: New file.
62548
62549 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62550
62551         * lib/close-stream.c, lib/close-stream.h: New files.
62552
62553 2006-07-22  Bruno Haible  <bruno@clisp.org>
62554
62555         Merge from GNU gettext 0.15.
62556
62557         2006-05-01  Bruno Haible  <bruno@clisp.org>
62558
62559                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
62560
62561         2006-07-22  Bruno Haible  <bruno@clisp.org>
62562
62563                 * modules/javaversion: New file.
62564                 * MODULES.html.sh (Java): Add javaversion.
62565
62566         2006-03-12  Bruno Haible  <bruno@clisp.org>
62567
62568                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
62569
62570         2005-12-04  Bruno Haible  <bruno@clisp.org>
62571
62572                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
62573                 (untested).
62574
62575         2006-06-21  Bruno Haible  <bruno@clisp.org>
62576
62577                 Avoid warnings from recent versions of mcs.
62578                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
62579                 -o, -L, -r any more. Use options documented since mcs-1.0
62580                 instead. Similarly for -g.
62581
62582         2005-12-04  Bruno Haible  <bruno@clisp.org>
62583
62584                 * build-aux/csharpcomp.sh.in: Suffix for resources is
62585                 .resources, not .resource.
62586
62587         2005-07-09  Bruno Haible  <bruno@clisp.org>
62588
62589                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
62590                 add a .dll suffix.
62591                 Reported by Mark Junker <mjscod@gmx.de>.
62592
62593         2006-07-22  Bruno Haible  <bruno@clisp.org>
62594
62595                 * modules/gettext: Upgrade to gettext-0.15.
62596                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
62597                 m4/visibility.m4.
62598                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
62599
62600 2006-07-22  Bruno Haible  <bruno@clisp.org>
62601
62602         Merge from GNU gettext 0.15.
62603
62604         2006-03-25  Bruno Haible  <bruno@clisp.org>
62605
62606                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
62607
62608         2006-07-21  Bruno Haible  <bruno@clisp.org>
62609
62610                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
62611                 "1.1".
62612
62613         2006-05-09  Bruno Haible  <bruno@clisp.org>
62614
62615                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
62616                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
62617                 for the conftestver execution.
62618
62619         2006-05-01  Bruno Haible  <bruno@clisp.org>
62620
62621                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
62622                 optional target-version argument. Verify that the compiler
62623                 groks source of the specified source-version, or add -source
62624                 option as necessary. Verify that the compiler produces
62625                 bytecode in the specified target-version, or add -target and
62626                 -source options as necessary. Make the result of the test
62627                 available as variable CONF_JAVAC. Also log error output in
62628                 config.log.
62629
62630         2006-03-11  Bruno Haible  <bruno@clisp.org>
62631
62632                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
62633
62634         2006-05-09  Bruno Haible  <bruno@clisp.org>
62635
62636                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
62637                 CLASSPATH_SEPARATOR to a semicolon.
62638
62639         2006-03-12  Bruno Haible  <bruno@clisp.org>
62640
62641                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
62642                 available as variable CONF_JAVA, for subsequent autoconf
62643                 tests. Also log error output in config.log.
62644
62645         2006-07-19  Bruno Haible  <bruno@clisp.org>
62646
62647                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
62648                 that getline works on glibc2 systems. Needed to avoid trouble
62649                 in relocatable.c.
62650                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
62651
62652         2005-12-04  Bruno Haible  <bruno@clisp.org>
62653
62654                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
62655                 launcher (untested).
62656
62657         2005-12-04  Bruno Haible  <bruno@clisp.org>
62658
62659                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
62660
62661         2006-07-22  Bruno Haible  <bruno@clisp.org>
62662
62663                 * gettext.m4: Update from GNU gettext-0.15.
62664                 * nls.m4: Likewise.
62665                 * po.m4: Likewise.
62666                 * inttypes-pri.m4: Likewise.
62667                 * inttypes-h.m4: Renamed from inttypes.m4.
62668                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
62669
62670 2006-07-22  Bruno Haible  <bruno@clisp.org>
62671
62672         Merge from GNU gettext 0.15.
62673
62674         2005-07-05  Bruno Haible  <bruno@clisp.org>
62675
62676                 * printf-args.c (printf_fetchargs): Work around broken
62677                 definition of wint_t on mingw.
62678
62679         2005-02-12  Bruno Haible  <bruno@clisp.org>
62680
62681                 * xallocsa.h: Add extern "C" for C++.
62682
62683         2006-05-17  Bruno Haible  <bruno@clisp.org>
62684
62685                 Cygwin portability.
62686                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
62687
62688         2006-04-30  Bruno Haible  <bruno@clisp.org>
62689
62690                 * progreloc.c: Include <mach-o/dyld.h> if available.
62691                 (find_executable): Use _NSGetExecutablePath when possible.
62692
62693         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
62694
62695                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
62696                 function.
62697
62698         2005-12-29  Bruno Haible  <bruno@clisp.org>
62699
62700                 * progreloc.c (set_program_name_and_installdir): Fix
62701                 compilation error.
62702
62703         2005-12-04  Bruno Haible  <bruno@clisp.org>
62704
62705                 Cygwin portability.
62706                 * progreloc.c: Include <windows.h> also on Cygwin.
62707                 (find_executable): Add support for Cygwin.
62708                 (set_program_name_and_installdir): Handle also platforms with
62709                 nonempty EXEEXT.
62710
62711         2006-07-11  Bruno Haible  <bruno@clisp.org>
62712
62713                 * javacomp.c: Fix a comment.
62714                 Reported by Jim Meyering.
62715
62716         2006-04-30  Bruno Haible  <bruno@clisp.org>
62717
62718                 * javacomp.h (compile_java_class): Add source_version,
62719                 target_version arguments.
62720                 * javacomp.c: Rewritten to choose only a compiler that
62721                 respects the specified source_version and target_version.
62722
62723         2006-06-27  Bruno Haible  <bruno@clisp.org>
62724
62725                 Assume correct S_ISDIR macro.
62726                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
62727
62728         2006-07-22  Bruno Haible  <bruno@clisp.org>
62729
62730                 * javaversion.h: New file, from GNU gettext.
62731                 * javaversion.c: New file, from GNU gettext.
62732                 * javaversion.java: New file, from GNU gettext.
62733                 * javaversion.class: New file, from GNU gettext.
62734
62735         2006-05-17  Bruno Haible  <bruno@clisp.org>
62736
62737                 Cygwin portability.
62738                 * javaexec.c (execute_java_class): Test for jview program
62739                 also on Cygwin.
62740
62741         2006-04-09  Bruno Haible  <bruno@clisp.org>
62742
62743                 * fatal-signal.c: Don't include string.h.
62744                 (at_fatal_signal): Use a copying loop instead of memcpy.
62745
62746         2005-12-04  Bruno Haible  <bruno@clisp.org>
62747
62748                 * csharpexec.c: Add support for 'clix' launcher (untested).
62749                 (execute_csharp_using_sscli): New function.
62750                 (execute_csharp_program): Call it.
62751
62752         2006-06-21  Bruno Haible  <bruno@clisp.org>
62753
62754                 Avoid warnings from recent versions of mcs.
62755                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
62756                 -o, -L, -r any more. Use options documented since mcs-1.0
62757                 instead. Similarly for -g.
62758
62759         2005-07-09  Bruno Haible  <bruno@clisp.org>
62760
62761                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
62762                 add a .dll suffix.
62763                 Reported by Mark Junker <mjscod@gmx.de>.
62764
62765         2006-06-17  Bruno Haible  <bruno@clisp.org>
62766
62767                 * config.charset: Update for NetBSD 3.0.
62768
62769         2006-05-17  Bruno Haible  <bruno@clisp.org>
62770
62771                 Cygwin portability.
62772                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
62773
62774         2006-05-16  Bruno Haible  <bruno@clisp.org>
62775
62776                 * localcharset.c [CYGWIN]: Include <windows.h>.
62777                 (get_charset_aliases): For Cygwin, return the same CPxxx
62778                 aliases list as under WIN32.
62779                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
62780                 the environment variables. Fall back to GetACP().
62781
62782         2006-04-05  Bruno Haible  <bruno@clisp.org>
62783
62784                 * config.charset: Update Juan Manuel Guerrero's address.
62785
62786         2005-02-12  Bruno Haible  <bruno@clisp.org>
62787
62788                 * allocsa.h: Add extern "C" for C++.
62789
62790         2005-02-10  Bruno Haible  <bruno@clisp.org>
62791
62792                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
62793                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
62794
62795         2006-07-22  Bruno Haible  <bruno@clisp.org>
62796
62797                 * gettext.h: Update to GNU gettext-0.15.
62798
62799 2006-07-22  Bruno Haible  <bruno@clisp.org>
62800
62801         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
62802         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
62803         lib-prefix.m4, longdouble.m4, ssize_t.m4.
62804
62805 2006-07-21  Eric Blake  <ebb9@byu.net>
62806
62807         * modules/stdlib-safer: New file.
62808         * MODULES.html.sh (File stream based Input/Output): Add
62809         stdlib-safer.
62810
62811 2006-07-21  Eric Blake  <ebb9@byu.net>
62812
62813         * lib/stdlib-safer.h: New file from coreutils, required by
62814         stdlib--.h.
62815
62816 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
62817
62818         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
62819
62820 2006-07-20  Bruno Haible  <bruno@clisp.org>
62821
62822         * gnulib-tool: Recognize new option --assume-autoconf.
62823         (autoconf_minversion): New variable.
62824         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
62825
62826 2006-07-20  Bruno Haible  <bruno@clisp.org>
62827
62828         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
62829
62830 2006-07-19  Derek R. Price  <derek@ximbiot.com>
62831
62832         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
62833         Reindent and repaginate.
62834
62835 2006-07-19  Derek Price  <derek@ximbiot.com>
62836
62837         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
62838         Correct grammar.
62839
62840 2006-07-17  Bruno Haible  <bruno@clisp.org>
62841
62842         * modules/list: New file.
62843         * modules/array-list: New file.
62844         * modules/carray-list, modules/carray-list-tests: New files.
62845         * modules/linked-list, modules/linked-list-tests: New files.
62846         * modules/avltree-list, modules/avltree-list-tests: New files.
62847         * modules/rbtree-list, modules/rbtree-list-tests: New files.
62848         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
62849         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
62850         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
62851         * modules/oset: New file.
62852         * modules/array-oset: New file.
62853         * modules/avltree-oset, modules/avltree-oset-tests: New files.
62854         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
62855         * tests/test-carray_list.c: New file.
62856         * tests/test-linked_list.c: New file.
62857         * tests/test-avltree_list.c: New file.
62858         * tests/test-rbtree_list.c: New file.
62859         * tests/test-linkedhash_list.c: New file.
62860         * tests/test-avltreehash_list.c: New file.
62861         * tests/test-rbtreehash_list.c: New file.
62862         * tests/test-avltree_oset.c: New file.
62863         * tests/test-rbtree_oset.c: New file.
62864         * MODULES.html.sh (Container data structures): New section.
62865
62866 2006-07-17  Bruno Haible  <bruno@clisp.org>
62867
62868         * m4/gl_list.m4: New file.
62869
62870 2006-07-17  Bruno Haible  <bruno@clisp.org>
62871
62872         * lib/gl_list.h: New file.
62873         * lib/gl_list.c: New file.
62874         * lib/gl_array_list.h: New file.
62875         * lib/gl_array_list.c: New file.
62876         * lib/gl_carray_list.h: New file.
62877         * lib/gl_carray_list.c: New file.
62878         * lib/gl_linked_list.h: New file.
62879         * lib/gl_linked_list.c: New file.
62880         * lib/gl_anylinked_list1.h: New file.
62881         * lib/gl_anylinked_list2.h: New file.
62882         * lib/gl_avltree_list.h: New file.
62883         * lib/gl_avltree_list.c: New file.
62884         * lib/gl_anyavltree_list1.h: New file.
62885         * lib/gl_anyavltree_list2.h: New file.
62886         * lib/gl_rbtree_list.h: New file.
62887         * lib/gl_rbtree_list.c: New file.
62888         * lib/gl_anyrbtree_list1.h: New file.
62889         * lib/gl_anyrbtree_list2.h: New file.
62890         * lib/gl_anytree_list1.h: New file.
62891         * lib/gl_anytree_list2.h: New file.
62892         * lib/gl_linkedhash_list.h: New file.
62893         * lib/gl_linkedhash_list.c: New file.
62894         * lib/gl_anyhash_list1.h: New file.
62895         * lib/gl_anyhash_list2.h: New file.
62896         * lib/gl_avltreehash_list.h: New file.
62897         * lib/gl_avltreehash_list.c: New file.
62898         * lib/gl_rbtreehash_list.h: New file.
62899         * lib/gl_rbtreehash_list.c: New file.
62900         * lib/gl_anytreehash_list1.h: New file.
62901         * lib/gl_anytreehash_list2.h: New file.
62902
62903         * lib/gl_oset.h: New file.
62904         * lib/gl_oset.c: New file.
62905         * lib/gl_array_oset.h: New file.
62906         * lib/gl_array_oset.c: New file.
62907         * lib/gl_avltree_oset.h: New file.
62908         * lib/gl_avltree_oset.c: New file.
62909         * lib/gl_rbtree_oset.h: New file.
62910         * lib/gl_rbtree_oset.c: New file.
62911         * lib/gl_anytree_oset.h: New file.
62912
62913 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
62914
62915         * m4/mkancesdirs.m4: New file.
62916         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
62917         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
62918         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
62919         it.
62920
62921 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
62922
62923         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
62924         * lib/mkancesdirs.h: New files.
62925         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
62926         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
62927         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
62928         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
62929         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
62930         callers changed.  Revamp internals significantly, by not
62931         attempting to create directories that are temporarily more
62932         permissive than the final results.  Do not attempt to use
62933         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
62934         This removes some race conditions, fixes some bugs, and simplifies
62935         things.  Use new dirchownmod function to do owner and mode changes.
62936         * lib/mkdir-p.h: Likewise.
62937         * lib/modechange.c (octal_to_mode): New function.
62938         (struct mode_change): New member mentioned.
62939         (make_node_op_equals): New arg mentioned.  All callers changed.
62940         (mode_compile): Keep track of which mode bits the user has explicitly
62941         mentioned.
62942         (mode_adjust): New arg DIR, so that we implement the X op correctly.
62943         New arg PMODE_BITS, to keep track of which mode bits the user
62944         mentioned; it treats S_ISUID and S_ISGID speciall.
62945         All callers changed.
62946         * lib/modechange.h: Likewise.
62947
62948 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
62949
62950         * MODULES.html.sh: Add mkancestors.
62951         * modules/mkancesdirs: New module.
62952         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
62953         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
62954         The chdir-safer and afs files are now orphans; I'll remove them
62955         unless someone speaks up.
62956         Add lib/dirchownmod.c, lib/dirchownmod.h.
62957         (Depends-on): Remove alloca, chown, save-cwd, dirname.
62958         Add lchown, mkancesdirs.
62959         (Maintainer): Add self.
62960
62961 2006-07-15  Karl Berry  <karl@gnu.org>
62962
62963         * gnulib-tool: help message wording/arrangement.
62964
62965 2006-07-14  Simon Josefsson  <jas@extundo.com>
62966
62967         * doc/gnulib.texi (Libtool and Windows): New section.
62968
62969 2006-07-12  Simon Josefsson  <jas@extundo.com>
62970
62971         * modules/gendocs (License): Fix license, approved by Karl.
62972
62973 2006-07-12  Eric Blake  <ebb9@byu.net>
62974
62975         * MODULES.html.sh: Add gendocs.
62976
62977 2006-07-11  Eric Blake  <ebb9@byu.net>
62978
62979         * modules/fdl: New module, to install doc/fdl.texi.
62980         * MODULES.html.sh: Add new section for documentation modules.
62981         * gnulib-tool: Avoid space-tab.
62982         (--doc-base): New option, to manage files from doc.
62983
62984 2006-07-11  Eric Blake  <ebb9@byu.net>
62985
62986         * m4/absolute-header.m4: Fix comments to match recent change.
62987
62988 2006-07-11  Eric Blake  <ebb9@byu.net>
62989
62990         * gnulib-tool: List --doc-base before --tests-base.
62991
62992 2006-07-11  Derek R. Price  <derek@ximbiot.com>
62993
62994         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
62995
62996 2006-07-11  Bruno Haible  <bruno@clisp.org>
62997
62998         * README: Mention where to put documentation.
62999
63000 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63001
63002         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
63003
63004 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
63005
63006         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
63007         to stdint.m4.
63008
63009 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
63010
63011         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
63012         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
63013         "no/such/file/stdint.h" when there is no such file, so that
63014         the resulting C code can be parsed by dodgy compilers.
63015         Problems reported by Bob Proulx.
63016
63017 2006-07-10  Derek R. Price  <derek@ximbiot.com>
63018
63019         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
63020         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
63021         macros into the GNU _D_EXACT_NAMLEN.
63022         * lib/savedir.c:  Likewise.
63023         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
63024
63025 2006-07-10  Derek R. Price  <derek@ximbiot.com>
63026         and Paul Eggert  <eggert@cs.ucla.edu>
63027
63028         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
63029         * m4/savedir.m4:
63030         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
63031         macros into the GNU _D_EXACT_NAMLEN.
63032
63033 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63034
63035         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
63036         around the absolute name, to work around a problem with the HP-UX
63037         11.23 native C compiler, reported by Bob Proulx.
63038
63039 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63040
63041         * doc/maintain.texi, make-stds.texi: Sync from
63042         <http://savannah.gnu.org/projects/gnustandards>.
63043
63044 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63045
63046         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
63047
63048 2006-07-09  Jim Meyering  <jim@meyering.net>
63049
63050         * m4/glob.m4: Remove a doubled word in a comment.
63051
63052 2006-07-09  Jim Meyering  <jim@meyering.net>
63053
63054         * lib/argp-pv.c: Remove a doubled word in a comment.
63055         * lib/check-version.c (check_version): Likewise.
63056         * lib/javacomp.c (compile_java_class): Likewise.
63057
63058 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
63059
63060         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
63061         for the benefit of people using Autoconf 2.60.  If you want to
63062         support older Autoconf versions you can copy m4/onceonly_2_57.m4
63063         (or m4/onceonly.m4, if pre-2.57) manually.
63064
63065 2006-07-08  Jim Meyering  <jim@meyering.net>
63066
63067         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
63068         comment.
63069         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
63070         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
63071         comment.
63072
63073 2006-07-08  Jim Meyering  <jim@meyering.net>
63074
63075         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
63076
63077 2006-07-07  Simon Josefsson  <jas@extundo.com>
63078
63079         * tests/test-crc.c: Change expected crc value, the test vector
63080         were probably computed using the old broken crc.c?
63081
63082 2006-07-06  Simon Josefsson  <jas@extundo.com>
63083
63084         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
63085         now the canonical place for the M4 file).
63086
63087         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
63088         from the sys_socket dependency now.
63089
63090         * modules/inet_pton (Files): Ditto.
63091
63092         * modules/inet_ntop (Files): Ditto.
63093
63094 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63095
63096         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
63097         not gl_PREREQ_GETUSERSHELL.
63098
63099 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63100
63101         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
63102         with only one argument, for Autoconf 2.60.
63103         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
63104         expand to nothing, so add a shell command to avoid syntax error.
63105         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
63106
63107 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63108
63109         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
63110
63111 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63112
63113         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
63114         no longer needed.  Check for isblank decl.
63115         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
63116         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
63117         of existence.
63118
63119 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63120
63121         * lib/getloadavg.c: Use __VMS, not VMS.
63122         * lib/getopt.c: Likewise.
63123         * lib/getpagesize.h: Likewise.
63124         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
63125         and probably does not work.
63126
63127 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63128
63129         * lib/.cppi-disable: Add wcwidth.
63130         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
63131         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
63132         (ISGRAPH): Remove.  All uses changed to isgraph.
63133         (FOLD) [!defined _LIBC]: Remove special case.
63134         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
63135         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
63136         HAVE_ISBLANK.
63137         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
63138         case.
63139
63140 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
63141
63142         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
63143         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
63144         brackets.  Other minor changes to suppress some compiler
63145         warnings.
63146
63147 2006-07-06  Derek R. Price  <derek@ximbiot.com>
63148         and Paul Eggert  <eggert@cs.ucla.edu>
63149
63150         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
63151         of invoking obsolescent AC_HEADER_DIRENT macro.
63152         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63153         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
63154         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63155         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
63156         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
63157         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63158         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
63159         * m4/readdir.m4: Remove; no longer needed.
63160
63161 2006-07-06  Derek R. Price  <derek@ximbiot.com>
63162         and Paul Eggert  <eggert@cs.ucla.edu>
63163
63164         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
63165         Don't worry about this obsolete case any more.
63166         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
63167         directories.
63168         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
63169         worry about this obsolete case any more.
63170         * lib/fts.c: Likewise.
63171         * lib/getcwd.c: Likewise.
63172         * lib/glob.h: Likewise.
63173         * lib/savedir.c: Likewise.
63174
63175 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
63176
63177         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
63178         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
63179         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
63180         needed.
63181         All uses removed.
63182         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63183         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
63184         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
63185         needed.
63186         * m4/getdate.m4 (gl_GETDATE): Likewise.
63187         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
63188         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
63189         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63190         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63191         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
63192         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63193         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
63194         needed.
63195
63196 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
63197
63198         * lib/memcasecmp.c: Include <limits.h>.
63199         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
63200         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
63201         Don't assume isdigit succeeds only on '0' through '9'.
63202
63203 2006-07-05  Eric Blake  <ebb9@byu.net>
63204
63205         * modules/getaddrinfo (Depends-on): Add snprintf.
63206
63207 2006-07-05  Eric Blake  <ebb9@byu.net>
63208
63209         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
63210         to avoid 'header present but could not be compiled' on cygwin.
63211
63212 2006-07-05  Eric Blake  <ebb9@byu.net>
63213
63214         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
63215         missing from netdb.h.
63216         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
63217
63218 2006-07-05  Derek R. Price  <derek@ximbiot.com>
63219
63220         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
63221         no longer needed.
63222         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
63223         * m4/getdate.m4 (gl_GETDATE): Likewise.
63224         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
63225         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
63226         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63227         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63228         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63229
63230 2006-07-05  Derek R. Price  <derek@ximbiot.com>
63231
63232         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
63233         All uses of is_space replaced by isspace.
63234         * lib/exit.h: Don't talk about STDC_HEADERS.
63235         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
63236         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
63237         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
63238         replaced by isprint etc.
63239         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
63240         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
63241         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
63242         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
63243         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
63244         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
63245
63246 2006-07-05  Bruno Haible  <bruno@clisp.org>
63247
63248         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
63249         the function exists, before testing against AIX.
63250         Reported by Martin Lambers <marlam@marlam.de>.
63251
63252 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
63253
63254         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
63255         From Mark D. Baushke.
63256
63257 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
63258
63259         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
63260         to the absolute name, not just one, to bypass Sun C 5.8's
63261         "warning: #include of /usr/include/... may be non-portable".
63262
63263 2006-07-04  Eric Blake  <ebb9@byu.net>
63264
63265         * modules/dirname-tests: New test module.
63266         * tests/test-dirname.c: New file, replacing dirname.c
63267         TEST_DIRNAME section that was recently deleted.
63268
63269 2006-07-04  Bruno Haible  <bruno@clisp.org>
63270
63271         Assume ANSI C header files and <ctype.h> functions.
63272         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
63273         (mbsnwidth): Use isprint, iscntrl instead.
63274
63275 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63276
63277         Merge from coreutils.
63278         * MODULES.html.sh: Add xstrtold.
63279         * modules/xstrtold: New file.
63280         * modules/cycle-check (Files): Add lib/same-inode.h.
63281         * modules/dirname (Files): Add m4/double-slash-root.m4.
63282         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
63283         * modules/mkdir-p (Files): Add lib/same-inode.h.
63284         * modules/same (Files): Add lib/same-inode.h.
63285
63286 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63287
63288         * m4/absolute-header.m4: Renamed from full-header-path.m4.
63289         This is to keep the terminology clean; POSIX talks about
63290         "absolute pathnames", not "full pathnames", but the GNU
63291         Coding Standards say to use "path" for something else;
63292         so use "absolute" to keep both sides happy.
63293         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
63294         Set gl_absolute_header, not gl_full_header_path.
63295         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
63296         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
63297         All uses changed.
63298
63299         Merge from coreutils.
63300
63301         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
63302
63303         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
63304         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
63305         want to require the building of c-strtod.o.
63306         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
63307         needs -lm directly.
63308         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
63309
63310         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
63311
63312         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
63313         --as-needed option if available.  Problem reported by Albert Chin in
63314         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
63315         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
63316         cc merely issues a bunch of annoying warnings for --as-needed
63317         (this problem was reported by Bob Proulx).  Also, try linking with
63318         -lm to detect a bug in binutils 2.16 (this problem was reported
63319         by Ralf Wildenhues).
63320
63321         2006-06-18  Jim Meyering  <jim@meyering.net>
63322
63323         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
63324         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
63325         macro.
63326         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
63327         also check for glibc-2.4's abort-inducing bug.
63328
63329         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
63330         Low-probability clean-up should be to use rmdir to get rid of
63331         the just-created directory, not unlink.
63332
63333         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
63334         configure fail, and request a bug report to inform us about it.
63335         Add a comment that, barring reports to the contrary, in 2007 we'll
63336         assume ftruncate is universally available.
63337
63338         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
63339
63340         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
63341
63342         2006-03-12  Jim Meyering  <jim@meyering.net>
63343
63344         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
63345         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
63346         * m4/same.m4 (gl_SAME): Likewise.
63347         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
63348
63349         2006-03-11  Eric Blake  <ebb9@byu.net>
63350
63351         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
63352         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
63353         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
63354         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
63355
63356 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63357
63358         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
63359         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
63360         reported by Mark D. Baushke, one in
63361         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
63362
63363         Merge from coreutils.
63364
63365         * lib/.cppi-disable: Add stdint_.h.
63366         * lib/.cvsignore: Add stdint.h.
63367
63368         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
63369
63370         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
63371         both double and long double versions.
63372         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
63373         * lib/xstrtold.c: New file.
63374         * lib/xstrtod.h (xstrtold): New decl.
63375
63376         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
63377
63378         * lib/filemode.c (setst): Remove.
63379         (strmode): Rewrite to avoid setst.  This makes the code shorter,
63380         (arguably) clearer, and the generated code is a bit smaller on my
63381         Debian GNU/Linux stable x86 host.
63382
63383         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
63384
63385         * lib/filemode.c: Include "filemode.h" first, to test the interface.
63386         Assume that filemode.h includes sys/types.h and sys/stat.h.
63387         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
63388         (ftypelet): Reorder to put common cases first, for efficiency.
63389         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
63390         to do 'M'.
63391         (strmode): Renamed from mode_string, and now stores 12 bytes instead
63392         of 10, for compatibility with FreeBSD.  All callers changed.
63393         (filemodestring): Now stores 12 bytes instead of 10, and sets file
63394         types that can't be deduced solely from st_mode.  First arg is now a
63395         const pointer.
63396         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
63397         (strmode): Renamed from mode_string.
63398         (filemodestring): New decl.
63399         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
63400         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
63401         needed.
63402         (S_ISPORT, S_ISWHT): New macros, if not already defined.
63403
63404         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
63405
63406         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
63407         fsusage.h now does that.  Include fsusage.h first, to test interface.
63408         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
63409         at most one method (the old code could have generated decls that
63410         didn't conform to C89, not that this was ever exercised).
63411         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
63412
63413         2006-03-19  Jim Meyering  <jim@meyering.net>
63414
63415         Work even in a chroot where d_ino values for entries in "/"
63416         don't match the stat.st_ino values for the same names.
63417         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
63418         number, iterate through all entries again, using lstat instead.
63419         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
63420         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
63421
63422         * lib/getcwd.c (__getcwd): Clarify a comment.
63423         Use memcpy in place of a call to strcpy.
63424
63425         2006-03-12  Jim Meyering  <jim@meyering.net>
63426
63427         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
63428         matches that of the current directory (which we're about to chdir ".."
63429         out of), then save the dev-ino of the parent, instead.
63430
63431         * lib/same-inode.h (SAME_INODE): New file/macro.
63432         * lib/chdir-safer.c (SAME_INODE): Remove definition.
63433         Include "same-inode.h", instead.
63434         * lib/same.c: Likewise.
63435         * lib/cycle-check.h: Include "same-inode.h".
63436         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
63437         * lib/cycle-check.c (SAME_INODE): Remove definition.
63438         * lib/root-dev-ino.h: Include "same-inode.h".
63439
63440         2006-03-11  Eric Blake  <ebb9@byu.net>
63441
63442         * lib/same.c (same_name): s/base_name/last_component/
63443         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
63444         * lib/filenamecat.c (file_name_concat): Likewise.
63445
63446         2006-03-11  Eric Blake  <ebb9@byu.net>,
63447                     Paul Eggert  <eggert@cs.ucla.edu>
63448
63449         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
63450         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
63451         drive prefix.
63452         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
63453         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
63454         (last_component): New method.
63455         * lib/dirname.c (dir_len): Determine when drive letters need a
63456         subsequent slash.  Preserve // when it is special.
63457         (dir_name): Don't append dot when drive letter is absolute.
63458         [TEST_DIRNAME]: Move into a full-blown gnulib test.
63459         * lib/basename.c (base_name): New semantics - malloc the result.
63460         Preserve // when it is special.  Preserve relative files that look
63461         like drive letters.
63462         (base_len): Preserve // when it is special.
63463         (last_component): New method, similar to old base_name semantics.
63464         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
63465         base_name.  Strip redundant slashes from ///.
63466
63467 2006-07-03  Jim Meyering  <jim@meyering.net>
63468
63469         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
63470         macro is used before the first cycle_check call.
63471
63472 2006-07-03  Eric Blake  <ebb9@byu.net>
63473
63474         * modules/dirname (Depends-on): Add xstrndup.
63475
63476 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63477
63478         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
63479         test cases, so that config.log is a bit easier to follow.
63480
63481 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63482
63483         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
63484         both are 64 bits, since this seems to be the tradition, and this
63485         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
63486         we ever run into a host that prefers long long to long in this
63487         case, we'll need another configure-time test.  Problem reported by
63488         Jim Meyering.
63489
63490 2006-07-02  Eric Blake  <ebb9@byu.net>
63491
63492         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
63493
63494 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63495
63496         * modules/inttypes (Depends-on): No longer depends on stdint.
63497         * modules/stdint (Description): Say more about assumptions.
63498         Say that the fast types might differ.  Say macros are used.
63499         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
63500         (Makefile.am): Revise list of substituted symbols to match
63501         new stdint.m4.
63502         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
63503         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
63504         * tests/test-stdint.c (verify_same_types)
63505         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
63506         the code conforms to C99/C89.
63507         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
63508         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
63509
63510 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63511
63512         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
63513         but fix a bug, by requiring at least 64 bits.
63514         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
63515         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
63516         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
63517         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
63518
63519         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
63520         changes.  Make 2.59 a prerequisite.  Check and substitute for
63521         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
63522         inttypes.h.  Do not use special include files; just use the
63523         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
63524         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
63525         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
63526         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
63527         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
63528         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
63529         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
63530         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
63531         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
63532         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
63533         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
63534         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
63535         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
63536         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
63537         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
63538         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
63539         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
63540         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
63541         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
63542         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
63543         WINT_MAX.  Check for C99 conformance more strictly, by detecting
63544         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
63545         not check for things that C99 does not require, e.g., int8_t.  If
63546         a test isn't needed unless <stdint.h> isn't working, and is
63547         unlikely to be needed for any other reason, then don't do it
63548         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
63549         size_t, since we assume C89 freestanding at least.  Do not check
63550         for sig_atomic_t, wchar_t, or wint_t, since the code now does
63551         the right thing even if the types are not defined.  Instead use:
63552         (gl_STDINT_TYPE_PROPERTIES): New macro.
63553         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
63554         testing whether <sys/types.h> clashes, as Autoconf does this for
63555         us now.  All uses removed.
63556         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
63557         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
63558         (gl_CHECK_TYPE_SAME):
63559         Remove; no longer needed.
63560         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
63561         exists, since we'll return 0 anyway in that case.
63562         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
63563
63564 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63565
63566         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
63567         possible collision with system files.
63568         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
63569         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
63570         WCHAR_MIN and WCHAR_MAX in this case.
63571         (<stddef.h>): Do not include; no longer needed.
63572         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
63573         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
63574         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
63575         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
63576         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
63577         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
63578         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
63579         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
63580         !defined(__c99))]: Include in this case too, since it's harmless
63581         now.
63582         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
63583         dangerous to do so.
63584         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
63585         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
63586         (_STDINT_MIN, _STDINT_MAX): New macros.
63587         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
63588         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
63589         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
63590         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
63591         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
63592         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
63593         macros, not typedefs; this simplifies things quite a bit.
63594         Use long int for all types narrower than int64_t.
63595         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
63596         Define in terms of long long int or int64_t or long int,
63597         not int64_t or int32_t.  This saves some compile-time testing.
63598         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
63599         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
63600         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
63601         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
63602         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
63603         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
63604         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
63605         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
63606         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
63607         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
63608         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
63609         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
63610         undef any previous version and define our own version, for
63611         simplicity and consistency with the new macros for types.
63612         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
63613         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
63614         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
63615         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
63616         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
63617         @WINT_T_SUFFIX@ to keep things simple here.
63618         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
63619         Simplify by assuming typical 8/16/32/64 host, since we're
63620         already doing that elsewhere anyway.
63621         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
63622         and assume long long int is 64 bits if available.  This
63623         speeds up 'configure'.
63624
63625 2006-07-01  Eric Blake  <ebb9@byu.net>
63626
63627         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
63628         Reported by Andreas Buening.
63629
63630 2006-07-01  Eric Blake  <ebb9@byu.net>
63631
63632         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
63633
63634 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
63635
63636         * lib/getaddrinfo.c: fixed typo
63637
63638 2006-06-29  Jim Meyering  <jim@meyering.net>
63639
63640         * modules/strftime (Maintainer): Add my name, since with the
63641         FPRINTFTIME changes strftime.c has forked from glibc.
63642
63643 2006-06-29  Eric Blake  <ebb9@byu.net>
63644
63645         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
63646
63647 2006-06-29  Eric Blake  <ebb9@byu.net>
63648
63649         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
63650
63651 2006-06-29  Eric Blake  <ebb9@byu.net>
63652
63653         * lib/stat_.h: New file.
63654
63655 2006-06-29  Eric Blake  <ebb9@byu.net>
63656
63657         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
63658         unused static function.
63659
63660 2006-06-29  Eric Blake  <ebb9@byu.net>
63661
63662         * doc/functions.texi (Function Portability): Document missing lstat
63663         on mingw.
63664
63665 2006-06-29  Eric Blake  <ebb9@byu.net>
63666
63667         * MODULES.html.sh: Add sys_stat.
63668         * modules/sys_stat: New module.
63669         * modules/mkstemp (Depends-on): Add sys_stat.
63670
63671 2006-06-29  Derek R. Price  <derek@ximbiot.com>
63672
63673         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
63674
63675 2006-06-29  Derek R. Price  <derek@ximbiot.com>
63676
63677         * m4/c-bs-a.m4: Removed.
63678
63679 2006-06-29  Derek R. Price  <derek@ximbiot.com>
63680
63681         * lib/strftime.c: Assume strftime() exists.
63682
63683 2006-06-29  Derek Price  <derek@ximbiot.com>
63684
63685         * modules/c-bs-a: Removed - \a is C89.
63686         * MODULES.html.sh: Remove c-bs-a.
63687
63688 2006-06-29  Bruno Haible  <bruno@clisp.org>
63689
63690         * modules/wcwidth (License): Change to LGPL.
63691
63692 2006-06-28  Simon Josefsson  <jas@extundo.com>
63693
63694         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
63695         on _WIN32.
63696
63697         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
63698         getnameinfo.
63699
63700 2006-06-28  Simon Josefsson  <jas@extundo.com>
63701
63702         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
63703
63704 2006-06-28  Simon Josefsson  <jas@extundo.com>
63705
63706         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
63707         functions there.  It will succeed on Windows XP, but on Windows
63708         2000 and (presumably) earlier, it will fail, and use the internal
63709         re-implementation.
63710         (use_win32_p): New function.
63711         (getaddrinfo): Use strtoul on servname, to support numeric ports.
63712         Support AI_NUMERICSERV to disable getservbyname.
63713         (getnameinfo): New function, only supports
63714         NI_NUMERICHOST|NI_NUMERICSERV for now.
63715
63716         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
63717         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
63718         getnameinfo.
63719
63720 2006-06-28  Eric Blake  <ebb9@byu.net>
63721
63722         * modules/wcwidth: New file.
63723         * modules/mbchar (Depends-on): Add wcwidth.
63724         * modules/mbswidth (Depends-on): Add wcwidth.
63725         * MODULES.html.sh: Add wcwidth.
63726
63727 2006-06-28  Eric Blake  <ebb9@byu.net>
63728
63729         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
63730         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
63731
63732 2006-06-28  Eric Blake  <ebb9@byu.net>
63733
63734         * lib/xvasprintf.h: Fix comments.
63735
63736 2006-06-28  Eric Blake  <ebb9@byu.net>
63737
63738         * lib/mbchar.h (wcwidth): Include wcwidth.h.
63739         * lib/mbswidth.c (wcwidth): Move from here...
63740         * lib/wcwidth.h: ...to this new file.
63741
63742 2006-06-28  Derek R. Price  <derek@ximbiot.com>
63743
63744         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
63745
63746         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
63747         it's obsolete.
63748         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
63749
63750 2006-06-28  Derek R. Price  <derek@ximbiot.com>
63751
63752         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
63753         Autoconf 2.60 says this stuff was obsolete.
63754
63755 2006-06-28  Bruno Haible  <bruno@clisp.org>
63756
63757         * modules/wcwidth (Files): Add m4/wchar_t.m4.
63758
63759 2006-06-28  Bruno Haible  <bruno@clisp.org>
63760
63761         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
63762         gt_TYPE_WCHAR_T.
63763
63764 2006-06-28  Bruno Haible  <bruno@clisp.org>
63765
63766         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
63767         declaration for wcwidth.
63768         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
63769
63770 2006-06-28  Bruno Haible  <bruno@clisp.org>
63771
63772         * lib/mkdtemp.c [MINGW]: Include <io.h>.
63773         (mkdir): Define using _mkdir.
63774
63775 2006-06-28  Bruno Haible  <bruno@clisp.org>
63776
63777         * lib/getaddrinfo.h: Fix POSIX URL.
63778         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
63779         _WIN32.
63780         (use_win32_p): Make static.
63781         (getaddrinfo): Reject service name if it is empty or does not consist
63782         solely of decimal digits, or if its value is > 65535.
63783         (getnameinfo): Remove useless casts.
63784
63785 2006-06-27  Simon Josefsson  <jas@extundo.com>
63786
63787         * modules/sys_select: New file, suggested by Bruno Haible, Paul
63788         Eggert and Martin Lambers.
63789
63790 2006-06-27  Simon Josefsson  <jas@extundo.com>
63791
63792         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
63793         Eggert and Martin Lambers.
63794
63795 2006-06-27  Bruno Haible  <bruno@clisp.org>
63796
63797         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
63798         result to 0, not to empty.
63799         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
63800
63801 2006-06-27  Bruno Haible  <bruno@clisp.org>
63802
63803         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
63804
63805 2006-06-26  Simon Josefsson  <jas@extundo.com>
63806
63807         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
63808         present.
63809
63810 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
63811
63812         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
63813         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
63814         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
63815
63816 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
63817
63818         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
63819
63820 2006-06-26  Bruno Haible  <bruno@clisp.org>
63821
63822         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
63823
63824 2006-06-26  Bruno Haible  <bruno@clisp.org>
63825
63826         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
63827
63828 2006-06-26  Bruno Haible  <bruno@clisp.org>
63829
63830         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
63831         SGI C compiler in pre-C99 mode.
63832         Suggested by Mark D. Baushke and Larry Jones.
63833
63834 2006-06-26  Bruno Haible  <bruno@clisp.org>
63835
63836         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
63837         WCHAR_MAX.
63838         Reported by Mark D. Baushke and Larry Jones.
63839
63840 2006-06-26  Bruno Haible  <bruno@clisp.org>
63841
63842         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
63843         in pre-C99 mode.
63844         Suggested by Mark D. Baushke and Larry Jones.
63845
63846 2006-06-23  Simon Josefsson  <jas@extundo.com>
63847             Bruno Haible  <bruno@clisp.org>
63848
63849         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
63850         Emit mostlyclean-local rule.
63851         (func_emit_tests_Makefile_am): Likewise.
63852         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
63853
63854 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
63855
63856         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
63857
63858 2006-06-23  Bruno Haible  <bruno@clisp.org>
63859
63860         * tests/test-stdint.c: Update to match ISO C 99 Technical
63861         Corrigendum 1.
63862
63863 2006-06-23  Bruno Haible  <bruno@clisp.org>
63864
63865         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
63866
63867 2006-06-23  Bruno Haible  <bruno@clisp.org>
63868
63869         * lib/stdint_.h: Treat IRIX like OpenBSD.
63870
63871 2006-06-23  Bruno Haible  <bruno@clisp.org>
63872
63873         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
63874         ISO C 99 Technical Corrigendum 1.
63875
63876 2006-06-22  Simon Josefsson  <jas@extundo.com>
63877
63878         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
63879         MinGW.
63880
63881 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63882
63883         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
63884         needed.  Some compiler complained about some of them.  Problem reported
63885         by Larry Jones in
63886         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
63887
63888 2006-06-21  Simon Josefsson  <jas@extundo.com>
63889
63890         * tests/test-getaddrinfo.c: New file.
63891
63892         * modules/getaddrinfo-tests: New file.
63893
63894         * MODULES.html.sh: Add inet_pton.
63895
63896         * modules/inet_pton: New file.
63897
63898 2006-06-21  Simon Josefsson  <jas@extundo.com>
63899
63900         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
63901         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
63902         of using the (limited) gnulib implementation on Windows XP.
63903
63904         * m4/inet_pton.m4: New file.
63905
63906 2006-06-21  Simon Josefsson  <jas@extundo.com>
63907
63908         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
63909         variable.
63910
63911         * lib/socket_.h: Don't define WINVER.
63912
63913         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
63914         slightly modified to work in gnulib.
63915
63916 2006-06-21  Simon Josefsson  <jas@extundo.com>
63917
63918         * doc/gnulib.texi (Windows sockets): Add.
63919
63920 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
63921
63922         * lib/read-file.c (fread_file): Start with buffer allocation of
63923         0 bytes rather than 1 byte; this simplifies the code.
63924         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
63925         code to free buffer and save/restore errno.
63926         (internal_read_file): Remove unused local.
63927
63928 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
63929
63930         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
63931         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
63932         Problem reported by Denis Excoffier in
63933         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
63934
63935 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63936
63937         * modules/sys_socket, modules/socklen: Include sys/types since
63938         FreeBSD 4.x's sys/socket.h needs it.
63939
63940 2006-06-19  Simon Josefsson  <jas@extundo.com>
63941
63942         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
63943
63944 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
63945
63946         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
63947
63948 2006-06-19  Bruno Haible  <bruno@clisp.org>
63949
63950         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
63951         and FULL_PATH_INTTYPES_H in angle brackets.
63952         Reported by Mark D. Baushke <mdb@gnu.org>.
63953
63954 2006-06-17  Eric Blake  <ebb9@byu.net>
63955
63956         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
63957         errno.
63958
63959 2006-06-17  Bruno Haible  <bruno@clisp.org>
63960
63961         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
63962         <sys/inttypes.h>.
63963
63964 2006-06-17  Bruno Haible  <bruno@clisp.org>
63965
63966         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
63967         whether errno is declared. Assume <errno.h> declares errno.
63968
63969 2006-06-17  Bruno Haible  <bruno@clisp.org>
63970
63971         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
63972
63973 2006-06-17  Bruno Haible  <bruno@clisp.org>
63974
63975         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
63976         problem on Solaris 2.5.1.
63977
63978 2006-06-16  Eric Blake  <ebb9@byu.net>
63979
63980         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
63981         * lib/unicodeio.c [!defined errno]: Likewise.
63982         * lib/strtol.c [!defined errno]: Likewise.
63983         * lib/strtod.c [!defined errno]: Likewise.
63984
63985 2006-06-15  Eric Blake  <ebb9@byu.net>
63986
63987         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
63988
63989 2006-06-15  Eric Blake  <ebb9@byu.net>
63990
63991         * config/srclist.txt (ssize_t.m4): Lose sync.
63992
63993 2006-06-15  Bruno Haible  <bruno@clisp.org>
63994
63995         * modules/stdint (Files): Include m4/full-header-path.m4,
63996         m4/size_max.m4, m4/wchar_t.m4.
63997         (Makefile.am): Many more substitutions.
63998         * modules/stdint-tests: New file.
63999         * tests/test-stdint.c: New file.
64000
64001 2006-06-15  Bruno Haible  <bruno@clisp.org>
64002
64003         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
64004         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
64005         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
64006         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
64007         gl_CHECK_TYPE_SAME): New macros.
64008
64009 2006-06-15  Bruno Haible  <bruno@clisp.org>
64010
64011         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
64012
64013 2006-06-15  Bruno Haible  <bruno@clisp.org>
64014
64015         * lib/stdint_.h: Rewritten to be fully auto-configured.
64016         Fixes bug on HP-UX/IA64.
64017
64018 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
64019
64020         * lib/getdate.y (__attribute__): Don't define if already defined.
64021         Problem reported by Larry Jones.
64022         * lib/utimens.c (__attribute__): Likewise.
64023
64024 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
64025
64026         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
64027         reported by Andreas Schwab.
64028
64029 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64030             Bruno Haible  <bruno@clisp.org>
64031
64032         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
64033         check for the declaration of strnlen and a run test that exposes the
64034         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
64035         rpl_strndup.
64036
64037 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64038             Bruno Haible  <bruno@clisp.org>
64039
64040         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
64041
64042 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64043
64044         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
64045         compile test, for Tru64 4.0D.
64046
64047 2006-05-28  Karl Berry  <karl@gnu.org>
64048
64049         * config/srclist.txt (printf-args.c): lose sync.
64050
64051 2006-05-26  Martin Lambers  <marlam@marlam.de>
64052
64053         * lib/getpass.c: Updates the test for the native W32 API, and adds
64054         missing includes, thus fixing compilation warnings.
64055
64056 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
64057
64058         * lib/exclude.c (exclude_fnmatch): New function.
64059         (excluded_file_name): Call exclude_fnmatch.
64060         * lib/exclude.h (excluded_file_name): New prototype
64061
64062 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
64063
64064         * lib/tempname.c (small_open, large_open): New macros.
64065         (__open, __open64) [!_LIBC]: Remove.
64066         (__gen_tempname): Use small_open and large_open instead of __open
64067         and __open64.  This fixes a portability bug on HP-UX 11.11i
64068         reported by Simon Wing-Tang in
64069         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
64070
64071 2006-05-24  Bruno Haible  <bruno@clisp.org>
64072
64073         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
64074         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
64075         Reported by Thorsten Maerz <torte@netztorte.de> via
64076         Aaron Stone <aaron@serendipity.cx>.
64077
64078 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
64079
64080         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
64081         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
64082         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
64083         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
64084         not really conditional on the cache.
64085         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
64086
64087 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
64088
64089         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
64090         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
64091         (my_usleep): Don't mishandle maximum value.
64092
64093 2006-05-19  Jim Meyering  <jim@meyering.net>
64094
64095         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
64096
64097 2006-05-17  Bruno Haible  <bruno@clisp.org>
64098
64099         Cygwin portability.
64100         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
64101
64102 2006-05-17  Bruno Haible  <bruno@clisp.org>
64103
64104         * lib/stdint_.h: Fix recognition of Cygwin.
64105
64106 2006-05-15  Bruno Haible  <bruno@clisp.org>
64107
64108         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
64109         on libtool patch by Ralf Wildenhues.
64110
64111 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64112
64113         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
64114         test for C99 conformance; (bool) 0.5 is an integer constant
64115         expression, but (bool) -0.5 is not.  Problem reported by Fedor
64116         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
64117
64118 2006-05-11  Simon Josefsson  <jas@extundo.com>
64119
64120         * m4/xvasprintf.m4: Fix obvious typo.
64121
64122 2006-05-11  Jim Meyering  <jim@meyering.net>
64123
64124         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
64125         James Lemley.
64126
64127 2006-05-10  Simon Josefsson  <jas@extundo.com>
64128
64129         * lib/md4.c: Typo fix, update copyright years.
64130         (K1, K2): Don't use L because it turn computations into 64-bit on
64131         64-bit platforms.
64132
64133 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
64134
64135         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
64136         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
64137         unwanted sign propagation, e.g., on hosts with 64-bit int.
64138         There still are some problems with reeelly weird theoretical hosts
64139         (e.g., 33-bit int) but it's not worth worrying about now.
64140         * lib/sha1.c (rol): Likewise.
64141         (K1, K2, K3, K4): Remove unnecessary L suffix.
64142
64143 2006-05-10  Bruno Haible  <bruno@clisp.org>
64144
64145         * lib/des.c: Cast to avoid warnings.
64146
64147 2006-05-09  Bruno Haible  <bruno@clisp.org>
64148
64149         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
64150         (Depends-on): Depend also on xsize, stdarg.
64151         (configure.ac): Add gl_XVASPRINTF.
64152
64153 2006-05-09  Bruno Haible  <bruno@clisp.org>
64154
64155         * m4/xvasprintf.m4: New file.
64156
64157 2006-05-09  Bruno Haible  <bruno@clisp.org>
64158
64159         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
64160         (EOVERFLOW): Define fallback value.
64161         (xstrcat): New function.
64162         (xvasprintf): Recognize the special case of a string concatenation.
64163
64164 2006-05-08  Eric Blake  <ebb9@byu.net>
64165
64166         * gnulib-tool (func_version): Base copyright year on CVS date.
64167         (func_emit_copyright_notice): New function.
64168         (func_emit_lib_Makefile_am): Use it.
64169         (func_emit_tests_Makefile_am): Likewise.
64170         (func_import): Likewise.
64171
64172 2006-05-08  Bruno Haible  <bruno@clisp.org>
64173
64174         * modules/stdarg: New file.
64175         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
64176
64177 2006-05-08  Bruno Haible  <bruno@clisp.org>
64178
64179         * m4/stdarg.m4: New file, from GNU gettext.
64180
64181 2006-05-08  Bruno Haible  <bruno@clisp.org>
64182
64183         * config/srclist.txt (build-aux/config.rpath): different from latest
64184         release.
64185
64186 2006-05-08  Bruno Haible  <bruno@clisp.org>
64187
64188         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
64189
64190 2006-05-05  Jim Meyering  <jim@meyering.net>
64191
64192         * m4/warning.m4: New file, derived from bison's file by the same name.
64193
64194 2006-05-03  Bruno Haible  <bruno@clisp.org>
64195
64196         * lib/stdint_.h: Shorter URL.
64197         * lib/inttypes.h: Likewise.
64198
64199 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64200
64201         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
64202
64203 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64204
64205         * lib/verify.h: Document the internals better.  Most of this change
64206         was written by Bruno Haible.
64207
64208 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64209
64210         * doc/verify.texi: New file, partly based on a proposal by
64211         Bruno Haible.
64212
64213 2006-05-02  Bruno Haible  <bruno@clisp.org>
64214
64215         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
64216         test from here...
64217         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
64218
64219 2006-04-29  Bruno Haible  <bruno@clisp.org>
64220
64221         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
64222         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
64223
64224 2006-04-29  Bruno Haible  <bruno@clisp.org>
64225
64226         * gnulib-tool: Make --update option actually work.
64227
64228 2006-04-29  Bruno Haible  <bruno@clisp.org>
64229
64230         * doc/gcd.texi: New file.
64231         * doc/gnulib.texi: Include it.
64232
64233 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
64234
64235         * lib/getdate.y (get_date): When adding relative date, start with the
64236         initial time, not with the result of the first mktime call.
64237
64238 2006-04-25  Bruno Haible  <bruno@clisp.org>
64239
64240         * gnulib-tool (func_import): Output the include directives in three
64241         blocks, sorted separately.
64242         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64243
64244 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
64245
64246         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
64247         to define main with arguments, for C++.  Reported by Eric Blake.
64248         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
64249         Prefer 'int main ()' to 'int main (void)', for C++.
64250         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
64251         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
64252         for 'main', for C99 and C++.
64253
64254 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
64255
64256         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
64257         Don't assume that exit status -1 is valid.
64258         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64259         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
64260         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
64261         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
64262         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
64263         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
64264         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
64265         functions can be used without declaring them, or that you can
64266         exit with status -1.
64267         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
64268
64269 2006-04-24  Karl Berry  <karl@gnu.org>
64270
64271         * config/srclist.txt (longdouble.m4): sync lost.
64272
64273 2006-04-24  Eric Blake  <ebb9@byu.net>
64274
64275         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
64276
64277 2006-04-24  Bruno Haible  <bruno@clisp.org>
64278
64279         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
64280         poll() implementation in AIX.
64281         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64282
64283 2006-04-24  Bruno Haible  <bruno@clisp.org>
64284
64285         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
64286         assigned exactly once.
64287
64288 2006-04-23  Claudio Fontana  <claudio@gnu.org>
64289             Bruno Haible  <bruno@clisp.org>
64290
64291         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
64292         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
64293         for AM_CPPFLAGS.
64294
64295 2006-04-23  Bruno Haible  <bruno@clisp.org>
64296
64297         * modules/copy-file: Depend on unistd.
64298         * modules/execute: Likewise.
64299         * modules/fatal-signal: Likewise.
64300         * modules/findprog: Likewise.
64301         * modules/mkdtemp : Likewise.
64302         * modules/pipe: Likewise.
64303         * modules/wait-process: Likewise.
64304
64305 2006-04-23  Bruno Haible  <bruno@clisp.org>
64306
64307         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
64308         condition was already detected.
64309         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64310
64311 2006-04-23  Bruno Haible  <bruno@clisp.org>
64312
64313         * lib/copy-file.c: Include <unistd.h> unconditionally.
64314         * lib/execute.c: Likewise.
64315         * lib/fatal-signal.c: Likewise.
64316         * lib/findprog.c: Likewise.
64317         * lib/mkdtemp.c: Likewise.
64318         * lib/pipe.h: Likewise.
64319         * lib/pipe.c: Likewise.
64320         * lib/wait-process.h: Likewise.
64321
64322 2006-04-23  Bruno Haible  <bruno@clisp.org>
64323
64324         * gnulib-tool (func_usage): Fix --import description. Document
64325         --update.
64326         (func_import): Create temporary file in a temporary directory, if
64327         --dry-run is specified. Silence errors from 'grep' when there are no
64328         m4 files in $m4dir.
64329         (func_create_testdir): Silence errors from 'grep' when there are no
64330         m4 files in $m4dir.
64331         Reported by Karl Berry <karl@freefriends.org>.
64332
64333 2006-04-20  Bruno Haible  <bruno@clisp.org>
64334
64335         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
64336         one argument, so that the code will be portable to Autoconf 2.60.
64337         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
64338         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
64339         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
64340
64341 2006-04-19  Derek Price  <derek@ximbiot.com>
64342             Eric Blake  <ebb9@byu.net>
64343
64344         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
64345         rather than "/full/path.h".  Update comment to match.  Shorten &
64346         generalize m4_translit call via AS_TR_CPP.
64347
64348 2006-04-19  Derek Price  <derek@ximbiot.com>
64349             Eric Blake  <ebb9@byu.net>
64350
64351         * lib/inttypes.h: Correct grammar in comment.
64352
64353 2006-04-18  Derek Price  <derek@ximbiot.com>
64354             Paul Eggert  <eggert@cs.ucla.edu>
64355
64356         * modules/inttypes: New file.
64357         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
64358
64359 2006-04-18  Derek Price  <derek@ximbiot.com>
64360             Paul Eggert  <eggert@cs.ucla.edu>
64361
64362         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
64363         New files.
64364
64365 2006-04-18  Derek Price  <derek@ximbiot.com>
64366             Paul Eggert  <eggert@cs.ucla.edu>
64367
64368         * lib/inttypes.h: New file.
64369         * lib/strtoimax.c: Assume <inttypes.h>.
64370
64371 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
64372
64373         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
64374         isn't mounted.  Problem reported by Kir Kolyshkin.
64375
64376 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64377
64378         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
64379         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
64380         Derek R. Price.
64381         * lib/regex.h (RE_DUP_MAX): Update comment to match current
64382         implementation.
64383
64384 2006-04-12  Eric Blake  <ebb9@byu.net>
64385
64386         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
64387         is now done automatically by the corresponding Autoconf macro.
64388
64389 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
64390
64391         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
64392         time_r.h.
64393
64394 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64395
64396         Merge regex changes from libc, removing some of our
64397         POSIX-conformance changes that were rejected and redoing them in a
64398         less-intrusive way.
64399
64400         * lib/regcomp.c (re_compile_internal, init_dfa):
64401         Length arg is now size_t, not Idx.  All uses changed.
64402         (peek_token): Forward decl now says internal_function.
64403         (__re_error_msgid, __re_error_msgid_idx):
64404         Now static rather than extern with attribute_hidden.
64405         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
64406         For some reason libc prefers K&R style defns for external functions.
64407         (regerror) [!defined _LIBC]: Likewise.
64408         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
64409         (seek_collating_symbol_entry, lookup_collation_sequence_value):
64410         (build_range_exp, build_collating_symbol):
64411         Use K&R-style defn.
64412         (re_compile_fastmap): Use '\0' to memset, not 0.
64413         (utf8_sb_map): Make the calculations more obvious.
64414         (init_dfa, parse_bracket_exp, build_charclass_op):
64415         Call calloc and cast result, as glibc does.
64416         (init_word_char, fetch_token, peek_token, peek_token_bracket):
64417         (build_range_exp, build_collating_symbol):
64418         Now internal functions.
64419
64420         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
64421
64422         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
64423         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
64424         Don't depend on VMS; depend on __VMS instead, for POSIX
64425         namespace cleanness.
64426         (regoff_t): Define to ssize_t, not long int.
64427
64428         Remove the REG_ macros named below.  Instead, make the old names
64429         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
64430         __USE_GNU_REGEX.
64431         (REG_BACKSLASH_ESCAPE_IN_LISTS):
64432         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
64433         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
64434         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
64435         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
64436         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
64437         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
64438         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
64439         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
64440         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
64441         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
64442         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
64443         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
64444         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
64445         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
64446         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
64447         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
64448         (REG_NREGS):
64449         Remove.  All uses replaced by the old RE_* names.
64450         (RE_BACKSLASH_ESCAPE_IN_LISTS):
64451         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
64452         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
64453         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
64454         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
64455         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
64456         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
64457         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
64458         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
64459         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
64460         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
64461         Don't bother having these macros be independent of each others'
64462         values, since they no longer exist in the POSIX name space.
64463
64464         Rename the following member names back to their old names,
64465         unless !__USE_GNU_REGEX.  All uses changed back.
64466         (buffer): Renamed from re_buffer.
64467         (allocated): Renamed from re_allocated.
64468         (used): Renamed from re_used.
64469         (syntax): Renamed from re_syntax.
64470         (fastmap): Renamed from re_fastmap.
64471         (translate): Renamed from re_translate.
64472         (can_be_null): Renamed from re_can_be_null.
64473         (regs_allocated): Renamed from re_regs_allocated.
64474         (fastmap_accurate): Renamed from re_fastmap_accurate.
64475         (no_sub): Renamed from re_no_sub.
64476         (not_bol): Renamed from re_not_bol.
64477         (not_eol): Renamed from re_not_eol.
64478         (newline_anchor): Renamed from re_newline_anchor.
64479         (num_regs): Renamed from rm_num_regs.
64480         (start): Renamed from rm_start.
64481         (end): Renamed from rm_end.
64482
64483         (free_state): Move up a bit.
64484
64485         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
64486         #define to be empty.
64487         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
64488         when that is what is intended.
64489         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
64490         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
64491         (MAX): New macro.
64492         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
64493         All uses changed back to re_malloc, etc.  It's now the caller's
64494         responsibility to check for overflow; all callers changed.
64495         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
64496         (re_x2nrealloc): Remove.
64497         (free_state): Remove decl.
64498
64499         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
64500         (re_set_registers, re_exec):
64501         Use K&R-style defn.
64502
64503         2006-01-31  Roland McGrath  <roland@redhat.com>
64504
64505         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
64506         Reported by Mike Frysinger <vapier@gentoo.org>.
64507
64508         2006-01-15  Andreas Jaeger  <aj@suse.de>
64509
64510         [BZ #1950]
64511         * lib/regex_internal.c (re_string_reconstruct): Adjust for
64512         build_wcs_upper_buffer change.
64513         (build_wcs_upper_buffer): Change return type.
64514
64515         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
64516
64517         * lib/regex_internal.h: Include <stdint.h> if available.
64518
64519         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
64520
64521         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
64522
64523         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
64524
64525         * lib/regcomp.c: Adjust for changed secondary hash function.
64526
64527         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
64528
64529         * lib/regex.h: Pretty printing.
64530         Clean up namespace a bit.
64531
64532         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
64533
64534         * lib/regexec.c (update_cur_sifted_state, check_arrival,
64535         check_arrival_add_next_nodes): Avoid using uninitialized variable.
64536
64537         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64538                     Ulrich Drepper  <drepper@redhat.com>
64539
64540         [BZ #1302]
64541         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
64542         changed.
64543         (bitset_word_t): Renamed from bitset_word.  All uses changed.
64544
64545         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
64546
64547         [BZ #281]
64548         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
64549         * lib/regcomp.c: Remove unnecessary uses of
64550         unsigned RE_TRANSLATE_TYPE.
64551         * lib/regex_internal.h: Likewise.
64552         * lib/regex_internal.c: Likewise.
64553         * lib/regexec.c: Likewise.
64554         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
64555
64556         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
64557
64558         * lib/regexec.c (find_recover_state): Remove unnecessary
64559         initialization.
64560         (transit_state_bkref): Make DFA a const pointer.
64561         (get_subexp): Likewise.
64562         (check_arrival): Likewise.
64563         (update_cur_sifted_state): Likewise.
64564         (re_search_internal): Likewise.
64565         (prune_impossible_nodes): Likewise.
64566         (acquire_init_state_context): Likewise.
64567         (proceed_next_node): Likewise.
64568         (set_regs): Likewise.
64569         (free_fail_stack_return): Likewise.
64570         (check_arrival_expand_ecl): Mark DFA parameter as const.
64571         (check_arrival_expand_ecl_sub): Likewise.
64572         (check_subexp_limits): Likewise.
64573         (sub_epsilon_src_nodes):  Likewise.
64574         (add_epsilon_src_nodes):  Likewise.
64575         (merge_state_array): Likewise.
64576         (update_regs): Likewise.
64577         (build_trtable): Likewise.
64578         (sift_states_backward): Mark MCTX parameter as const.
64579         (build_sifted_states): Likewise.
64580         (update_cur_sifted_state): Likewise.
64581         (sift_states_mkref): Likewise.
64582         (check_arrival_expand_ecl): Mark eclosure as const.
64583         (check_dst_limits_calc_pos_1): Likewise.
64584         * lib/regex_internal.h (re_match_context_t): Make dfa a const
64585         pointer.
64586
64587         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
64588
64589         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
64590         (transit_state_sb): Likewise.
64591         (transit_state_mb): Likewise.
64592         (sift_states_iter_mb): Likewise.
64593         (check_arrival_add_next_nodes): Likewise.
64594         (check_node_accept_bytes): Change first parameter to pointer-to-const.
64595         [_LIBC] (re_search_2_stub): Use mempcpy.
64596
64597         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
64598         mbrtowc for very simple UTF-8 case.
64599
64600         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
64601         a pointer-to-const.
64602         (re_acquire_state_context): Likewise.
64603         * lib/regex_internal.h: Adjust prototypes.
64604
64605         * lib/regex.c: Prevent using C++ compilers.
64606
64607         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
64608         (re_acquire_state_context): Likewise.
64609
64610 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64611
64612         * modules/regex (Depends-on): Add ssize_t.
64613
64614 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64615
64616         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
64617         translation table.
64618
64619 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64620
64621         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
64622
64623 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
64624             Bruno Haible  <bruno@clisp.org>
64625
64626         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
64627         <sys/types.h> and <inttypes.h>.
64628
64629 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64630
64631         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
64632         `__error_t_defined', so argp.h will not typedef the former.
64633
64634 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
64635
64636         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
64637         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
64638         glibc names.  Even if glibc is changed to conform to POSIX, the
64639         traditional names will be available anyway, since regex depends on
64640         the extensions module.  Also, fix a longstanding typo in the
64641         implementation of Spencer ERE test #75 from grep 2.3.  Problems
64642         reported by Emanuele Giaquinta.  Also, change sense of cached
64643         variable, so that the message makes sense.
64644
64645 2006-03-24  Simon Josefsson  <jas@extundo.com>
64646
64647         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
64648         including some doc fixes.
64649         (base64_encode_alloc): Fix +1 bug on allocation failures.
64650
64651 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64652
64653         * lib/base64.c (base64_encode): Do not read past end of array with
64654         unsanitized input on systems with CHAR_BIT > 8.
64655
64656 2006-03-24  Eric Blake  <ebb9@byu.net>
64657
64658         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
64659
64660 2006-03-22  Karl Berry  <karl@gnu.org>
64661
64662         * config/srclist.txt (*setenv.[ch]): get from coreutils.
64663         * config/srclistvars.sh (COREUTILS): new var.
64664
64665 2006-03-17  Jim Meyering  <jim@meyering.net>
64666
64667         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
64668         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
64669
64670 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
64671
64672         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
64673         no longer needs it.  Instead, check that regoff_t is as least
64674         as wide as ptrdiff_t.
64675
64676         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
64677         so that our regex.h stays compatible with the installed regex.
64678         This is helpful for installers who configure --without-included-regex.
64679         Problem reported by Emanuele Giaquinta.
64680
64681 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
64682
64683         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
64684         Typedef to long int, not to off_, as POSIX will likely change
64685         in that direction.
64686
64687 2006-03-15  Eric Blake  <ebb9@byu.net>
64688
64689         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
64690
64691 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
64692
64693         * lib/argp-help.c (validate_uparams): Fix typo
64694         * lib/argp-parse.c (argp_default_options): Consistently begin help
64695         messages with a lowercase letter.
64696
64697 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
64698
64699         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
64700         overrun buffers and shouldn't be used (much as gets shouldn't be
64701         used).
64702         * lib/time_r.c (asctime_r, ctime_r): Likewise.
64703
64704 2006-03-08  Simon Josefsson  <jas@extundo.com>
64705
64706         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
64707         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64708
64709 2006-03-08  Simon Josefsson  <jas@extundo.com>
64710
64711         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
64712         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64713
64714 2006-03-08  Simon Josefsson  <jas@extundo.com>
64715
64716         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
64717         signal that configure disabled the device.
64718
64719 2006-03-08  Simon Josefsson  <jas@extundo.com>
64720
64721         * build-aux/maint.mk: Fix refresh-po, to handle no translated
64722         languages.
64723
64724 2006-03-07  Simon Josefsson  <jas@extundo.com>
64725
64726         * modules/getopt (Depends-on): Add unistd.
64727
64728         * modules/unistd: New file.
64729
64730 2006-03-07  Simon Josefsson  <jas@extundo.com>
64731
64732         * modules/gc-random: New file.
64733
64734 2006-03-07  Simon Josefsson  <jas@extundo.com>
64735
64736         * m4/unistd_h.m4: New file.
64737
64738 2006-03-07  Simon Josefsson  <jas@extundo.com>
64739
64740         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
64741         test to be side-effect free by storing the result in the cache
64742         variable gl_cv_lib_readline, and moving the assignment of
64743         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
64744         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64745
64746 2006-03-07  Simon Josefsson  <jas@extundo.com>
64747
64748         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
64749         error on missing devices (the functions will return an error).
64750
64751         * m4/gc.m4: Move random stuff to gc-random.m4
64752
64753 2006-03-07  Simon Josefsson  <jas@extundo.com>
64754
64755         * lib/unistd_.h: New file.
64756
64757 2006-03-07  Simon Josefsson  <jas@extundo.com>
64758
64759         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
64760
64761 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
64762
64763         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
64764         Problem reported by Juan Manuel Guerrero.
64765
64766 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
64767
64768         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
64769         the unistd module.
64770         * lib/getlogin_r.c: Likewise.
64771         * lib/getlogin_r.h: Likewise.
64772         * lib/glob.c: Likewise.
64773         * lib/pagealign_alloc.c: Likewise.
64774         * lib/unistd_.h: Remove; no longer needed.
64775
64776 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
64777
64778         * MODULES.html.sh (Support for systems lacking POSIX:2001):
64779         Add unistd.
64780         * modules/c-stack (Depends-on): Add unistd.
64781         * modules/getlogin_r: Likewise.
64782         * modules/glob: Likewise.
64783         * modules/pagealign_alloc: Likewise.
64784         * modules/unistd (Files): Remove lib/unistd_.h.
64785         (EXTRA_DIST): Remove.
64786         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
64787         need unistd_.h.
64788         (MOSTLYCLEANFILES): Remove unistd.h-t.
64789
64790 2006-03-03  Simon Josefsson  <jas@extundo.com>
64791
64792         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
64793
64794 2006-03-03  Simon Josefsson  <jas@extundo.com>
64795
64796         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
64797         libidn and bison.
64798
64799 2006-03-03  Simon Josefsson  <jas@extundo.com>
64800
64801         * build-aux/maint.mk: Add indent target.
64802
64803 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
64804
64805         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
64806         our replacement poll.h in any case, to avoid a differing
64807         declaration from a system header.  Seen on AIX.
64808
64809 2006-03-01  Simon Josefsson  <jas@extundo.com>
64810
64811         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
64812         <kasal@ucw.cz>.
64813
64814 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64815
64816         * modules/gettime (Depends-on): Add extensions module.
64817         * modules/nanosleep (Depends-on): Likewise.
64818         * modules/settime (Depends-on): Likewise.
64819
64820 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64821
64822         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
64823         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
64824         pedantically.
64825         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64826         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
64827
64828         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
64829         not "==".  Reported by Ralf Wildenhues.
64830
64831 2006-03-01  Karl Berry  <karl@gnu.org>
64832
64833         * doc/Copyright/request-*: new files, synced from gnuorg.
64834
64835 2006-03-01  Karl Berry  <karl@gnu.org>
64836
64837         * config/srclist.txt (Copyright/*): new entries.
64838
64839 2006-02-28  Simon Josefsson  <jas@extundo.com>
64840
64841         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
64842
64843 2006-02-27  Simon Josefsson  <jas@extundo.com>
64844
64845         * lib/base64.h: Indent #define's.  From Jim Meyering
64846         <jim@meyering.net>.
64847
64848 2006-02-27  Jim Meyering  <jim@meyering.net>
64849
64850         Revert the change of 2006-02-24, so these files can continue
64851         to be sync'd from gettext.
64852         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
64853         of `config.h'.
64854
64855 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
64856
64857         * modules/intprops: New file.
64858         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
64859         Add intprops.
64860         * modules/getloadavg (Files): Remove lib/intprops.h.
64861         (Depends-on): Add intprops.
64862         * modules/human: Likewise.
64863         * modules/inttostr: Likewise.
64864         * modules/openat: Likewise.
64865         * modules/sig2str: Likewise.
64866         * modules/userspec: Likewise.
64867         * modules/utimecmp: Likewise.
64868         * modules/xnanosleep: Likewise.
64869         * modules/xstrtol: Likewise.
64870
64871 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
64872
64873         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
64874         * modules/lock-tests (TESTS): Use $(EXEEXT).
64875         * modules/tls-tests: Likewise.
64876         * modules/argp-tests: Likewise.
64877         (check_PROGRAMS): New var, replacing...
64878         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
64879
64880 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64881
64882         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
64883         `config.h'.
64884
64885 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
64886
64887         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
64888
64889 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64890
64891         Sync from coreutils.
64892         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
64893         gl_CHDIR_SAFER.
64894
64895 2006-02-22  Jim Meyering  <jim@meyering.net>
64896
64897         Sync from coreutils.
64898         * m4/chdir-safer.m4: New file.
64899
64900 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
64901
64902         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
64903         AT_FDCWD exceeds INT_MAX.
64904         * lib/openat.h (AT_FDCWD): Likewise.
64905
64906 2006-02-17  Eric Blake  <address@hidden>
64907
64908         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
64909
64910 2006-02-16  Simon Josefsson  <jas@extundo.com>
64911
64912         * modules/getaddrinfo (Depends-on): Add sys_socket.
64913
64914 2006-02-15  Simon Josefsson  <jas@extundo.com>
64915
64916         * build-aux/maint.mk: Add dsyntax-check rule.
64917
64918 2006-02-15  Eric Blake  <ebb9@byu.net>
64919
64920         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
64921         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
64922         'present but cannot compile' warnings on cygwin.
64923         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
64924         use ws2tcpip.h if sys/socket.h works.
64925         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
64926         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
64927
64928 2006-02-14  Simon Josefsson  <jas@extundo.com>
64929
64930         * modules/maintainer-makefile (Files): Rename.
64931
64932         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
64933         and (the local) Makefile.cfg to maint-cfg.mk.
64934
64935         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
64936         to the latter.
64937
64938         * modules/maintainer-makefile: New module.
64939
64940         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
64941         severaly stripped to make it possible to build it up from scratch
64942         with reliable tests.
64943
64944         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
64945         fixes to permit overriding the default actions when configure and
64946         makefile are not available.
64947
64948 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
64949
64950         Sync from coreutils.
64951         * modules/lstat (Depends-on): Don't depend on xalloc.
64952         (License): Change from GPL to LGPL, since this is now simply a
64953         replacement for a libc function.
64954
64955 2006-02-14  Jim Meyering  <jim@meyering.net>
64956
64957         Sync from coreutils.
64958
64959         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
64960         failure on deficient systems, and simplify gnulib lgpl dependencies.
64961         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
64962         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
64963
64964         * lib/xalloc-die.c: Remove unused definition of N_.
64965
64966 2006-02-14  Jim Meyering  <jim@meyering.net>
64967
64968         Sync from coreutils.
64969         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
64970         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
64971         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
64972         double-quote uses of that variable, to accommodate the rare case in
64973         which getmntent is available in none of the libraries checked.  This
64974         happens at least on FreeBSD 5.0.
64975
64976 2006-02-13  Simon Josefsson  <jas@extundo.com>
64977
64978         * gnulib-tool (Usage): Fix --import, from
64979         karl@freefriends.org (Karl Berry).
64980
64981 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
64982
64983         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
64984
64985 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
64986
64987         * lib/argp-namefrob.h: Restore changes accidentally lost during the
64988         "autoupdate" on 2005-12-12.
64989
64990 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
64991
64992         * modules/closeout (Depends-on): Remove atexit.
64993
64994 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
64995
64996         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
64997         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
64998
64999 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
65000
65001         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
65002         __EXTENSIONS__ if this causes compilation to fail.  Problem
65003         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
65004         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
65005
65006 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
65007
65008         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
65009         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
65010         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
65011         All uses changed.
65012
65013 2006-01-26  Simon Josefsson  <jas@extundo.com>
65014
65015         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
65016         prototype is visible on mingw32.
65017
65018         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
65019         for mingw32.
65020
65021         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
65022         mingw32).
65023
65024 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
65025
65026         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
65027         attempt to open for write; this always fails, at least on POSIX
65028         hosts.  This reinstates the 2006-01-09 change, which was
65029         inadvertently removed.
65030
65031 2006-01-26  Bruno Haible  <bruno@clisp.org>
65032
65033         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
65034         Reported by Paul Eggert.
65035
65036 2006-01-26  Bruno Haible  <bruno@clisp.org>
65037             Paul Eggert  <eggert@cs.ucla.edu>
65038
65039         * lib/stdbool_.h (_Bool)
65040         [(! (defined __cplusplus || defined __BEOS__)
65041           && !defined __GNUC__
65042           && !(defined __HP_cc || defined __xlc__
65043                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
65044                || defined __sgi))]:
65045         #define to signed char in these cases too; this simplifies
65046         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
65047         etc., separately) and makes it more conservative.
65048
65049 2006-01-25  Simon Josefsson  <jas@extundo.com>
65050
65051         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
65052         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
65053         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
65054
65055 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65056
65057         * lib/argp-namefrob.h: Bugfix. Remove stray #
65058
65059 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
65060
65061         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
65062         so that we test the test.
65063         Check for yet another HP-UX cc bug involving *bool |= bool.
65064
65065 2006-01-25  Karl Berry  <karl@gnu.org>
65066
65067         * config/srclist.txt (vasnprintf.c): sync lost.
65068
65069 2006-01-25  Jim Meyering  <jim@meyering.net>
65070
65071         Sync from the stable (b5) branch of coreutils:
65072
65073         * lib/fts.c (fts_children): Don't let close() clobber errno from
65074         failed fchdir().
65075
65076         * lib/fts.c (fts_stat): When following a symlink-to-directory,
65077         don't necessarily interpret stat-fails+lstat-succeeds as indicating
65078         a dangling symlink.  That can also happen at least for ELOOP.
65079         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
65080         FYI, this bug predates the inclusion of fts.c in coreutils.
65081
65082         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
65083         in their own block, so pre-c99 compilers don't object.
65084
65085         Avoid the double-free (first in fts_read, second in fts_close) that
65086         would occur when an `active' directory is made inaccessible (e.g.,
65087         via chmod a-x) during a traversal.
65088         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
65089         before returning.  Reproduce this failure by
65090         mkdir -p a/b; cd a; chmod a-x . b
65091         Reported by Stavros Passas.
65092
65093 2006-01-25  Jim Meyering  <jim@meyering.net>
65094
65095         * lib/fileblocks.c: Remove more useless parentheses.
65096         * lib/readutmp.h: Likewise.
65097
65098 2006-01-25  Bruno Haible  <bruno@clisp.org>
65099
65100         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
65101         warnings.
65102         Reported by Paul Eggert.
65103
65104 2006-01-25  Bruno Haible  <bruno@clisp.org>
65105
65106         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
65107         rid of a trap command. For Solaris sh.
65108         Reported by Mark D. Baushke <mdb@gnu.org>.
65109
65110 2006-01-24  Simon Josefsson  <jas@extundo.com>
65111
65112         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
65113         Bruno.
65114
65115 2006-01-24  Karl Berry  <karl@gnu.org>
65116
65117         * config/srclist.txt (argp-namefrob.h): sync lost.
65118
65119 2006-01-24  Jim Meyering  <jim@meyering.net>
65120
65121         * modules/openat (Files): Add lib/intprops.h.
65122         From Mark D. Baushke.
65123
65124 2006-01-24  Jim Meyering  <jim@meyering.net>
65125
65126         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
65127         Reported by Mark D. Baushke.
65128
65129 2006-01-24  Jim Meyering  <jim@meyering.net>
65130
65131         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
65132
65133 2006-01-24  Bruno Haible  <bruno@clisp.org>
65134
65135         * modules/strnlen (Maintainer): Change from glibc to all.
65136
65137 2006-01-24  Bruno Haible  <bruno@clisp.org>
65138
65139         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
65140         Patch by Paul Eggert.
65141
65142 2006-01-24  Bruno Haible  <bruno@clisp.org>
65143
65144         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
65145         already has it.
65146         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
65147         2005-11-26.
65148
65149         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
65150         'signed char' to avoid problems with the built-in _Bool type.
65151         Reported by Paul Eggert on 2005-11-26.
65152
65153 2006-01-24  Bruno Haible  <bruno@clisp.org>
65154
65155         * gnulib-tool (func_import): Avoid constructing complicated sed
65156         expressions inside backquote.
65157         Report and solution by Mark D. Baushke <mdb@gnu.org>.
65158
65159 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
65160
65161         These changes imported from libc.
65162         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
65163         test and two separate function calls.
65164         * lib/strndup.c (__strndup): Add libc_hidden_def.
65165
65166 2006-01-23  Simon Josefsson  <jas@extundo.com>
65167
65168         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
65169         Remove the test_*_SOURCES variable: automake infers it by default.
65170         * modules/tls-tests: Likewise.
65171
65172 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65173
65174         Work around porting bugs reported by Dieter in
65175         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
65176         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
65177         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
65178         Include "getopt.h" first, to check interface.
65179         (getenv): Declare only if defined HAVE_DECL_GETENV &&
65180         !HAVE_DECL_GETENV.
65181         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
65182         (__strndup): Revert to K&R-style function dfns, the glibc style.
65183         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
65184         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
65185         Include strnlen.h first, to get prototype properly.
65186         (strnlen): Renamed from __strnlen.
65187         Remove weak alias.
65188
65189 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65190
65191         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
65192
65193 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65194
65195         * config/srclist.txt: Adjust to reflect glibc reorganization.
65196         This affects only comments.
65197
65198 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65199
65200          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
65201          Reported by Bruce Korb <bkorb@gnu.org>.
65202
65203 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
65204
65205         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
65206         to pacify gcc -Wswitch-default.
65207
65208 2006-01-22  Bruno Haible  <bruno@clisp.org>
65209
65210         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
65211         temporary buffer for sprintf, take into account the precision also
65212         for 'd', 'i', 'u', 'o', 'x', 'X'.
65213
65214 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
65215
65216         * modules/argp-tests: New module
65217         * tests/test-argp.c: New file
65218         * tests/test-argp-2.sh: New file
65219
65220 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
65221
65222         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
65223         (__argp_base_name): Removed
65224         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
65225         typo.
65226         (__argp_base_name): Provide macro definition or extern declaration
65227         depending on the configuration
65228
65229 2006-01-20  Simon Josefsson  <jas@extundo.com>
65230
65231         * modules/inet_ntop (Depends-on): Depend on sys_socket.
65232
65233 2006-01-20  Simon Josefsson  <jas@extundo.com>
65234
65235         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
65236
65237 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
65238
65239         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
65240         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
65241         Suggested by Bruno Haible.
65242
65243 2006-01-20  Karl Berry  <karl@gnu.org>
65244
65245         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
65246         until changes propagate, I guess.
65247
65248 2006-01-19  Simon Josefsson  <jas@extundo.com>
65249
65250         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
65251
65252 2006-01-19  Simon Josefsson  <jas@extundo.com>
65253
65254         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
65255
65256 2006-01-19  Simon Josefsson  <jas@extundo.com>
65257
65258         * gnulib-tool: Set check_PROGRAMS.
65259
65260         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
65261         modules/des-tests, modules/gc-arcfour-tests,
65262         modules/gc-arctwo-tests, modules/gc-des-tests,
65263         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
65264         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
65265         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
65266         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
65267         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
65268         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
65269         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
65270         test_*_SOURCES.
65271
65272 2006-01-18  Simon Josefsson  <jas@extundo.com>
65273
65274         * modules/socklen (Depends-on): Depend on sys_socket.
65275
65276 2006-01-18  Simon Josefsson  <jas@extundo.com>
65277
65278         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
65279         modules/des-tests, modules/gc-arcfour-tests,
65280         modules/gc-arctwo-tests, modules/gc-des-tests,
65281         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
65282         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
65283         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
65284         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
65285         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
65286         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
65287         $(EXEEXT) to automake TESTS variable, for mingw32.
65288
65289 2006-01-17  Simon Josefsson  <jas@extundo.com>
65290
65291         * modules/socklen (Include): Need sys/socket.h.
65292
65293 2006-01-17  Bruno Haible  <bruno@clisp.org>
65294
65295         * modules/ssize_t (Include): Add <sys/types.h>.
65296
65297 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
65298
65299         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
65300         it's not portable and it doesn't work with cross-compiles.
65301         Problem reported by Bruno Haible.  Fix missing-$ typo in
65302         'test "gl_cv_ignore_unused_libraries" ...' that prevented
65303         -zignore from being used with Sun's C compiler.
65304
65305 2006-01-12  Simon Josefsson  <jas@extundo.com>
65306
65307         * lib/base64.c: Fix warning, reported by Bruno Haible
65308         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
65309
65310 2006-01-12  Bruno Haible  <bruno@clisp.org>
65311
65312         * modules/ldd: New file.
65313         * build-aux/ldd.sh.in: New file.
65314         * MODULES.html.sh (Support for building libraries and executables): Add
65315         ldd.
65316
65317 2006-01-12  Bruno Haible  <bruno@clisp.org>
65318
65319         * m4/ldd.m4: New file.
65320
65321 2006-01-12  Bruno Haible  <bruno@clisp.org>
65322
65323         * gnulib-tool (func_import, func_create_testdir): Don't go into an
65324         endless loop while replacing $auxdir with build-aux.
65325
65326 2006-01-11  Simon Josefsson  <jas@extundo.com>
65327
65328         * lib/stdint_.h (SIZE_MAX): Add missing (.
65329
65330 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
65331
65332         Sync from coreutils.
65333         * lib/md5.c: Fix commentary typos.
65334         (alignof, UNALIGNED_P): No need for a GCC-specific version.
65335         * lib/md5.h (__attribute__): Remove; unused.
65336         * lib/sha1.c: Fix commentary to match md5 better.
65337         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
65338         so that we don't need to worry about alignment.  All uses changed.
65339         This merges the 2005-10-28 md5 change into sha1.
65340
65341 2006-01-11  Jim Meyering  <jim@meyering.net>
65342
65343         Sync from coreutils.
65344         * lib/md5.c (OP): Fix spacing.
65345
65346 2006-01-11  Bruno Haible  <bruno@clisp.org>
65347
65348         Ensure automatic ordering between gl_LOCK and gl_ARGP.
65349         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
65350         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
65351
65352 2006-01-11  Bruno Haible  <bruno@clisp.org>
65353
65354         Ensure automatic ordering between gl_LOCK and gl_ARGP.
65355         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
65356         the "early" section as well.
65357
65358 2006-01-11  Bruno Haible  <bruno@clisp.org>
65359
65360         Avoid "ar: no archive members specified" error on MacOS X.
65361         * gnulib-tool (func_modules_add_dummy): New function.
65362         (func_import, func_create_testdir): Invoke it.
65363
65364 2006-01-11  Bruno Haible  <bruno@clisp.org>
65365
65366         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
65367         with $auxdir in AC_CONFIG_FILES statements.
65368
65369 2006-01-11  Bruno Haible  <bruno@clisp.org>
65370
65371         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65372         Initialize also noinst_HEADERS to empty.
65373
65374 2006-01-11  Bruno Haible  <bruno@clisp.org>
65375
65376         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
65377         variables.
65378         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
65379         autoreconf.
65380
65381 2006-01-11  Bruno Haible  <bruno@clisp.org>
65382
65383         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
65384         overridable by the user.
65385         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65386
65387 2006-01-10  Simon Josefsson  <jas@extundo.com>
65388
65389         * modules/sys_socket: New file.
65390
65391 2006-01-10  Simon Josefsson  <jas@extundo.com>
65392
65393         * m4/sys_socket_h.m4: New file.
65394
65395 2006-01-10  Simon Josefsson  <jas@extundo.com>
65396
65397         * lib/socket_.h: New file.
65398
65399 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65400
65401         * modules/readutmp (Maintainer): Add myself.
65402
65403 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65404
65405         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
65406         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
65407         People who are still concerned with buggy memcmp implementations
65408         can invoke gl_FUNC_MEMCMP themselves.
65409
65410 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65411
65412         * lib/regex_internal.h (BITSET_WORD_BITS):
65413         Work around a bug in 64-bit PGC (before version 6.1-2), where the
65414         preprocessor mishandles large unsigned values as if they were signed.
65415         Problem reported by Claudio Fontana in
65416         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
65417
65418 2006-01-10  Jim Meyering  <jim@meyering.net>
65419
65420         Avoid the double-free (first in fts_read, second in fts_close) that
65421         would occur when an `active' directory is made inaccessible (e.g.,
65422         via chmod a-x) during a traversal.
65423         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
65424         before returning.  Reproduce this failure by
65425         mkdir -p a/b; cd a; chmod a-x . b
65426         Reported by Stavros Passas.
65427
65428         Sync from coreutils.
65429         * lib/sha1.c: Tweak grammar in a comment.
65430
65431 2006-01-10  Jim Meyering  <jim@meyering.net>
65432
65433         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
65434         Patch by Joerg Sonnenberger.
65435
65436 2006-01-10  Bruno Haible  <bruno@clisp.org>
65437
65438         * modules/readutmp: Depend on module free.
65439         * modules/strtok_r: Depend on module restrict.
65440
65441 2006-01-10  Bruno Haible  <bruno@clisp.org>
65442
65443         * modules/gettext (configure.ac): Add an invocation of
65444         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
65445
65446 2006-01-10  Bruno Haible  <bruno@clisp.org>
65447
65448         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
65449         Reported by Werner Lemberg <wl@gnu.org>.
65450
65451 2006-01-10  Bruno Haible  <bruno@clisp.org>
65452
65453         * lib/localcharset.c: Update from GNU gettext.
65454
65455 2006-01-10  Bruno Haible  <bruno@clisp.org>
65456
65457         * lib/argp.h (__const): Remove macro. Use const instead.
65458         * lib/argp-fmtstream.h (__const): Likewise.
65459         * lib/glob_.h (__const): Remove macro.
65460         * lib/glob-libc.h: Use const instead of __const.
65461
65462 2006-01-10  Bruno Haible  <bruno@clisp.org>
65463
65464         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
65465         variable.
65466         Needed to avoid an automake error regarding the 'gettext' module.
65467
65468 2006-01-09  Simon Josefsson  <jas@extundo.com>
65469
65470         * modules/inet_ntop (Depends-on): Add restrict.
65471
65472 2006-01-09  Simon Josefsson  <jas@extundo.com>
65473
65474         * modules/gc-rijndael-tests (License): Put under LGPL.
65475
65476         * modules/gc-des-tests (License): Likewise.
65477
65478         * modules/gc-arcfour-tests (License): Likewise.
65479
65480         * modules/gc-arctwo-tests (License): Likewise.
65481
65482         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
65483
65484         * modules/gc-hmac-sha1-tests (Files): Likewise.
65485
65486         * modules/gc-hmac-md5-tests (License): Likewise.
65487
65488         * modules/gc-sha1-tests (License): Likewise.
65489
65490         * modules/gc-md5-tests (License): Likewise.
65491
65492         * modules/gc-md4-tests (License): Likewise.
65493
65494         * modules/gc-md2-tests (License): Likewise.
65495
65496         * modules/gc-tests (License): Likewise.
65497
65498         * modules/des-tests (License): Likewise.
65499
65500         * modules/md4-tests (License): Likewise.
65501
65502         * modules/md2-tests (License): Likewise.
65503
65504 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65505
65506         Sync from coreutils:
65507
65508         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
65509         * modules/lib-ignore: New file.
65510         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
65511         chdir-safer.m4, lchmod.m4.
65512         * modules/openat: Add mkdirat.c, openat-priv.h.
65513
65514 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65515
65516         Sync from coreutils.
65517         * m4/lib-ignore.m4: New file.
65518         * m4/lchmod.m4: New file.
65519
65520 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65521
65522         Sync from coreutils.
65523         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
65524         for write access: POSIX says that must fail.
65525         * lib/fts.c (diropen): Likewise.
65526         * lib/save-cwd.c (save_cwd): Likewise.
65527         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
65528         well, for minor improvements on hosts that lack O_DIRECTORY.
65529         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
65530         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
65531         Fall back on chown if open failed with EACCES.
65532
65533         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
65534         Report an error at compile-time if only a 1-second nominal clock
65535         resolution is found.
65536
65537         * lib/lchmod.h: New file.
65538         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
65539         (make_dir_parents): Use lchown rather than chown, and
65540         lchmod rather than chmod.
65541
65542         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
65543         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
65544         "proc" reported by n0dalus.
65545
65546         * lib/mountlist.c: Include <limits.h>.
65547         (dev_from_mount_options)
65548         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
65549         New function.  It no longer assumes "dev=" has the System V meaning
65550         on Linux (since it doesn't).  It also parses "dev=" more carefully.
65551         (read_file_system_list)
65552         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
65553         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
65554         dev= in that case.
65555
65556         * lib/posixtm.h (PDS_PRE_2000): New macro.
65557         * lib/posixtm.c (year): Arg is now syntax_bits rather than
65558         allow_century.  All usages changed.  Reject dates outside the range
65559         1969-1999 if PDS_PRE_2000 is used.
65560
65561 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65562
65563         Sync from coreutils.
65564         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
65565         (Time of day items): Mention the possibility of leap seconds.
65566         Problem reported by Dr. David Alan Gilbert.
65567
65568 2006-01-09  Jim Meyering  <jim@meyering.net>
65569
65570         Sync from coreutils.
65571
65572         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
65573
65574         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
65575
65576         * lib/modechange.c (mode_compile): Reject an invalid mode string
65577         that starts with an octal digit.  From Andreas Gruenbacher.
65578
65579         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
65580         and dup to open_safer and dup_safer, respectively.
65581         (openat_permissive): Fix typo in comment.
65582
65583         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
65584         "gettext.h"; either no longer needed or are guaranteed by openat.h.
65585         (_): Remove; no longer needed.
65586         (openat): Renamed from rpl_openat; no need for rpl_openat
65587         since openat.h renames openat for us.
65588         Replace most of the body with a call to openat_permissive,
65589         to avoid duplicate code.
65590         Port to (probably hypothetical) environments were mode_t is
65591         wider than int.
65592         (openat_permissive): Require mode arg, so that we can check
65593         types better.  Put it just after flags.  Change cwd failure
65594         indicator from pointer-to-bool to pointer-to-errno-value.
65595         All callers changed.
65596         Invoke openat_save_fail and/or openat_restore_fail if
65597         cwd_errno is null, so that openat can call us.
65598         (openat_permissive, fdopendir, fstatat, unlinkat):
65599         Simplify errno handling to avoid some duplicate code,
65600         as it's OK to set errno on success.
65601         * lib/openat.h: Revamp code so that function macros depend on
65602         __OPENAT_PREFIX only, not also on AT_FDCWD.
65603         (openat_ro): Remove.  Caller changed to use openat_permissive.
65604         (openat_permissive): Now a macro, if not a function.
65605         (openat_restore_fail, openat_save_fail): Now always functions,
65606         since mkdirat needs them even if __OPENAT_PREFIX is defined.
65607
65608         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
65609         and openat.c.
65610         * lib/mkdirat.c: Include openat-priv.h.
65611         Remove definitions of macros defined therein.
65612         * lib/openat.c: Likewise.
65613
65614         * lib/mkdirat.c (mkdirat): New file and function.
65615         * lib/openat.h (mkdirat): Declare.
65616
65617         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
65618
65619         * lib/openat.h (openat_permissive): Declare.
65620         (openat_ro): Define.
65621
65622         * lib/openat.c (EXPECTED_ERRNO): New macro.
65623         (openat_permissive): New function -- used in remove.c rewrite.
65624         (all functions): Set errno just before returning, only if there
65625         was an actual failure.
65626         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
65627
65628         Emulate openat-family functions using Linux's procfs, if possible.
65629         Idea and some code based on Ulrich Drepper's glibc changes.
65630
65631         * lib/openat.c: (BUILD_PROC_NAME): New macro.
65632         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
65633         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
65634         before falling back on save_cwd and restore_cwd.
65635         (fdopendir, fstatat, unlinkat): Likewise.
65636
65637         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
65638         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
65639
65640         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
65641         as second argument to va_arg.  Otherwise, some versions of gcc
65642         warn that `if this code is reached, the program will abort'.
65643
65644 2006-01-09  Jim Meyering  <jim@meyering.net>
65645
65646         Sync from coreutils.
65647         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
65648         Require openat-priv.h.
65649
65650 2006-01-09  Bruno Haible  <bruno@clisp.org>
65651
65652         * modules/strnlen (Include): Use strnlen.h.
65653
65654 2006-01-09  Bruno Haible  <bruno@clisp.org>
65655
65656         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
65657
65658 2006-01-09  Bruno Haible  <bruno@clisp.org>
65659
65660         * lib/sysexit_.h (EX_OK): New macro.
65661         Suggested by Martin Lambers <marlam@marlam.de>.
65662
65663 2006-01-09  Bruno Haible  <bruno@clisp.org>
65664
65665         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
65666         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
65667
65668 2006-01-09  Bruno Haible  <bruno@clisp.org>
65669
65670         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
65671         numbers.
65672
65673 2006-01-09  Bruno Haible  <bruno@clisp.org>
65674
65675         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
65676         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
65677         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
65678         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
65679
65680 2006-01-09  Bruno Haible  <bruno@clisp.org>
65681
65682         * build-aux/javacomp.sh.in: New file, moved from lib/.
65683         * modules/javacomp-script (Files): Update.
65684         (configure.ac): Add AC_CONFIG_FILES invocation.
65685         (EXTRA_DIST): Remove variable.
65686
65687         * build-aux/javaexec.sh.in: New file, moved from lib/.
65688         * modules/javaexec (Files): Update.
65689         (configure.ac): Add AC_CONFIG_FILES invocation.
65690         (EXTRA_DIST): Remove javaexec.sh.in.
65691
65692         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
65693         * modules/csharpcomp-script (Files): Update.
65694         (configure.ac): Add AC_CONFIG_FILES invocation.
65695         (EXTRA_DIST): Remove variable.
65696
65697         * build-aux/csharpexec.sh.in: New file, moved from lib/.
65698         * modules/csharpexec (Files): Update.
65699         (configure.ac): Add AC_CONFIG_FILES invocation.
65700         (EXTRA_DIST): Remove csharpexec.sh.in.
65701
65702 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
65703
65704         Sync from coreutils.
65705
65706         Add POSIX ACL support
65707         * lib/acl.h (copy_acl, set_acl): Add declarations.
65708         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
65709         systems other than Linux.
65710         (chmod_or_fchmod): New function: use fchmod when possible,
65711         and chmod otherwise.
65712         (file_has_acl): Add a POSIX ACL implementation, with a
65713         Linux-specific subcase.
65714         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
65715         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
65716         acls are unsupported.
65717         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
65718         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
65719         are unsupported.
65720
65721 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
65722
65723         Sync from coreutils.
65724         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
65725
65726 2006-01-07  Bruno Haible  <bruno@clisp.org>
65727
65728         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
65729         gl_EARLY.
65730
65731 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65732
65733         * lib/strftime.c (tzname): Don't declare if it is already #defined.
65734         Problem reported for Mingw by Mark Junker.
65735
65736 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65737
65738         * README: Gnulib normally doesn't generate a tarball.
65739
65740 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
65741
65742         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
65743         long int, not int, for nanosecond counts, so that people who are
65744         used to POSIX struct timespec won't be surprised.  Reported by Jim
65745         Meyering.
65746
65747 2005-12-28  Bruno Haible  <bruno@clisp.org>
65748
65749         * build-aux/config.rpath: Update from GNU gettext.
65750
65751 2005-12-16  Jim Meyering  <jim@meyering.net>
65752
65753         * modules/fprintftime: New module.
65754         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
65755
65756 2005-12-16  Jim Meyering  <jim@meyering.net>
65757
65758         * m4/fprintftime.m4: New file.
65759
65760 2005-12-16  Jim Meyering  <jim@meyering.net>
65761
65762         * lib/fprintftime.c, lib/fprintftime.h: New files.
65763
65764 2005-12-15  Simon Josefsson  <jas@extundo.com>
65765
65766         * modules/socklen (configure.ac): Fix M4 macro name, to align with
65767         new m4/socklen.m4.
65768
65769 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65770
65771         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
65772         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
65773
65774 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65775
65776         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
65777         * lib/argp-help.c (fill_in_uparams): Check if the constructed
65778         struct uparams is valid. Fall back to the default values if it is
65779         not.
65780
65781 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65782
65783         * modules/argp (Files): Add argp-pin.c
65784         (Depends-on): dirname
65785         (lib_SOURCES): Add argp-pin.c
65786
65787 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65788
65789         * m4/argp.m4:  Check if program_invocation_name and
65790         program_invocation_short_name are declared and define appropriate
65791         macros if they are not.
65792
65793 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65794
65795         * lib/argp-help.c (__argp_base_name): New function
65796         (__argp_short_program_name): Rewrite using __argp_base_name
65797         * lib/argp-namefrob.h: Define program_invocation_name and
65798         program_invocation_short_name if requested
65799         (__argp_base_name): Add prototype
65800         * lib/argp-parse.c (argp_def): Use gettext wrappers
65801         (argp_default_parser): Use __argp_base_name
65802         * lib/argp-pin.c: New file. Defines program_invocation_name and
65803         program_invocation_short_name on systems that lack them.
65804
65805 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
65806
65807         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
65808         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
65809         porting problem reported by Georg Schwarz in
65810         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
65811
65812 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
65813
65814         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
65815         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
65816         porting problem reported by Georg Schwarz in
65817         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
65818
65819 2005-12-05  Bruno Haible  <bruno@clisp.org>
65820
65821         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
65822         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
65823         Reported by Mark Junker <mjscod@gmx.de>.
65824
65825 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
65826
65827         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
65828         Use implementation from Albert Chin, with some
65829         comments/corrections by Stepan Kasal and myself.
65830
65831 2005-12-02  Bruno Haible  <bruno@clisp.org>
65832
65833         * gnulib-tool (func_import): Accept GPLed build tool modules when
65834         --lgpl is given.
65835         * modules/csharpcomp-script: New file.
65836         * modules/csharpcomp: Depend on it.
65837         * modules/javacomp-script: New file.
65838         * modules/javacomp: Depend on it.
65839         Suggested by Simon Josefsson.
65840
65841 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
65842
65843         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
65844         statement, to work around an HP-UX 10.20 compiler bug reported by
65845         Peter O'Gorman.
65846
65847 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
65848
65849         * modules/savedir (Depends-on): Add openat.
65850
65851 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
65852
65853         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
65854         (uintmax_t) [defined uintmax_t]: Do not declare.
65855         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
65856         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
65857         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
65858         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
65859         sake of portability to weird hosts that C allows (though we don't
65860         know of any practical examples).
65861
65862         * lib/savedir.h (fdsavedir): New decl.
65863         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
65864         contains most of the former guts of savedir.
65865         (savedir): Use savedirstream.
65866         Include "openat.h".
65867
65868 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
65869
65870         * modules/obstack (Files): Add m4/ulonglong.m4.
65871         Problem reported by Davide Angelocola.
65872
65873 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
65874
65875         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
65876         coreutils no longer futzes with rounding modes.
65877
65878 2005-11-14  Jim Meyering  <jim@meyering.net>
65879
65880         * lib/mkstemp-safer.c: Include <config.h>, required for possible
65881         replacement of mkstemp.
65882
65883 2005-11-10  Simon Josefsson  <jas@extundo.com>
65884
65885         * lib/readline.c: Remove EOL.
65886
65887 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
65888
65889         * modules/gethrxtime (Depends-on): Add gettime.
65890
65891 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
65892
65893         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
65894         or gettimeofday; no longer needed.
65895
65896 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
65897
65898         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
65899         time business.
65900         (gethrxtime) [! (HAVE_NANOUPTIME
65901         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
65902         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
65903         our own approximation.
65904
65905 2005-11-08  Eric Blake  <ebb9@byu.net>
65906
65907         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
65908
65909 2005-11-08  Eric Blake  <ebb9@byu.net>
65910
65911         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
65912
65913 2005-11-04  Bruno Haible  <bruno@clisp.org>
65914
65915         * gnulib-tool: Implement --update mode.
65916
65917 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
65918
65919         Fix porting problem reported by Theodoros V. Kalamatianos.
65920         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
65921         Don't assume that futimes failing means we must fail.
65922
65923 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
65924
65925         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
65926         variables to suggest the intended function of the PATH_MAX check.
65927
65928 2005-10-30  Kean Johnston  <jkj@sco.com>
65929
65930         Trivial changes to support SCO systems.
65931         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
65932         as PATH_MAX.
65933         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
65934         where __ptr is null when no I/O is pending.
65935
65936 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
65937
65938         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
65939         leave errno alone.  Problem reported by Dmitry V. Levin.
65940
65941 2005-10-28  Simon Josefsson  <jas@extundo.com>
65942
65943         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
65944         Test more.
65945
65946         * tests/test-gc-md2.c, tests/test-md2.c: New files.
65947
65948         * modules/md2, modules/md2-tests: New files.
65949
65950 2005-10-28  Simon Josefsson  <jas@extundo.com>
65951
65952         * m4/inet_ntop.m4: More tests.
65953
65954         * m4/gc-md2.m4, md2.m4: New file.
65955
65956 2005-10-28  Simon Josefsson  <jas@extundo.com>
65957
65958         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
65959         "restrict" keywords, as per POSIX.  Protect the function
65960         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
65961         Don't use K&R prototypes.  Check the sprintf return values.
65962         Re-define EAFNOSUPPORT if not present.  Indent.
65963
65964         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
65965         suggested by Bruno Haible <bruno@clisp.org>.
65966
65967         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
65968
65969         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
65970
65971         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
65972         libgcrypt).
65973
65974         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
65975
65976         * lib/md2.h, lib/md2.c: New files.
65977
65978 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
65979
65980         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
65981         errno alone.  Problem reported by Frederic Jolliton.
65982
65983 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65984
65985         * modules/verify (License): Change from GPL to LGPL.  This is a
65986         tiny module and there are apparently near-equivalents that are
65987         under the BSD license.
65988
65989 2005-10-24  Simon Josefsson  <jas@extundo.com>
65990
65991         * modules/sha1: Relicense to LGPL.
65992
65993 2005-10-24  Simon Josefsson  <jas@extundo.com>
65994
65995         * lib/md4.h: Shrink buffer size, now that we changed the type.
65996
65997 2005-10-23  Simon Josefsson  <jas@extundo.com>
65998
65999         * gnulib-tool (func_import): Fix --tests-base.
66000
66001 2005-10-22  Simon Josefsson  <jas@extundo.com>
66002
66003         * modules/arcfour (Depends-on): Need stdint.
66004
66005 2005-10-22  Simon Josefsson  <jas@extundo.com>
66006
66007         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
66008         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
66009
66010 2005-10-22  Simon Josefsson  <jas@extundo.com>
66011
66012         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
66013         suggested by Bruno Haible <bruno@clisp.org>.
66014
66015 2005-10-22  Simon Josefsson  <jas@extundo.com>
66016
66017         * lib/crc.h: Include stddef.h, for size_t.
66018
66019 2005-10-22  Simon Josefsson  <jas@extundo.com>
66020
66021         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
66022         arcfour_context struct (simplify test vector testing in GNU
66023         Shishi).
66024
66025 2005-10-21  Simon Josefsson  <jas@extundo.com>
66026
66027         * modules/des, modules/des-tests: New files.
66028
66029         * modules/gc-des, modules/gc-des-tests: New files.
66030
66031         * tests/test-des.c, tests/test-gc-des.c: New file.
66032
66033 2005-10-21  Simon Josefsson  <jas@extundo.com>
66034
66035         * modules/arctwo, modules/arctwo-tests: New files.
66036
66037         * tests/test-arctwo.c: New file.
66038
66039         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
66040
66041         * tests/test-gc-arctwo.c: New file.
66042
66043 2005-10-21  Simon Josefsson  <jas@extundo.com>
66044
66045         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
66046         Bruno Haible <bruno@clisp.org>.
66047
66048         * m4/gc-des.m4: New file.
66049
66050 2005-10-21  Simon Josefsson  <jas@extundo.com>
66051
66052         * m4/arctwo.m4: New file.
66053
66054         * m4/gc-arctwo.m4: New file.
66055
66056 2005-10-21  Simon Josefsson  <jas@extundo.com>
66057
66058         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
66059         block.
66060
66061 2005-10-21  Simon Josefsson  <jas@extundo.com>
66062
66063         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
66064         <bruno@clisp.org>.
66065
66066         * lib/hmac-sha1.c (hmac_sha1): Likewise.
66067
66068         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
66069         Bruno Haible <bruno@clisp.org>.
66070
66071         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
66072         <bruno@clisp.org>.
66073
66074 2005-10-21  Simon Josefsson  <jas@extundo.com>
66075
66076         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
66077
66078 2005-10-21  Simon Josefsson  <jas@extundo.com>
66079
66080         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
66081
66082 2005-10-21  Simon Josefsson  <jas@extundo.com>
66083
66084         * lib/des.h, lib/des.c: New files.
66085
66086         * lib/gc-gnulib.c: Support DES.c
66087
66088 2005-10-21  Simon Josefsson  <jas@extundo.com>
66089
66090         * lib/arctwo.h, lib/arctwo.c: New files.
66091
66092         * lib/gc-gnulib.c: Support ARCTWO.
66093
66094 2005-10-21  Simon Josefsson  <jas@extundo.com>
66095
66096         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
66097         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66098
66099 2005-10-21  Simon Josefsson  <jas@extundo.com>
66100
66101         * gnulib-tool (func_import, func_create_testdir): Define automake
66102         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
66103         Makefile.am snippet),
66104         suggested by Bruno Haible <bruno@clisp.org>.
66105
66106         * modules/gc (Makefile.am): Use it.
66107
66108 2005-10-21  Bruno Haible  <bruno@clisp.org>
66109
66110         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
66111         patch.
66112
66113 2005-10-19  Simon Josefsson  <jas@extundo.com>
66114
66115         * tests/test-gc-rijndael.c: New file.
66116
66117         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
66118
66119 2005-10-19  Simon Josefsson  <jas@extundo.com>
66120
66121         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
66122         interface too.
66123
66124 2005-10-19  Simon Josefsson  <jas@extundo.com>
66125
66126         * tests/test-gc-arcfour.c: New file.
66127
66128         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
66129
66130 2005-10-19  Simon Josefsson  <jas@extundo.com>
66131
66132         * modules/gc-md4, modules/gc-md4-tests: New file.
66133
66134         * tests/test-gc-md4.c: New file.
66135
66136 2005-10-19  Simon Josefsson  <jas@extundo.com>
66137
66138         * m4/gc-md4.m4: New file.
66139
66140 2005-10-19  Simon Josefsson  <jas@extundo.com>
66141
66142         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
66143         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
66144         <kasal@ucw.cz>.
66145
66146 2005-10-19  Simon Josefsson  <jas@extundo.com>
66147
66148         * m4/gc-arcfour.m4: New file.
66149
66150         * m4/gc-rijndael.m4: New file.
66151
66152 2005-10-19  Simon Josefsson  <jas@extundo.com>
66153
66154         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
66155
66156 2005-10-19  Simon Josefsson  <jas@extundo.com>
66157
66158         * lib/gc-gnulib.c: Support ARCFOUR.
66159
66160 2005-10-19  Simon Josefsson  <jas@extundo.com>
66161
66162         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
66163         support.
66164
66165         * lib/gc.h: Add ECB enum type.
66166
66167         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
66168
66169 2005-10-18  Simon Josefsson  <jas@extundo.com>
66170
66171         * tests/test-md5.c: New file.
66172
66173         * modules/md5-tests: New file.
66174
66175 2005-10-18  Simon Josefsson  <jas@extundo.com>
66176
66177         * tests/test-md4.c: New file.
66178
66179         * modules/md4, modules/md4-tests: New files.
66180
66181 2005-10-18  Simon Josefsson  <jas@extundo.com>
66182
66183         * m4/md4.m4: New file.
66184
66185 2005-10-18  Simon Josefsson  <jas@extundo.com>
66186
66187         * lib/md4.h, lib/md4.c: New files, based on md5.?.
66188
66189 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
66190
66191         * gnulib-tool (func_create_testdir): Omit the second check whether
66192         BUILT_SOURCES in nonempty.
66193
66194 2005-10-17  Simon Josefsson  <jas@extundo.com>
66195
66196         * tests/test-rijndael.c: New file.
66197
66198 2005-10-17  Simon Josefsson  <jas@extundo.com>
66199
66200         * modules/sha1: Depend on stdint instead of md5.
66201
66202         * modules/md5: Depend on stdint, remove uint32_t.
66203
66204 2005-10-17  Simon Josefsson  <jas@extundo.com>
66205
66206         * modules/gc-sha1-tests: New file.
66207
66208         * tests/test-gc-sha1.c: New file.
66209
66210 2005-10-17  Simon Josefsson  <jas@extundo.com>
66211
66212         * m4/md5.m4: Remove call to uint32_t.m4.
66213
66214 2005-10-17  Simon Josefsson  <jas@extundo.com>
66215
66216         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
66217
66218         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
66219         md5.h.
66220
66221         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
66222
66223         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
66224
66225 2005-10-17  Simon Josefsson  <jas@extundo.com>
66226
66227         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
66228
66229 2005-10-17  Simon Josefsson  <jas@extundo.com>
66230
66231         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
66232
66233 2005-10-17  Simon Josefsson  <jas@extundo.com>
66234
66235         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
66236
66237         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
66238
66239 2005-10-17  Bruno Haible  <bruno@clisp.org>
66240
66241         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
66242         that it can also be used in a test.
66243
66244 2005-10-16  Bruno Haible  <bruno@clisp.org>
66245
66246         * gnulib-tool (func_emit_tests_Makefile_am): Also define
66247         TESTS_ENVIRONMENT, so that individual tests can augment it.
66248
66249         * gnulib-tool (func_create_testdir): Use an intermediate target for
66250         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
66251         macros, like $(ALLOCA_H), which cannot be passed through the command
66252         line.
66253
66254 2005-10-15  Simon Josefsson  <jas@extundo.com>
66255
66256         * modules/rijndael-tests: New file.
66257
66258         * modules/rijndael: New file.
66259
66260 2005-10-15  Simon Josefsson  <jas@extundo.com>
66261
66262         * m4/rijndael.m4: New file.
66263
66264 2005-10-15  Simon Josefsson  <jas@extundo.com>
66265
66266         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
66267
66268         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
66269
66270 2005-10-14  Simon Josefsson  <jas@extundo.com>
66271
66272         * tests/test-arcfour.c: New file.
66273
66274         * modules/arcfour, modules/arcfour-tests: New files.
66275
66276 2005-10-14  Simon Josefsson  <jas@extundo.com>
66277
66278         * m4/arcfour.m4: New file.
66279
66280 2005-10-14  Simon Josefsson  <jas@extundo.com>
66281
66282         * lib/arcfour.h, lib/arcfour.c: New files.
66283
66284 2005-10-14  Roland McGrath  <roland@redhat.com>
66285
66286         Import from libc.  [BZ #1331]
66287         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
66288         macro argument.
66289         Reported by Matej Vela <vela@debian.org>.
66290
66291 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66292
66293         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
66294         include <wchar.h>; no longer needed.
66295
66296 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66297
66298         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
66299
66300 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
66301         and  Ulrich Drepper  <drepper@redhat.com>
66302
66303         Import from libc.
66304         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
66305         instead of inline stream orientation test and two separate
66306         function calls.  Pay no attention to USE_IN_LIBIO.
66307
66308 2005-10-13  Simon Josefsson  <jas@extundo.com>
66309
66310         * modules/gc-hmac-md5-tests: New file.
66311
66312         * tests/test-gc-hmac-sha1.c: New file.
66313
66314         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
66315
66316         * modules/gc-hmac-md5-tests: New file.
66317
66318         * tests/test-gc-md5.c: New file.
66319
66320         * modules/gc-md5-tests: New file.
66321
66322 2005-10-13  Simon Josefsson  <jas@extundo.com>
66323
66324         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
66325         Move memory allocation outside of loop.
66326
66327 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
66328
66329         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
66330         intermediate directory is in a read-only file system.  Problem
66331         reported by Eric Blake.
66332
66333 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
66334
66335         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
66336
66337 2005-10-12  Simon Josefsson  <jas@extundo.com>
66338
66339         * tests/test-hmac-sha1.c: New file.
66340
66341         * modules/hmac-sha1-tests: New file.
66342
66343         * modules/hmac-sha1: New file.
66344
66345 2005-10-12  Simon Josefsson  <jas@extundo.com>
66346
66347         * modules/gc-sha1: New file.
66348
66349 2005-10-12  Simon Josefsson  <jas@extundo.com>
66350
66351         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
66352
66353         * tests/test-gc-pbkdf2-sha1.c: New file.
66354
66355 2005-10-12  Simon Josefsson  <jas@extundo.com>
66356
66357         * modules/gc-md5, modules/gc-hmac-md5: New files.
66358
66359         * modules/gc (Files): Remove md5, memxor and hmac files.
66360
66361 2005-10-12  Simon Josefsson  <jas@extundo.com>
66362
66363         * m4/gc-pbkdf2-sha1.m4: New file.
66364
66365         * m4/gc-hmac-sha1.m4: New file.
66366
66367         * m4/gc-sha1: New file.
66368
66369         * m4/hmac-sha1.m4: New file.
66370
66371 2005-10-12  Simon Josefsson  <jas@extundo.com>
66372
66373         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
66374
66375         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
66376
66377 2005-10-12  Simon Josefsson  <jas@extundo.com>
66378
66379         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
66380         suggested by Bruno Haible <bruno@clisp.org>.
66381
66382 2005-10-12  Simon Josefsson  <jas@extundo.com>
66383
66384         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
66385
66386 2005-10-12  Simon Josefsson  <jas@extundo.com>
66387
66388         * lib/gc-pbkdf2-sha1.c: New file.
66389
66390         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
66391
66392 2005-10-12  Simon Josefsson  <jas@extundo.com>
66393
66394         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
66395
66396         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
66397
66398 2005-10-12  Simon Josefsson  <jas@extundo.com>
66399
66400         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
66401         GC_USE_HMAC_MD5, respectively.
66402
66403         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
66404         (gc_md5): Fix typo.
66405
66406         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
66407
66408         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
66409
66410         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
66411
66412 2005-10-12  Bruno Haible  <bruno@clisp.org>
66413
66414         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
66415         Reported by Stepan Kasal <kasal@ucw.cz>.
66416
66417 2005-10-11  Simon Josefsson  <jas@extundo.com>
66418
66419         * tests/test-crc.c: New file.
66420
66421         * modules/crc, modules/crc-tests: New files.
66422
66423 2005-10-11  Simon Josefsson  <jas@extundo.com>
66424
66425         * m4/crc.m4: New file.
66426
66427 2005-10-11  Simon Josefsson  <jas@extundo.com>
66428
66429         * lib/gc.h: Add gc_hash and gc_hash_buffer.
66430
66431         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
66432
66433         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
66434
66435 2005-10-11  Simon Josefsson  <jas@extundo.com>
66436
66437         * lib/crc.h, lib/crc.c: New files.
66438
66439         * lib/gc.h (gc_hash_buffer): Add doc.
66440
66441 2005-10-11  Bruno Haible  <bruno@clisp.org>
66442
66443         * modules/c-strcasestr: New file.
66444         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
66445
66446 2005-10-11  Bruno Haible  <bruno@clisp.org>
66447
66448         * modules/c-strcase: New file.
66449         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
66450
66451 2005-10-11  Bruno Haible  <bruno@clisp.org>
66452
66453         * lib/strcasecmp.c: Include limits.h.
66454         (strcasecmp): Avoid integer overflow on exotic platforms.
66455         * lib/strncasecmp.c: Include limits.h.
66456         (strncasecmp): Avoid integer overflow on exotic platforms.
66457         Reported by Paul Eggert.
66458
66459 2005-10-11  Bruno Haible  <bruno@clisp.org>
66460
66461         * lib/c-strcasestr.h: New file, from GNU gettext.
66462         * lib/c-strcasestr.c: New file, from GNU gettext.
66463
66464 2005-10-11  Bruno Haible  <bruno@clisp.org>
66465
66466         * lib/c-strcase.h: New file, from GNU gettext.
66467         * lib/c-strcasecmp.c: New file, from GNU gettext.
66468         * lib/c-strncasecmp.c: New file, from GNU gettext.
66469
66470 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66471
66472         * modules/mempcpy (License): GPL -> LGPL.
66473         * modules/strchrnul (License): Likewise.
66474         * modules/sysexits (License): Likewise.
66475
66476 2005-10-08  Simon Josefsson  <jas@extundo.com>
66477
66478         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
66479
66480 2005-10-07  Simon Josefsson  <jas@extundo.com>
66481
66482         * m4/memxor.m4: Remove gl_C_RESTRICT call.
66483
66484 2005-10-06  Simon Josefsson  <jas@extundo.com>
66485
66486         * tests/test-hmac-md5.c: New file.
66487
66488         * modules/hmac-md5-tests: New file.
66489
66490         * modules/hmac-md5: New file.
66491
66492 2005-10-06  Simon Josefsson  <jas@extundo.com>
66493
66494         * m4/hmac-md5.m4: New file.
66495
66496         * m4/memxor.m4: Require gl_C_RESTRICT.
66497
66498 2005-10-06  Simon Josefsson  <jas@extundo.com>
66499
66500         * lib/memxor.c (memxor): Avoid casts and warnings.
66501
66502 2005-10-06  Simon Josefsson  <jas@extundo.com>
66503
66504         * lib/hmac-md5.c: New file.
66505
66506         * lib/hmac.h: New file.
66507
66508 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66509
66510         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
66511         promotes to int, not unsigned int, to catch the AIX 5.3
66512         compiler bug.
66513
66514 2005-10-05  Simon Josefsson  <jas@extundo.com>
66515
66516         * modules/memxor: New file.
66517
66518         * modules/iconv (Files): Move config.rpath to havelib, it is used
66519         there.
66520
66521         * modules/havelib (Files): Add config.rpath.
66522
66523 2005-10-05  Simon Josefsson  <jas@extundo.com>
66524
66525         * m4/memxor.m4: New file.
66526
66527 2005-10-05  Simon Josefsson  <jas@extundo.com>
66528
66529         * lib/memxor.c (memxor): Fix compiler error.
66530
66531         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
66532         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
66533
66534         * lib/memxor.h, lib/memxor.c: New files.
66535
66536         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
66537         we assume all systems have it, suggested by Jim Meyering
66538         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
66539         any systems lack sys/socket.h; mingw32 is known to lack it, but we
66540         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
66541         same reasons.
66542
66543 2005-10-05  Simon Josefsson  <jas@extundo.com>
66544
66545         * config/srclist.txt: Add glibc bug 1423 for md5.h.
66546
66547 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
66548
66549         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
66550         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
66551         needed, since the source code now assumes these .h files.
66552
66553 2005-10-05  Derek Price  <derek@ximbiot.com>
66554
66555         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
66556
66557 2005-10-05  Bruno Haible  <bruno@clisp.org>
66558
66559         * modules/stdint (License): Change to LGPL.
66560
66561 2005-10-04  Simon Josefsson  <jas@extundo.com>
66562
66563         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
66564         D. Baushke" <mdb@gnu.org>.
66565
66566 2005-10-04  Bruno Haible  <bruno@clisp.org>
66567
66568         * lib/verify.h (verify_true): Provide alternative definition for C++.
66569
66570 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
66571
66572         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
66573         (SSIZE_MAX): New macro, if not already defined.
66574         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
66575         than 2 GiB.
66576
66577 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
66578
66579         Sync from coreutils.
66580         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
66581         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
66582         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
66583         ULLONG_MAX doesn't work with 2.7.2.1.
66584
66585 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
66586
66587         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
66588         From Ben Pfaff.
66589
66590         * modules/exclude (Depends-on): Depend on verify.
66591         * modules/strtoimax (Depends-on): Likewise.
66592         * modules/utimecmp (Depends-on): Likewise.
66593
66594 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
66595
66596         * lib/exclude.c: Include verify.h.
66597         (verify): Remove.  All callers changed to use verify.h's version.
66598         * lib/strtoimax.c: Likewise.
66599         * lib/utimecmp.c: Likewis.e
66600
66601         Sync from coreutils.
66602         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
66603         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
66604         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
66605         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
66606         bother returning ENOSYS if settimeofday or stime fails; just let
66607         them return whatever errno they want to return.
66608         * lib/utimens.c: Include unistd.h, for dup2.
66609         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
66610         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
66611
66612 2005-10-02  Jim Meyering  <jim@meyering.net>
66613
66614         Sync from coreutils.
66615         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
66616         from glibc-2.2.5 that fails for read-only files.
66617
66618 2005-10-02  Jim Meyering  <jim@meyering.net>
66619
66620         Sync from coreutils.
66621         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
66622         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
66623         `#if HAVE_CONFIG_H'.
66624         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
66625         Remove AT_FDCWD test.
66626         Do not consume the fd unless successful.
66627         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
66628         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
66629         block, so that we don't even try to compile it if settimeofday is
66630         available.  This works around a compilation failure on OSF1 V5.1,
66631         due to stime requiring a `long int*' while tv_sec is `int'.
66632
66633 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
66634
66635         Sync from coreutils.
66636         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
66637         against `yes', rather than just testing for nonempty.
66638
66639 2005-10-01  Simon Josefsson  <jas@extundo.com>
66640
66641         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
66642         and Darwin.
66643
66644         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
66645         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
66646         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
66647         freeaddrinfo and gai_strerror are declared by the POSIX headers.
66648         Check if struct addrinfo is declared.
66649
66650 2005-10-01  Simon Josefsson  <jas@extundo.com>
66651
66652         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
66653         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
66654         AI_* and EAI_* definitions.  Protect function declarations.
66655
66656 2005-10-01  Jim Meyering  <jim@meyering.net>
66657
66658         Sync from coreutils.
66659
66660         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
66661         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
66662         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
66663         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
66664         in the inet and nsl libraries.  Required on Solaris 5.7.
66665
66666 2005-10-01  Jim Meyering  <jim@meyering.net>
66667
66668         Sync from coreutils.
66669         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
66670         in the inet and nsl libraries.  Required on Solaris 5.7.
66671
66672 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
66673
66674         * lib/getdelim.c (getdelim): Remove unused variables.
66675
66676 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
66677
66678         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
66679         so that the code works even with ancient cpp.  Portability problem
66680         with GCC 2.7.2.1 reported by Thomas M.Ott.
66681
66682 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
66683
66684         * modules/regex (Depends-on): Add strcase.
66685
66686         * modules/gethostname (Licence): Change from GPL to LGPL, since
66687         gethostname.c is a trivial implementation of a standard library
66688         function.
66689         * modules/poll (License): Change from GPL to LGPL, since it's
66690         derived from LGPL code.
66691
66692 2005-09-27  Jim Meyering  <jim@meyering.net>
66693
66694         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
66695         HAVE_CONFIG_H.
66696
66697         * lib/intprops.h (signed_type_or_expr__): Define.
66698         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
66699         for unsigned types.
66700
66701 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
66702
66703         * lib/verify.h (verify_expr): Remove, replacing with:
66704         (verify_true): New macro that returns true instead of void.
66705         (verify_type__): Remove.
66706         (verify): Use verify_true rather than verify_type__.
66707
66708 2005-09-26  Bruno Haible  <bruno@clisp.org>
66709
66710         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
66711         is necessary.
66712         (lib_SOURCES): Remove mbchar.c.
66713         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
66714         (Files): Add m4/mbrtowc.m4.
66715         * modules/mbiter: Likewise.
66716         * modules/mbuiter: Likewise.
66717
66718 2005-09-26  Bruno Haible  <bruno@clisp.org>
66719
66720         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
66721         compile mbchar.c if they are not both present.
66722         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
66723         * m4/mbiter.m4 (gl_MBITER): Likewise.
66724         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
66725         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
66726         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
66727
66728 2005-09-25  Jim Meyering  <jim@meyering.net>
66729
66730         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
66731         also uses socklen_t.
66732
66733 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
66734
66735         * lib/utimens.c (ENOSYS): Define if not already defined.
66736         (futimens): Support having a null PATH if the file descriptor
66737         is nonnegative.
66738
66739         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
66740         Remove.
66741         (__attribute): Define to empty unless GCC 3.1 or later.
66742         This works around a core dump on OpenBSD 3.4, which has GCC
66743         2.95.3, which dumps core when given __attribute__(()).  It also
66744         simplifies other tests, since we really don't want to bother with
66745         worrying about which ancient version of GCC supported what.
66746         Original problem reported by Yoann Vandoorselaere, with part of
66747         the fix suggested by Derek Price.
66748
66749 2005-09-24  Jim Meyering  <jim@meyering.net>
66750
66751         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
66752         so we can once again use a positive bitfield width of 1 -- now we
66753         don't have to explain why we were using a bitfield width of 2.
66754
66755 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
66756
66757         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
66758         and similarly for the other external symbols.  Problem reported
66759         by James Gallager.
66760
66761         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
66762         bug reported by Jim Meyering.
66763
66764         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
66765         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
66766         not needed, since socklen is a prerequisite module.
66767
66768 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
66769
66770         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
66771         Problem reported by Eric Blake.
66772         (getaddrinfo): Initialize se so that it's not garbage.
66773         Redo internal storage allocation so that it doesn't make unportable
66774         assumptions about alignment.
66775         Fix a memory leak.
66776
66777         * lib/utimens.c (futimens): Use futimesat if available.
66778         Prefer it to futimes since it doesn't have the futimes bug.
66779
66780         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
66781         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
66782         Instead, declare a function that returns a pointer to an array,
66783         and use verify_type__ to declare the size of the array.
66784         Problem and germ of a solution reported by Bruno Haible.
66785         (verify_type__): Use 2, not 1, for bitfield size, to avoid
66786         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
66787
66788 2005-09-23  Jim Meyering  <jim@meyering.net>
66789
66790         Sync from coreutils.
66791         Correct build failure (socklen_t not defined) on at least
66792         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
66793         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
66794
66795 2005-09-23  Jim Meyering  <jim@meyering.net>
66796
66797         * modules/getaddrinfo (Depends-on): Add socklen.
66798
66799 2005-09-23  Bruno Haible  <bruno@clisp.org>
66800
66801         * tests/test-verify.c: New file.
66802
66803 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66804
66805         Sync from coreutils.
66806
66807         * modules/argmatch (Depends-on): Add verify.
66808         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
66809         unistd-safer.
66810         * modules/save-cwd (Depends-on): Likewise.
66811
66812         * modules/openat (Files): Add lib/openat-die.c.
66813         (Depends-on): Remove error, exitfail.
66814         Add dirname.
66815
66816         * modules/verify: New file.
66817         * MODULES.html.sh (Diagnostics <assert.h>): New section,
66818         with "verify" module.
66819
66820 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66821
66822         Sync from coreutils.
66823
66824         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
66825         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
66826         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
66827         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
66828         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
66829         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
66830         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
66831         Don't bother checking for string.h, stdlib.h, unistd.h.
66832         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
66833         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
66834         module's job.
66835         * m4/jm-macros.m4 (gl_MACROS): Likewise.
66836         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
66837
66838         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
66839         (gl_GETDATE): Use it.
66840
66841         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
66842
66843 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66844
66845         Sync from coreutils.
66846
66847         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
66848         stat-time.h.
66849         * lib/argmatch.h: Include verify.h
66850         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
66851         (ARGMATCH_ASSERT): Remove; unused.
66852         * lib/canonicalize.c: Assume STDC_HEADERS.
66853         * lib/exclude.c: Include "strcase.h".
66854         * lib/regex_internal.h [!defined _LIBC]: Likewise.
66855         * lib/getusershell.c: Include stdio--.h rather than stdio.h
66856         and stdio-safer.h.
66857         (getusershell): Call fopen, not fopen_safer.
66858         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
66859         Do not include unistd-safer.h.
66860         (save_cwd): Don't call fd_safer; no longer needed
66861         now that we include fcntl--.h.
66862
66863         * lib/getdate.y (relative_time): New type.
66864         (RELATIVE_TIME_0): New constant.
66865         (parser_control): Use relative_time instead of doing it ourselves.
66866         (%union): Add new relative_time rel member.
66867         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
66868         Now typeless.
66869         (relunit, relunit_snumber): Now of type rel.
66870         (zone, rel, relunit, get_date): Adjust to above changes.
66871
66872         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
66873         Do not include unistd-safer.h.
66874         (getloadavg): Don't call fd_safer; no longer needed
66875         now that we include fcntl--.h.
66876
66877         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
66878         (make_dir_parents): Treat ENOSYS like EEXIST.
66879
66880         Improve quality of diagnostics on restore_cwd failure.
66881         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
66882         (make_dir_parents): Last arg is now int * (for errno), not bool *.
66883         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
66884         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
66885         each time through the loop.  Do not diagnose restore_cwd failure;
66886         that is the caller's job (and perhaps the caller does not care).
66887
66888         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
66889         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
66890         If the file already exists but is not a directory, don't bother
66891         to try to make its parents.
66892         Close potential file descriptor leak if we can't chdir("/") (!).
66893         Don't always return true if chdir($PWD) fails; return true only
66894         if the requested action was done successfully (except for the
66895         chdir($PWD)).
66896         Don't log final directory unless we actually made it.
66897         Refactor to avoid duplicate code to fix up permissions.
66898         Don't attempt to fix up parent permissions if chdir($PWD) fails.
66899
66900         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
66901         to make it a bit faster and (I hope) clearer.
66902         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
66903         Fix bug in formats like %2N.
66904
66905         * lib/verify.h: New file.
66906
66907 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66908
66909         Sync from coreutils.
66910         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
66911
66912 2005-09-22  Jim Meyering  <jim@meyering.net>
66913
66914         Sync from coreutils.
66915
66916         * m4/lstat.m4 (gl_FUNC_LSTAT):
66917         Use AC_LIBSOURCES to require lstat.c and lstat.h.
66918         Remove obsolete comment.
66919         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
66920         * m4/xstrtod.m4: Likewise.
66921
66922         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
66923
66924 2005-09-22  Jim Meyering  <jim@meyering.net>
66925
66926         Sync from coreutils.
66927
66928         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
66929
66930         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
66931         the .tm_year member, since otherwise gcc-4.0 would now warn about
66932         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
66933
66934         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
66935         order to avoid an unsuppressible warning from gcc on 64-bit systems.
66936
66937         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
66938         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
66939         when run in a time zone for which daylight savings time is in effect
66940         for the starting date.
66941
66942         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
66943         stop us from restricting permissions of just-created absolute-named
66944         directories.
66945         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
66946         to restore initial working directory.
66947         * lib/mkdir-p.c (make_dir_parents): New parameter:
66948         different_working_dir, to tell caller if/when we change the working
66949         directory and are unable to return to the initial one.
66950         * lib/mkdir-p.h (make_dir_parents): Update prototype.
66951         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
66952         `return false'.  This fixes a bug introduced on 2004-07-30.
66953
66954         * lib/openat.c (fdopendir): Be sure to close the supplied
66955         file descriptor before returning.  This makes our replacement
66956         implementation a little closer to Solaris's, where fdopendir
66957         ties the file descriptor to the returned DIR* pointer.
66958         * lib/openat.c (unlinkat): New function.
66959         * lib/openat.h (unlinkat): Add prototype.
66960         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
66961         (openat_restore_fail): Rename from openat_restore_die.
66962         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
66963
66964         Provide an alternative to exiting immediately upon save_cwd or
66965         restore_cwd failure.  Now, an application can arrange e.g.,
66966         to perform a longjump in that case.
66967         * lib/openat.c: Include dirname.h.
66968         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
66969         (rpl_openat, fdopendir, fstatat): Call openat_save_die
66970         and openat_restore_die rather than calling error directly.
66971         Don't include "error.h" or "exitfail.h"; they're no longer needed.
66972
66973         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
66974         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
66975         define.
66976
66977         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
66978         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
66979                             int utc, int nanoseconds);
66980         Background:
66981         date should not have to allocate a megabyte of virtual memory to
66982         handle a format argument like +%1048575T.  When implemented with
66983         strftime, it must allocate such a buffer, use strftime to fill it
66984         in, print it, then free it.
66985         With fprintftime, it simply prints everything and exits.
66986         With no need for memory allocation, that's one fewer way to fail.
66987         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
66988         optional field width, not before, so we accept %9:z, not %:9z.
66989         (my_strftime): Be sure to use L_('x') for literals.
66990
66991         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
66992         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
66993         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
66994         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
66995         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
66996         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
66997         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
66998         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
66999         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
67000         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
67001         * lib/xgethostname.c, lib/xreadlink.c:
67002         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
67003
67004         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
67005         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
67006         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
67007         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
67008         and don't include <sys/file.h>).
67009
67010 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
67011
67012         Sync from coreutils.
67013
67014         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
67015         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
67016         [!LDAV_DONE]: Avoid unused variable warning.
67017
67018 2005-09-21  Bruno Haible  <bruno@clisp.org>
67019
67020         * lib/unicodeio.h (unicode_to_mb): New declaration.
67021
67022 2005-09-20  Derek Price  <derek@ximbiot.com>
67023
67024         * lib/getaddrinfo.c: Don't include <netdb.h> included from
67025         getaddrinfo.h.
67026
67027 2005-09-20  Bruno Haible  <bruno@clisp.org>
67028
67029         * gnulib-tool: Remove trailing slashes from the values specified for
67030         --source-base, --m4-base, --tests-base, --aux-dir.
67031         Suggested by Simon Josefsson <jas@extundo.com>.
67032
67033 2005-09-20  Bruno Haible  <bruno@clisp.org>
67034
67035         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
67036         func_modules_to_filelist, func_import, func_create_testdir): Make all
67037         sorting results locale-independent, so that gnulib-cache.m4 doesn't
67038         change when gnulib-tool is invoked in a different locale.
67039
67040 2005-09-19  Simon Josefsson  <jas@extundo.com>
67041
67042         * m4/socklen.m4: Fix typo.
67043
67044 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67045
67046         Use a consistent style for including <config.h>.
67047         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
67048         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
67049         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
67050         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
67051         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
67052         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
67053         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
67054         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
67055         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
67056         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
67057         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
67058         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
67059         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
67060         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
67061         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
67062         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
67063         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
67064         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
67065         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
67066         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
67067         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
67068         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
67069         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
67070         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
67071         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
67072         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
67073         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
67074         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
67075         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
67076         lib/xstrtoumax.c, lib/yesno.c:
67077         Standardize inclusion of config.h.
67078         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
67079         lib/inttostr.h:  Removed inclusion of config.h from header files.
67080         * lib/inttostr.c:  Adjusted in-tree users.
67081         * lib/timespec.h: Remove superfluous warning to include config.h.
67082         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
67083         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
67084         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
67085         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
67086         config.h with HAVE_CONFIG_H.
67087
67088 2005-09-19  Jim Meyering  <jim@meyering.net>
67089
67090         * modules/pathmax (License): Change to LGPL.
67091
67092 2005-09-19  Derek Price  <derek@ximbiot.com>
67093
67094         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
67095
67096 2005-09-19  Bruno Haible  <bruno@clisp.org>
67097
67098         * gnulib-tool (import): Provide default for --tests-base.
67099
67100 2005-09-19  Bruno Haible  <bruno@clisp.org>
67101
67102         * doc/quote.texi: New file, extracted from gnulib.texi.
67103         * doc/ctime.texi: New file, extracted from gnulib.texi.
67104         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
67105         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
67106         * doc/gnulib.texi: Include them.
67107
67108 2005-09-18  Bruno Haible  <bruno@clisp.org>
67109
67110         Portability fix.
67111         * gnulib-tool (func_readlink): New function.
67112         (func_ln_if_changed): Use it.
67113
67114 2005-09-18  Bruno Haible  <bruno@clisp.org>
67115
67116         * gnulib-tool: Support --with-tests also with --import.
67117         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
67118         (func_import): Use variables $testsbase and $inctests. Emit a
67119         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
67120         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
67121         SUBDIRS += $testsdir.
67122         (func_create_testdir): Update.
67123
67124 2005-09-18  Bruno Haible  <bruno@clisp.org>
67125
67126         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
67127         instead of $dry_run.
67128         (func_cp_if_changed, func_mv_if_changed): Remove functions.
67129         (func_ln_if_changed): Don't handle dry-run here.
67130         (func_import): In dry-run mode, detect more precisely which actions
67131         would be performed, and don't use "...ing" verbs.
67132
67133 2005-09-18  Bruno Haible  <bruno@clisp.org>
67134
67135         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
67136         (func_import): Use join on two temporary files instead of three nested
67137         loops, in order to determine which files are new or old.
67138
67139 2005-09-18  Bruno Haible  <bruno@clisp.org>
67140
67141         * gnulib-tool (func_import): Comment out code that spits out the
67142         new files with --dry-run.
67143
67144 2005-09-18  Bruno Haible  <bruno@clisp.org>
67145
67146         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
67147
67148 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67149
67150         * lib/stat-time.h: New file.
67151         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
67152         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
67153         in a different way.
67154         (timespec_cmp): New function.
67155         * lib/utimecmp.c: Include stat-time.h.
67156         (SYSCALL_RESOLUTION): Depend on whether various struct stat
67157         members exist, not on the obsolescent ST_MTIM_NSEC.
67158         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
67159
67160 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67161
67162         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
67163
67164 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67165
67166         * MODULES.html.sh (File system functions): Add stat-time.
67167         * modules/stat-time: New file.
67168         * modules/timespec (Files): Remove m4/st_mtim.m4; this
67169         is now done in a different way, by the stat-time module.
67170         * modules/utimecmp (Depends-on): Add stat-time.
67171
67172 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67173
67174         * m4/st_mtim.m4: Remove.  Superseded by...
67175         * m4/stat-time.m4: New file.
67176         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
67177         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
67178
67179 2005-09-15  Derek Price  <derek@ximbiot.com>
67180
67181         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
67182
67183 2005-09-15  Derek Price  <derek@ximbiot.com>
67184
67185         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
67186         * lib/regex_internal.c: Ditto, using this...
67187         (__GNUC_PREREQ): ...new macro.
67188         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
67189         using...
67190         (__GNUC_PREREQ): ...this new macro.
67191
67192         * lib/strstr.h: Include string.h. Define strstr as a macro here.
67193
67194 2005-09-15  Derek Price  <derek@ximbiot.com>
67195             Paul Eggert  <eggert@cs.ucla.edu>
67196
67197         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
67198         changes, consolidating in...
67199         * lib/regex_internal.h: ...this file.
67200
67201 2005-09-13  Jim Meyering  <jim@meyering.net>
67202
67203         * lib/canon-host.c: Filter through gnu indent and reword comments
67204         slightly.
67205         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
67206
67207 2005-09-13  Derek Price  <derek@ximbiot.com>
67208
67209         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
67210         failure.
67211         Reported by Jim Meyering  <jim@meyering.net>.
67212
67213 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67214
67215         * lib/base64.c: Typo.
67216         (base64_encode): Put b64str in initialized data section.
67217
67218 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
67219
67220         Merge glibc and coreutils changes into gnulib, plus a few
67221         extra fixes.
67222         * lib/md5.c: Use #error rather than a string.
67223         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
67224         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
67225         (__attribute__): Define to empty for non recent-GCC.
67226         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
67227         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
67228         Renamed from their non-__ counterparts, with new macros replacing
67229         them if not _LIBC.  Add __THROW attribute.
67230         (rol): Remove.
67231         (struct md5_ctx): Align buffer if using GCC.
67232         * lib/sha1.h (struct sha1_ctx): Likewise.
67233         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
67234         The old name was backwards.
67235         (NOTSWAP): Remove; not used.
67236         (rol): New macro, moved here from md5.h.
67237         (sha1_process_block): Remove a FIXME that doesn't make sense.
67238
67239 2005-09-12  Derek Price  <derek@ximbiot.com>
67240
67241         Return usable errors from canon-host.
67242         * lib/canon-host.h: New file.
67243         * lib/canon-host.c (canon_host): Wrap...
67244         (canon_host_r): ...this new function, which now relies exclusively on
67245         getaddrinfo.
67246         (ch_strerror): New function.
67247         (last_cherror): New global.
67248         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
67249         interface.
67250         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
67251         void *.
67252         (freeaddrinfo): Free ai->ai_canonname when set.
67253
67254 2005-09-12  Derek Price  <derek@ximbiot.com>
67255
67256         Make canon-host require getaddrinfo.
67257         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
67258         AC_LIBSOURCE canon-host.h.  Call...
67259         (gl_PREREQ_CANON_HOST): ...this new function, which requires
67260         gl_GETADDRINFO.
67261         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
67262
67263 2005-09-12  Derek Price  <derek@ximbiot.com>
67264
67265         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
67266         LGPL.
67267         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
67268
67269 2005-09-12  Derek Price  <derek@ximbiot.com>
67270
67271         * lib/gai_strerror.c: Include config.h when available.  Include
67272         getaddrinfo.h before other headers to test interface.
67273         Reported by Larry Jones <lawrence.jones@ugs.com>.
67274
67275 2005-09-12  Derek Price  <derek@ximbiot.com>
67276             Paul Eggert  <eggert@cs.ucla.edu>
67277
67278         * modules/glob (Files): Add glob-libc.h.
67279
67280 2005-09-12  Derek Price  <derek@ximbiot.com>
67281             Paul Eggert  <eggert@cs.ucla.edu>
67282
67283         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
67284         glob_.h, glob-libc.h.
67285         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
67286
67287 2005-09-12  Derek Price  <derek@ximbiot.com>
67288             Paul Eggert  <eggert@cs.ucla.edu>
67289
67290         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
67291         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
67292         protecting things that should be done only in gnulib contexts.
67293         * lib/glob_.h: New file, containing only the glob things needed for
67294         gnulib.
67295         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
67296         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
67297         (glob, globfree, glob_pattern_p): Now defined simply in terms of
67298         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
67299         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
67300         and to respect the namespace rules better.
67301
67302 2005-09-08  Simon Josefsson  <jas@extundo.com>
67303
67304         * modules/socklen: New file.
67305
67306 2005-09-08  Simon Josefsson  <jas@extundo.com>
67307
67308         * m4/socklen.m4: New file.
67309
67310 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67311
67312         * modules/utimens (Files): Add m4/utimbuf.m4, since
67313         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
67314         Reported by Sergey Poznyakoff.
67315
67316 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67317
67318         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
67319         definitions, since that's the preferred style in glibc.
67320         Fix a minor spacing issue, and update copyright notice to match
67321         glibc's.
67322
67323 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67324
67325         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
67326
67327 2005-09-06  Simon Josefsson  <jas@extundo.com>
67328
67329         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
67330         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
67331
67332 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67333
67334         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
67335         warning.
67336
67337 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67338
67339         * config/srclist.txt: Add glibc bug 1302.
67340
67341 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
67342
67343         Change bitset word type from unsigned int to unsigned long int,
67344         as this has better performance on typical 64-bit hosts.
67345         Port bitset code to hosts with unusual word sizes.
67346         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
67347         (build_collating_symbol):
67348         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
67349         argument is a bitset.  This is merely a style issue, but it makes
67350         it clearer that an entire array is expected.
67351         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
67352         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
67353         Port to the case where bitset_word is not the same as unsigned int.
67354         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
67355         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
67356         Likewise.
67357         * lib/regexec.c (check_dst_limits_calc_pos_1,
67358         check_subexp_matching_top):
67359         (build_trtable, group_nodes_into_DFAstates):
67360         Likewise.
67361         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
67362         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
67363         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
67364         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
67365         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
67366         * lib/regcomp.c (optimize_subexps, lower_subexp):
67367         Work even if bitset_word has holes in its bitwise representation.
67368         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
67369         * lib/regexec.c (check_dst_limits_calc_pos_1,
67370         check_subexp_matching_top):
67371         Likewise.
67372         * lib/regex_internal.c (re_string_reconstruct):
67373         Don't assume UCHAR_MAX == 255.
67374         * lib/regex_internal.h (bitset_set_all): Likewise.
67375         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
67376         All uses changed.
67377         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
67378         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
67379         All uses changed.
67380         (BITSET_WORD_MAX): New macro.
67381         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
67382         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
67383         (bitset_empty, bitset_copy):
67384         Prefer sizeof (bitset) to multiplying it out ourselves.
67385         (bitset_not_merge): Remove; unused.
67386         (bitset_contain): Return bool, not unsigned int with one bit on.
67387         All callers changed.
67388         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
67389         alignment than re_node_set; do this by defining a new internal
67390         type struct dests_alloc and using it to allocate memory.
67391
67392 2005-09-05  Bruno Haible  <bruno@clisp.org>
67393
67394         * gnulib-tool (func_import): Fix comparison in handling of symbolic
67395         links.
67396
67397 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
67398
67399         * modules/size_max (Makefile.am): Add size_max.h
67400
67401 2005-09-04  Derek Price  <derek@ximbiot.com>
67402
67403         * gnulib-tool (func_import): Fix reversed $symbolic logic.
67404
67405 2005-09-03  Simon Josefsson  <jas@extundo.com>
67406
67407         * gnulib-tool: Fix typo.
67408
67409 2005-09-03  Simon Josefsson  <jas@extundo.com>
67410
67411         * config/srclist.txt: Add glibc bug 1293.
67412
67413 2005-09-03  Derek Price  <derek@ximbiot.com>
67414
67415         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
67416         From Larry Jones <lawrence.jones@ugs.com>.
67417
67418 2005-09-02  Simon Josefsson  <jas@extundo.com>
67419
67420         * modules/socklen: New file.
67421
67422 2005-09-02  Simon Josefsson  <jas@extundo.com>
67423
67424         * modules/havelib: New module.
67425
67426         * modules/gettext, modules/iconv, modules/lock, modules/readline:
67427         Use havelib.
67428
67429 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
67430
67431         Check for arithmetic overflow when calculating sizes, to prevent
67432         some buffer-overflow issues.  These patches are conservative, in the
67433         sense that when I couldn't determine whether an overflow was possible,
67434         I inserted a run-time check.
67435         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
67436         macros.
67437         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
67438         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
67439         (re_xnrealloc, re_x2nrealloc): New inline functions.
67440         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
67441         parse_bracket_exp):
67442         (build_equiv_class, build_charclass): Check for arithmetic overflow
67443         in size expression calculations.
67444         * lib/regex_internal.c (re_string_realloc_buffers):
67445         (build_wcs_upper_buffer, re_node_set_add_intersect):
67446         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
67447         (re_dfa_add_node, register_state): Likewise.
67448         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
67449         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
67450         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
67451         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
67452
67453 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
67454
67455         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
67456         m4/ulonglong.m4.  Problem reported by Martin Lambers.
67457
67458 2005-09-02  Bruno Haible  <bruno@clisp.org>
67459
67460         Support for lib vs. lib64 distinction on biarch platforms.
67461         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
67462         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
67463         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
67464
67465 2005-09-02  Bruno Haible  <bruno@clisp.org>
67466
67467         * gnulib-tool (import): In the other first-use case, provide defaults
67468         as well.
67469
67470 2005-09-02  Bruno Haible  <bruno@clisp.org>
67471
67472         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
67473         patches not yet found in the latest gettext release.
67474
67475 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67476
67477         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
67478         to avoid a collision with bits/local_lim.h in glibc.
67479         All uses changed.  Problem reported by Dmitry V. Levin in
67480         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
67481
67482         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
67483         bugs in int versus size_t comparisons.
67484         (re_string_context_at): Fix bug where the code assumed that
67485         Idx is signed.
67486
67487         Use bool where appropriate.
67488         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
67489         All callers changed.
67490         (calc_eclosure_iter): Likewise, for ROOT arg.
67491         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
67492         (build_charclass_op): Likewise, for NON_MATCH arg.
67493         * lib/regex_internal.c (re_string_allocate, re_string_construct):
67494         (re_string_construct_common): Likewise, for ICASE arg.
67495         * lib/regexec.c (re_search_2_stub, re_search_stub):
67496         Likewise, for RET_LEN arg.
67497         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
67498         (set_regs): Likewise, for FL_BACKTRACK arg.
67499         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
67500         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
67501         (calc_eclosure_iter, parse_bracket_exp):
67502         Use bool for internal variables that are booleans.
67503         * lib/regexec.c (re_search_internal, check_matching,
67504         proceed_next_node):
67505         (set_regs, build_sifted_states, sift_states_bkref):
67506         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
67507         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
67508         (find_collation_sequence_value):
67509         Likewise.
67510         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
67511         (re_node_set_compare):
67512         Return bool, not int. All callers changed.
67513         * lib/regexec.c (check_halt_node_context, check_dst_limits):
67514         (build_trtable, check_node_accept): Likewise.
67515         * lib/regex_internal.h: Include stdbool.h.
67516
67517         Fix bugs uncovered when converting to bool.
67518         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
67519         failure instead of charging ahead blindly.
67520         * lib/regex_internal.c (register_state): Likewise.
67521         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
67522         for freeing internal storage.
67523         (group_nodes_into_DFA_states): Use unsigned int, not int, for
67524         bitset pieces used as boolean, to avoid undefined behavior
67525         on hosts that do int overflow checking.
67526
67527 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67528
67529         * config/srclist.txt: Add glibc bugs 1285-1287.
67530
67531 2005-09-01  Jim Meyering  <jim@meyering.net>
67532
67533         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
67534         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
67535         Require gl_STAT_MACROS, too.
67536
67537 2005-09-01  Bruno Haible  <bruno@clisp.org>
67538
67539         * gnulib-tool (import): In the first-use case, provide defaults.
67540
67541 2005-09-01  Bruno Haible  <bruno@clisp.org>
67542
67543         * gnulib-tool (func_import): Remove the .tmp files.
67544
67545 2005-09-01  Bruno Haible  <bruno@clisp.org>
67546
67547         * gnulib-tool (func_import): Fix handling of symbolic links.
67548
67549 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67550
67551         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
67552         old glibc regex code mishandles strings longer than 2**31 bytes.
67553         This patch fixes this when the regex code is used in gnulib
67554         (i.e., outside glibc).
67555
67556         This patch should not affect the use of the regex code inside
67557         glibc.  No doubt this problem also needs to be handled for glibc
67558         as well, but the result will be an incompatible change to the
67559         glibc ABI, and the old ABI will have to be supported too.  That
67560         can be the the subject for another patch.
67561
67562         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
67563         governing whether the rest of this patch is active.  By default,
67564         the macro is disabled and the patch has no effect.
67565         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
67566         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
67567         (struct re_pattern_buffer, re_search, re_search_2, re_match):
67568         (re_match_2, re_set_registers): Use the new types.
67569         * lib/regex_internal.h (Idx, re_hashval_t): New types.
67570         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
67571         New macros.
67572         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
67573         (re_string_context_at, bin_tree_t, re_dfastate_t):
67574         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
67575         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
67576         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
67577         (re_string_char_size_at, re_string_wchar_at):
67578         (re_string_elem_size_at):
67579         Use the new types and macros to port to 64-bit hosts.
67580         Use unsigned types for internal values, so that the code
67581         mostly works even for arrays larger than SSIZE_MAX.
67582         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
67583         (search_duplicated_node, calc_eclosure_iter, fetch_number):
67584         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
67585         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
67586         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
67587         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
67588         (calc_inveclosure, parse_dup_op, build_range_exp):
67589         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
67590         (fetch_number, create_token_tree, mark_opt_subexp):
67591         Likewise.
67592         * lib/regex_internal.c (re_string_construct_common,
67593         create_ci_newstate):
67594         (create_cd_newstate, re_string_allocate, re_string_construct):
67595         (re_string_realloc_buffers, build_wcs_upper_buffer):
67596         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
67597         (re_string_reconstruct, re_string_peek_byte_case):
67598         (re_string_fetch_byte_case, re_string_context_at):
67599         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
67600         (re_node_set_init_copy, re_node_set_add_intersect):
67601         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
67602         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
67603         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
67604         (re_acquire_state, re_acquire_state_context, register_state):
67605         Likewise.
67606         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
67607         search_cur_bkref_entry):
67608         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
67609         (re_search_internal, re_search_2_stub, re_search_stub)
67610         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
67611         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
67612         (update_cur_sifted_state, check_dst_limits):
67613         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
67614         (check_subexp_limits, sift_states_bkref, merge_state_array):
67615         (check_subexp_matching_top, get_subexp, get_subexp_sub):
67616         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
67617         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
67618         (expand_bkref_cache, check_node_accept_bytes):
67619         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
67620         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
67621         (acquire_init_state_context, check_halt_node_context):
67622         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
67623         (sift_states_backward, clean_state_log_if_needed):
67624         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
67625         (find_recover_state, transit_state_sb, transit_state_mb):
67626         (transit_state_bkref, build_trtable, match_ctx_clean):
67627         Likewise.
67628         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
67629         to work around an assumption that REG_MISSING is negative.
67630
67631         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
67632         (seek_collating_symbol_entry) [defined _LIBC]:
67633         (lookup_collation_sequence_value) [defined _LIBC]:
67634         (build_range_exp, build_collating_symbol) [defined _LIBC]:
67635         Use prototypes rather than old-style function definitions.
67636         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
67637         (transit_state_sb) [0]:
67638         (find_collation_sequence_value) [defined _LIBC]: Likewise.
67639
67640         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
67641         rm_eo.
67642
67643         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
67644         (optimize_subexps, lower_subexp):
67645         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
67646         since the signed shift might overflow.  Use 1u<<31 instead.
67647         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
67648         Likewise.
67649         * lib/regexec.c (check_dst_limits_calc_pos_1,
67650         check_subexp_matching_top): Likewise.
67651
67652         * lib/regcomp.c (optimize_subexps, lower_subexp):
67653         Use CHAR_BIT rather than 8, for clarity.
67654         * lib/regexec.c (check_dst_limits_calc_pos_1):
67655         (check_subexp_matching_top): Likewise.
67656         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
67657         have to worry about portability issues when shifting it left.
67658         Remove no-longer-needed test for table_size > 0.
67659         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
67660         in a word, as the resulting behavior is undefined.
67661         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
67662         in one case, a <= should have been an <, and in another case the
67663         whole test was missing.
67664         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
67665         the standard name CHAR_BIT.
67666         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
67667         this is not true on one's complement and signed-magnitude hosts.
67668
67669         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
67670         next_last_offset.
67671         (struct re_dfa_t): Remove unused member states_alloc.
67672         * lib/regcomp.c (init_dfa): Don't initialize unused members.
67673
67674 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67675
67676         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
67677         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
67678         and large-file glibc and in 32-bit large-file Solaris.
67679
67680 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67681
67682         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
67683         lengths fit in regoff_t; this isn't true if regoff_t is the same
67684         width as size_t.
67685         * lib/regex.c (re_search_internal): 5th arg is LAST_START
67686         (= START + RANGE) instead of RANGE.  This avoids overflow
67687         problems when regoff_t is the same width as size_t.
67688         All callers changed.
67689         (re_search_2_stub): Check for overflow when adding the
67690         sizes of the two strings.
67691         (re_search_stub): Check for overflow when adding START
67692         to RANGE; if it occurs, substitute the extreme value.
67693
67694 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67695
67696         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
67697
67698 2005-08-31  Jim Meyering  <jim@meyering.net>
67699
67700         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
67701         a pointer-to-const.
67702         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
67703         (register_state): Likewise.
67704         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
67705         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
67706         (group_nodes_into_DFAstates): Likewise.
67707
67708 2005-08-31  Jim Meyering  <jim@meyering.net>
67709
67710         * check-module: Add a FIXME comment.
67711
67712 2005-08-31  Eric Blake  <ebb9@byu.net>
67713
67714         * modules/unistd-safer (Files): Add unistd--.h.
67715         * modules/stdio-safer (Files): Add stdio--.h.
67716
67717 2005-08-31  Derek Price  <derek@ximbiot.com>
67718
67719         * lib/getdelim.c (getdelim): Return EOF on EOF.
67720         Reported by Larry Jones <lawrence.jones@ugs.com>.
67721
67722 2005-08-31  Bruno Haible  <bruno@clisp.org>
67723
67724         Avoid unnecessary diffs in the generated lib/Makefile.am.
67725         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
67726         the generated files.
67727         (func_import): Don't set cmd.
67728
67729 2005-08-31  Bruno Haible  <bruno@clisp.org>
67730
67731         * lib/strstr.c: Include <stddef.h>, for NULL.
67732         * lib/strcasestr.c: Likewise.
67733         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
67734
67735 2005-08-31  Bruno Haible  <bruno@clisp.org>
67736
67737         * gnulib-tool: New option --macro-prefix.
67738         (func_import): Use macro_prefix.
67739         (import): Handle option --macro-prefix.
67740
67741 2005-08-31  Bruno Haible  <bruno@clisp.org>
67742
67743         * gnulib-tool (import): Rename most ac_* variables to cached_*.
67744         Also use new variables cached_lgpl, cached_libtool.
67745
67746 2005-08-31  Bruno Haible  <bruno@clisp.org>
67747
67748         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
67749         always instantiating them.
67750
67751 2005-08-31  Bruno Haible  <bruno@clisp.org>
67752
67753         * gnulib-tool (func_import): Read the previous cached settings
67754         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
67755         earlier added by gnulib but are now dropped. Warn when a gnulib file
67756         overwrites a non-gnulib file.
67757
67758 2005-08-31  Bruno Haible  <bruno@clisp.org>
67759
67760         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
67761         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
67762         projects that don't keep autogenerated files in CVS. Put into
67763         actioncmd only the specified modules, not the transitive closure.
67764
67765 2005-08-31  Bruno Haible  <bruno@clisp.org>
67766
67767         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
67768         Create directories that shall be filled.
67769         (import): Don't look for gl_* macros in configure.ac. Recurse across
67770         all directories containing a gnulib-cache.m4 files, if meaningful.
67771
67772 2005-08-31  Bruno Haible  <bruno@clisp.org>
67773
67774         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
67775         (import): Set seen_libtool when we see gl_LIBTOOL.
67776
67777 2005-08-31  Bruno Haible  <bruno@clisp.org>
67778
67779         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
67780         declaration macro definitions from generated gnulib.m4.
67781
67782 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
67783
67784         * lib/iconvme.h: Add prototype for iconv_alloc.
67785
67786 2005-08-29  Simon Josefsson  <jas@extundo.com>
67787
67788         * lib/iconvme.c: Fix errno.
67789
67790 2005-08-29  Bruno Haible  <bruno@clisp.org>
67791
67792         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
67793         that it works when the directory contains spaces.
67794
67795 2005-08-29  Bruno Haible  <bruno@clisp.org>
67796
67797         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
67798
67799 2005-08-29  Bruno Haible  <bruno@clisp.org>
67800
67801         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
67802         Emit more advice.
67803
67804 2005-08-29  Bruno Haible  <bruno@clisp.org>
67805         and Stepan Kasal  <kasal@ucw.cz>
67806
67807         * check-module: If more parameters are given, check each of them
67808         separately; add more exceptions, as noted by Jim Meyering.
67809         (check_module): New procedure.
67810         (%exempt_header): Now contains all exceptions.
67811
67812 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
67813
67814         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
67815
67816 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
67817
67818         * lib/iconvme.c: Split iconv_string into iconv_alloc.
67819
67820 2005-08-28  Bruno Haible  <bruno@clisp.org>
67821
67822         * m4/gnulib-tool.m4: New file.
67823
67824 2005-08-27  Jim Meyering  <jim@meyering.net>
67825
67826         * modules/unistd-safer (Files): Add pipe-safer.c.
67827         * modules/fcntl-safer (Files): Add creat-safer.c.
67828
67829 2005-08-27  Jim Meyering  <jim@meyering.net>
67830
67831         * m4/stdlib-safer.m4: New file.  From coreutils.
67832         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
67833         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
67834         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
67835         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
67836         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
67837
67838 2005-08-27  Jim Meyering  <jim@meyering.net>
67839
67840         * lib/fopen-safer.c: Merge minor changes from coreutils.
67841         * lib/dup-safer.c: Likewise.
67842         * lib/fd-safer.c: Likewise.
67843
67844         Merge from coreutils.
67845         * lib/stdio--.h: New file.
67846         * lib/stdlib--.h: New file.
67847         * lib/mkstemp-safer.c: New file.
67848
67849         GNU tar needs these.
67850         * lib/pipe-safer.c: New file.
67851         * lib/creat-safer.c: New file.
67852         * lib/fcntl--.h (creat): Define to creat_safer.
67853         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
67854         * lib/unistd--.h (pipe): Define to pipe_safer.
67855         * lib/unistd-safer.h: Declare pipe_safer.
67856
67857 2005-08-26  Simon Josefsson  <jas@extundo.com>
67858
67859         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
67860         Haible <bruno@clisp.org>.
67861
67862 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
67863
67864         * lib/regex_internal.h: Remove all references to
67865         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
67866         or better.
67867         (bitset_not, bitset_merge, bitset_not_merge):
67868         (bitset_mask, re_string_allocate, re_string_construct):
67869         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
67870         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
67871         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
67872         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
67873         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
67874         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
67875         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
67876         (re_acquire_state_context):
67877         Remove unnecessary forward decls.
67878         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
67879         Put __attribute at function definition,
67880         now that the function decl has been removed.
67881         * lib/regex_internal.c (re_string_peek_byte_case):
67882         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
67883         Likewise.
67884
67885 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
67886
67887         * m4/regex.m4: Add AC_PREREQ(2.50).
67888         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
67889
67890 2005-08-25  Simon Josefsson  <jas@extundo.com>
67891
67892         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
67893         __fsetlocking.
67894
67895 2005-08-25  Simon Josefsson  <jas@extundo.com>
67896
67897         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
67898         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
67899         GLIBC specific code.
67900
67901 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67902
67903         Make regex safe for g++.  This fixes one real bug (an "err"
67904         that should have been "*err").  g++ problem reported by
67905         Sam Steingold.
67906         * lib/regex_internal.h (re_calloc): New macro, consistent with
67907         re_malloc etc.  All callers of calloc changed to use re_calloc.
67908         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
67909         not int.  All callers changed.
67910         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
67911         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
67912         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
67913         (find_recover_state): Change "err" to "*err"; this fixes what
67914         appears to be a real bug.
67915         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
67916         versus int.
67917
67918 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67919
67920         * modules/regex (Depends-on): Add malloc, since the code
67921         assumes that !malloc(0) means failure.
67922
67923 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67924
67925         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
67926
67927         alloca modernization/simplification for regex.
67928         * lib/regex.c: Remove portability cruft for alloca.  This no longer
67929         needs to be at the start of the file, and can be moved into
67930         regex_internal.h and simplified.
67931         * lib/regex_internal.h: Include <alloca.h>.
67932         (__libc_use_alloca) [!defined _LIBC]: New macro.
67933         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
67934         now works outside glibc.
67935
67936 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67937
67938         * config/srclist.txt: Add glibc bugs 1241, 1245.
67939
67940 2005-08-25  Jim Meyering  <jim@meyering.net>
67941
67942         * lib/open-safer.c: Include <config.h>.
67943         Otherwise, we'd lose LARGEFILE support in any file using
67944         e.g. "fcntl--.h"
67945
67946 2005-08-25  Bruno Haible  <bruno@clisp.org>
67947
67948         * m4/minmax.m4: Require autoconf 2.52.
67949         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
67950         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
67951         alternatives of translit over the alphabet.
67952         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
67953
67954 2005-08-24  Simon Josefsson  <jas@extundo.com>
67955
67956         * tests/test-getpass.c: New file.
67957
67958 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67959
67960         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
67961         for GNU regex features.
67962
67963 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67964
67965         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
67966         * lib/regex.h (regerror): Likewise.
67967
67968         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
67969         requires this.  (The code never needed it.)
67970
67971         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
67972         All uses of recently-renamed identifiers changed to use the new,
67973         POSIX-compliant names.  The code will build and run just fine
67974         without these changes, but it's better to eat our own dog food
67975         and use the standard-conforming names.
67976
67977         * lib/regex.h: Fix a multitude of POSIX name space violations.
67978         These changes have an effect only for programs that define
67979         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
67980         do not change anything for programs compiled in the normal way.
67981         Also, there is no effect on the ABI.
67982
67983         (_REGEX_SOURCE): New macro.
67984         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
67985         defined and _GNU_SOURCE is not; this fixes a name space violation.
67986
67987         Rename the following macros to obey POSIX requirements.
67988         The old names are still visible as macros if _REGEX_SOURCE is defined.
67989         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
67990         RE_BACKSLASH_ESCAPE_IN_LISTS.
67991         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
67992         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
67993         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
67994         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
67995         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
67996         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
67997         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
67998         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
67999         (REG_INTERVALS): renamed from RE_INTERVALS.
68000         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
68001         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
68002         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
68003         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
68004         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
68005         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
68006         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
68007         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
68008         RE_UNMATCHED_RIGHT_PAREN_ORD.
68009         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
68010         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
68011         (REG_DEBUG): renamed from RE_DEBUG.
68012         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
68013         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
68014         unusual, since we can't clash with the POSIX REG_ICASE.
68015         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
68016         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
68017         (REG_NO_SUB): renamed from RE_NO_SUB.
68018         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
68019         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
68020         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
68021         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
68022         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
68023         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
68024         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
68025         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
68026         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
68027         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
68028         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
68029         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
68030         RE_SYNTAX_POSIX_MINIMAL_BASIC.
68031         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
68032         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
68033         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
68034         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
68035         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
68036         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
68037         (REG_FIXED): Renamed from REGS_FIXED.
68038         (REG_NREGS): Renamed from RE_NREGS.
68039
68040         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
68041         of other REG_* macros, since POSIX says the user is allowed to
68042         #undef these macros selectively.
68043
68044         (reg_errcode_t): Update comment stating what other tables need
68045         to be consistent.
68046
68047         Rename the following enum values to obey POSIX requirements.
68048         The old names are still visible as macros.
68049         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
68050         is not defined, since GNU is supposed to be a superset of POSIX as
68051         much as possible, and since we want reg_errcode_t to be a signed
68052         type for implementation consistency.
68053         (_REG_NOERROR): Renamed from REG_NOERROR.
68054         (_REG_NOMATCH): Renamed from REG_NOMATCH.
68055         (_REG_BADPAT): Renamed from REG_BADPAT.
68056         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
68057         (_REG_ECTYPE): Renamed from REG_ECTYPE.
68058         (_REG_EESCAPE): Renamed from REG_EESCAPE.
68059         (_REG_ESUBREG): Renamed from REG_ESUBREG.
68060         (_REG_EBRACK): Renamed from REG_EBRACK.
68061         (_REG_EPAREN): Renamed from REG_EPAREN.
68062         (_REG_EBRACE): Renamed from REG_EBRACE.
68063         (_REG_BADBR): Renamed from REG_BADBR.
68064         (_REG_ERANGE): Renamed from REG_ERANGE.
68065         (_REG_ESPACE): Renamed from REG_ESPACE.
68066         (_REG_BADRPT): Renamed from REG_BADRPT.
68067         (_REG_EEND): Renamed from REG_EEND.
68068         (_REG_ESIZE): Renamed from REG_ESIZE.
68069         (_REG_ERPAREN): Renamed from REG_ERPAREN.
68070         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
68071         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
68072         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
68073         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
68074
68075         (_REG_RE_NAME, _REG_RM_NAME): New macros.
68076         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
68077         changed.  But support the old name if the new one is not defined
68078         and if _REGEX_SOURCE.
68079
68080         Change the following member names in struct re_pattern_buffer.
68081         The old names are still supported if !_REGEX_SOURCE.
68082         The new names are always supported, regardless of _REGEX_SOURCE.
68083         (re_buffer): Renamed from buffer.
68084         (re_allocated): Renamed from allocated.
68085         (re_used): Renamed from used.
68086         (re_syntax): Renamed from syntax.
68087         (re_fastmap): Renamed from fastmap.
68088         (re_translate): Renamed from translate.
68089         (re_can_be_null): Renamed from can_be_null.
68090         (re_regs_allocated): Renamed from regs_allocated.
68091         (re_fastmap_accurate): Renamed from fastmap_accurate.
68092         (re_no_sub): Renamed from no_sub.
68093         (re_not_bol): Renamed from not_bol.
68094         (re_not_eol): Renamed from not_eol.
68095         (re_newline_anchor): Renamed from newline_anchor.
68096
68097         Change the following member names in struct re_registers.
68098         The old names are still supported if !_REGEX_SOURCE.
68099         The new names are always supported, regardless of _REGEX_SOURCE.
68100         (rm_num_regs): Renamed from num_regs.
68101         (rm_start): Renamed from start.
68102         (rm_end): Renamed from end.
68103
68104         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
68105         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
68106         Prepend __ to parameter names.
68107
68108         Undo yesterday's changes.
68109
68110 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68111
68112         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
68113         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
68114         lib/regex.c.
68115
68116 2005-08-24  Jim Meyering  <jim@meyering.net>
68117
68118         Sync from coreutils.
68119         * m4/fcntl-safer.m4: New file.
68120
68121         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
68122         and object files for this module.
68123
68124 2005-08-24  Jim Meyering  <jim@meyering.net>
68125
68126         Sync from coreutils.
68127         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
68128
68129 2005-08-24  Jim Meyering  <jim@meyering.net>
68130
68131         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
68132         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
68133
68134 2005-08-24  Jim Meyering  <jim@meyering.net>
68135
68136         * modules/fcntl-safer: New module.
68137         * modules/fts (Depends-on): Add fcntl-safer.
68138         * MODULES.html.sh (File descriptor based Input/Output):
68139         Add fcntl-safer.
68140
68141 2005-08-24  Bruno Haible  <bruno@clisp.org>
68142
68143         Support for unit test modules.
68144         * modules/README: Mention tests modules.
68145         * modules/TEMPLATE-TESTS: New file.
68146         * gnulib-tool: New options --extract-tests-module, --with-tests and
68147         --tests-base (unused for the moment).
68148         (testsbase, inctests): New variables.
68149         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
68150         (func_verify_module): Exclude TEMPLATE-TESTS.
68151         (func_verify_nontests_module, func_verify_tests_module): New functions.
68152         (func_get_dependencies): Add implicit dependency for tests modules.
68153         (func_get_tests_module): New function.
68154         (func_modules_transitive_closure): When --with-tests was specified,
68155         include the unit tests as well, unless explicitly avoided.
68156         (func_emit_lib_Makefile_am): Ignore the tests modules here.
68157         (func_emit_tests_Makefile_am): New function.
68158         (func_create_testdir): When --with-tests was specified, emit a
68159         tests/ directory.
68160         * MODULES.html.sh (Future developments): Update.
68161
68162 2005-08-24  Bruno Haible  <bruno@clisp.org>
68163
68164         * modules/tls-tests: New file.
68165         * tests/test-tls.c: New file, from GNU gettext.
68166
68167 2005-08-24  Bruno Haible  <bruno@clisp.org>
68168
68169         * modules/lock-tests: New file.
68170         * tests/test-lock.c: New file, from GNU gettext.
68171
68172 2005-08-24  Bruno Haible  <bruno@clisp.org>
68173
68174         * lib/lock.h: Add multiple inclusion guard.
68175         * lib/tls.h: Add multiple inclusion guard.
68176
68177 2005-08-24  Bruno Haible  <bruno@clisp.org>
68178
68179         * gnulib-tool: Add support for the --aux-dir option to
68180         --create-testdir, --create-megatestdir, --test, --megatest.
68181         (func_create_testdir, func_create_megatestdir): Optionally emit a
68182         AC_CONFIG_AUX_DIR directive.
68183         (create-testdir, create-megatestdir, test, megatest): Provide a
68184         default value for $auxdir.
68185
68186 2005-08-24  Bruno Haible  <bruno@clisp.org>
68187
68188         * gnulib-tool (import): Use compound statement instead of subshell
68189         where possible.
68190
68191 2005-08-24  Bruno Haible  <bruno@clisp.org>
68192
68193         * gnulib-tool (import): Change --aux-dir default to "build-aux".
68194
68195 2005-08-24  Bruno Haible  <bruno@clisp.org>
68196
68197         * gnulib-tool (func_version): Update.
68198
68199 2005-08-24  Bruno Haible  <bruno@clisp.org>
68200
68201         * gnulib-tool (func_import, func_create_testdir,
68202         func_create_megatestdir): Quote all autoconf macro arguments.
68203
68204 2005-08-24  Bruno Haible  <bruno@clisp.org>
68205
68206         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
68207         option --force, because --force causes the aclocal.m4 of each
68208         subdirectory to be newer than the corresponding config.h.in.
68209
68210 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68211
68212         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
68213         All contents moved to gl_REGEX.
68214         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
68215         assume that it does.
68216
68217 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68218
68219         * lib/regex.h (REG_NOSYS)
68220         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
68221         Define, since POSIX requires it as of 2001.
68222         (_REG_ENOSYS)
68223         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
68224         New private symbol, used to keep the enum signed in all cases.
68225         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
68226         Youngman in
68227         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
68228
68229         * lib/regex_internal.c (re_string_skip_chars, register_state):
68230         (calc_state_hash):
68231         Remove forward decls; no longer needed now that we use prototypes.
68232         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
68233         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
68234         (clean_state_log_if_needed): Likewise.
68235
68236 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68237
68238         * config/srclist.txt: Add glibc bugs 1231-1233.
68239
68240 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68241
68242         Fix problems reported by Sam Steingold in
68243         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
68244         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
68245         assumed that reg_errcode_t is a signed type, which is not
68246         necessarily true if _XOPEN_SOURCE is not defined.
68247         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
68248         since some compilers warn about it otherwise.
68249
68250 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68251
68252         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
68253         (init_word_char, create_initial_state, duplicate_node_closure):
68254         (fetch_token, peek_token_bracket, build_range_exp):
68255         (build_collating_symbol): Remove forward decls; no longer needed
68256         now that we use prototypes.
68257
68258         * lib/regcomp.c:
68259         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
68260         (re_compile_fastmap_iter, regcomp, regerror, regfree):
68261         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
68262         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
68263         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
68264         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
68265         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
68266         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
68267         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
68268         (build_range_exp, build_collating_symbol, parse_bracket_exp):
68269         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
68270         (build_charclass, build_charclass_op, fetch_number, create_tree):
68271         (create_token_tree, mark_opt_subexp, duplicate_tree):
68272         Use prototypes rather than old-style definitions.
68273
68274         * lib/regex_internal.c:
68275         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
68276         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
68277         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
68278         (re_string_reconstruct, re_string_peek_byte_case):
68279         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
68280         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
68281         (re_node_set_init_copy, re_node_set_add_intersect):
68282         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68283         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68284         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
68285         (re_acquire_state, re_acquire_state_context, register_state):
68286         (create_ci_newstate, create_cd_newstate, free_state):
68287         Likewise.
68288         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
68289         re_search_2):
68290         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
68291         (re_search_internal, prune_impossible_nodes):
68292         (acquire_init_state_context, check_matching, static):
68293         (check_halt_node_context, check_halt_state_context, proceed_next_node):
68294         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
68295         (update_regs, sift_states_backward, build_sifted_states):
68296         (clean_state_log_if_needed, merge_state_array):
68297         (update_cur_sifted_state, add_epsilon_src_nodes):
68298         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
68299         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
68300         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
68301         (find_recover_state, check_subexp_matching_top, transit_state_mb):
68302         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
68303         (check_arrival, check_arrival_add_next_nodes):
68304         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
68305         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
68306         (check_node_accept_bytes, check_node_accept, extend_buffers):
68307         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
68308         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
68309         (sift_ctx_init):
68310         Likewise.
68311
68312         * lib/regex_internal.h:
68313         (re_string_allocate, re_string_construct, re_string_reconstruct):
68314         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
68315         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
68316         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
68317         (re_string_context_at, re_string_peek_byte_case):
68318         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
68319         is defined, since we now use prototypes always.
68320
68321         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
68322         C89 or better.  All uses removed.
68323
68324 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68325
68326         * config/srclist.txt: Add glibc bugs 1220-1227.
68327
68328 2005-08-20  Jim Meyering  <jim@meyering.net>
68329
68330         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
68331         of unused local, dfa.
68332
68333 2005-08-20  Bruno Haible  <bruno@clisp.org>
68334
68335         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
68336
68337 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68338
68339         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
68340         (re_node_set_insert_last, re_dfa_add_node):
68341         Rename local variables to avoid GCC shadowing warnings.
68342
68343 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68344
68345         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
68346         [defined lint]: Suppress bogus uninitialized-variable warnings.
68347
68348         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
68349         and let the caller return REG_ESPACE if out of space.  This
68350         removes an uninitialied-variable warning with GCC 4.0.1, and also
68351         avoids taking the address of a local variable.  All callers
68352         changed.
68353
68354 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68355
68356         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
68357         $LIBCSRC/posix/regexec.c.
68358         Add glibc bug 1217 for regcomp.c.
68359
68360 2005-08-19  Jim Meyering  <jim@meyering.net>
68361
68362         * lib/regexec.c (proceed_next_node): Redo local variables to
68363         avoid GCC shadowing warnings.
68364
68365 2005-08-18  Bruno Haible  <bruno@clisp.org>
68366
68367         * lib/strstr.c (strstr): Fix return value in multibyte case.
68368         * lib/strcasestr.c (strcasestr): Likewise.
68369
68370 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68371
68372         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
68373
68374 2005-08-17  Jim Meyering  <jim@meyering.net>
68375
68376         Make the %s format (seconds since the epoch) work for a negative
68377         number and when used with a zero-padded field width, e.g. %015s.
68378
68379         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
68380         label so that it precedes the code to set `digits'.  Otherwise,
68381         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
68382         print `00-22'.  Now, it prints `-0022', as it should.
68383
68384 2005-08-17  Bruno Haible  <bruno@clisp.org>
68385
68386         * modules/strstr (Files): Add m4/mbrtowc.m4.
68387         (Depends-on): Add mbuiter.
68388
68389 2005-08-17  Bruno Haible  <bruno@clisp.org>
68390
68391         * modules/strcasestr: New file.
68392         * MODULES.html.sh (String handling, based on ANSI C 89): Add
68393         strcasestr.
68394
68395 2005-08-17  Bruno Haible  <bruno@clisp.org>
68396
68397         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
68398
68399 2005-08-17  Bruno Haible  <bruno@clisp.org>
68400
68401         * modules/mbuiter: New file.
68402         * MODULES.html.sh (Extended multibyte and wide character utilities):
68403         Add mbuiter.
68404
68405 2005-08-17  Bruno Haible  <bruno@clisp.org>
68406
68407         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
68408         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
68409
68410 2005-08-17  Bruno Haible  <bruno@clisp.org>
68411
68412         * m4/strcasestr.m4: New file.
68413
68414 2005-08-17  Bruno Haible  <bruno@clisp.org>
68415
68416         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
68417         * lib/strstr.c: Completely rewritten, with multibyte locale support.
68418
68419 2005-08-17  Bruno Haible  <bruno@clisp.org>
68420
68421         * lib/strcasestr.h: New file.
68422         * lib/strcasestr.c: New file.
68423
68424 2005-08-17  Bruno Haible  <bruno@clisp.org>
68425
68426         * lib/strcasecmp.c: Use mbuiter.h.
68427
68428 2005-08-17  Bruno Haible  <bruno@clisp.org>
68429
68430         * lib/mbuiter.h: New file.
68431
68432 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
68433
68434         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
68435         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
68436         and gl_GETOPT are both invoked via different paths (as happens
68437         with GNU tar CVS because it uses both argp and getopt), the former
68438         wins.
68439
68440 2005-08-16  Bruno Haible  <bruno@clisp.org>
68441
68442         * modules/tls: New file.
68443         * MODULES.html.sh (Multithreading): Add tls.
68444
68445 2005-08-16  Bruno Haible  <bruno@clisp.org>
68446
68447         * modules/strnlen1: New file.
68448         * MODULES.html.sh (String handling): Add strnlen1.
68449
68450 2005-08-16  Bruno Haible  <bruno@clisp.org>
68451
68452         * modules/strcase (Files): Add m4/mbrtowc.m4.
68453         (Depends-on): Add strnlen1, mbchar.
68454
68455 2005-08-16  Bruno Haible  <bruno@clisp.org>
68456
68457         * modules/mbiter: New file.
68458         * MODULES.html.sh (Extended multibyte and wide character utilities):
68459         Add mbiter.
68460
68461 2005-08-16  Bruno Haible  <bruno@clisp.org>
68462
68463         * modules/mbfile: New file.
68464         * MODULES.html.sh (Extended multibyte and wide character utilities):
68465         Add mbfile.
68466
68467 2005-08-16  Bruno Haible  <bruno@clisp.org>
68468
68469         * modules/mbchar: New file.
68470         * MODULES.html.sh (Extended multibyte and wide character utilities):
68471         New section.
68472
68473 2005-08-16  Bruno Haible  <bruno@clisp.org>
68474
68475         * m4/tls.m4: New file, from GNU gettext.
68476
68477 2005-08-16  Bruno Haible  <bruno@clisp.org>
68478
68479         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
68480         always.
68481         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
68482
68483 2005-08-16  Bruno Haible  <bruno@clisp.org>
68484
68485         * m4/mbiter.m4: New file.
68486
68487 2005-08-16  Bruno Haible  <bruno@clisp.org>
68488
68489         * m4/mbfile.m4: New file.
68490
68491 2005-08-16  Bruno Haible  <bruno@clisp.org>
68492
68493         * m4/mbchar.m4: New file.
68494
68495 2005-08-16  Bruno Haible  <bruno@clisp.org>
68496
68497         * lib/tls.h: New file, from GNU gettext.
68498         * lib/tls.c: New file, from GNU gettext.
68499
68500 2005-08-16  Bruno Haible  <bruno@clisp.org>
68501
68502         * lib/strnlen1.h: New file.
68503         * lib/strnlen1.c: New file.
68504
68505 2005-08-16  Bruno Haible  <bruno@clisp.org>
68506
68507         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
68508         (mbi_init): Update.
68509         (mbi_avail, mbi_advance): Let the iteration end before the terminating
68510         NUL byte, not after it.
68511
68512 2005-08-16  Bruno Haible  <bruno@clisp.org>
68513
68514         * lib/strcase.h (strcasecmp): Add note in comments.
68515         * lib/strncasecmp.c: Use code from strcasecmp.c.
68516         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
68517         (strcasecmp): Work correctly in multibyte locales.
68518
68519 2005-08-16  Bruno Haible  <bruno@clisp.org>
68520
68521         * lib/mbiter.h: New file.
68522
68523 2005-08-16  Bruno Haible  <bruno@clisp.org>
68524
68525         * lib/mbfile.h: New file.
68526
68527 2005-08-16  Bruno Haible  <bruno@clisp.org>
68528
68529         * lib/mbchar.h: New file.
68530         * lib/mbchar.c: New file.
68531
68532 2005-08-16  Bruno Haible  <bruno@clisp.org>
68533
68534         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
68535         the valid ones. Makes the comparison operations transitive:
68536         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
68537         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
68538
68539 2005-08-15  Simon Josefsson  <jas@extundo.com>
68540
68541         * modules/ssize_t (License): Change to 'unlimited'.
68542
68543         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
68544
68545 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68546
68547         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
68548         Add comments for each pending glibc patch.
68549
68550 2005-08-15  Bruno Haible  <bruno@clisp.org>
68551
68552         * lib/regex.h (__restrict_arr): Don't define to __restrict if
68553         __cplusplus is defined.
68554
68555 2005-08-14  Jim Meyering  <jim@meyering.net>
68556
68557         Sync from coreutils.
68558
68559         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
68560         Use the hash-table-based cycle-detection code not just when
68561         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
68562         Reported by James Youngman in
68563         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
68564         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
68565         FTS_TIGHT_CYCLE_CHECK.
68566         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
68567         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
68568         once again.
68569         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
68570         * lib/fts.c (fd_safer): Remove decl.
68571         Include fcntl--.h rather than unistd-safer.h
68572         (fts_safe_changedir): Don't call fd_safer; no longer needed
68573         now that we include fcntl--.h.
68574
68575 2005-08-12  Simon Josefsson  <jas@extundo.com>
68576
68577         * modules/getndelim2: Use ssize_t module.
68578         * modules/getnline: Likewise.
68579         * modules/safe-read: Likewise.
68580         * modules/xreadlink: Likewise.
68581
68582         * modules/ssize_t: New file.
68583
68584 2005-08-12  Simon Josefsson  <jas@extundo.com>
68585
68586         * m4/readline.m4: Look for termcap, curses or ncurses if required.
68587
68588 2005-08-12  Simon Josefsson  <jas@extundo.com>
68589
68590         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68591         ssize_t.
68592
68593 2005-08-12  Simon Josefsson  <jas@extundo.com>
68594
68595         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
68596         readline, getdelim and check_version.
68597         (Support for systems lacking ISO C 99: Sizes of integer types):
68598         Add size_max.
68599
68600 2005-08-12  Bruno Haible  <bruno@clisp.org>
68601
68602         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
68603
68604 2005-08-11  Simon Josefsson  <jas@extundo.com>
68605
68606         * modules/readline: New file.
68607
68608         * modules/strnlen (Files): Add strnlen.h.
68609
68610 2005-08-11  Simon Josefsson  <jas@extundo.com>
68611
68612         * m4/readline.m4: New file.
68613
68614 2005-08-11  Simon Josefsson  <jas@extundo.com>
68615
68616         * lib/readline.h, readline.c: New file.
68617
68618 2005-08-11  Simon Josefsson  <jas@extundo.com>
68619
68620         * doc/gnulib.texi (Initial import, Finishing touches): Mention
68621         gl_AVOID.
68622
68623 2005-08-11  Bruno Haible  <bruno@clisp.org>
68624
68625         * lib/strnlen.h (strnlen): Change parameter name to match comment.
68626
68627 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
68628
68629         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
68630
68631 2005-08-10  Simon Josefsson  <jas@extundo.com>
68632
68633         * tests/test-iconvme.c: New file.
68634
68635 2005-08-10  Simon Josefsson  <jas@extundo.com>
68636
68637         * m4/strnlen.m4: New file.
68638
68639         * m4/strndup.m4: Don't check for strnlen declaration, done in
68640         strnlen.m4.
68641
68642 2005-08-10  Simon Josefsson  <jas@extundo.com>
68643
68644         * lib/strndup.c: Use strnlen.h.
68645
68646         * lib/strnlen.h: New file.
68647
68648 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68649
68650         * README: Typos.
68651
68652 2005-08-02  Simon Josefsson  <jas@extundo.com>
68653
68654         * modules/readline: New file.
68655
68656 2005-08-02  Simon Josefsson  <jas@extundo.com>
68657
68658         * modules/getdelim: New file.
68659
68660         * modules/getline: Rewrite, don't use getndelim2.
68661
68662 2005-08-02  Simon Josefsson  <jas@extundo.com>
68663
68664         * m4/getline.m4: Separate out getdelim stuff into separate module.
68665
68666         * m4/getdelim.m4: New file.
68667
68668 2005-08-02  Simon Josefsson  <jas@extundo.com>
68669
68670         * lib/getline.h, getline.c: Rewrite.
68671
68672         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
68673
68674 2005-07-31  Bruno Haible  <bruno@clisp.org>
68675
68676         * lib/lock.h (gl_lock_initializer): New macro.
68677         (gl_lock_define_initialized): Use it.
68678         (gl_rwlock_initializer): New macro.
68679         (gl_rwlock_define_initialized): Use it.
68680         (gl_recursive_lock_initializer): New macro.
68681         (gl_recursive_lock_define_initialized): Use it.
68682
68683 2005-07-30  Karl Berry  <karl@gnu.org>
68684
68685         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
68686         Report from Ben Pfaff, regarding getopt.
68687
68688 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
68689
68690         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
68691         normal way.
68692         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
68693         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
68694         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
68695         (gl_GETOPT): Use the new macros.  Most of the implementation
68696         is moved to the new macros.  This is for programs like Emacs
68697         that don't want all the functionality of gl_GETOPT.
68698
68699 2005-07-26  Bruno Haible  <bruno@clisp.org>
68700
68701         * m4/lock.m4: Update from GNU gettext.
68702
68703 2005-07-26  Bruno Haible  <bruno@clisp.org>
68704
68705         * lib/lock.h: Update from GNU gettext.
68706         * lib/lock.c: Update from GNU gettext.
68707
68708 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
68709
68710         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
68711         obsolescent AC_TRY_RUN.  Include the default includes files, for
68712         'exit'.
68713
68714 2005-07-24  Bruno Haible  <bruno@clisp.org>
68715
68716         * modules/visibility: New file.
68717         * MODULES.html.sh (Misc): Add visibility.
68718
68719 2005-07-24  Bruno Haible  <bruno@clisp.org>
68720
68721         * m4/visibility.m4: New file.
68722
68723 2005-07-24  Bruno Haible  <bruno@clisp.org>
68724
68725         * doc/visibility.texi: New file.
68726
68727 2005-07-22  Bruno Haible  <bruno@clisp.org>
68728
68729         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
68730         $(ALLOCA_H), redundant through BUILT_SOURCES.
68731         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
68732         redundant through BUILT_SOURCES.
68733         * modules/byteswap (Makefile.am): Remove explicit dependency on
68734         $(BYTESWAP_H), redundant through BUILT_SOURCES.
68735         * modules/fnmatch (Makefile.am): Remove explicit dependency on
68736         $(FNMATCH_H), redundant through BUILT_SOURCES.
68737         * modules/getopt (Makefile.am): Remove explicit dependency on
68738         $(GETOPT_H), redundant through BUILT_SOURCES.
68739         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
68740         redundant through BUILT_SOURCES.
68741         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
68742         redundant through BUILT_SOURCES.
68743         * modules/stdbool (Makefile.am): Remove explicit dependency on
68744         $(STDBOOL_H), redundant through BUILT_SOURCES.
68745         * modules/stdint (Makefile.am): Remove explicit dependency on
68746         $(STDINT_H), redundant through BUILT_SOURCES.
68747         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
68748         Remove explicit dependency on $(SYSEXITS_H).
68749         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
68750
68751 2005-07-18  Simon Josefsson  <jas@extundo.com>
68752
68753         * lib/check-version.c (check_version): Accept identical versions too.
68754
68755 2005-07-18  Bruno Haible  <bruno@clisp.org>
68756
68757         * modules/lock: New file.
68758         * MODULES.html.sh (Multithreading): New section.
68759
68760 2005-07-18  Bruno Haible  <bruno@clisp.org>
68761
68762         * m4/lock.m4: New file, from GNU gettext.
68763
68764 2005-07-18  Bruno Haible  <bruno@clisp.org>
68765
68766         * lib/lock.h: New file, from GNU gettext.
68767         * lib/lock.c: New file, from GNU gettext.
68768
68769 2005-07-18  Bruno Haible  <bruno@clisp.org>
68770
68771         * lib/lock.h (gl_once_t): New type.
68772         (gl_once_define, gl_once): New macros.
68773         * lib/lock.c (fresh_once): New variable.
68774         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
68775         functions.
68776
68777 2005-07-16  Simon Josefsson  <jas@extundo.com>
68778
68779         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
68780         workaround, suggested by Bruno.
68781
68782 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
68783
68784         * modules/xalloc (Depends-on): Add xalloc-die.
68785         * modules/xvasprintf (Depends-on): Add xalloc-die.
68786
68787 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
68788
68789         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
68790         with a minor change.
68791
68792 2005-07-15  Bruno Haible  <bruno@clisp.org>
68793
68794         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
68795         When using lib/poll.c, define poll as rpl_poll.
68796
68797 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
68798
68799         * modules/argp (Depends-on): Remove unlocked-io.
68800
68801 2005-07-14  Derek Price  <derek@ximbiot.com>
68802
68803         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
68804         for glob symlink bug.
68805
68806 2005-07-14  Bruno Haible  <bruno@clisp.org>
68807
68808         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
68809         Instead, test for *_unlocked function declarations directly.
68810
68811 2005-07-11  Simon Josefsson  <jas@extundo.com>
68812
68813         * modules/size_max: New file.
68814
68815         * modules/xsize: Depend on size_max module for size_max.m4.
68816
68817 2005-07-11  Simon Josefsson  <jas@extundo.com>
68818
68819         * lib/size_max.h: New file.
68820
68821 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
68822
68823         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
68824         copyright symbol and the year.
68825         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
68826         (version_etc_va): Use parameterized copyright notice.
68827         Reword to conform to the current GNU coding standards.
68828
68829 2005-07-11  Karl Berry  <karl@gnu.org>
68830
68831         * doc/gnulib.texi (Quoting): new node.
68832         (Initial import): more info, from Patrice.
68833
68834 2005-07-11  Bruno Haible  <bruno@clisp.org>
68835
68836         * gnulib-tool (func_usage): Document option --avoid.
68837         (Command line options): Handle --avoid.
68838         (func_acceptable): New function.
68839         (func_modules_transitive_closure): Use it.
68840
68841 2005-07-11  Bruno Haible  <bruno@clisp.org>
68842
68843         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
68844         Reported by Jim Meyering.
68845
68846 2005-07-10  Bruno Haible  <bruno@clisp.org>
68847
68848         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
68849         Needed when size_t is smaller than 'unsigned int'.
68850         Reported by Paul Eggert.
68851
68852 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68853
68854         * modules/argp (Depends-on): Add unlocked-io
68855
68856 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68857
68858         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
68859         block of defines.
68860
68861 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
68862
68863         * config/srclist.txt: Comment out regcomp.c, since we have a porting
68864         fix now.
68865
68866 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
68867         and Paul Eggert  <eggert@cs.ucla.edu>
68868
68869         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
68870         in wint_t, not wchar_t.  Remove now-unnecessary cast.
68871
68872 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68873
68874         * modules/regex (Files): Add lib/regex_internal.c,
68875         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
68876         (Depends-on): Add extensions.
68877         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
68878
68879 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68880
68881         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
68882         pathconf.
68883         * m4/same.m4 (gl_SAME): Likewise.
68884         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
68885
68886         * m4/regex.m4: Adjust to new libc regex implementation.
68887         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
68888         all the .c and .h parts of (the new) regex.
68889         Quote the m4 stuff better.
68890         Check for RE_ICASE bug of old gnulib.
68891         Check for REG_STARTEND of recent libc.
68892         Rename local variables from jm_* to gl_*.
68893         Quote operand of "test -f".
68894         Say "recent enough" version of libc, not "version 2".
68895         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
68896         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
68897         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
68898         Remove check for btowc, isascii.
68899         Require AM_LANGINFO_CODESET.
68900
68901 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68902
68903         * lib/regex.c, regex.h: Sync from libc.
68904         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
68905         * lib/regexec.c:
68906         New files, synced from libc, except that regex_internal.h
68907         currently has a small porting fix.
68908
68909 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68910
68911         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
68912         regex_internal.c, regexec.c.
68913         Add regex_internal.h too, but as a comment, since the libc version
68914         is currently broken in gnulib mode.
68915
68916 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
68917
68918         Support programs like Emacs that use gnulib but not gettext.
68919         * MODULES.html.sh (Internationalization functions): Add gettext-h.
68920         * modules/gettext-h: New file.
68921         * modules/gettext (Files): Remove lib/gettext.h.
68922         (Depends-on): Add gettext-h.
68923         (Makefile.am): Remove lib_SOURCES.
68924         * modules/argmatch, modules/c-stack, modules/closeout:
68925         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
68926         * modules/execute, modules/file-type, modules/getaddrinfo:
68927         * modules/getopt, modules/human, modules/javacomp:
68928         * modules/javaexec, modules/mkdir-p, modules/obstack:
68929         * modules/openat, modules/pagealign_alloc, modules/pipe:
68930         * modules/quotearg, modules/regex, modules/rpmatch:
68931         * modules/unicodeio, modules/userspec, modules/version-etc:
68932         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
68933         * modules/xsetenv:
68934         Depend on gettext-h, not gettext.
68935
68936 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
68937
68938         * gnulib-tool (func_import): Add support for 'public domain' license.
68939         * modules/alloca, modules/atexit, modules/memmove:
68940         Now public domain, not GPL.
68941         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
68942         * modules/realloc, modules/strerror, modules/strtod:
68943         Now LGPL, not GPL.
68944
68945 2005-07-05  Bruno Haible  <bruno@clisp.org>
68946
68947         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
68948         autoconf CVS. Needed for mingw.
68949
68950 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68951
68952         Remove the dependency of the strftime module on the tzset module.
68953         * modules/strftime (Depends-on): Remove dependency on tzset.
68954
68955 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68956
68957         Remove the dependency of the strftime module on the tzset module.
68958         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
68959         gl_FUNC_TZSET_CLOBBER.
68960
68961 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68962
68963         Remove the dependency of the strftime module on the tzset module.
68964         * lib/strftime.c (my_strftime)
68965         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
68966         Copy the input structure, to work around some of the bug with
68967         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
68968         Solaris releases, you should also use the tzset module, but we won't
68969         require it as a dependency any more since we don't want LGPLed code
68970         to depend on GPLed code.
68971
68972 2005-07-02  Jim Meyering  <jim@meyering.net>
68973
68974         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
68975         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
68976         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
68977         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
68978
68979 2005-07-02  Jim Meyering  <jim@meyering.net>
68980
68981         * lib/backupfile.c (backup_args): Change a `0' to NULL.
68982
68983 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
68984
68985         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
68986         declares only 'struct timespec;' (!).
68987
68988 2005-07-01  Jim Meyering  <jim@meyering.net>
68989
68990         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
68991         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
68992         * lib/save-cwd.c, tempname.c:
68993         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
68994         and don't include <sys/file.h>).
68995
68996 2005-06-29  Jim Meyering  <jim@meyering.net>
68997
68998         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
68999         type name.  Use the variable name instead.
69000         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
69001         Likewise.
69002
69003 2005-06-28  Simon Josefsson  <jas@extundo.com>
69004
69005         * modules/check-version (Files): Add check-version.m4.
69006
69007 2005-06-28  Simon Josefsson  <jas@extundo.com>
69008
69009         * m4/check-version.m4: New file, suggested by Jim Meyering
69010         <jim@meyering.net>.
69011
69012 2005-06-28  Simon Josefsson  <jas@extundo.com>
69013
69014         * lib/check-version.h, lib/check-version.c: New files.
69015
69016 2005-06-28  Simon Josefsson  <jas@extundo.com>
69017
69018         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
69019         collision with global variable.  Better indentation.  Don't
69020         increment buffer pointer beyond buffer end.  Based on comments
69021         from Paul Eggert <eggert@cs.ucla.edu>.
69022
69023         * lib/base64.h: Indent.
69024
69025 2005-06-28  Simon Josefsson  <jas@extundo.com>
69026
69027         * doc/gnulib.texi (Library version handling): New section.
69028
69029 2005-06-28  Jim Meyering  <jim@meyering.net>
69030
69031         * check-module (find_included_lib_files): Hard-code another
69032         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
69033         but modules/fts-lgpl (correctly) does not list those files.
69034
69035         * modules/canonicalize (Files): Add lib/pathmax.h.
69036
69037 2005-06-25  Simon Josefsson  <jas@extundo.com>
69038
69039         * modules/check-version: New file.
69040
69041 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
69042
69043         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
69044         initializer of struct addrinfo, as an indication that we don't
69045         care how many members the structure has.
69046
69047 2005-06-24  Derek Price  <derek@ximbiot.com>
69048         and Bruno Haible  <bruno@clisp.org>
69049
69050         Remove stat module & update lstat.
69051         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
69052         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69053         * m4/stat.m4: Remove this file.
69054
69055 2005-06-24  Derek Price  <derek@ximbiot.com>
69056         and Bruno Haible  <bruno@clisp.org>
69057
69058         Remove stat module & update lstat.
69059         * lib/stat.c: Remove this file...
69060         (slash_aware_lstat): ...moving this content and its support...
69061         * lib/lstat.c (rpl_lstat): ...into here.
69062         * lib/lstat.h: New file.
69063
69064 2005-06-24  Derek Price  <derek@ximbiot.com>
69065         and Bruno Haible  <bruno@clisp.org>
69066
69067         Remove stat module & update lstat.
69068         * config/srclist.txt (libc sources): Remove stat.
69069
69070 2005-06-24  Derek Price  <derek@ximbiot.com>
69071         and Bruno Haible  <bruno@clisp.org>
69072
69073         Remove stat module & update lstat.
69074         * MODULES.html.sh (stat): Remove.
69075         * MODULES.html: Regenerated.
69076         * modules/lstat (Description): Correct function name.
69077         (Files): Add "lstat.h".
69078         (Depends-on): Remove stat, add xalloc, stat-macros.
69079         * modules/stat: Remove this file.
69080         (Include): Add "lstat.h", remove <sys/stat.h>.
69081
69082 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
69083
69084         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
69085         (ranged_convert): Don't save conversion in a temporary struct.
69086         This causes a warning with GCC 4.0.0, and anyway in the typical
69087         case it's not worth the extra 100 bytes or so of code.
69088         (ranged_convert, __mktime_internal): When calling a function via a
69089         pointer P, use P () rather than (*P) (), as we now assume C89 or
69090         better.
69091
69092 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69093
69094         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
69095         "who -r" failed to give output.  Problem reported by Tim Waugh.
69096
69097         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
69098         (xcalloc): Use it to avoid needless tests.
69099         Problem reported by Jim Meyering.
69100
69101 2005-06-20  Derek Price  <derek@ximbiot.com>
69102
69103         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
69104         unnecessary for Autoconfs > 2.59c.
69105
69106 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69107
69108         * lib/argp.h (__option_is_short): Check upper limit of
69109         __key. Isprint() requires its argument to have the value
69110         of an unsigned char or EOF.
69111
69112 2005-06-16  Jim Meyering  <jim@meyering.net>
69113
69114         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
69115         when either N or S is zero.
69116
69117 2005-06-16  Derek Price  <derek@ximbiot.com>
69118
69119         * m4/bison.m4: Declare YACC & YFLAGS precious.
69120
69121 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
69122
69123         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
69124         multibyte string or pattern, fall back on unibyte matching.
69125         Problem reported by James Youngman.
69126
69127 2005-06-08  Bruno Haible  <bruno@clisp.org>
69128
69129         * modules/csharpcomp: New file.
69130         * MODULES.html.sh (C#): Add csharpcomp.
69131
69132 2005-06-08  Bruno Haible  <bruno@clisp.org>
69133
69134         * m4/csharpcomp.m4: New file, from GNU gettext.
69135
69136 2005-06-08  Bruno Haible  <bruno@clisp.org>
69137
69138         * lib/csharpcomp.h: New file, from GNU gettext.
69139         * lib/csharpcomp.c: New file, from GNU gettext.
69140         * lib/csharpcomp.sh.in: New file, from GNU gettext.
69141
69142 2005-06-08  Bruno Haible  <bruno@clisp.org>
69143
69144         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
69145         warning on mingw.
69146
69147 2005-06-07  Derek Price  <derek@ximbiot.com>
69148
69149         Sync from CVS.
69150         * lib/glob_.h: Indent nested #ifdef.
69151
69152 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69153
69154         Sync from coreutils.
69155         Use "file name" when talking about file names, instead of "filename"
69156         or "path", as per the GNU coding standards.
69157         * lib/mkdir-p.c: Renamed from makepath.c.
69158         (make_dir_parents): Renamed from make_path.  All callers changed.
69159         * lib/mkdir-p.h: Likewise.  All includers changed.
69160         * lib/filenamecat.c: Renamed from path-concat.c.
69161         (file_name_concat): Renamed from path_concat.  All callers changed.
69162         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
69163         * lib/filenamecat.h: Likewise.  All includers changed.
69164         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
69165         in comments or local variable names.
69166         * lib/basename.c: Likewise.
69167         * lib/canonicalize.c, canonicalize.h: Likewise.
69168         * lib/dirname.c, dirname.h: Likewise.
69169         * lib/euidaccess.c: Likewise.
69170         * lib/exclude.c: Likewise
69171         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
69172         * lib/fsusage.c, fsuage.h: Likewise.
69173         * lib/fts.c, fts_.h: Likewise.
69174         * lib/getcwd.c: Likewise.
69175         * lib/getloadavg.c: Likewise.
69176         * lib/mkstemp.c: Likewise.
69177         * lib/mountlist.c, mountlist.h: Likewise.
69178         * lib/openat.c, openat.h: Likewise.
69179         * lib/readlink-stub.c: Likewise.
69180         * lib/readutmp.c, readutmp.h: Likewise.
69181         * lib/rename.c: Likewise.
69182         * lib/rmdir.c: Likewise.
69183         * lib/same.c: Likewise.
69184         * lib/savedir.c: Likewise.
69185         * lib/stripslash.c: Likewise.
69186         * lib/tempname.c: Likewise.
69187         * lib/xreadlink.c: Likewise.
69188         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
69189         All uses changed.
69190         * lib/exclude.h: Likewise.
69191
69192         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
69193         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69194         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
69195         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69196         * lib/pathmax.h: Include <limits.h> unconditionally, since other
69197         files have been getting away with it for years (MORE/BSD 4.3
69198         is extinct now).
69199         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
69200         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69201
69202         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
69203         Define to 256, not 255, as per modern POSIX.
69204
69205 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69206
69207         Sync from coreutils.
69208         Use "file name" when talking about file names, instead of "filename"
69209         or "path", as per the GNU coding standards.
69210         * MODULES.html.sh: mkdir-p renamed from makepath.
69211         filenamecat renamed from path-concat.
69212         * modules/filenamecat: Renamed from modules/path-concat.
69213         (Files): filenamecat.h and filenamecat.c renamed from
69214         path-concat.h and path-concat.c.
69215         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
69216         (Include): filenamecat.h, not path-concat.h.
69217         * modules/mkdir-p: Renamed from modules/makepath.
69218         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
69219         makepath.c.
69220         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
69221         (Include): mkdir-p.h, not makepath.h.
69222
69223 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69224
69225         Sync from coreutils.
69226         * m4/mkdir-p.m4: Renamed from makepath.m4.
69227         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
69228         Rename files from makepath.c to mkdir-p.c, and from
69229         makepath.h to mkdir-p.h.
69230         * m4/filenamecat.m4: Renamed from path-concat.m4.
69231         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
69232         Rename files from path-concat.c to filenamecat.c,
69233         and from path-concat.h to filenamecat.h.
69234         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
69235         "file name" in local variables or comments.
69236         * m4/rename.m4: Likewise.
69237
69238 2005-06-01  Bruno Haible  <bruno@clisp.org>
69239
69240         * modules/csharpexec: New file.
69241         * MODULES.html.sh (C#): New section.
69242
69243 2005-06-01  Bruno Haible  <bruno@clisp.org>
69244
69245         * m4/csharp.m4: New file, from GNU gettext.
69246         * m4/csharpexec.m4: New file, from GNU gettext.
69247
69248 2005-06-01  Bruno Haible  <bruno@clisp.org>
69249
69250         * lib/csharpexec.h: New file, from GNU gettext.
69251         * lib/csharpexec.c: New file, from GNU gettext.
69252         * lib/csharpexec.sh.in: New file, from GNU gettext.
69253
69254 2005-05-31  Derek Price  <derek@ximbiot.com>
69255             Paul Eggert  <eggert@cs.ucla.edu>
69256
69257         Sync from cvs.
69258         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
69259
69260 2005-05-31  Derek Price  <derek@ximbiot.com>
69261             Paul Eggert  <eggert@cs.ucla.edu>
69262
69263         Sync from cvs.
69264         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
69265
69266 2005-05-29  Derek Price  <derek@ximbiot.com>
69267
69268         * config/srclist.txt (glob_.h, glob.c): Add these files.
69269
69270 2005-05-29  Derek Price  <derek@ximbiot.com>
69271
69272         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
69273         * modules/glob: New file.
69274         * modules/getlogin_r: Add link to POSIX spec in description.
69275
69276 2005-05-29  Derek Price  <derek@ximbiot.com>
69277             Paul Eggert  <eggert@cs.ucla.edu>
69278
69279         * m4/glob.m4: New file.
69280
69281 2005-05-29  Derek Price  <derek@ximbiot.com>
69282             Paul Eggert  <eggert@cs.ucla.edu>
69283
69284         * lib/glob_.h, lib/glob.c: New files.
69285
69286 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69287
69288         * modules/fts (Files): Remove m4/inttypes-pri.m4.
69289         * modules/fts-lgpl (Depends-on): Remove gettext.
69290
69291 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69292
69293         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
69294         and don't require gt_INTTYPES_PRI.
69295
69296 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69297
69298         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
69299
69300         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
69301         the configuration hassle isn't worth it.
69302         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
69303         (LONGEST_MODIFIER, PRIuMAX): Remove.
69304
69305 2005-05-27  Bruno Haible  <bruno@clisp.org>
69306
69307         * lib/getlogin_r.h: Remove second include of <stddef.h>.
69308
69309 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
69310
69311         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
69312         _POSIX_PTHREAD_SEMANTICS for Solaris.
69313
69314 2005-05-25  Derek Price  <derek@ximbiot.com>
69315
69316         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
69317
69318 2005-05-25  Derek Price  <derek@ximbiot.com>
69319             Paul Eggert  <eggert@cs.ucla.edu>
69320
69321         * modules/getlogin_r, m4/getlogin_r.m4: New files.
69322         * lib/getlogin_r.c, getlogin_r.h: New files.
69323
69324 2005-05-25  Bruno Haible  <bruno@clisp.org>
69325             Derek Price  <derek@ximbiot.com>
69326
69327         * lib/getlogin_r.h: Simplify API documentation.
69328
69329 2005-05-23  Derek Price  <derek@ximbiot.com>
69330
69331         * modules/minmax (Files): Add m4/minmax.m4.
69332         (configure.ac): Add gl_MINMAX.
69333
69334 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
69335
69336         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
69337         so that unistd-safer.h (GPL'ed code) need not be included.
69338
69339 2005-05-22  Bruno Haible  <bruno@clisp.org>
69340
69341         * m4/minmax.m4: New file.
69342         Based on a patch by Derek Price <derek@ximbiot.com>.
69343
69344 2005-05-22  Bruno Haible  <bruno@clisp.org>
69345
69346         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
69347         (INT64_MIN): Fix definition.
69348         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
69349
69350         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
69351         NEED_SIGNED_INT_TYPES.
69352
69353         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
69354         HAVE_SYSTEM_INTTYPES.
69355
69356 2005-05-22  Bruno Haible  <bruno@clisp.org>
69357
69358         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
69359         Also include <sys/param.h> if it defines MIN, MAX.
69360         Based on a patch by Derek Price <derek@ximbiot.com>.
69361
69362 2005-05-21  Jim Meyering  <jim@meyering.net>
69363
69364         * modules/fts (Files): Add m4/inttypes-pri.m4.
69365         (Depends-on): Add lstat and remove gettext.  Alphabetize.
69366
69367 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69368
69369         New fts module.
69370         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
69371         (setup_dir, free_dir): New functions.
69372         (enter_dir, leave_dir): Define trivial
69373         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
69374         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
69375         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
69376         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
69377         Move to fts-cycle.c.
69378         (fts_open): Use setup_dir.
69379         (fts_close): Use free_dir.
69380         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
69381         This adds a label and some gotos, but the alternatives were messier.
69382         Check for memory allocation failure when entering a dir.
69383         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
69384         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
69385         (FTS): New member fts_cycle, that is a union that contains the
69386         old active_dir_ht and cycle_state.  All uses changed to mention
69387         fts_cycle.ht and fts_cycle.state.
69388         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
69389         fts.c, with the following changes:
69390         (setup_dir, free_dir): New functions.
69391         (enter_dir): Now returns bool.  Return true if successful, false
69392         if memory exhausted.  All callers changed.
69393         Do not bother partly cleaning up on
69394         memory allocation failure; that is free_dir's job.
69395         However, free ad if hash_insert fails, to avoid memory leak.
69396         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
69397         fts->fts_options to see which union member to use.
69398
69399 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69400
69401         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
69402         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
69403
69404 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69405
69406         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
69407
69408 2005-05-20  Jim Meyering  <jim@meyering.net>
69409
69410         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
69411         Now a macro, to pacify GCC.
69412
69413 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
69414
69415         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
69416         of -1.
69417
69418 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
69419
69420         * lib/chown.c (rpl_chown): Return -1 on failure.
69421
69422 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
69423
69424         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
69425         Don't check for stddef.h.
69426         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
69427         don't use its results.
69428         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
69429         since we include them unconditionally.  Don't require
69430         AM_STDBOOL_H, since stdbool is a prerequisite.
69431         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
69432         since we assume C89 or better.
69433         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
69434         as we don't use their results.
69435         Don't check for fchdir, memmove, memset, strrchr, as we use
69436         them unconditionally.
69437         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
69438         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
69439
69440 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
69441
69442         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
69443         Include <stddef.h> unconditionally, since we assume C89 now.
69444         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
69445         * lib/fts.c: Include fts_.h first, to check interface.
69446         Do not include intprops.h; no longer needed.
69447         Include cycle-check.h and hash.h, since fts_.h no longer does.
69448         Remove unnecessary casts of closedir to void.
69449         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
69450         decide whether to decrement nlinks.
69451         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
69452         (FTS): Use struct hash_table * instead of Hash_table, so that
69453         we no longer need to include hash.h here.
69454
69455 2005-05-18  Jim Meyering  <jim@meyering.net>
69456
69457         * modules/dirfd (License): Change to LGPL.  Most of the code
69458         is already in the public domain.
69459
69460 2005-05-18  Jim Meyering  <jim@meyering.net>
69461
69462         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
69463         Reported by Yoann Vandoorselaere.
69464
69465 2005-05-17  Jim Meyering  <jim@meyering.net>
69466
69467         * m4/fts.m4: New file, from coreutils.
69468
69469 2005-05-17  Jim Meyering  <jim@meyering.net>
69470
69471         * lib/fts.c, lib/fts_.h: New files, from coreutils.
69472
69473 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69474
69475         Sync from coreutils.
69476         * m4/unlinkdir.m4: New file.
69477
69478 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69479
69480         Sync from coreutils.
69481         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
69482         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
69483         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
69484         White space changes only.
69485         * lib/makepath.c (make_path): Port to hosts where leading "//" is
69486         special.
69487         * lib/yesno.c: Include getline.h, not ctype.h.
69488         (yesno): Don't remove leading white space; POSIX doesn't allow it.
69489         Use getline to remove arbitrary restriction on response length.
69490
69491 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69492
69493         * config/srclist-update: Spell out "Street" in FSF postal
69494         mail address; this is the style the FSF seems to prefer.
69495
69496         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
69497         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
69498         this updates FSF postal mail address.
69499
69500         Sync from coreutils.
69501         * modules/unlinkdir: New file.
69502         * modules/yesno (Depends-on): Add getline.
69503         * MODULES.html.sh (File system functions): Add unlinkdir.
69504
69505 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69506
69507         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
69508         lib/strsep.h:
69509         Change the initial comment to refer to GPL, not LGPL.
69510         gnulib-tool will change it to LGPL as needed.
69511
69512         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
69513         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
69514         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
69515         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
69516         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
69517         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
69518         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
69519         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
69520         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
69521         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
69522         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
69523         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
69524         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
69525         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
69526         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
69527         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
69528         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
69529         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
69530         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
69531         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
69532         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
69533         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
69534         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
69535         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
69536         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
69537         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
69538         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
69539         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
69540         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
69541         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
69542         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
69543         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
69544         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
69545         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
69546         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
69547         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
69548         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
69549         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
69550         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
69551         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
69552         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
69553         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
69554         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
69555         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
69556         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
69557         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
69558         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
69559         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
69560         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
69561         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
69562         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
69563         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
69564         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
69565         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
69566         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
69567         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
69568         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
69569         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
69570         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
69571         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
69572         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
69573         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
69574         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
69575         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
69576         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
69577         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
69578         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
69579         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
69580         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
69581         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
69582         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
69583         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
69584         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
69585         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
69586         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
69587         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
69588         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
69589         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
69590         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
69591         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
69592         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
69593         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
69594         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
69595         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
69596         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
69597         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
69598         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
69599         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
69600         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
69601         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
69602         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
69603         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
69604         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
69605         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
69606         lib/yesno.c, lib/yesno.h:
69607         Update FSF postal mail address.
69608
69609 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69610
69611         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
69612         tests/test-memmem.c, tests/test-stpncpy.c:
69613         Update FSF postal mail address.
69614
69615 2005-05-13  Bruno Haible  <bruno@clisp.org>
69616
69617         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
69618         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
69619         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
69620         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
69621         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
69622         Add support for 64-bit integers in the MSVC compiler.
69623
69624 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69625
69626         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
69627
69628 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
69629
69630         * gnulib-tool (func_import): Sort and uniquify recommended includes.
69631
69632 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
69633
69634         * doc/getdate.texi (General date syntax): Don't say that date
69635         date --iso-8601=ns generates acceptable dates; it doesn't yet.
69636         Problem reported by Nic Ferrier.
69637
69638 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69639
69640         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
69641         specified in ai_socktype. Fix invalid ai_protocol
69642         check. ai_protocol is usually set to 0 or depending on
69643         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
69644         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
69645         ai_socktype / ai_protocol in the returned addrinfo structure.
69646
69647 2005-05-10  Simon Josefsson  <jas@extundo.com>
69648
69649         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
69650         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69651
69652 2005-05-10  Karl Berry  <karl@gnu.org>
69653
69654         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
69655         (from http://www.gnu.org/licenses).
69656         * doc/COPYING.LIB: also rename to COPYING.LESSER.
69657         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
69658         fdl.texi suffices.
69659
69660 2005-05-10  Karl Berry  <karl@gnu.org>
69661
69662         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
69663         (COPYING.DOC): remove.
69664
69665         * config/srclist-update: new FSF address.
69666
69667 2005-05-10  Derek Price  <derek@ximbiot.com>
69668
69669         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
69670         possible.
69671
69672 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69673             Bruno Haible  <bruno@clisp.org>
69674
69675         * modules/inet_ntop: New file.
69676         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69677         inet_ntop.
69678
69679 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69680             Bruno Haible  <bruno@clisp.org>
69681
69682         * m4/inet_ntop.m4: New file.
69683
69684 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69685             Bruno Haible  <bruno@clisp.org>
69686
69687         * lib/inet_ntop.h: New file.
69688         * lib/inet_ntop.c: New file, from glibc with modifications.
69689
69690 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
69691
69692         * modules/time_r (License): Change to LGPL.
69693         * modules/extensions (License): Change to LGPL.  Actually,
69694         the license is more permissive than that, but currently gnulib-tool
69695         doesn't know how to handle more-permissive licenses.
69696
69697         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
69698         Problem reported by Dave Love.
69699
69700 2005-05-08  Jim Meyering  <jim@meyering.net>
69701
69702         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
69703         blank.
69704
69705 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
69706
69707         * modules/argmatch (Depends-on): Add stdbool.
69708         * modules/backupfile (Depends-on): Likewise.
69709         * modules/chdir-long (Depends-on): Likewise.
69710         * modules/closeout (Depends-on): Likewise.
69711         * modules/cycle-check (Depends-on): Likewise.
69712         * modules/dirname (Depends-on): Likewise.
69713         * modules/fnmatch (Depends-on): Likewise.
69714         * modules/fsusage (Depends-on): Likewise.
69715         * modules/fwriteerror (Depends-on): Likewise.
69716         * modules/getcwd (Depends-on): Likewise.
69717         * modules/getloadavg (Depends-on): Likewise.
69718         * modules/hard-locale (Depends-on): Likewise.
69719         * modules/makepath (Depends-on): Likewise.
69720         * modules/mountlist (Depends-on): Likewise.
69721         * modules/nanosleep (Depends-on): Likewise.
69722         * modules/posixtm (Depends-on): Likewise.
69723         * modules/quotearg (Depends-on): Likewise.
69724         * modules/readtokens (Depends-on): Likewise.
69725         * modules/readtokens0 (Depends-on): Likewise.
69726         * modules/readutmp (Depends-on): Likewise.
69727         * modules/save-cwd (Depends-on): Likewise.
69728         * modules/strftime (Depends-on): Likewise.
69729         * modules/userspec (Depends-on): Likewise.
69730         * modules/utimecmp (Depends-on): Likewise.
69731         * modules/xgetcwd (Depends-on): Likewise.
69732         * modules/xnanosleep (Depends-on): Likewise.
69733         * modules/xstrtod (Depends-on): Likewise.
69734         * modules/yesno (Depends-on): Likewise.
69735
69736 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
69737
69738         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
69739         needless checks.
69740
69741 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69742
69743         Merge from coreutils.  Among other things,
69744         add bulletproofing for cases where stdin, stdout, or stderr are closed.
69745         * lib/fd-safer.c: New file.
69746         * lib/fcntl-safer.h, open-safer.c: Remove.
69747         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
69748         * lib/dup-safer.c: Include unistd-safer.h first.
69749         Don't include errno.h.
69750         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
69751         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
69752         * lib/file-type.c: Rely on file-type.h change.
69753         * lib/getloadavg.c: Include unistd-safer.h.
69754         (getloadavg): Use safer open.
69755         * lib/getusershell.c: Include "stdio-safer.h".
69756         (getusershell): Use safer fopen.
69757         * lib/long-options.c (long_options): Use NULL rather than 0.
69758         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
69759         'free'.
69760         * lib/modechange.c: Likewise.
69761         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
69762         (MODE_DONE): New constant.
69763         (struct mode_change): Remove 'next' member.
69764         (make_node_op_equals): New function; like the old one of the
69765         same name, except it allocates an array.
69766         (mode_compile, mode_create_from_ref): Use it.
69767         (mode_compile): Allocate result as an array, not a linked list.
69768         Parse octal string ourself, so that we catch mistakes like "+0".
69769         (mode_adjust): Arg is an array, not a linked list.
69770         * lib/modechange.c: Include stat-macros.h, xalloc.h.
69771         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
69772         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
69773         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
69774         Remove.  This is now stat-macros.h's job.
69775         (talloc): Remove.  All callers replaced by xalloc, so that
69776         our invokers don't have to worry about reporting memory failures.
69777         (make_node_op_equals): Remove.
69778         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
69779         New constants.
69780         (struct mode_change): Moved here from modechange.h.
69781         (mode_append_entry): Remove.
69782         (mode_compile): Remove MASKED_OPS arg, since it encouraged
69783         apps to have incorrect behavior.  Use simpler algorithm for head
69784         and tail.  Don't futz with umask; that's now the job of mode_adjust.
69785         Detect more invalid usages rather than having somewhat-random behavior.
69786         Don't insert an "a=" action, as that leads to incorrect behavior.
69787         (mode_compile, mode_create_from_ref): Return NULL on error instead
69788         of an enum, since now there's only one way to have an error.  All
69789         callers changed.
69790         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
69791         at the correct time.  Simplify calculation of "+u" and its ilk.
69792         Don't mishandle "+X".
69793         (mode_free): Remove "register" and localize decls.
69794         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
69795         (struct mode_change): Move to modechange.c; callers don't
69796         need to see this stuff.
69797         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
69798         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
69799         (mode_change, mode_adjust): Reflect the new signatures noted above.
69800         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
69801         that might redefine system include files.
69802         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
69803         (my_usleep): Use NULL rather than (void *) 0.
69804         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
69805         Use siginterrupt to specify that system calls should be interrupted.
69806         (rpl_nanosleep): Move initialization of suspended closer to call of
69807         my_usleep.
69808         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
69809         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
69810         (desirable_utmp_entry): New function.
69811         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
69812         using x2nrealloc, to simplify logic.
69813         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
69814         size calculation.  Do not assume utmp file is a regular file.
69815         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
69816         (READ_UTMP_CHECK_PIDS): New constant.
69817         * lib/save-cwd.c: Include unistd-safer.h.
69818         (save_cwd): Use fd_safer.
69819         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
69820         [!_LIBC] Include "stat-macros.h" instead.
69821         * lib/unistd-safer.h (fd_safer): New decl.
69822
69823 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69824
69825         * modules/getloadavg (Depends-on): Add unistd-safer.
69826         * modules/getusershell (Depends-on): Add stdio-safer.
69827         * modules/lstat (Depends-on): Remove xalloc.
69828         * modules/mkstemp (Depends-on): Add stat-macros.
69829         * modules/modechange (Depends-on): Remove xstrtol.
69830         Add stat-macros, xalloc.
69831         * modules/save-cwd (Depends-on): Add unistd-safer.
69832         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
69833         * modules/unistd-safer (Files): Add lib/fd-safer.c
69834         (Makefile.am): Remove lib_SOURCES.
69835
69836         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
69837         Remove fcntl-safer; unistd-safer supersedes it.
69838
69839 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69840
69841         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
69842         AC_HEADER_STAT.
69843         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
69844         (gl_PREREQ_CHOWN): Remove.
69845         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
69846         it.  Don't require AC_HEADER_STAT.
69847         (gl_PREREQ_LSTAT): Remove.
69848         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
69849         Don't require AC_HEADER_STAT.
69850         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
69851         (gl_PREREQ_RMDIR): Remove.
69852         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
69853         mention stat-macros.h or AC_HEADER_STAT, since we'll make
69854         the stat-macros module a prerequisite.
69855         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
69856         * m4/filemode.m4 (gl_FILEMODE): Likewise.
69857         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
69858         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
69859         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
69860         variable names.
69861         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
69862         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
69863         variable prefixes.
69864         * m4/fcntl-safer.m4: Remove.
69865         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
69866         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
69867         Invoke gl_PREREQ_FD_SAFER.
69868         (gl_PREREQ_FD_SAFER): New macro.
69869         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
69870         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
69871         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
69872         Remove duplicate call to AC_LIBOBJ(readutmp).
69873         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
69874
69875         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
69876         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
69877
69878 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69879
69880         * MODULES.html.sh (Misc): Add byteswap.
69881
69882 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69883
69884         * modules/getcwd (Depends-on): Add extensions.
69885         * modules/openat (Depends-on): Likewise.
69886
69887 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69888
69889         * modules/byteswap: New file.
69890
69891 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69892
69893         * m4/byteswap.m4: New file.
69894
69895 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69896
69897         * lib/byteswap_.h: New file.
69898
69899 2005-04-25  Karl Berry  <karl@gnu.org>
69900
69901         * m4/gettext.m4: Update from GNU gettext 0.14.4.
69902
69903 2005-04-25  Albert Chin  <china@thewrittenword.com>
69904
69905         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
69906         Toolkit C bug.
69907
69908 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
69909
69910         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
69911         (func_ln_if_changed): Remove forcibly for no error message
69912         in case file does not exist.
69913
69914 2005-04-19  Simon Josefsson  <jas@extundo.com>
69915
69916         * gnulib-tool (Options): Make --symlink mean --symbolic.
69917
69918 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
69919
69920         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
69921
69922 2005-04-16  Simon Josefsson  <jas@extundo.com>
69923
69924         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
69925
69926 2005-04-15  Simon Josefsson  <jas@extundo.com>
69927
69928         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
69929
69930 2005-04-15  Simon Josefsson  <jas@extundo.com>
69931
69932         * gnulib-tool: Rename --symlink to --symbolic.
69933
69934 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
69935
69936         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
69937         symbolic links to files instead of copying/moving.  Add --aux-dir,
69938         specifying directory relative --dir where auxiliary build tools
69939         are placed.
69940
69941 2005-04-14  Bruno Haible  <bruno@clisp.org>
69942
69943         * modules/allocsa (License): Change to LGPL.
69944         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
69945
69946 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69947
69948         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
69949         that "UTC +1 second" continues to work.  Problem reported
69950         by Dmitry V. Levin.
69951         (relunit_snumber): New rule.
69952         (relunit): Use it.
69953
69954 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
69955
69956         * lib/getdate.y (universal_time_zone_table): New constant.
69957         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
69958         universal_time_zone_table.
69959         (lookup_zone): Prefer universal_time_zone_table to
69960         local_time_zone_table, so that "GMT" time stamps are allowed in
69961         London during the summer.  Problem reported by Ian Abbott.
69962
69963 2005-04-12  Jim Meyering  <jim@meyering.net>
69964
69965         * lib/human.c (humblock): Set *options even when returning due to
69966         xstrtoumax conversion failure.  Thanks to a used-uninitialized
69967         warning from gcc-4.
69968
69969 2005-04-09  Jim Meyering  <jim@meyering.net>
69970
69971         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
69972         -Wuninitialized: initialize tm0.tm_year.
69973
69974 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
69975
69976         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
69977         count, since there's no maximum.  All uses changed.
69978         Add member dsts_seen.
69979         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
69980         not being INT_MAX.
69981         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
69982         Use pc_rels_seen to decide whther a date is absolute.
69983
69984         * lib/getdate.y (number): Don't overwrite year.
69985         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
69986         check.
69987
69988 2005-04-02  Simon Josefsson  <jas@extundo.com>
69989
69990         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
69991         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
69992
69993 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
69994
69995         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
69996         where no absolute path name can be longer than PATH_MAX.
69997
69998 2005-03-27  Jim Meyering  <jim@meyering.net>
69999
70000         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
70001
70002 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
70003
70004         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
70005         "one's complement" -> "ones' complement" in comment, as per Knuth.
70006         "value of type" -> "type or expression" in comment.
70007         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
70008
70009 2005-03-26  Jim Meyering  <jim@meyering.net>
70010
70011         Comment nits.
70012         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
70013         Correct typos: s/or/of/.
70014
70015 2005-03-26  Jim Meyering  <jim@meyering.net>
70016
70017         * modules/check-include-files: Move to ../ and rename to...
70018         * check-module: ...this.
70019
70020 2005-03-25  Jim Meyering  <jim@meyering.net>
70021
70022         * modules/xvasprintf (Files): Add xalloc.h.
70023
70024 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
70025
70026         * modules/gettext (Files): config/config.rpath ->
70027         build-aux/config.rpath
70028         * modules/iconv (Files): Likewise.
70029         Problem reported by Oskar Liljeblad.
70030
70031 2005-03-23  Jim Meyering  <jim@meyering.net>
70032
70033         * modules/check-include-files: New script to check for
70034         missing dependencies, multiple includes, etc.
70035
70036         * modules/c-strtold (Depends-on): Add xalloc.
70037         * modules/c-strtod (Depends-on): Add xalloc.
70038         * modules/hash (Depends-on): Add xalloc.
70039         (Files): Remove lib/xalloc.h.
70040
70041         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
70042         * modules/userspec (Files): Add lib/inttostr.h.
70043
70044 2005-03-23  Jim Meyering  <jim@meyering.net>
70045
70046         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
70047
70048 2005-03-22  Jim Meyering  <jim@meyering.net>
70049
70050         * modules/stat-macros: New module.
70051         * modules/canonicalize, modules/euidaccess, modules/file-type,
70052         * modules/filemode, modules/lchown, modules/makepath,
70053         * modules/rmdir, modules/stat: Depend on new stat-macros module
70054         rather than listing lib/stat-macros.h manually.
70055         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
70056
70057 2005-03-22  Jim Meyering  <jim@meyering.net>
70058
70059         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
70060
70061 2005-03-22  Bruno Haible  <bruno@clisp.org>
70062
70063         * config/srclist.txt: Replace target directory 'config' with
70064         'build-aux'.
70065         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
70066         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
70067         ../build-aux/.
70068
70069 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
70070
70071         * modules/chdir-long (Depends-on): Add mempcpy.
70072
70073         * modules/acl, modules/backupfile, modules/c-strtod,
70074         modules/c-strtold, modules/canon-host, modules/canonicalize,
70075         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
70076         modules/exclude, modules/exitfail, modules/file-type,
70077         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
70078         modules/getdate, modules/getline, modules/getpagesize,
70079         modules/getpass, modules/getugroups, modules/group-member,
70080         modules/hard-locale, modules/hash, modules/human, modules/idcache,
70081         modules/inttostr, modules/long-options, modules/makepath,
70082         modules/md5, modules/memcasecmp, modules/memcoll,
70083         modules/modechange, modules/mountlist, modules/path-concat,
70084         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
70085         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
70086         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
70087         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
70088         modules/strftime, modules/strndup, modules/strverscmp,
70089         modules/timespec, modules/unlocked-io, modules/userspec,
70090         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
70091         modules/yesno:
70092         Remove lib_SOURCES line from Makefile.am section, as this is now
70093         done automatically by the corresponding Autoconf macro.
70094
70095 2005-03-21  Jim Meyering  <jim@meyering.net>
70096
70097         Changes imported from coreutils.
70098
70099         * lib/cycle-check.c: Don't include xalloc.h.
70100
70101         * lib/path-concat.c: Don't include assert.h.
70102         (path_concat): Remove assertion that would have triggered
70103         for ABASE starting with more than one slash.
70104         Reported by Andreas Schwab.
70105
70106         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
70107         properly when ABASE is an absolute file name.
70108         Correct the description of this function.
70109         Include <assert.h>.
70110         Add an assertion and a test driver.
70111         This fixes a bug introduced on 2004-07-02.
70112         Andreas Schwab reported the resulting failure of cp --parents:
70113         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
70114
70115 2005-03-21  Jim Meyering  <jim@meyering.net>
70116
70117         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
70118         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
70119
70120 2005-03-21  Jim Meyering  <jim@meyering.net>
70121         and  Paul Eggert  <eggert@cs.ucla.edu>
70122
70123         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
70124         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
70125         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
70126         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
70127         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
70128         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
70129         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
70130         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
70131         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
70132         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
70133         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
70134         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
70135         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
70136         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
70137         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
70138         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
70139         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
70140         for these modules.
70141
70142 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
70143
70144         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
70145         (which shouldn't happen), generate nothing instead of returning 0
70146         immediately, so that nstrftime (NULL, ...) doesn't return 0.
70147
70148 2005-03-16  Bruno Haible  <bruno@clisp.org>
70149
70150         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
70151         HAVE_LONGLONG_64BIT.
70152
70153 2005-03-16  Bruno Haible  <bruno@clisp.org>
70154
70155         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
70156         HAVE_LONGLONG_64BIT.
70157
70158 2005-03-16  Bruno Haible  <bruno@clisp.org>
70159
70160         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
70161         HAVE_LONGLONG_64BIT.
70162
70163 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
70164
70165         * lib/strftime.c (my_strftime): Prepend space to format so that we can
70166         reliably distinguish strftime failure from empty output on POSIX
70167         hosts.
70168
70169 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
70170
70171         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
70172         (iconv_string): Don't guess a size-zero buffer, as that might cause
70173         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
70174         result would be 'too large', where 'too large' is (heuristically)
70175         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
70176         overflow concerns.  This will prevent some unwanted malloc failures
70177         when the inputs are very large.
70178
70179 2005-03-15  Karl Berry  <karl@gnu.org>
70180
70181         * config/srclist.txt (config.rpath): from gettext.
70182         * config/config.rpath: update.
70183
70184 2005-03-15  Bruno Haible  <bruno@clisp.org>
70185
70186         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
70187         to 'negate'.
70188
70189         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
70190         variable.
70191
70192         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
70193         results.
70194
70195 2005-03-14  Simon Josefsson  <jas@extundo.com>
70196
70197         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
70198         <fx@gnu.org>.
70199
70200 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
70201
70202         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
70203         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
70204         intprops.h.
70205         * lib/strtol.c: Likewise.
70206
70207 2005-03-14  Jim Meyering  <jim@meyering.net>
70208
70209         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
70210         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
70211         to be nonzero so that we (and caller) can detect the difference
70212         between a valid zero-length expansion and an error return, even
70213         when the underlying strftime fails before writing anything into
70214         that location.
70215
70216 2005-03-14  Bruno Haible  <bruno@clisp.org>
70217
70218         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
70219         Update from GNU gettext 0.14.3.
70220
70221 2005-03-10  Jim Meyering  <jim@meyering.net>
70222
70223         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
70224
70225 2005-03-10  Jim Meyering  <jim@meyering.net>
70226
70227         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
70228         so that this module works on systems without fchdir.
70229
70230 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
70231
70232         Factor int-properties macros into a single file, except for
70233         glibc-related files.
70234         * lib/intprops.h: New file.
70235         * lib/getloadavg.c: Include it instead of limits.h.
70236         (INT_STRLEN_BOUND): Remove.
70237         * lib/human.c: Include intprops.h.
70238         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
70239         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
70240         302/1000.
70241         * lib/inttostr.h: Include intprops.h instead of limits.h.
70242         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
70243         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
70244         for consistency with intprops.h.
70245         (time_t_is_integer, twos_complement_arithmetic): Use them.
70246         * lib/sig2str.h: Include <signal.h>, intprops.h.
70247         (INT_STRLEN_BOUND): Remove.
70248         * lib/strftime.c (TYPE_SIGNED): Remove.
70249         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
70250         * lib/strtol.c: Adjust comments to match intprops.h.
70251         * lib/userspec.c: Include intprops.h.
70252         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
70253         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
70254         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
70255         instead of rolling our own expressions.
70256         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
70257
70258         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
70259         instead of int.
70260         (my_strftime): Do not mishandle years close to INT_MAX, by doing
70261         the right thing even if adding 1900 would overflow.  Similarly
70262         for tm_mon + 1 and tm_yday + 1.
70263         Make %Y always equivalent to %C%y, and similarly for %G and %g.
70264         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
70265         (DO_SIGNED_NUMBER): New macro.
70266         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
70267
70268 2005-03-07  Bruno Haible  <bruno@clisp.org>
70269
70270         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
70271
70272 2005-03-07  Bruno Haible  <bruno@clisp.org>
70273
70274         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
70275
70276 2005-03-04  Derek R. Price  <derek@ximbiot.com>
70277
70278         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
70279         (func_import): Only replace files via --import when they have actually
70280         changed.
70281
70282 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70283
70284         * m4/mmap-anon.m4: New file.
70285         * m4/pagealign_alloc.m4: New file.
70286
70287 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70288             Bruno Haible  <bruno@clisp.org>
70289
70290         * modules/pagealign_alloc: New file.
70291         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
70292
70293 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70294             Bruno Haible  <bruno@clisp.org>
70295
70296         * lib/pagealign_alloc.h: New file.
70297         * lib/pagealign_alloc.c: New file.
70298
70299 2005-03-03  Bruno Haible  <bruno@clisp.org>
70300
70301         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
70302         Use an all-permissive copyright notice, recommended by RMS.
70303
70304 2005-03-02  Bruno Haible  <bruno@clisp.org>
70305
70306         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
70307         of AIX, the replacement has to be done only after <string.h> is
70308         included, therefore not in config.h. stpncpy.h does the replacement,
70309         and stpncpy.c uses it.
70310
70311 2005-03-02  Bruno Haible  <bruno@clisp.org>
70312
70313         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
70314         stpncpy.c uses it.
70315
70316 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70317
70318         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
70319         The workaround isn't strictly needed for POSIX conformance, and
70320         it's too much of a pain to configure and maintain.  We'll ask
70321         people to fix their kernels instead.
70322         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
70323         (NANOSLEEP_BUG_WORKAROUND): Remove.
70324         (xnanosleep): Remove the workaround.
70325
70326 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70327
70328         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
70329         Reported by Derek Price.
70330         (Include): Add "timespec.h".
70331
70332         * modules/xnanosleep (Depends-on): Remove gethrxtime.
70333
70334 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70335
70336         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
70337         to detect nanosleep bug.
70338
70339 2005-03-01  Bruno Haible  <bruno@clisp.org>
70340
70341         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
70342
70343 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
70344
70345         * modules/gethrxtime: New file.
70346         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
70347         (Depends-on): Add gethrxtime.
70348         (configure.ac): Add gl_XNANOSLEEP.
70349         (Makefile.am): Remove lib_SOURCES line.
70350
70351 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70352
70353         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
70354         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
70355
70356 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70357
70358         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
70359         * lib/timespec.h (gettime): Return void, since it always
70360         succeeds now.  All uses changed.
70361         * lib/gettime.c (gettime): Likewise.
70362         [HAVE_NANOTIME]: Prefer nanotime.
70363         Assume gettimeofday succeeds, as POSIX requires.
70364         Assime time () succeeds, since other code already does.
70365         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
70366         (timespec_subtract): Remove.
70367         (NANOSLEEP_BUG_WORKAROUND): New constant.
70368         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
70369         things considerably.  Use it only on GNU/Linux hosts, since the
70370         workaround shouldn't be needed elsewhere.
70371
70372 2005-02-24  Bruno Haible  <bruno@clisp.org>
70373
70374         * modules/gettext (Files): Add m4/glibc2.m4.
70375
70376 2005-02-24  Bruno Haible  <bruno@clisp.org>
70377
70378         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
70379         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
70380         * m4/progtest.m4:
70381         Update from GNU gettext 0.14.2.
70382         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
70383
70384 2005-02-24  Bruno Haible  <bruno@clisp.org>
70385
70386         * lib/localcharset.c: Update from GNU gettext 0.14.2.
70387         * lib/config.charset: Update from GNU gettext 0.14.2.
70388
70389 2005-02-24  Bruno Haible  <bruno@clisp.org>
70390
70391         * lib/gettext.h: Update from GNU gettext 0.14.2.
70392
70393 2005-02-23  Simon Josefsson  <jas@extundo.com>
70394
70395         * m4/iconvme.m4: New file.
70396
70397 2005-02-23  Jim Meyering  <jim@meyering.net>
70398
70399         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
70400         change.
70401         Thanks to Bruno Haible for catching it.
70402
70403 2005-02-22  Simon Josefsson  <jas@extundo.com>
70404
70405         * modules/iconvme: New file.
70406
70407         * MODULES.html.sh: Add iconvme.
70408
70409 2005-02-22  Simon Josefsson  <jas@extundo.com>
70410
70411         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
70412
70413 2005-02-22  Simon Josefsson  <jas@extundo.com>
70414
70415         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
70416
70417 2005-02-22  Jim Meyering  <jim@meyering.net>
70418
70419         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
70420         s/ifndef/ifdef/.
70421
70422 2005-02-20  Neil Conway  <neilc@samurai.com>
70423
70424         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
70425         returned by OSX/Darwin if the specified buffer is not large
70426         enough for the hostname.
70427
70428 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70429
70430         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
70431         pass it to _help, otherwise the latter coredumps trying to
70432         dereference state.root_argp.
70433
70434 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70435
70436         * modules/chdir-long (Depends-on): Add memrchr.
70437         * modules/memrchr (Files): Add lib/memrchr.h.
70438         (Include): "memrchr.h".
70439
70440 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70441
70442         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
70443
70444 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70445
70446         * lib/memrchr.h: New file.
70447         * lib/chdir-long.c: Include it.
70448         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
70449         Don't bother including stddef.h.
70450
70451 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
70452
70453         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
70454         inclusion.
70455         Include <sys/types.h>, for dev_t.
70456         (ME_DUMMY, ME_REMOTE): Move from here....
70457         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
70458         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
70459         Dmitry V. Levin.
70460         Include mountlist.h first, to test the interface.
70461
70462 2005-01-29  Bruno Haible  <bruno@clisp.org>
70463
70464         * lib/progname.c (program_name): Initialize.
70465         Needed when linking statically on MacOS X.
70466
70467 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70468
70469         Sync from coreutils.
70470         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
70471         (Depends-on): Add c-strtod.
70472         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
70473
70474 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70475
70476         Sync from coreutils.
70477         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
70478
70479         Remove files that are specific to coreutils.
70480         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
70481
70482 2005-01-28  Bruno Haible  <bruno@clisp.org>
70483
70484         * modules/javacomp: New file.
70485         * MODULES.html.sh (Java): Add javacomp.
70486
70487 2005-01-28  Bruno Haible  <bruno@clisp.org>
70488
70489         * m4/javacomp.m4: New file, from GNU gettext.
70490
70491 2005-01-28  Bruno Haible  <bruno@clisp.org>
70492
70493         * lib/javacomp.sh.in: New file, from GNU gettext.
70494         * lib/javacomp.h: New file, from GNU gettext.
70495         * lib/javacomp.c: New file, from GNU gettext.
70496
70497 2005-01-26  Simon Josefsson  <jas@extundo.com>
70498
70499         * lib/gai_strerror.c: Use GPL in header.
70500
70501 2005-01-26  Bruno Haible  <bruno@clisp.org>
70502
70503         * modules/javaexec: New file.
70504         * MODULES.html.sh (Java): Add javaexec.
70505
70506 2005-01-26  Bruno Haible  <bruno@clisp.org>
70507
70508         * m4/javaexec.m4: New file, from GNU gettext.
70509
70510 2005-01-26  Bruno Haible  <bruno@clisp.org>
70511
70512         * lib/javaexec.sh.in: New file, from GNU gettext.
70513         * lib/javaexec.h: New file, from GNU gettext.
70514         * lib/javaexec.c: New file, from GNU gettext.
70515
70516 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70517
70518         * modules/lchown (Depends-on): Remove lchown.h
70519
70520 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70521
70522         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
70523         must be defined if the header file was not found, in order
70524         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
70525
70526 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70527
70528         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
70529         initializers for struct pentry_state.
70530         (__argp_error): Check return value of __asprintf
70531         (__argp_failure): Translate error message
70532
70533         * lib/argp-parse.c: Removed braces around the expansion of N_()
70534
70535 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70536
70537         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
70538         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
70539         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
70540         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
70541         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
70542         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
70543         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
70544         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
70545         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
70546         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
70547         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
70548         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
70549         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
70550         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
70551         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
70552         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
70553         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
70554         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
70555         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
70556         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
70557         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
70558         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
70559         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
70560         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
70561         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
70562         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
70563         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
70564         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
70565         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
70566         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
70567         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
70568         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
70569         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
70570         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
70571         xstrtol.m4, xstrtoumax.m4, yesno.m4:
70572         Use an all-permissive copyright notice, recommended by RMS.
70573
70574 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
70575
70576         * modules/chdir-long (Depends-on): Remove mempcpy.
70577
70578 2005-01-21  Jim Meyering  <jim@meyering.net>
70579
70580         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
70581         same value as for Solaris 9.
70582
70583         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
70584         component length.  This included changing the parameter to be
70585         of type `char *' rather than `char const *'.
70586         * lib/chdir-long.h (chdir_long): Update prototype.
70587
70588         * lib/openat.c (fdopendir, fstatat): New functions.
70589         * lib/openat.h: Include headers required for use of DIR and struct
70590         stat.
70591         [AT_SYMLINK_NOFOLLOW]: Define.
70592         (fdopendir, fstatat): Add prototypes.
70593
70594 2005-01-21  Bruno Haible  <bruno@clisp.org>
70595
70596         * modules/classpath: New file.
70597         * MODULES.html.sh (Java): Add classpath.
70598
70599 2005-01-21  Bruno Haible  <bruno@clisp.org>
70600
70601         * lib/classpath.h: New file, from GNU gettext.
70602         * lib/classpath.c: New file, from GNU gettext.
70603
70604 2005-01-20  Simon Josefsson  <jas@extundo.com>
70605
70606         * modules/version-etc-fsf: New file.
70607
70608 2005-01-20  Simon Josefsson  <jas@extundo.com>
70609
70610         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
70611         * lib/version-etc.c: Remove version_etc_copyright.
70612         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
70613         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
70614
70615 2005-01-20  Simon Josefsson  <jas@extundo.com>
70616
70617         * lib/base64.h (isbase64): Add.
70618
70619         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
70620         using a unsigned prototype, don't inline.
70621         (base64_decode): Use it.
70622
70623 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70624
70625         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
70626         it.
70627
70628 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70629
70630         * lib/save-cwd.c (save_cwd): Remove code to support the case
70631         where fchdir is missing or flaky.
70632
70633 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70634
70635         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
70636
70637 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70638
70639         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
70640         AC_LIBSOURCES now does this.
70641         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
70642         with new ullong_max module.
70643
70644 2005-01-19  Bruno Haible  <bruno@clisp.org>
70645
70646         * modules/sh-quote: New file.
70647         * MODULES.html.sh (Executing programs): Add sh-quote.
70648
70649 2005-01-19  Bruno Haible  <bruno@clisp.org>
70650
70651         * lib/sh-quote.h: New file, from GNU gettext.
70652         * lib/sh-quote.c: New file, from GNU gettext.
70653
70654 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70655
70656         Merge from coreutils.
70657         * m4/ullong_max.m4: New file.
70658         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
70659         (gl_MACROS): Assume localeconv exists.
70660
70661 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70662
70663         Merge changes from coreutils, as described below in several
70664         changelogs dated today.
70665
70666         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
70667         (O_DIRECTORY): Remove; not needed here, since "." must be
70668         a directory.  All uses removed.
70669         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
70670         universal on Suns, and we also need to test for IRIX.
70671         Revamp code to use 'if' rather than '#if'.
70672         Avoid unnecessary comparison of cwd->desc to 0.
70673
70674         * lib/utimens.c (futimens): Robustify the previous patch, by checking
70675         for known valid error numbers rather than observed invalid ones.
70676
70677 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70678
70679         * modules/ullong_max: New file.
70680
70681         * modules/chdir-long, modules/openat: New files.
70682         * modules/save-cwd (Depends-on): Depend on chdir-long.
70683         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
70684
70685 2005-01-18  Jim Meyering  <jim@meyering.net>
70686
70687         Merge from coreutils.
70688         * m4/chdir-long.m4, m4/openat.m4: New files.
70689         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
70690         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
70691         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
70692         is sane and DOES follow symlinks.  Besides, testing 20 different
70693         systems found no broken chown implementations.
70694         Prompted by a change in rsync's copy of this macro.
70695         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
70696
70697         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
70698
70699         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
70700         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
70701         NULL-means-set-to-current-time semantics.
70702         Remove temporary file immediately, rather than waiting
70703         for configure's at-exit trap code to do it.
70704
70705 2005-01-18  Jim Meyering  <jim@meyering.net>
70706
70707         * lib/version-etc.c (version_etc_copyright): Update copyright date.
70708
70709         * lib/utimens.c (futimens): Account for the fact that futimes
70710         can also fail with errno == ENOSYS or errno == ENOENT.
70711         Patch from Dmitry V. Levin.
70712
70713         Change the name of the robust chdir function from chdir to chdir_long.
70714         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
70715         (restore_cwd): Use chdir_long, not chdir.
70716         * lib/chdir-long.c: Renamed from chdir.c.
70717         * lib/chdir-long.h: Renamed from chdir.h.
70718         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
70719         Hurd.
70720
70721 2005-01-18  Bruno Haible  <bruno@clisp.org>
70722
70723         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
70724         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
70725         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
70726         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
70727         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
70728         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
70729         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
70730         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
70731         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
70732         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
70733         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
70734         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
70735         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
70736         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
70737         Use an all-permissive copyright notice, recommended by RMS.
70738
70739 2005-01-18  Bob Proulx  <bob@proulx.com>
70740
70741         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
70742         simplify offsetof() macro construct to avoid compile failure with
70743         native HP-UX 11.0 ANSI C compiler.
70744
70745 2005-01-17  Bruno Haible  <bruno@clisp.org>
70746
70747         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
70748         redundant because stpncpy.m4 takes care of it.
70749
70750 2005-01-17  Bruno Haible  <bruno@clisp.org>
70751
70752         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
70753
70754 2005-01-17  Bruno Haible  <bruno@clisp.org>
70755
70756         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
70757         used.
70758
70759 2005-01-17  Bruno Haible  <bruno@clisp.org>
70760
70761         * lib/fwriteerror.h (fwriteerror): Change specification to include
70762         fclose.
70763         * lib/fwriteerror.c: Include <stdbool.h>.
70764         (fwriteerror): At the end, close the file stream. Record whether
70765         stdout was already closed.
70766
70767 2005-01-17  Bruno Haible  <bruno@clisp.org>
70768
70769         * lib/execute.c (environ): Declare if needed.
70770         * lib/pipe.c (environ): Likewise.
70771         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
70772
70773 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70774
70775         * modules/argp: Depend on vsnprintf
70776
70777 2005-01-10  Jim Meyering  <jim@meyering.net>
70778
70779         * modules/closeout (Depends-on): Add atexit.
70780
70781 2005-01-06  Bruno Haible  <bruno@clisp.org>
70782
70783         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
70784
70785 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
70786
70787         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
70788         definitions to be after all include files, to avoid collisions.
70789         Problem reported by Bob Proulx.
70790
70791 2005-01-04  Jim Meyering  <jim@meyering.net>
70792
70793         Changes imported from coreutils.
70794         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
70795         as the mkstemp template, use a temporary directory and an
70796         8.3-friendly template to avoid trouble on systems like DJGPP.
70797         Reported by Juan M. Guerrero via Stepan Kasal.
70798         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
70799         close. Remove the temporary directory right away, rather than waiting
70800         for configure's at-exit trap code to do it.
70801         Suggestion from Stepan Kasal.
70802
70803 2005-01-01  Simon Josefsson  <jas@extundo.com>
70804
70805         * gnulib-tool: Print #include directives when --import'ing.
70806
70807 2004-12-28  Simon Josefsson  <jas@extundo.com>
70808
70809         * tests/test-base64.c: Include required header files.  Remove
70810         unused variables.
70811
70812 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
70813
70814         * modules/error (Depends-on): Remove gettext.
70815
70816 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
70817
70818         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
70819         not needed.  This removes a dependency on the gettext module.
70820         [defined _LIBC]: Do not include <libintl.h>; not needed.
70821
70822 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
70823
70824         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
70825         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
70826
70827 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
70828
70829         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
70830         HAVE_DECL_STRTOLD.
70831
70832 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70833
70834         * modules/getdate (Depends-on): Remove alloca-opt.
70835
70836 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70837
70838         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
70839
70840 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70841
70842         * lib/argp-parse.c: Include <stddef.h>.
70843         (alignof, alignto): New macros.
70844         (parser_init): Don't assume that void * is aligned sufficiently
70845         for struct option.
70846
70847         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
70848         need to extend the stack.
70849         (YYINITDEPTH): New macro, so that the initial stack isn't overly
70850         large.
70851
70852 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70853
70854         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
70855
70856 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
70857
70858         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
70859         (2004-10-24) change.  Apparently this was a false alarm.
70860
70861         * modules/getdate: Depend on alloca-opt, not alloca.
70862
70863 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
70864
70865         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
70866         Remove now-obsolete comment about AIX.
70867         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
70868         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
70869         (YYMAXDEPTH): New macro.
70870
70871 2004-12-18  Simon Josefsson  <jas@extundo.com>
70872
70873         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
70874
70875 2004-12-18  Bruno Haible  <bruno@clisp.org>
70876
70877         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
70878
70879 2004-12-18  Bruno Haible  <bruno@clisp.org>
70880
70881         * lib/fatal-signal.c (fatal_signals): Make non-const.
70882         (init_fatal_signals): New function.
70883         (uninstall_handlers, install_handlers): Ignore signals that were set to
70884         SIG_IGN.
70885         (at_fatal_signal): Call init_fatal_signals.
70886         (init_fatal_signal_set): Likewise. Ignore signals that were set to
70887         SIG_IGN.
70888         Reported by Paul Eggert.
70889
70890 2004-12-18  Bruno Haible  <bruno@clisp.org>
70891
70892         * doc/alloca.texi: New file.
70893         * doc/alloca-opt.texi: New file.
70894
70895 2004-12-17  Jim Meyering  <jim@meyering.net>
70896
70897         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
70898         Otherwise, install-sh could exit with improper exit status when
70899         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
70900
70901 2004-12-16  Simon Josefsson  <jas@extundo.com>
70902
70903         * tests/test-base64.c: Add license.
70904
70905 2004-12-15  Stepan Kasal  <address@hidden>
70906
70907         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
70908
70909 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
70910
70911         * modules/getcwd (Files): Add m4/d-ino.m4.
70912         Suggested by Mark D. Baushke.
70913
70914 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
70915
70916         * lib/getdate.y (textint): New member "negative".
70917         (time_zone_hhmm): New function.
70918         Expect 14 shift-reduce conflicts, not 13.
70919         (o_colon_minutes): New rule.
70920         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
70921         (yylex): Set the "negative" member of signed numbers.
70922
70923 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
70924
70925         * doc/getdate.texi (Time of day items, Time zone items):
70926         Describe new formats +00:00, UTC+00:00.
70927
70928 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
70929
70930         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
70931         spurious "-l"s.  Problem reported by Stepan Kasal.
70932
70933 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
70934
70935         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
70936         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
70937
70938 2004-12-04  Simon Josefsson  <jas@extundo.com>
70939
70940         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
70941         Vandoorselaere <yoann@prelude-ids.org>.
70942
70943 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
70944
70945         Changes imported from coreutils.
70946         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
70947         exist.
70948         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
70949
70950 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
70951
70952         Changes imported from coreutils.
70953         * lib/hard-locale.c: Assume <locale.h> exists.
70954         Include "strdup.h".
70955         (GLIBC_VERSION): New macro.
70956         (hard_locale): Assume setlocale exists.
70957         Rewrite to avoid #ifdef.
70958         Use strdup rather than malloc + strcpy.
70959         * lib/human.c: Assume <locale.h> exists.
70960         (human_readable): Assume localeconv exists.
70961
70962 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
70963
70964         * modules/hard-locale (Depends-on): Add strdup.
70965
70966 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70967
70968         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
70969         convert T2, not T.  (Imported from libc.)
70970
70971 2004-11-30  Simon Josefsson  <jas@extundo.com>
70972
70973         * modules/restrict (License): Change to LGPL.
70974
70975 2004-11-30  Simon Josefsson  <jas@extundo.com>
70976
70977         * m4/restrict.m4: Add copyright and copying conditions.
70978
70979 2004-11-30  Simon Josefsson  <jas@extundo.com>
70980
70981         * m4/base64.m4: New file.
70982
70983 2004-11-30  Simon Josefsson  <jas@extundo.com>
70984
70985         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
70986         base64.
70987
70988         * tests/test-base64.c: New file.
70989
70990         * modules/base64: New file.
70991
70992 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
70993
70994         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
70995         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
70996
70997         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
70998
70999 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
71000
71001         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
71002         (__getcwd.c): Don't restore errno; glibc doesn't.
71003         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
71004         first, falling back to our code only if its results look suspicious.
71005         Ensure that the resulting buffer is only as large as necessary.
71006
71007         * lib/readutmp.c: Include readutmp.h first.
71008         Include <errno.h>, since readutmp.h no longer does that.
71009         * lib/readutmp.h: Don't include <errno.h>,
71010         <sys/param.h>, <time.h>; not needed to establish interface.
71011         (errno): Remove decl.
71012         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
71013         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
71014         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
71015
71016 2004-11-28  Simon Josefsson  <jas@extundo.com>
71017
71018         * lib/base64.h, base64.c: New file.
71019
71020 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
71021
71022         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
71023
71024 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71025
71026         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
71027         (Depends-on): Remove pathmax, same.  Add mempcpy.
71028         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
71029         (Makefile.am): Append getcwd.h to lib_SOURCES.
71030         (Include): Add getcwd.h.
71031         (Maintainer): Change from Jim Meyering to "all, glibc",
71032         since getdate now uses intended-for-glibc code.
71033         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
71034         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
71035
71036 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
71037
71038         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
71039         HP's ANSI C compiler.
71040         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
71041         Declaring int functions causes warnings on some modern systems and
71042         shouldn't be needed to compile on ancient ones.
71043         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
71044         defined.
71045
71046         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
71047         with the following changes.
71048         (__set_errno): Parenthesize properly.
71049         Include <stdbool.h>.
71050         (MIN, MAX, MATCHING_INO): New macros.
71051         (__getcwd): Define with prototype, not K&R form.
71052         Use heuristics to allocate default buffer on stack if possible.
71053         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
71054         behavior, and to avoid the PATH_MAX limit when computing
71055         ../../../../...
71056         Use MATCHING_INO to compare inode number to file.
71057         Check for arithmetic overflow in size calculations.
71058         Fix bug in reallocation of dot array that caused getcwd to fail
71059         on directories nested deeper than 75.
71060         Be more careful about saving errno on error.
71061         Do not use realloc; use only free+malloc, as this is a bit
71062         more flexible and avoids a needless copy operation.
71063         Do not inspect st_dev and st_ino for symbolic links; POSIX
71064         doesn't specify the latter.
71065         Check for closedir errors.
71066         Avoid needless casts.
71067         Use "#ifdef weak_alias" around weak_alias, to be like other
71068         glibc code.
71069         The following changes to getcwd.c have effect only when used in
71070         gnulib; they have no effect inside glibc proper.
71071         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
71072         as alloca isn't used.
71073         (alloca, __alloca): Likewise.
71074         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
71075         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
71076         unconditionally, as gnulib assumes C89 or better.
71077         Do not include <sys/param.h>.
71078         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
71079         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
71080         better.
71081         (NULL) [!defined NULL]: Remove; we assume C89 or better.
71082         Include <dirent.h> in a way that is compatible with modern Autoconf.
71083         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
71084         New macros, if not already defined.
71085         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
71086         Use "_LIBC", not "defined _LIBC", for consistency.
71087         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
71088         a mempcpy module.
71089         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
71090         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
71091         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
71092         credit only to Jim Meyering and adjust the copyright dates.
71093         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
71094         <stdlib.h>, <unistd.h>, "pathmax.h".
71095         Instead, include "xgetcwd.h" (first) and "getcwd.h".
71096         (INITIAL_BUFFER_SIZE): Remove.
71097         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
71098
71099 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
71100
71101         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
71102         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
71103         Use the _ONCE methods, for efficiency.
71104         Check for fcntl.h.  In test program, include <errno.h>
71105         and <fcntl.h> if available.  Remove old K&R cruft from
71106         test program.  Check for common errors in GNU/Linux,
71107         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
71108         don't do AC_LIBOBJ, as that's getcwd.m4's job.
71109         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
71110         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
71111         name accordingly.
71112         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
71113         accommodate new getcwd.c.
71114         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
71115         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
71116         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
71117         that's all we need now.
71118
71119 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71120
71121         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
71122         argp-parse.c depends on getopt internals, that means we should
71123         always use our getopt, to be on the safe side.
71124         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
71125         order not to spoil the result of an eventual previous invocation
71126         of gl_GETOPT_SUBSTITUTE.
71127
71128 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71129
71130         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
71131         redefinition warnings. To avoid them, include the defines
71132         in `#if !defined __need_getopt ... #endif'. The only place
71133         where __getopt_argv_const is used is in definitions
71134         of getopt_long and getopt_long_only below, which are as well
71135         protected by `#ifndef __need_getopt'.
71136         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
71137         __need_getopt after including <stdio.h> and <unistd.h> These
71138         headers might have defined it.
71139
71140 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
71141
71142         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
71143
71144 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
71145
71146         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
71147         (futimens): New function, which uses futimes if available.
71148         (futimens, utimens): Support timespec==NULL, with same semantics
71149         as utime and utimens.
71150         * lib/utimens.h (futimens): New decl.
71151
71152 2004-11-23  Jim Meyering  <jim@meyering.net>
71153
71154         * lib/getopt_.h: Remove trailing blanks.
71155
71156 2004-11-23  Jim Meyering  <jim@meyering.net>
71157
71158         * lib/__fpending.c: Add comment.
71159
71160 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
71161
71162         * modules/canonicalize (Depends-on): Add xreadlink.
71163         Problem reported by James Youngman.
71164
71165 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71166
71167         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
71168         New macros.
71169         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
71170         optopt): Use them instead of invoking ## directly; otherwise, the
71171         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
71172
71173 2004-11-19  Bruno Haible  <bruno@clisp.org>
71174
71175         * lib/strtok_r.c: Move comments from here...
71176         * lib/strtok_r.h: ... to here.
71177
71178 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71179
71180         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
71181         implementations that mishandle size_t overflow.
71182
71183 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71184
71185         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
71186         might fail.  Problem reported by Yoann Vandoorselaere.
71187         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
71188         implementations that mishandle size_t overflow.
71189
71190 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71191
71192         * modules/canon-host (Depends-on): Add strdup.
71193
71194 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71195
71196         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
71197
71198 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71199
71200         * lib/canon-host.c: Include "strdup.h".
71201         (canon_host): Use getaddrinfo if available, so that IPv6 works.
71202         Use strdup instead of malloc/strcpy to duplicate strings.
71203
71204         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
71205         (human_space_before_unit): New constant.
71206         * lib/human.c (human_readable): Support it.
71207
71208         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
71209         (xgetcwd): Set errno correctly when failing.
71210         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
71211         the failure is actually due to a PATH_MAX problem.
71212
71213         Further getopt changes to make it more likely that glibc will
71214         buy the changes back.
71215         * lib/getopt.c (POSIXLY_CORRECT): New constant.
71216         (getopt): Use it, so to preserve glibc semantic
71217         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
71218         when compiling for libc.
71219         * lib/getopt_.h (__getopt_argv_const): Bring it back.
71220         (getopt_long, getopt_long_only): Use it.
71221
71222         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
71223         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
71224         (getopt): Argv is now char * const *, as per standard.
71225         (_getopt_internal_r, _getopt_internal): Argv is now char **,
71226         not char *__getopt_argv_const *.
71227         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
71228         _getopt_long_only_r): Likewise.
71229         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
71230         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
71231         _getopt_long_r, _getopt_long_only_r): Likewise.
71232         * lib/getopt_.h (__getopt_argv_const): Remove.
71233         (getopt): Argv is now char * const *, as per standard.
71234
71235         * lib/getdate.y (tORDINAL): New token.
71236         (day, relunit): Allow it for relative times.
71237         (relative_time_table): Use tORDINAL for ordinals.
71238
71239 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71240
71241         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
71242         Document that "second" isn't allowed as an ordinal number.
71243
71244 2004-11-16  Jim Meyering  <jim@meyering.net>
71245
71246         * modules/closeout (Depends-on): Add fpending.
71247
71248 2004-11-15  Jim Meyering  <jim@meyering.net>
71249
71250         * lib/closeout.c: Include "__fpending.h" once again.
71251         Include <stdbool.h>.
71252         (close_stdout): Don't fail just because stdout was closed initially,
71253         since some programs don't write to stdout in the normal course of
71254         operation (other than --version and --help), and we don't want this
71255         function to make e.g. `touch file >&-' fail.
71256         But do fail if it was closed and someone has tried to write to it.
71257         E.g., `printf foo >&-' must fail.
71258
71259 2004-11-13  Jim Meyering  <jim@meyering.net>
71260
71261         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
71262
71263 2004-11-12  Simon Josefsson  <jas@extundo.com>
71264
71265         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
71266         small doc fix is still pending.
71267
71268 2004-11-11  Simon Josefsson  <jas@extundo.com>
71269
71270         * modules/strtok_r: New file.
71271
71272         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71273         strtok_r.
71274
71275 2004-11-11  Simon Josefsson  <jas@extundo.com>
71276
71277         * m4/strtok_r.m4: New file.
71278
71279         * m4/getopt.m4: Replace opterr.
71280
71281 2004-11-11  Simon Josefsson  <jas@extundo.com>
71282
71283         * lib/strtok_r.h, strtok_r.c: New file.
71284
71285 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
71286
71287         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
71288         of replacing opterr, getopt, etc.  This should handle the
71289         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
71290
71291 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
71292
71293         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
71294         we can stop lying to compilers about the constness of argv when we
71295         are compiled outside glibc.
71296         (getopt, getopt_long, getopt_long_only): Use it.
71297         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
71298         _getopt_internal, getopt): Likewise.
71299         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
71300         _getopt_long_only_r): Likewise.
71301         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
71302         _getopt_long_r, _getopt_long_only_r): Likewise.
71303
71304         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
71305         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
71306         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
71307         the other external symbols.
71308         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
71309         declaration, since the above renaming now works around collisions.
71310
71311 2004-11-11  Jim Meyering  <jim@meyering.net>
71312
71313         * lib/linebreak.c: Remove trailing blanks.
71314         * lib/alloca_.h: Likewise.
71315         * lib/acosl.c: Likewise.
71316         * lib/euidaccess.c: Likewise.
71317         * lib/allocsa.h: Likewise.
71318
71319 2004-11-10  Simon Josefsson  <jas@extundo.com>
71320
71321         * m4/getaddrinfo.m4: New file.
71322
71323 2004-11-10  Simon Josefsson  <jas@extundo.com>
71324
71325         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
71326
71327 2004-11-10  Simon Josefsson  <jas@extundo.com>
71328
71329         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71330         getaddrinfo.
71331
71332         * modules/getaddrinfo: New file.
71333
71334 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
71335
71336         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
71337
71338 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
71339
71340         * lib/mktime.c (SHR): New macro, which is a portable
71341         substitute for >> that should work even on Crays.
71342         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
71343         Problem reported by Mark D. Baushke in
71344         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
71345         * lib/getdate.y (SHR): Likewise.
71346         (tm_diff): Use it.
71347         * lib/strftime.c (SHR): Likewise.
71348         (tm_diff): Use it.
71349         * lib/quotearg.c (struct quoting_options): Use unsigned int for
71350         quote_these_too, so that right shifts are well defined.  All uses
71351         changed.
71352
71353 2004-11-10  Jim Meyering  <jim@meyering.net>
71354
71355         Ensure that no close failure goes unreported.
71356         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
71357         return early when it seems there's nothing to flush.
71358         Don't include __fpending.h.
71359
71360 2004-11-10  Jim Meyering  <jim@meyering.net>
71361
71362         * modules/closeout (Depends-on): Remove fpending.
71363
71364 2004-11-10  Jim Meyering  <jim@meyering.net>
71365
71366         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
71367
71368 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71369
71370         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
71371         gl_FUNC_STRFTIME.
71372         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
71373         and AC_REQUIRE when possible, to avoid duplicate checks.
71374         Check for <wchar.h>.
71375
71376 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71377
71378         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
71379
71380 2004-11-09  Bruno Haible  <bruno@clisp.org>
71381
71382         * m4/sockpfaf.m4: New file.
71383
71384 2004-11-05  Bruno Haible  <bruno@clisp.org>
71385
71386         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
71387         Reported by Mark D. Baushke <mdb@cvshome.org>.
71388
71389 2004-11-04  Bruno Haible  <bruno@clisp.org>
71390
71391         2004-09-11  Bruno Haible  <bruno@clisp.org>
71392                 * allocsa.valgrind: New file.
71393         2004-02-06  Bruno Haible  <bruno@clisp.org>
71394                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
71395                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
71396                 Reported by Christopher Seip <chris.seip@hp.com>.
71397
71398 2004-11-04  Bruno Haible  <bruno@clisp.org>
71399
71400         * modules/allocsa (Files): Add lib/allocsa.valgrind.
71401         (Makefile.am): Distribute it.
71402
71403 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
71404
71405         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
71406         with errno == ERANGE if the buffer is too small.
71407         Problem reported by Mark D. Baushke.
71408
71409 2004-11-03  Albert Chin  <china@thewrittenword.com>
71410             Paul Eggert  <eggert@cs.ucla.edu>
71411
71412         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
71413         equivalent, substitute $ac_type for equivalent type rather than
71414         blindly using uint32_t *always* which won't work if uint32_t is not
71415         available.  Define _UINT32_T to work around typedef of uint32_t if
71416         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
71417         2.5.1.
71418
71419 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
71420
71421         * m4/jm-macros.m4: Sync from coreutils.
71422         (gl_MACROS): Check for mbrlen, for pathchk.
71423         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
71424
71425 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
71426
71427         * lib/xreadlink.c (MAXSIZE): New macro.
71428         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
71429         size does not exceed MAXSIZE.  Avoid cast.
71430         As suggested by Mark D. Baushke in
71431         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
71432         if readlink fails with buffer size just under MAXSIZE, try again
71433         with MAXSIZE.
71434
71435 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
71436
71437         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
71438
71439 2004-11-02  Derek R. Price  <derek@ximbiot.com>
71440         and  Paul Eggert  <eggert@cs.ucla.edu>
71441
71442         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
71443         (get_date): Overparenthesize to avoid GCC warning.
71444
71445 2004-11-02  Bruno Haible  <bruno@clisp.org>
71446
71447         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
71448         returns void.
71449
71450 2004-11-02  Bruno Haible  <bruno@clisp.org>
71451
71452         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
71453         function returns void.
71454
71455 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
71456
71457         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
71458         fflush_unlocked, flockfile, funlockfile, funlockfile,
71459         fputs_unlocked, putc_unlocked.
71460
71461 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
71462
71463         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
71464         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
71465         already declared.
71466
71467 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71468
71469         * modules/getdate (Files): Add doc/getdate.texi.
71470         (Depends-on): Add setenv, xalloc.
71471
71472 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71473
71474         * lib/getdate.y: Add support for TZ="foo" within a date string.
71475         Fix some bugs near time_t boundaries.  Reject dates with
71476         out-of-range components, e.g., "Sept 31".
71477         Include <stdlib.h>, "setenv.h", "xalloc.h".
71478         (ISDIGIT_LOCALE): Remove; unused.
71479         Note that the TZ and time functions used here are not reentrant.
71480         (mktime_ok, get_tz): New functions.
71481         (TZBUFSIZE): New constant.
71482         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
71483         This requires that we sometimes generate our own TZ="XXX..." setting.
71484
71485 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71486
71487         * doc/getdate.texi: New file, from coreutils with modifications for
71488         the new TZ parsing.
71489
71490 2004-10-27  Derek R. Price  <derek@ximbiot.com>
71491
71492         * lib/mktime.c (not_equal_tm): Remove redundant check.
71493
71494 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71495
71496         * modules/regex (lib_SOURCES): Add regex.c.
71497         Reported by James Youngman in
71498         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
71499
71500 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71501
71502         * lib/getdate.y: Use Bison 1.875 features, and some minor
71503         code cleanups.  This change does not affect semantics.
71504         Don't include <stdlib.h>; no longer needed.
71505         Don't include unlocked-io.h; only the "#if TEST" code uses
71506         stdio, and performance isn't crucial there.
71507         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
71508         Bison 1.875 features as described below.
71509         All uses of "PC." replaced by "pc->".
71510         (YYSTYPE): Add a forward declaration.
71511         (yylex, yyerror): Use full prototypes in forward decls.
71512         Use "%pure-parser" rather than obsolescent "%pure_parser".
71513         Use %parse-param and %lex-param instead of obsolescent
71514         YYPARSE_PARAM and YYLEX_PARAM.
71515         (meridian_table, month_and_day_table, time_units_table,
71516         relative_time_table, time_zone_table, military_table,
71517         lookup_zone, lookup_word, get_date):
71518         Use NULL instead of 0 where appropriate.
71519         (to_hour): Avoid abort (), to avoid a dependency on
71520         stdlib.h.
71521         (yyerror, yylex): Now accepts parser_control * arg.
71522         (main) [TEST]: Use '\0' rather than 0 for char.
71523
71524 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
71525
71526         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
71527
71528 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
71529
71530         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
71531         It's now the caller's responsibility to handle the case where
71532         !HAVE_GETPAGESIZE && !defined getpagesize.
71533
71534         * lib/mktime.c (leapyear): Arg is long int, not int.
71535
71536 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
71537
71538         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
71539
71540 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71541
71542         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
71543         missing.  Problem reported by James Youngman.
71544
71545 2004-10-16  Simon Josefsson  <jas@extundo.com>
71546
71547         * gnulib-tool: Fix comments.  Fix parse problem.
71548         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
71549
71550 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
71551
71552         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
71553         implementation of getopt_long.  Problem reported by Alexander Taler in:
71554         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
71555
71556 2004-10-15  Bruno Haible  <bruno@clisp.org>
71557
71558         * gnulib-tool: Untabify. Initialize supplied_libname.
71559         (func_usage): More homogenous output.
71560         (func_modules_transitive_closure, func_modules_to_filelist,
71561         func_emit_lib_Makefile_am): New functions.
71562         (func_import): New function, extracted from big case statement. Use
71563         func_get_license, func_modules_transitive_closure,
71564         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
71565         opt_lgpl. Don't use test -a, as it's not portable.
71566         (func_create_testdir): Use func_modules_transitive_closure,
71567         func_modules_to_filelist, func_emit_lib_Makefile_am.
71568
71569 2004-10-15  Bruno Haible  <bruno@clisp.org>
71570
71571         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
71572
71573 2004-10-15  Bruno Haible  <bruno@clisp.org>
71574
71575         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
71576         the portions belonging to each module.
71577         Suggested by Derek Robert Price <derek@ximbiot.com>.
71578
71579 2004-10-12  Simon Josefsson  <jas@extundo.com>
71580
71581         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
71582         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
71583         to real functions.
71584
71585 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71586
71587         * modules/vsnprintf: New file.
71588
71589 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71590
71591         * m4/vsnprintf.m4: New file.
71592
71593 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71594
71595         * lib/vsnprintf.h: New file.
71596         * lib/vsnprintf.c: New file.
71597
71598 2004-10-11  Bruno Haible  <bruno@clisp.org>
71599
71600         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
71601         vsnprintf.
71602
71603 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71604
71605         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
71606
71607 2004-10-07  Bruno Haible  <bruno@clisp.org>
71608
71609         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
71610         fits into the provided buffer.
71611
71612 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71613
71614         * lib/diacrit.c, diacrit.h: Add GPL notice.
71615
71616         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
71617         notice.
71618         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
71619         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
71620         This avoids a potential constant-folding bug.
71621
71622 2004-10-05  Bruno Haible  <bruno@clisp.org>
71623
71624         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
71625         for the declaration of strsep.
71626
71627 2004-10-05  Bruno Haible  <bruno@clisp.org>
71628
71629         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
71630
71631 2004-10-04  Simon Josefsson  <jas@extundo.com>
71632
71633         * modules/memmem: New file.
71634         * tests/test-memmem.c: New file.
71635         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
71636
71637 2004-10-04  Simon Josefsson  <jas@extundo.com>
71638
71639         * m4/memmem.m4: New file.
71640
71641 2004-10-04  Simon Josefsson  <jas@extundo.com>
71642
71643         * lib/memmem.h: New file.
71644         * lib/memmem.c: New file, taken from glibc.
71645
71646 2004-10-04  Simon Josefsson  <jas@extundo.com>
71647
71648         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
71649         '#ifdef USE_UNLOCKED_IO'.
71650
71651 2004-10-04  Simon Josefsson  <jas@extundo.com>
71652
71653         * config/srclist.txt: Add memmem from glibc.
71654
71655 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71656
71657         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
71658
71659         * modules/argmatch, modules/argp, modules/closeout, modules/error,
71660         modules/exclude, modules/getdate, modules/getline,
71661         modules/getndelim2, modules/getpass, modules/getpass-gnu,
71662         modules/getusershell, modules/linebuffer, modules/md5,
71663         modules/mountlist, modules/posixtm, modules/readtokens,
71664         modules/readutmp, modules/regex, modules/sha1,
71665         modules/version-etc, modules/yesno:
71666         Remove dependency on unlocked-io.
71667
71668 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71669
71670         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
71671
71672         * m4/unlocked-io.m4: Add copyright notice.
71673         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
71674
71675 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71676
71677         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
71678         * lib/xmalloc.c (xmemdup): Likewise.
71679         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
71680         XFREE): Remove these long-obsolescent macros.
71681         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
71682         * lib/xstrdup.c: Remove.
71683
71684         * lib/regex.c (re_comp): Cast gettext return value to char *,
71685         Problem reported by Martin Neitzel via Mark D. Baushke.
71686
71687 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71688
71689         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
71690         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
71691         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
71692         regex.c, sha1.c, version-etc.c, yesno.c:
71693         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
71694         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
71695         the includer's responsibility.
71696
71697         Sync from coreutils.
71698
71699         * lib/modechange.c (mode_compile): Don't decrement a pointer that
71700         points to the start of a string, as the C Standard says the
71701         resulting behavior is undefined.
71702
71703         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
71704         simple -> simple_backups, numbered_existing ->
71705         numbered_existing_backups, numbered -> numbered_backups
71706         to avoid shadowing problems.  All uses changed.
71707         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
71708         * lib/backupfile.c (check_extension, numbered_backup):
71709         Rename locals to avoid shadowing 'basename'.
71710         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
71711         once.
71712
71713         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
71714         * lib/.cvsignore: Add getopt.h.
71715
71716 2004-10-04  Bruno Haible  <bruno@clisp.org>
71717
71718         * modules/README: New file.
71719         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
71720         not a module.
71721
71722 2004-10-02  Jim Meyering  <jim@meyering.net>
71723
71724         * lib/dirfd.h, getpagesize.h: Add copyright notice.
71725
71726 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71727
71728         * modules/strsep: New file.
71729
71730 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71731
71732         * m4/strsep.m4: New file.
71733
71734 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71735
71736         * lib/strsep.h: New file.
71737         * lib/strsep.c: New file.
71738
71739 2004-10-01  Simon Josefsson  <jas@extundo.com>
71740
71741         * lib/snprintf.c (snprintf): Handle size==0.
71742
71743 2004-10-01  Simon Josefsson  <jas@extundo.com>
71744             Bruno Haible  <bruno@clisp.org>
71745
71746         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
71747         (snprintf): Declare 'args'.
71748
71749 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
71750
71751         * lib/snprintf.c: Remove comments as to why each header is needed.
71752
71753 2004-10-01  Bruno Haible  <bruno@clisp.org>
71754
71755         * MODULES.html.sh: Add strsep.
71756
71757 2004-09-30  Simon Josefsson  <jas@extundo.com>
71758
71759         * modules/snprintf: New file.
71760
71761 2004-09-30  Simon Josefsson  <jas@extundo.com>
71762
71763         * m4/snprintf.m4: New file.
71764
71765 2004-09-30  Simon Josefsson  <jas@extundo.com>
71766
71767         * lib/snprintf.h, lib/snprintf.c: New files.
71768
71769 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71770
71771         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
71772         (hol_entry_help): Never translate an empty string.
71773         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
71774         * lib/argp.h (OPTION_NO_TRANS): New option.
71775
71776 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
71777
71778         * modules/argp (Maintainer): Replace Simon Josefsson
71779         by Sergey Poznyakoff.
71780
71781 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
71782
71783         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
71784         changes merged back into glibc.
71785
71786 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
71787
71788         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
71789
71790 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
71791
71792         * lib/xvasprintf.c: Include xalloc.h.
71793         (xvasprintf): Use xalloc_die, not xmalloc_die.
71794
71795 2004-09-29  Bruno Haible  <bruno@clisp.org>
71796
71797         * modules/alloca-opt: New file, derived from modules/alloca.
71798         * modules/allocsa: Depend on alloca-opt instead of alloca.
71799         * modules/setenv: Likewise.
71800         * modules/vasnprintf: Likewise.
71801         * MODULES.html.sh: Add alloca-opt.
71802
71803 2004-09-28  Simon Josefsson  <jas@extundo.com>
71804
71805         * gnulib-tool: New parameter --lgpl, to asseert that modules are
71806         LGPL, and to replace license template from GPL to LGPL.
71807
71808 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
71809
71810         * modules/dummy: Change license to LGPL.
71811
71812 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
71813
71814         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
71815
71816 2004-09-24  Simon Josefsson  <jas@extundo.com>
71817
71818         * modules/minmax (License): Change from GPL to LGPL.
71819
71820 2004-09-23  Simon Josefsson  <jas@extundo.com>
71821
71822         * gnulib-tool (--import): Typo.
71823
71824 2004-09-23  Simon Josefsson  <jas@extundo.com>
71825
71826         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
71827
71828 2004-09-22  Bruno Haible  <bruno@clisp.org>
71829
71830         * modules/*: Add 'License' field.
71831         * gnulib-tool: Accept --extract-license option.
71832         (func_get_license): New function.
71833
71834 2004-09-21  Bruno Haible  <bruno@clisp.org>
71835
71836         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
71837         Reported by Simon Josefsson.
71838
71839 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71840
71841         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
71842         gl_AC_TYPE_LONG_LONG.
71843
71844 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71845
71846         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
71847
71848 2004-09-18  Simon Josefsson  <jas@extundo.com>
71849         and  Paul Eggert  <eggert@cs.ucla.edu>
71850
71851         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
71852         calls with autoreconf.  Define GL_LIB.
71853
71854 2004-09-14  Karl Berry  <karl@gnu.org>
71855
71856         * config/srclist.txt: unsync setenv.c, sigh.
71857
71858 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71859
71860         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
71861         Problem reported by Bruno Haible in:
71862         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
71863
71864 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71865
71866         * config/srclist.txt: Comment out argp-pvh.c.
71867
71868 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
71869
71870         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
71871         in case some system header has #define'd it.  Problem reported by
71872         Soeren D. Schulze in
71873         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
71874
71875 2004-09-09  Karl Berry  <karl@gnu.org>
71876
71877         * regex.[ch]: delete from the root.  These were supposed to be
71878                 synced with emacs cvs, but this has not happened for about
71879                 a year, and anyway nothing else uses emacs regex.[ch].
71880                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
71881                 lib/regex[.ch] is untouched.
71882
71883 2004-09-09  Bruno Haible  <bruno@clisp.org>
71884
71885         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
71886
71887 2004-09-09  Bruno Haible  <bruno@clisp.org>
71888
71889         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
71890         modifications.
71891         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
71892
71893 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
71894
71895         * modules/xvasprintf: New file.
71896         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
71897
71898 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
71899
71900         * lib/xvasprintf.h: New file.
71901         * lib/xvasprintf.c: New file.
71902         * lib/xasprintf.c: New file.
71903
71904 2004-09-08  Bruno Haible  <bruno@clisp.org>
71905
71906         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
71907
71908 2004-09-08  Bruno Haible  <bruno@clisp.org>
71909
71910         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
71911         length is > INT_MAX.
71912         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
71913         more.
71914
71915 2004-09-08  Bruno Haible  <bruno@clisp.org>
71916
71917         * lib/stdint_.h: New file, taken from GNU clisp.
71918
71919 2004-09-08  Bruno Haible  <bruno@clisp.org>
71920             Oskar Liljeblad  <oskar@osk.mine.nu>
71921
71922         * modules/stdint: New file.
71923         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
71924
71925 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71926
71927         Import from coreutils.
71928         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
71929         strings on unbounded length.  alloca's performance benefits aren't
71930         that important here.
71931         (V_STRDUP): Remove.
71932         (parse_with_separator): New function, with most of the internals
71933         of the old parse_user_spec.  Allow user to omit both user and group,
71934         for compatibility with FreeBSD.
71935         Clone only the user name, not the entire spec.
71936         Do not set *uid, *gid unless entirely successful.
71937         Avoid memory leak in some failing cases.
71938         Fix regression for USER.GROUP reported by Dmitry V. Levin in
71939         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
71940         (parse_user_spec): Rewrite to use parse_with_separator.
71941
71942 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71943
71944         * modules/userspec: Don't depend on alloca.
71945
71946 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71947
71948         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
71949
71950 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71951
71952         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
71953         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
71954         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
71955
71956 2004-08-16  Simon Josefsson  <jas@extundo.com>
71957
71958         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
71959         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
71960         Add --dry-run for --import.
71961         Let user provided command line parameters override configure.ac
71962         settings.
71963
71964 2004-08-12  Simon Josefsson  <jas@extundo.com>
71965
71966         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
71967         as discussed with Paul Eggert in threads rooted at
71968         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
71969         and
71970         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
71971         Before, the test was empty, and relied on ELIDE_CODE in source
71972         code.)
71973         (gl_PREREQ_GETOPT): New macro.
71974         (gl_GETOPT): Use them.
71975
71976 2004-08-12  Simon Josefsson  <jas@extundo.com>
71977
71978         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
71979         * lib/getopt_.h: Renamed from getopt.h.
71980
71981 2004-08-12  Simon Josefsson  <jas@extundo.com>
71982
71983         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
71984         Change default library name from libfoo to libgnu.
71985         Now, if you have a configure.ac that says:
71986                 gl_SOURCE_BASE(gl)
71987                 gl_M4_BASE(gl/m4)
71988                 gl_MODULES(error getopt etcetera)
71989                 gl_INIT
71990         you can import all you need by running:
71991                 ../gnulib/gnulib-tool --import
71992
71993         * modules/getopt (Files): Rename getopt.h to getopt_.h.
71994         (Makefile.am): Rewrite, use logic from argz.
71995         (Include): Use <getopt.h> instead of "getopt.h".
71996
71997 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
71998
71999         * modules/argp (Files): Add m4/unlocked-io.m4.
72000         (Depends-on): Add extensions.
72001
72002 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72003
72004         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
72005         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
72006         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
72007         Check for program_invocation_name, program_invocation_short_name,
72008         flockfile, funlockfile, features.h, _getopt_long_only_r.
72009
72010 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72011
72012         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
72013         its complicated substitute.
72014         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
72015         and program_invocation_name.
72016         (__argp_basename) [!_LIBC]: Remove; the only use was
72017         replaced by its body.
72018         (__argp_short_program_name): Change condition from
72019         !defined __argp_short_program_name to
72020         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
72021         to match argp-namefrob.h.
72022         (__argp_failure): Don't assume strerror_r returns char *.
72023         * lib/argp-parse.c (N_): Define unconditionally.
72024         (argp_default_options): Fill out initializers with 0 to avoid
72025         gcc warnings.
72026
72027 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72028
72029         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
72030         getopt1.c.
72031
72032 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72033
72034         Merge from coreutils.
72035
72036         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
72037
72038         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
72039         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
72040
72041 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72042
72043         Merge from coreutils.
72044
72045         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
72046         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
72047         for Reliant Unix 5.43.
72048
72049         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
72050         (union fooround): Use uintmax_t, not long int.
72051         The rest is a merge from libc:
72052         [defined _LIBC]: Include <shlib-compat.h>.
72053         (_obstack) [defined _LIBC]: Remove after 2.3.4.
72054
72055         * lib/settime.c (settime): Recode to avoid warning with
72056         Sun Forte C 6U2.
72057
72058         * lib/strverscmp.c: Convert to UTF-8.
72059
72060 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72061
72062         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
72063         m4/uintmax_t.m4.
72064
72065 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72066
72067         * modules/xalloc-die: New file.
72068         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
72069
72070         * modules/md5 (Files): Add m4/uint32_t.m4.
72071         * modules/sha1: Renamed from modules/sha.
72072         (Files):
72073         Rename lib/sha.h to lib/sha1.h.
72074         Rename lib/sha.c to lib/sha1.c.
72075         Rename m4/sha.m4 to m4/sha1.m4.
72076         (lib_SOURCES): Likewise.
72077         (configure.ac): Rename gl_SHA to gl_SHA1.
72078         (Include): sha.h -> sha1.h.
72079
72080 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72081
72082         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
72083         * m4/sha1.m4: Renamed from sha.m4.
72084         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
72085
72086 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72087
72088         * lib/obstack.h (obstack_empty_p):
72089         Don't assume that chunk->contents is suitably aligned.
72090         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
72091         Likewise. Problem reported by Benno in
72092         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
72093
72094         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
72095         readable.  This could be improved further but it'd take some work.
72096
72097 2004-08-08  Simon Josefsson  <jas@extundo.com>
72098
72099         * modules/xgethostname (Depends-on): Remove exit and error (not
72100         used).
72101
72102         * modules/getpass-gnu: Add getpass.h.
72103         (Depends-on): Add stdbool.
72104         * modules/getpass: Add getpass.h.
72105
72106 2004-08-08  Simon Josefsson  <jas@extundo.com>
72107
72108         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
72109         Check getpass declaration.
72110
72111 2004-08-08  Simon Josefsson  <jas@extundo.com>
72112
72113         * lib/xgethostname.c: Don't include error.h (not used).
72114
72115         * lib/getpass.h: Add.
72116         * lib/getpass.c: Include getpass.h first.
72117
72118 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
72119
72120         * lib/xalloc-die.c: New file.
72121         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
72122         All uses removed.
72123         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
72124         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
72125         xalloc-die.c.
72126         (_, N_, xalloc_die): Move to xalloc-die.c.
72127         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
72128         so that we needn't mess with xalloc_msg_memory_exhausted.
72129
72130         * lib/sha1.h: Renamed from sha.h.
72131         (SHA1_H): Renamed from _SHA_H.
72132         (sha1_ctx): Renamed from sha_ctx.
72133         (sha1_init_ctx): Renamed from sha_init_ctx.
72134         (sha1_process_block): Renamed from sha_process_block.
72135         (sha1_process_bytes): Renamed from sha_process_bytes.
72136         (sha1_finish_ctx): Renamed from sha_finish_ctx.
72137         (sha1_read_ctx): Renamed from sha_read_ctx.
72138         (sha1_stream): Renamed from sha_stream.
72139         (sha1_buffer): Renamed from sha_buffer.
72140         * lib/sha1.c: Likewise; renamed from sha.c.
72141         Do not include <sys/types.h>.
72142         Include <stddef.h> rather than <stdlib.h>.
72143
72144 2004-08-08  Bruno Haible  <bruno@clisp.org>
72145
72146         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
72147         FILESYSTEM_PREFIX_LEN.
72148         * lib/progreloc.c: Likewise.
72149         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
72150
72151 2004-08-06  Simon Josefsson  <jas@extundo.com>
72152
72153         * modules/progname (Depends-on): Don't depend on stdbool.
72154
72155 2004-08-06  Simon Josefsson  <jas@extundo.com>
72156
72157         * modules/getsubopt: New file.
72158         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72159         getsubopt.
72160
72161 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72162
72163         More merge from coreutils.
72164
72165         * m4/utimens.m4, m4/utimecmp.m4: New files.
72166         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
72167         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
72168         prereq.m4, sha.m4: Import changes from coreutils.
72169
72170 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72171
72172         More merge from coreutils.
72173         * modules/raise, modules/readtokens0, modules/utimens:
72174         * modules/utimecmp, module/xnanosleep: New files.
72175         * modules/strftime: Add lib/strftime.h.
72176         Change include from <time.h> to "strftime.h".
72177         * modules/yesno: Add lib/yesno.h.
72178         * modules/backupfile: Remove lib/addext.c.
72179         * modules/euidaccess: Add stat-macros.h.
72180         * modules/canonicalize, modules/euidaccess,
72181         modules/filemode, modules/lchown, modules/makepath,
72182         modules/rmdir, modules/stat: Likewise.
72183
72184 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72185
72186         Merge from tar.
72187         * lib/argp-help.c (make_hol, hol_append): Don't assume that
72188         SIZE_MAX is a valid preprocessor constant.
72189         (__argp_basename): Change from "#ifndef _LIBC"
72190         to "#ifndef __argp_short_program_name", so that
72191         we don't compile these functions for tar.
72192
72193         More merges from coreutils.
72194         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
72195         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
72196         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
72197         * lib/addext.c: Remove; no longer needed.
72198         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
72199         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
72200         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
72201         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
72202         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
72203         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
72204         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
72205         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
72206         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
72207         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
72208         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
72209         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
72210         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
72211         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
72212         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
72213         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
72214         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
72215         Import changes from coreutils.
72216
72217 2004-08-05  Simon Josefsson  <jas@extundo.com>
72218
72219         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
72220
72221 2004-08-05  Simon Josefsson  <jas@extundo.com>
72222
72223         * m4/getsubopt.m4: New file.
72224
72225 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72226
72227         Merge from coreutils.
72228
72229         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
72230         * m4/getcwd-path-max.m4: New files.
72231
72232         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
72233         FILESYSTEM_PREFIX_LEN ->
72234         FILE_SYSTEM_PREFIX_LEN.
72235         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
72236         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
72237         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
72238         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
72239
72240         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
72241         prerequisite modules now handle the DOS stuff.
72242         Don't check for unistd.h.
72243
72244 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72245
72246         Merge from coreutils.
72247
72248         * lib/.gdb-history: Remove; this doesn't belong here.
72249
72250         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
72251         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
72252         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
72253         * lib/getcwd.c: New files.
72254
72255         * lib/dirname.h: Include <stdbool.h>.
72256         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
72257         for consistency with POSIX terminology.  All uses changed.
72258         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
72259         (strip_trailing_slashes): Use bool for booleans.
72260         * lib/stripslash.c (strip_trailing_slashes): Likewise.
72261
72262         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
72263         sometimes returns a positive errno value even when it succeeds.
72264         (print_errno_message) [!LIBC]: Fall back on strerror if
72265         __strerror_r fails.
72266
72267         * lib/path-concat.c (mempcpy): Don't define if a system header defines
72268         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
72269         (longest_relative_suffix): New function.
72270         (path_concat): Use it.  Assume first argument is not NULL.
72271         Port to DOS.  Omit redundant separators.
72272         Report an error instead of returning NULL.
72273         Use mempcpy instead of memcpy.
72274         (xpath_concat): Remove: not declared or used.
72275
72276         * lib/same.h: Include <stdbool.h>
72277         (same_name): Return bool, not int.
72278         * lib/same.c (same_name): Likewise.
72279         (errno): Don't declare; we assume C89 or better now.
72280
72281         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
72282         if not already defined.
72283
72284         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
72285         * lib/dup-safer.c (errno): Likewise.
72286
72287 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72288
72289         Merge from coreutils.
72290         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
72291         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
72292         * modules/path-concat: Don't depend on strdup.
72293
72294 2004-08-03  Simon Josefsson  <jas@extundo.com>
72295
72296         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
72297         * lib/progname.h: Don't include stdbool.h.
72298
72299 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72300
72301         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
72302         * MODULES.html.sh (func_all_modules): Remove fatal.
72303
72304 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72305
72306         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
72307
72308 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72309
72310         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
72311         working.
72312
72313 2004-08-02  Simon Josefsson  <jas@extundo.com>
72314
72315         * lib/getsubopt.h: New file, with comments from Bruno Haible.
72316         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
72317         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
72318
72319 2004-08-01  Simon Josefsson  <jas@extundo.com>
72320
72321         * lib/xgetdomainname.c: Include stdlib.h, for free().
72322
72323 2004-07-19  Bruno Haible  <bruno@clisp.org>
72324
72325         * MODULES.html.sh (func_all_modules): Add dummy.
72326
72327 2004-07-16  Simon Josefsson  <jas@extundo.com>
72328
72329         * modules/dummy: New file.
72330
72331 2004-07-16  Simon Josefsson  <jas@extundo.com>
72332
72333         * lib/dummy.c: New file.
72334
72335 2004-07-16  Bruno Haible  <bruno@clisp.org>
72336
72337         * lib/backupfile.h: Add extern "C" for C++.
72338         * lib/closeout.h: Likewise.
72339         * lib/copy-file.h: Likewise.
72340         * lib/findprog.h: Likewise.
72341         * lib/full-write.h: Likewise.
72342         * lib/pathname.h: Likewise.
72343         * lib/progname.h: Likewise.
72344         * lib/stpcpy.h: Likewise.
72345         * lib/stpncpy.h: Likewise.
72346         * lib/strcase.h: Likewise.
72347         * lib/strstr.h: Likewise.
72348         * lib/xalloc.h: Likewise.
72349
72350         * lib/mbswidth.h: Add extern "C" for C++.
72351         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
72352
72353 2004-07-13  Robert Millan  <robertmh@gnu.org>
72354
72355         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
72356
72357 2004-07-09  Simon Josefsson  <jas@extundo.com>
72358
72359         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
72360         failed without this.)
72361
72362 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72363
72364         * modules/chown (Files): Add lib/fchown-stub.c, since
72365         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
72366
72367 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72368
72369         * lib/fchown-stub.c: New file.
72370
72371 2004-06-24  Jim Meyering  <jim@meyering.net>
72372
72373         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
72374
72375 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72376
72377         * modules/argz: Omit "#include".
72378
72379         * MODULES.html.sh (func_all_modules): Add calloc, to match
72380         2004-06-01 addition of calloc module.
72381
72382 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72383
72384         * m4/argz.m4: New file, which is autoupdated from libtool.
72385
72386 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72387
72388         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
72389         libtool.
72390
72391 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72392
72393         * config/srclist-update: Don't insist on "USA." before the
72394         close-comment, as libtool omits the period and puts the */ on a
72395         separate line.
72396         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
72397         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
72398
72399 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
72400
72401         * modules/argz: New file.
72402         * MODULES.html.sh (func_all_modules): Add argz.
72403
72404 2004-06-12  Jim Meyering  <jim@meyering.net>
72405         and  Paul Eggert  <eggert@cs.ucla.edu>
72406
72407         * modules/hash (Files): Add lib/xalloc.h.
72408         * modules/pipe (Depends-on): Add wait-process.
72409         * modules/stat (Depends-on): Add xalloc.
72410         * modules/userspec (Files): Add lib/userspec.h.
72411         * modules/xstrto
72412
72413         Upgrade from gettext-0.13.
72414         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
72415         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
72416         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
72417
72418 2004-06-10  Jim Meyering  <jim@meyering.net>
72419
72420         * lib/calloc.c: New file.
72421
72422 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
72423
72424         * lib/getdate.y (yylex): Allow space between sign and number.
72425         Problem reported by Dan Jacobson.
72426
72427 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
72428
72429         Merge from coreutils CVS.
72430
72431         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
72432         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
72433         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
72434         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
72435         xstrtol.m4: Fix copyright date and/or serial number.
72436
72437         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
72438         See if we need an fchown replacement.
72439         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
72440         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
72441         and use the replacement function if we detect either defect.
72442
72443         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
72444         gl_UTIMECMP.
72445
72446 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
72447         and  Jim Meyering  <jim@meyering.net>
72448
72449         Merge from coreutils CVS.
72450
72451         * lib/stat-macros.h: New file, with contents from file-type.h
72452         and coreutils' system.h.
72453         * lib/file-type.c: Include "stat-macros.h".
72454         * lib/file-type.h (file_type): Move all macro definitions to new file,
72455         stat-macros.h.
72456
72457         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
72458         Wrap old code with this conditional.
72459         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
72460         function that does not dereference symlinks.
72461         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
72462
72463         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
72464         dependency problems.
72465         (xreadlink): Accept new arg SIZE, for efficiency.
72466         All decls and uses changed.
72467         * lib/xreadlink.h: Include <stddef.h>, for size_t.
72468
72469         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
72470         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
72471
72472         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
72473         sysexits.h.
72474
72475 2004-06-01  Jim Meyering  <jim@meyering.net>
72476
72477         * m4/calloc.m4: New file.
72478
72479 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
72480
72481         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
72482         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
72483         Also, fix a typo in a diagnostic.
72484
72485 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
72486
72487         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
72488         or AC_FUNC_REALLOC.
72489
72490 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
72491
72492         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
72493         macros to be defined.
72494         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
72495         the allocator returns NULL because the requested size is zero.
72496
72497 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72498
72499         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
72500         var.  Add comment explaining why libc still defines it.  This
72501         merges the following patch from glibc:
72502         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
72503
72504 2004-05-20  Andreas Schwab  <schwab@suse.de>
72505
72506         * m4/free.m4: Replace free if it not known to work, not the other
72507         way round.
72508
72509 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
72510
72511         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
72512         present in glibc since revision 1.1 of this file.
72513         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
72514         obstack_alignment_mask, obstack_alloc, obstack_base,
72515         obstack_blank, obstack_blank_fast, obstack_chunk_size,
72516         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
72517         obstack_grow0, obstack_init, obstack_int_grow,
72518         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
72519         obstack_next_free, obstack_object_size, obstack_ptr_grow,
72520         obstack_ptr_grow_fast, obstack_room): Remove declarations of
72521         nonexistent functions.
72522
72523 2004-05-18  Karl Berry  <karl@gnu.org>
72524
72525         * config/srclist.txt: break link for vasnprintf.c.
72526
72527 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
72528
72529         Port obstack to the AS/400, where pointers are 16 bytes wide and
72530         you cannot cast an integer to a valid pointer.  This patch is
72531         currently waiting to be integrated into glibc; see
72532         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
72533
72534         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
72535         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
72536         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
72537         (struct obstack): temp member is now a union of a pointer and
72538         an integer, instead of an integer.  All integer uses changed.
72539         This does not affect the physical layout of struct obstack,
72540         except on hosts (like the AS/400) where the size or alignment of
72541         void * is greater than that of ptrdiff_t.
72542         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
72543         __STDC__)]: Store temporary in pointer member of union, not
72544         integer member.
72545         * lib/obstack.c: Include <stddef.h>, for offsetof.
72546         (struct fooalign): Remove; it doesn't need a name.
72547         (union fooround): Change double to long double, and add void *.
72548         (DEFAULT_ALIGNMENT): Use offsetof to compute.
72549         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
72550         not a macro.  Hence the values are always int; so remove all
72551         casts-to-int in uses.
72552
72553 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
72554
72555         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
72556         we can get this patch merged into glibc.
72557
72558 2004-05-17  Derek R. Price  <derek@ximbiot.com>
72559             Paul Eggert  <eggert@cs.ucla.edu>
72560
72561         * m4/argp: Depend on alloca.
72562
72563 2004-05-17  Derek R. Price  <derek@ximbiot.com>
72564             Paul Eggert  <eggert@cs.ucla.edu>
72565
72566         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
72567         freecoding.
72568
72569 2004-05-17  Bruno Haible  <bruno@clisp.org>
72570
72571         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
72572         precision that consists of a '.' followed by an empty digit string.
72573         Patch by Tor Lillqvist <tml@iki.fi>.
72574
72575 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
72576
72577         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
72578         for backward compatibility with older code.  We need our own
72579         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
72580         it under some other name, and our alloca.h will define it.
72581
72582 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
72583             Derek Price  <derek@ximbiot.com>
72584
72585         * lib/alloca.c: Include <alloca.h>, to get our interface.
72586         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
72587         include <alloca.h> first.  Use C89 prototype for alloca; this
72588         requires including <stddef.h> for size_t.  Use extern "C" if C++.
72589         Use #elif for simplicity, since we can assume C89 now.
72590         Don't try to source the system alloca.h since it will not be found
72591         and to prevent recursively including its replacement.
72592         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
72593         * lib/regex.c: Likewise.
72594
72595 2004-05-16  Derek Price  <derek@ximbiot.com>
72596             Paul Eggert  <eggert@cs.ucla.edu>
72597
72598         getline cleanup.  This changes the getndelim2 API: both order of
72599         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
72600         no delimiter).
72601
72602         * lib/getline.c: Don't include stddef.h or stdio.h, since our
72603         interface does that.
72604         (getline): Always use getdelim, so that we don't have two
72605         copies of this code.
72606         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
72607         if available.
72608         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
72609         (GETNDELIM2_MAXIMUM): New macro.
72610         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
72611         instead of the old practice of delim2==0.  All callers changed.
72612         Return -1 on overflow, instead of returning junk.
72613         Do not set *linesize unless allocation succeeds.
72614         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
72615         that we include sys/types.h.
72616         * lib/getnline.h: Likewise.
72617         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
72618         (getndelim2): Reorder arguments.
72619         * lib/getnline.c (getnline, getndelim):
72620         Don't discard the NMAX argument.
72621         (getnline): Invoke getndelim, to avoid code duplication.
72622         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
72623         of (size_t) -1 by callers of the getnline family.
72624
72625 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72626
72627         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
72628         Check for gettimeofday.
72629         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
72630         Check for settimeofday, stime.
72631
72632 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72633
72634         * lib/nanosleep.c (suspended): Change its type from int to
72635         sig_atomic_t volatile.
72636         (first_call): Make it private to rpl_nanosleep, and have it
72637         be zero initially as that's a bit faster.
72638         (my_usleep): Round up fractional times instead of truncating them,
72639         as this is the usual meaning for 'sleep'.
72640
72641         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
72642         doesn't work.
72643         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
72644         (ENOSYS): Define if not defined.
72645         (settime): Fall back on stime if it exists and settimeofday fails.
72646         But don't bother with fallbacks if a method fails with errno == EPERM.
72647
72648 2004-05-11  Jim Meyering  <jim@meyering.net>
72649
72650         Prior to this change, the save_cwd caller required read access to the
72651         current directory on most systems (ones with the fchdir function).
72652
72653         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
72654         fails, try write-only, and finally, resort to using xgetcwd.
72655
72656 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
72657
72658         * lib/obstack.c, obstack.h: Import changes from libc.
72659
72660 2004-04-28  Bruno Haible  <bruno@clisp.org>
72661
72662         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
72663         also implicitly appends .exe to executables.
72664         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
72665         accepts Windows pathnames.
72666         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
72667         Treat Cygwin like Windows, since it now accepts Windows pathnames.
72668         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
72669         Treat Cygwin like Windows, since it now accepts Windows pathnames.
72670         Reported by Derek Robert Price <derek@ximbiot.com>.
72671
72672 2004-04-21  Karl Berry  <karl@gnu.org>
72673
72674         * config/srclist.txt (localcharset.c): break sync.
72675
72676 2004-04-20  Paul Eggert  <eggert@twinsun.com>
72677
72678         * m4/host-os.m4: Add a copyright notice.
72679
72680 2004-04-20  Jim Meyering  <jim@meyering.net>
72681
72682         Change UTILS_ to gl_ in AC_DEFINE'd names.
72683         Change utils_- and jm_-prefixed variables, too.
72684         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
72685         UTILS_FUNC_MKDIR_TRAILING_SLASH.
72686         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
72687
72688         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
72689         Don't emit trailing blanks.
72690         Also rename jm_-prefixed variables to have gl_ prefix.
72691
72692         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
72693         Also rename jm_-prefixed variables to have gl_ prefix.
72694
72695         * m4/jm-macros.m4: Reflect the renamings.
72696         * m4/prereq.m4: Likewise.
72697
72698 2004-04-20  Jim Meyering  <jim@meyering.net>
72699
72700         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
72701         memory.
72702
72703 2004-04-20  Jim Meyering  <jim@meyering.net>
72704             Bruno Haible  <bruno@clisp.org>
72705
72706         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
72707         memory when realloc fails.
72708
72709 2004-04-19  Jim Meyering  <jim@meyering.net>
72710
72711         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
72712         now that readutmp.c may call `free (0)'.
72713
72714 2004-04-19  Bruno Haible  <bruno@clisp.org>
72715
72716         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
72717         * m4/inttypes_h.m4: Likewise.
72718         * m4/stdint_h.m4: Likewise.
72719         * m4/intmax_t.m4: Likewise.
72720         * m4/uintmax_t.m4: Likewise.
72721
72722 2004-04-18  Jim Meyering  <jim@meyering.net>
72723
72724         * m4/prereq.m4: Don't forbid jm_ prefix.
72725
72726         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
72727         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
72728         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
72729         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
72730         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
72731         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
72732         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
72733         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
72734         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
72735         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
72736         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
72737         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
72738         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
72739         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
72740         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
72741         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
72742         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
72743         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
72744         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
72745
72746 2004-04-18  Jim Meyering  <jim@meyering.net>
72747
72748         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
72749         failure, don't leak memory and do call END_UTMP_ENT.
72750
72751 2004-04-16  Jim Meyering  <jim@meyering.net>
72752
72753         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
72754         coreutils' stat program.
72755         (gl_PREREQ): Don't require jm_PREREQ_STAT.
72756
72757 2004-04-11  Paul Eggert  <eggert@twinsun.com>
72758
72759         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
72760         C89.
72761         (CHAR_BIT): Remove, since we assume C89.
72762         Include <stdint.h> if available, as per current Autoconf CVS advice.
72763
72764 2004-03-31  Jim Meyering  <jim@meyering.net>
72765
72766         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
72767         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
72768         * m4/xalloc.m4: Likewise.
72769
72770 2004-03-30  Paul Eggert  <eggert@twinsun.com>
72771
72772         Merge from coreutils.
72773
72774         * m4/inttostr.m4: New file.
72775         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
72776         Require AM_STDBOOL_H and gl_TIMESPEC instead.
72777         Require gl_CLOCK_TIME.
72778         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
72779
72780 2004-03-30  Paul Eggert  <eggert@twinsun.com>
72781
72782         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
72783         not bool, to be more consistent with Unix conventions.
72784         Suggested by Bruno Haible.
72785
72786         Merge from coreutils.
72787
72788         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
72789         * lib/umaxtostr.c: New files.
72790
72791         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
72792         the usual <time.h> dance.
72793         (get_date): Change signature to support fractional time stamps.
72794         All callers changed.
72795         * lib/getdate.y: Include "getdate.h" first, as we can now
72796         assume C89 and don't need to worry about 'const'.
72797         Similarly, include "unlocked-io.h" near start, not in middle.
72798         Include <limits.h>.
72799         (textint.value): Use long int rather than int.
72800         (textint.digits): Use size_t rather than int.
72801         (BILLION, LOG10_BILLION): New constants.
72802         (parser_control): New member rel_ns.  Members day_ordinal,
72803         time_zone, month, day, hour, minutes, rel_year, rel_month,
72804         rel_day, rel_hour, rel_minutes, rel_seconds
72805         are now long int, not int.  Member seconds is now struct timespec,
72806         not int.  New member timespec_seen.  Members dates_seen, days_seen,
72807         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
72808         not int.
72809         (%union.intval): Now long int, not int.
72810         New member timespec.
72811         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
72812         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
72813         (spec): Now is a timespec or an item list.
72814         (timespec, items): New nonterminals.
72815         (time, rel, relunit, number, get_date):
72816         Add support for fractional seconds.
72817         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
72818         (gmtime, localtime, mktime): Remove decls; not needed with C89.
72819         (to_hour): First arg is now long int, not int.
72820         (to_year): Returns long int, not int.
72821         Don't treat year -70 like 70.
72822         (tm_diff): Returns long int, not int.
72823         (lookup_word): Use bool instead of int when appropriate.
72824         (yylex): Use size_t for count, not int.
72825         Detect overflow when parsing large integer constants.
72826         Add support for fractions.
72827         (get_date): Make pointers 'const' if possible.
72828         Use more-portable code to detect integer overflow.
72829         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
72830         Don't use ctime; it's not reliable if the year has >4 digits.
72831
72832         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
72833         This is for compatibility with BSD.
72834
72835         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
72836         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
72837         From coreutils' system.h.
72838
72839         * lib/userspec.c: Don't include "posixver.h".
72840         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
72841         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
72842         compatible extension.  Simplify code by removing a boolean int
72843         that was always nonzero if a string was nonnull.
72844
72845 2004-03-30  Jim Meyering  <jim@meyering.net>
72846
72847         Merge from coreutils.
72848
72849         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
72850         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
72851         on some systems one must include <grp.h> before it.
72852         Reported by Christian Krackowizer.
72853
72854 2004-03-30  Jim Meyering  <jim@meyering.net>
72855
72856         Merge from coreutils.
72857
72858         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
72859
72860         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
72861         an empty input stream.
72862
72863         * lib/readtokens.c: Include <stdbool.h>.
72864         (readtoken): Use `size_t' rather than int/long.
72865         All callers adjusted.
72866         Use `bool' rather than `int' where appropriate.
72867         Use memset rather than an explicit loop.
72868         Use x2nrealloc rather than xrealloc.
72869         Allow the use of `\0' as a delimiter.
72870         (readtokens): Likewise.
72871         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
72872
72873 2004-03-30  Jim Meyering  <jim@meyering.net>
72874
72875         * m4/realloc.m4: Remove file, since now it does no more than
72876         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
72877         the `configure.ac' section of module/realloc.
72878         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
72879
72880 2004-03-30  Bruno Haible  <bruno@clisp.org>
72881
72882         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
72883         nonnull.
72884
72885 2004-03-29  Paul Eggert  <eggert@twinsun.com>
72886
72887         Merge changes to getloadavg.c from coreutils and Emacs.
72888
72889         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
72890         Define to an expression, not to the empty string.
72891         Include cloexec.h and xalloc.h.
72892         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
72893         Use set_cloexec_flag rather than rolling our own.
72894         * lib/cloexec.c, lib/cloexec.h: New files.
72895
72896 2004-03-29  Paul Eggert  <eggert@twinsun.com>
72897
72898         * m4/cloexec.m4: New file.
72899
72900 2004-03-18  Paul Eggert  <eggert@twinsun.com>
72901
72902         * lib/getopt.h: Sync with libc CVS.
72903
72904 2004-03-18  Paul Eggert  <eggert@twinsun.com>
72905             Bruno Haible  <bruno@clisp.org>
72906
72907         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
72908         mbswidth.
72909
72910 2004-03-18  Paul Eggert  <eggert@twinsun.com>
72911             Bruno Haible  <bruno@clisp.org>
72912
72913         * lib/mbswidth.h: Include <wchar.h> only if
72914         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
72915         <wchar.h>.
72916         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
72917
72918 2004-03-09  Paul Eggert  <eggert@twinsun.com>
72919
72920         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
72921         Sync with libc CVS.
72922         * lib/getopt_int.h: New file, also synced from libc.
72923
72924 2004-03-09  Paul Eggert  <eggert@twinsun.com>
72925
72926         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
72927         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
72928         Bring back getopt.c, getopt.h, getopt1.c.
72929
72930 2004-03-07  Paul Eggert  <eggert@twinsun.com>
72931
72932         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
72933         All uses changed.  Check for sa_sigaction member; this fixes
72934         a bug first reported by Jason Andrade in
72935         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
72936
72937 2004-03-07  Paul Eggert  <eggert@twinsun.com>
72938
72939         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
72940         '#if' expressions.  Unlike the code it replaces, it does not
72941         depend on (defined _SC_PAGESIZE).  However, it does depend on
72942         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
72943         first reported by Jason Andrade in
72944         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
72945
72946 2004-02-25  Simon Josefsson  <jas@extundo.com>
72947
72948         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
72949
72950 2004-02-25  Simon Josefsson  <jas@extundo.com>
72951
72952         * lib/strdup.h: New file.
72953         * lib/strdup.c: Include it.
72954         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
72955         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
72956
72957 2004-02-23  Karl Berry  <karl@gnu.org>
72958
72959         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
72960         (from fencepost.gnu.org:/gd/gnuorg).
72961
72962 2004-02-23  Karl Berry  <karl@gnu.org>
72963
72964         * config/srclistvars.sh (GNUORG) [karl]: redefine.
72965         * config/srclist.txt: add maintain/standards documents.
72966
72967 2004-02-18  Bruno Haible  <bruno@clisp.org>
72968
72969         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
72970         Reported by Derek Robert Price <derek@ximbiot.com>.
72971
72972 2004-02-16  Karl Berry  <karl@gnu.org>
72973
72974         * config/mkinstalldirs, install-sh: update from automake.
72975
72976 2004-02-06  Karl Berry  <karl@gnu.org>
72977
72978         * m4/po.m4: update from gettext 0.14.1.
72979
72980 2004-02-06  Karl Berry  <karl@gnu.org>
72981
72982         * lib/config.charset: update from gettext 0.14.1.
72983
72984 2004-02-05  Paul Eggert  <eggert@twinsun.com>
72985
72986         Add comments and code, prompted by suggestions from Bruno Haible
72987         for sh-quote.
72988         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
72989         describing the enum quoting_style values.
72990         * lib/quotearg.c (quotearg_alloc): New function.
72991         (quotearg_buffer_restyled): Treat lone { and } as special.
72992         Treat = as special.  Work around bug with older shells
72993         that "see" a '\' that is really the 2nd byte of a multibyte char.
72994         Quote empty string with shell_quoting_style.
72995
72996 2004-02-03  Bruno Haible  <bruno@clisp.org>
72997
72998         * m4/pipe.m4: New file, from GNU gettext.
72999
73000 2004-02-03  Bruno Haible  <bruno@clisp.org>
73001
73002         * lib/pipe.h: New file, from GNU gettext.
73003         * lib/pipe.c: New file, from GNU gettext.
73004
73005 2004-01-27  Bruno Haible  <bruno@clisp.org>
73006
73007         * m4/execute.m4: New file, from GNU gettext.
73008
73009 2004-01-27  Bruno Haible  <bruno@clisp.org>
73010
73011         * lib/execute.h: New file, from GNU gettext.
73012         * lib/execute.c: New file, from GNU gettext.
73013         * lib/w32spawn.h: New file, from GNU gettext.
73014
73015 2004-01-24  Paul Eggert  <eggert@twinsun.com>
73016
73017         Merge from diffutils.
73018
73019         * lib/file-type.c (file_type): Add typed memory objects.
73020         * lib/file-type.h (S_TYPEISTMO): New macro.
73021
73022         * lib/c-stack.h (c_stack_action): Remove argv argument.
73023         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
73024         (die): Don't calculate message unless segv_action returns.
73025         (get_stack_location, min_address_from_argv, max_address_from_argv,
73026         volatile stack_base, volatile_stack_size): Remove.
73027         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
73028         that every segmentation violation is a stack overflow.  (Ouch!)
73029         See Debian bug 136249 (still outstanding) for more info about why
73030         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
73031
73032 2004-01-24  Paul Eggert  <eggert@twinsun.com>
73033
73034         Exit-status fix from coreutils.
73035
73036         Use exit_failure consistently in place of EXIT_FAILURE,
73037         so that program exit statuses are consistent on failure.
73038
73039         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
73040         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
73041         * lib/argmatch.h: Comment fix to match the above.
73042         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
73043         Now a macro referring to exit_failure, instead of a separate
73044         variable.  Include "exitfail.h" to get it.
73045         * lib/xstrtol.h: Include "exitfail.h".
73046         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
73047
73048         * lib/long-options.c (parse_long_options): Use prototype
73049         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
73050         for clarity.
73051
73052 2004-01-21  Jim Meyering  <jim@meyering.net>
73053
73054         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
73055         so as not to conflict with a different-sized __mktime_internal
73056         function in GNU libc.
73057         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
73058         Problem building statically-linked `ls' reported by Michael Brunnbauer.
73059
73060 2004-01-20  Karl Berry  <karl@gnu.org>
73061
73062         * config/config.guess: update from config.
73063
73064         * config/srclistvars.sh: GNUWWWLICENSES for karl.
73065
73066 2004-01-20  Bruno Haible  <bruno@clisp.org>
73067
73068         Safer stack allocation.
73069         * lib/setenv.c: Include allocsa.h.
73070         (alloca): Remove fallback definition.
73071         (freea): Remove macro.
73072         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
73073         instead of freea.
73074
73075 2004-01-20  Bruno Haible  <bruno@clisp.org>
73076
73077         * m4/eealloc.m4: New file, from GNU gettext.
73078
73079 2004-01-20  Bruno Haible  <bruno@clisp.org>
73080
73081         * m4/allocsa.m4: New file, from GNU gettext.
73082
73083 2004-01-20  Bruno Haible  <bruno@clisp.org>
73084
73085         * lib/xallocsa.h: New file, from GNU gettext.
73086         * lib/xallocsa.c: New file, from GNU gettext.
73087
73088 2004-01-20  Bruno Haible  <bruno@clisp.org>
73089
73090         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
73091
73092 2004-01-20  Bruno Haible  <bruno@clisp.org>
73093
73094         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
73095         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
73096         specially.
73097
73098 2004-01-20  Bruno Haible  <bruno@clisp.org>
73099
73100         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
73101         patch.
73102
73103 2004-01-20  Bruno Haible  <bruno@clisp.org>
73104
73105         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
73106
73107 2004-01-20  Bruno Haible  <bruno@clisp.org>
73108
73109         * lib/eealloc.h: New file.
73110
73111 2004-01-20  Bruno Haible  <bruno@clisp.org>
73112
73113         * lib/binary-io.h: Avoid warnings on Cygwin.
73114
73115 2004-01-20  Bruno Haible  <bruno@clisp.org>
73116
73117         * lib/allocsa.h: New file, from GNU gettext.
73118         * lib/allocsa.c: New file, from GNU gettext.
73119
73120 2004-01-18  Karl Berry  <karl@gnu.org>
73121
73122         * doc/gpl.texi, doc/lgpl.texi: new files.
73123
73124 2004-01-18  Karl Berry  <karl@gnu.org>
73125
73126         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
73127         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
73128
73129 2004-01-15  Paul Eggert  <eggert@twinsun.com>
73130
73131         Merge from coreutils.
73132
73133         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
73134         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
73135         (gl_DEFAULT_POSIX2_VERSION): Move
73136         the documentation from 'configure' into 'config.hin',
73137         so that 'configure --help' isn't burdened by it and
73138         we don't have to worry about its formatting there.
73139         Reword the documentation so that it's more succinct
73140         and can be run together into a single paragraph.
73141         * m4/same.m4 (gl_SAME): Check for pathconf.
73142
73143 2004-01-15  Paul Eggert  <eggert@twinsun.com>
73144
73145         Merge from coreutils.
73146
73147         * lib/posixver.c: Include posixver.h.
73148
73149         * lib/same.c: Include <stdbool.h>, <limits.h>.
73150         (_POSIX_NAME_MAX): Define if not defined.
73151         (MIN): New macro.
73152         (same_name): If file names are silently truncated, report
73153         that the file names are the same if they are the same after
73154         the silent truncation.
73155
73156         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
73157         conversion function.
73158         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
73159         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
73160         longer needed.
73161
73162 2004-01-15  Jim Meyering  <jim@meyering.net>
73163
73164         Merge from coreutils.
73165
73166         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
73167         if no library is required.
73168         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
73169         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
73170         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
73171         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
73172         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
73173         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
73174         value, $ac_cv_search_crypt, if it's "none required".
73175         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
73176         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
73177         not gl_FUNC_GETLOADAVG.
73178         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
73179         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
73180
73181 2004-01-15  Jim Meyering  <jim@meyering.net>
73182
73183         Merge from coreutils.
73184
73185         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
73186         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
73187         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
73188
73189         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
73190         optional configure-time default.
73191
73192         * lib/version-etc.c (version_etc_copyright): Update copyright date.
73193
73194         * lib/xreadlink.c (xreadlink): Correct outdated comment.
73195
73196 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
73197
73198         Merge from coreutils.
73199
73200         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
73201         value, $ac_cv_search_nanosleep, if it's "none required".
73202
73203 2004-01-14  Paul Eggert  <eggert@twinsun.com>
73204
73205         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
73206         with like-named macro in fnmatch.c.
73207         (EXT): Use an internal constant instead.
73208
73209         Merge fnmatch patches from glibc.
73210         * lib/fnmatch.c (mbsinit): Remove define.
73211         Add libc_hidden_ver (__fnmatch, fnmatch).
73212         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
73213         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
73214
73215 2004-01-14  Karl Berry  <karl@gnu.org>
73216
73217         * config/install-sh: update from automake.
73218
73219 2004-01-13  Karl Berry  <karl@gnu.org>
73220
73221         * config/install-sh: update from automake.
73222
73223 2004-01-09  Karl Berry  <karl@gnu.org>
73224
73225         * config/install-sh: update from automake.
73226
73227 2004-01-05  Karl Berry  <karl@gnu.org>
73228
73229         * config/config.{sub,guess}: update from config.
73230
73231 2003-12-31  Karl Berry  <karl@gnu.org>
73232
73233         * config/depcomp: update from automake.
73234
73235 2003-12-14  Karl Berry  <karl@gnu.org>
73236
73237         * lib/config.charset: update from gettext-runtime.
73238
73239 2003-12-03  Paul Eggert  <eggert@twinsun.com>
73240
73241         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
73242         Bug reported by Alfred M. Szmidt.
73243
73244 2003-12-03  Bruno Haible  <bruno@clisp.org>
73245
73246         * m4/gettext.m4: Upgrade from gettext-0.13.
73247         * m4/po.m4: Upgrade from gettext-0.13.
73248         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
73249         * m4/intmax.m4: New file, from gettext-0.13.
73250         * m4/printf-posix.m4: New file, from gettext-0.13.
73251
73252 2003-11-29  Karl Berry  <karl@gnu.org>
73253
73254         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
73255
73256 2003-11-25  Paul Eggert  <eggert@twinsun.com>
73257             Bruno Haible  <bruno@clisp.org>
73258
73259         * lib/printf-parse.h: Don't include sys/types.h.
73260         (ARG_NONE): New macro.
73261         (char_directive): Change type of *arg_index fields to size_t.
73262         * lib/printf-parse.c: Don't include sys/types.h.
73263         (SSIZE_MAX): Remove macro.
73264         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
73265         Remove unnecessary overflow check.
73266         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
73267         fields.
73268
73269 2003-11-25  Bruno Haible  <bruno@clisp.org>
73270
73271         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
73272
73273 2003-11-25  Bruno Haible  <bruno@clisp.org>
73274
73275         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
73276         gt_TYPE_SSIZE_T.
73277
73278 2003-11-24  Paul Eggert  <eggert@twinsun.com>
73279
73280         * modules/alloca: Remove dependency on xalloc.
73281
73282 2003-11-24  Paul Eggert  <eggert@twinsun.com>
73283
73284         * lib/alloca.c: Remove dependency on xalloc module.
73285         (xalloc_die): Remove.
73286         (memory_full) [!defined emacs]: New macro.
73287         [!defined emacs]: Don't include xalloc.h.
73288         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
73289         address arithmetic overflows.  Change datatypes a bit to avoid
73290         unnecessary casts.
73291
73292 2003-11-22  Jim Meyering  <jim@meyering.net>
73293
73294         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
73295         s/size/size_t/.
73296
73297 2003-11-21  Karl Berry  <karl@gnu.org>
73298
73299         * config/config.{sub,guess}: update from config.
73300
73301 2003-11-18  Karl Berry  <karl@gnu.org>
73302
73303         * config/config.{sub,guess}: update from config.
73304
73305         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
73306
73307 2003-11-17  Paul Eggert  <eggert@twinsun.com>
73308
73309         * README: Mention that S+T cannot overflow if S is the size of
73310         an existing object and T is sufficiently small.
73311
73312 2003-11-17  Jim Meyering  <jim@meyering.net>
73313
73314         On systems without utime and without a utimes function capable of
73315         dealing with a NULL struct utimbuf* argument, this utime replacement
73316         could -- in unusual circumstances -- leak a file descriptor.
73317         * lib/utime.c: Include <unistd.h> and <errno.h>.
73318         (utime_null): Be sure to close `fd' and to preserve errno.
73319         Reported by Geoff Collyer via Arnold Robbins.
73320
73321 2003-11-17  Bruno Haible  <bruno@clisp.org>
73322
73323         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
73324         (Depends-on): Add xsize.
73325
73326 2003-11-17  Bruno Haible  <bruno@clisp.org>
73327
73328         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
73329
73330 2003-11-17  Bruno Haible  <bruno@clisp.org>
73331
73332         * lib/vasnprintf.c (alloca): Remove fallback definition.
73333         (freea): Remove definition.
73334         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
73335         Reported by Paul Eggert.
73336
73337 2003-11-16  Paul Eggert  <eggert@twinsun.com>
73338             Bruno Haible  <bruno@clisp.org>
73339
73340         Protect against address arithmetic overflow.
73341         * lib/printf-args.h: Include stddef.h.
73342         (arguments): Change type of field 'count' to size_t.
73343         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
73344         'unsigned int' where appropriate.
73345         * lib/printf-parse.h: Include sys/types.h.
73346         (char_directive): Change type of *arg_index fields to ssize_t.
73347         (char_directives): Change type of fields 'count', max_*_length to
73348         size_t.
73349         * lib/printf-parse.c: Include sys/types.h and xsize.h.
73350         (SSIZE_MAX): Define fallback value.
73351         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
73352         instead of 'int' where appropriate. Check a_allocated, d_allocated
73353         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
73354         * lib/vasnprintf.c: Include xsize.h.
73355         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
73356         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
73357         overflow. Avoid wraparound when converting a width or precision from
73358         decimal to binary.
73359
73360 2003-11-16  Bruno Haible  <bruno@clisp.org>
73361
73362         Update from GNU gettext.
73363         * lib/printf-parse.c: Generalize to it can be compiled for wide
73364         strings.
73365         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
73366         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
73367         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
73368         SNPRINTF): New macros.
73369         Don't include <alloca.h> if the file is used inside libintl.
73370         (local_wcslen): New function, for Solaris 2.5.1.
73371         (VASNPRINTF): Use it instead of wcslen.
73372
73373 2003-11-16  Bruno Haible  <bruno@clisp.org>
73374
73375         * lib/xsize.h (xmax): New function.
73376         (xsum, xsum3, xsum4): Declare as "pure" functions.
73377
73378 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73379
73380         * modules/xalloc (Files): Undo latest change, since xalloc.h
73381         no longer needs SIZE_MAX or PTRDIFF_MAX.
73382
73383 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73384
73385         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
73386         gl_PTRDIFF_MAX.
73387
73388 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73389
73390         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
73391         "return", to pacify some unknown compiler.  Problem reported
73392         by Joerg Schilling.
73393
73394 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73395
73396         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
73397         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
73398         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
73399         heuristic is just as accurate as far as we know, and it removes a
73400         dependency on size_max.m4 and ptrdiff_max.m4.
73401
73402 2003-11-11  Bruno Haible  <bruno@clisp.org>
73403
73404         * modules/xsize (Files): Add m4/size_max.m4.
73405         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
73406
73407 2003-11-11  Bruno Haible  <bruno@clisp.org>
73408
73409         * m4/size_max.m4: New file.
73410         * m4/ptrdiff_max.m4: New file.
73411         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
73412         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
73413         (gl_XALLOC): Invoke it.
73414
73415 2003-11-11  Bruno Haible  <bruno@clisp.org>
73416
73417         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
73418         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
73419         defined.
73420
73421 2003-11-10  Paul Eggert  <eggert@twinsun.com>
73422
73423         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
73424         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
73425         rejected some allocations of exactly SIZE_MAX - 2 bytes.
73426         From Bruno Haible.
73427         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
73428         not (size_t) -1, since it's defined here.
73429
73430 2003-11-09  Karl Berry  <karl@gnu.org>
73431
73432         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
73433
73434 2003-11-06  Paul Eggert  <eggert@twinsun.com>
73435
73436         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
73437         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
73438         Reject sizes of exactly SIZE_MAX bytes.
73439         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
73440         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
73441
73442 2003-11-05  Bruno Haible  <bruno@clisp.org>
73443
73444         * lib/xsize.h: Include limits.h, to avoid a possible collision with
73445         SIZE_MAX defined in <limits.h> on Solaris.
73446
73447 2003-11-04  Jim Meyering  <jim@meyering.net>
73448
73449         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
73450         variable names, rather than @VAR@.
73451         * modules/poll: Likewise.
73452
73453 2003-11-04  Bruno Haible  <bruno@clisp.org>
73454
73455         * modules/xsize: New file.
73456         * modules/linebreak: Depend on xsize.
73457         * MODULES.html.sh (func_all_modules): Add xsize.
73458
73459 2003-11-04  Bruno Haible  <bruno@clisp.org>
73460
73461         * m4/xsize.m4: New file.
73462
73463 2003-11-04  Bruno Haible  <bruno@clisp.org>
73464
73465         * lib/xsize.h: New file.
73466         * lib/linebreak.c: Include xsize.h.
73467         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
73468         argument for overflow.
73469         Suggested by Paul Eggert.
73470
73471 2003-11-03  Karl Berry  <karl@gnu.org>
73472
73473         * config/config.{guess,sub}: update from config.
73474
73475 2003-11-03  Jim Meyering  <jim@meyering.net>
73476
73477         * modules/userspec (lib_SOURCES): Add userspec.h.
73478         (Include): Add "userspec.h".
73479         Improve description.
73480
73481 2003-11-03  Jim Meyering  <jim@meyering.net>
73482
73483         * lib/userspec.c: Include "userspec.h".
73484         * lib/userspec.h: New file.
73485
73486 2003-11-03  Bruno Haible  <bruno@clisp.org>
73487
73488         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
73489
73490 2003-11-03  Bruno Haible  <bruno@clisp.org>
73491
73492         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
73493         available, to avoid (extremely rare) race condition.
73494         Suggested by Paul Eggert.
73495
73496 2003-11-02  Karl Berry  <karl@gnu.org>
73497
73498         * config/srclist.txt (vasprintf.c): sync broken, sigh.
73499
73500 2003-10-31  Paul Eggert  <eggert@twinsun.com>
73501
73502         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
73503         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
73504         (read_filesystem_list): Set and use me_type_malloced.
73505         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
73506         whatever the type happens to be), for brevity and consistency.
73507         Check for size calculation overflow on Alphas running OSF/1.
73508
73509 2003-10-31  Jim Meyering  <jim@meyering.net>
73510
73511         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
73512
73513         * lib/linebuffer.c: Include <string.h> for declaration of memset.
73514
73515 2003-10-30  Paul Eggert  <eggert@twinsun.com>
73516             Bruno Haible  <bruno@clisp.org>
73517
73518         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
73519         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
73520
73521 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73522
73523         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
73524         netbsd*-gnu*.  Suggested by Robert Millan.
73525
73526 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73527
73528         * modules/group-member: Depend on stdbool.
73529
73530 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73531
73532         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
73533
73534 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73535
73536         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
73537         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
73538         after the 'gnu' in these cases.  This fixes some bugs in the
73539         previous change, and is based on suggestions by Robert Millan.
73540
73541 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73542
73543         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
73544         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
73545         no longer needed.
73546         * lib/quotearg.c (quotearg_n_options): Use it.
73547         * lib/group-member.c: Include <stdbool.h>.
73548         (free_group_info): Arg is now const *; don't free arg.
73549         (get_group_info): Now returns bool and accepts struct group_info *,
73550         rather than returning a malloc'ed struct group_info *.
73551         All uses changed.  Check for overflow in internal size calculation.
73552
73553         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
73554         rather than xmalloc/xrealloc.
73555         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
73556         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
73557         conformance bug: the old code used a pointer after freeing the
73558         storage that it addressed.
73559         * lib/hash.c (hash_initialize): Simplify the code by using
73560         xalloc_oversized rather than doing it by hand.
73561         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
73562         the buffer preserved.  Use free and xmalloc instead.
73563         * lib/quotearg.c (quotearg_n_options): Likewise.
73564         Use a simpler test for size overflow.  Don't use xalloc_oversized
73565         because unsigned int might be wider than size_t (!); this suggests
73566         that we should switch from unsigned int to size_t for slot numbers.
73567
73568 2003-10-28  Paul Eggert  <eggert@twinsun.com>
73569
73570         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
73571         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
73572         NetBSD kernels.  Requested by Richard Stallman.
73573
73574 2003-10-27  Paul Eggert  <eggert@twinsun.com>
73575
73576         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
73577         to allocate the returned structure.  Do not allocate a subarray,
73578         as x2nrealloc will do that.
73579         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
73580         instead of xnrealloc.
73581         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
73582
73583 2003-10-27  Bruno Haible  <bruno@clisp.org>
73584
73585         * lib/stdbool_.h: Better support for BeOS.
73586
73587 2003-10-26  Paul Eggert  <eggert@twinsun.com>
73588
73589         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
73590         now uses inline.
73591
73592 2003-10-26  Paul Eggert  <eggert@twinsun.com>
73593
73594         * lib/xalloc.h (xalloc_oversized): New static inline function, for
73595         callers that want to do their own size-overflow checking.  Include
73596         <stdbool.h>, since xalloc_oversized returns bool.
73597         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
73598         to use xalloc_oversized.
73599
73600         Add two functions x2realloc, x2nrealloc, for programs that grow
73601         arrays dynamically by doubling their sizes.
73602         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
73603         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
73604         New functions.
73605
73606         Port to C99 semantics for 'inline' of external functions.
73607         Bug reported by Bruno Haible.
73608         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
73609         with the old contents of xnmalloc.
73610         (xnmalloc, xmalloc): Use it.
73611         (xnrealloc_inline): New static inline function,
73612         with the old contents of xnrealloc.
73613         (xnrealloc, xrealloc): Use it.
73614
73615         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
73616         that.
73617
73618 2003-10-26  Karl Berry  <karl@gnu.org>
73619
73620         * config/srclist.txt (COPYING.DOC): no longer available from
73621         /gd/gnuorg; don't know where the ultimate source is.
73622
73623 2003-10-25  Paul Eggert  <eggert@twinsun.com>
73624
73625         Fix several address-calculation bugs in the hash modules,
73626         plus some minor code cleanup.
73627
73628         * lib/hash.h: Include <stdbool.h>, for bool.
73629         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
73630         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
73631         hash_get_n_entries, hash_get_max_bucket_length,
73632         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
73633         hash_rehash): Use size_t rather than unsigned.
73634         * lib/hash.c (struct hash_table, hash_get_n_buckets,
73635         hash_get_n_buckets_used, hash_get_n_entries,
73636         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
73637         hash_get_entries, hash_do_for_each, hash_string, is_prime,
73638         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
73639         Likewise.
73640         (SIZE_MAX): Define if not defined.
73641         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
73642         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
73643         hash_print):
73644         Use const * when possible.
73645         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
73646         (check_tuning): Fix bug: if tuning parameters were very close to
73647         0 or 1, rounding errors could have caused subscript violations.
73648         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
73649         (hash_initialize): Add 'fail:' label
73650         to free table and return NULL, and use it to simplify code.
73651         Use calloc rather than clearing the storage ourself.
73652         (hash_initialize, hash_rehash): Check for arithmetic overflow in
73653         buffer size calculations.
73654         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
73655         Include <stddef.h>, for size_t.
73656         * lib/hash-pjw.c (hash_pjw): Likewise.
73657         Switch to method described by Bruno Haible.
73658         Include <limits.h>, for CHAR_BIT.
73659         (SIZE_BITS): New macro.
73660
73661 2003-10-23  Paul Eggert  <eggert@twinsun.com>
73662
73663         * m4/getline.m4 (AM_FUNC_GETLINE):
73664         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
73665         hosts.  Problem reported by Derek Robert Price in
73666         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
73667         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
73668         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
73669
73670 2003-10-21  Paul Eggert  <eggert@twinsun.com>
73671
73672         * lib/getndelim2.c (getndelim2): When size calculation overflows,
73673         ceiling the allocation at NMAX bytes rather than silently
73674         discarding input bytes before NMAX is reached.  This makes
73675         a difference only if NMAX exceeds SIZE_MAX / 2.
73676
73677         * lib/obstack.c: Merge from glibc.
73678         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
73679         Add libc_hidden_def (_obstack_newchunk).
73680         (_obstack_free) [! defined _LIBC]: Remove.
73681         [defined _LIBC]: Make a strong alias from obstack_free, rather than
73682         a clone of the function body.
73683         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
73684         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
73685
73686         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
73687         glibc.
73688         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
73689         arg to memcpy.
73690
73691         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
73692         (obstack_ptr_grow_fast, obstack_int_grow_fast):
73693         Don't use lvalue casts, as GCC plans to remove support for them
73694         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
73695         was also present in the non-GCC version, indicating that this
73696         code had always been buggy and had never been widely used.
73697         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
73698         Use the fast variant of each macro, rather than copying the
73699         definiens of the fast variant; that way, we'll be more likely to
73700         catch future bugs in the fast variants.
73701
73702 2003-10-20  Bruno Haible  <bruno@clisp.org>
73703
73704         * modules/wait-process: New file.
73705         * MODULES.html.sh (func_all_modules): Add wait-process.
73706
73707 2003-10-20  Bruno Haible  <bruno@clisp.org>
73708
73709         * m4/wait-process.m4: New file.
73710
73711 2003-10-20  Bruno Haible  <bruno@clisp.org>
73712
73713         * lib/wait-process.h: New file, from GNU gettext.
73714         * lib/wait-process.c: New file, from GNU gettext.
73715
73716 2003-10-19  Jim Meyering  <jim@meyering.net>
73717
73718         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
73719         HPUX 10.20.
73720
73721 2003-10-18  Karl Berry  <karl@gnu.org>
73722
73723         * config/config.guess: update from config.
73724
73725 2003-10-16  Paul Eggert  <eggert@twinsun.com>
73726
73727         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
73728         (getgroups): First arg is int, not size_t.
73729         Don't let 'free' mangle errno.
73730
73731 2003-10-16  Paul Eggert  <eggert@twinsun.com>
73732
73733         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
73734
73735 2003-10-16  Karl Berry  <karl@gnu.org>
73736
73737         * config/config.{guess,sub}: update from config.
73738
73739 2003-10-16  Jim Meyering  <jim@meyering.net>
73740
73741         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
73742         memcpy.
73743
73744 2003-10-15  Paul Eggert  <eggert@twinsun.com>
73745
73746         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
73747         (SIZE_MAX): Remove.
73748         (new_exclude, add_exclude_file): Initial size no longer needs to
73749         be a power of 2.
73750         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
73751         our own address arithmetic overflow checking.
73752
73753         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
73754         (fnmatch): Do not alloca more than 2000 wide characters;
73755         instead, use malloc for large buffers.
73756         Check for address arithmetic overflow, and return -1
73757         with errno set to ENOMEM in that case.
73758         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
73759         (NEW_PATTERN): Do not alloca more than 8000 bytes;
73760         instead, return -1.  Check for address arithmetic overflow.
73761
73762 2003-10-14  Paul Eggert  <eggert@twinsun.com>
73763
73764         Handle invalid suffixes and overflow independently, so that
73765         callers can treat them independently as needed.  Fix some bugs in
73766         suffix handling, e.g., "100k@" was not diagnosed as an invalid
73767         suffix for a human-readable blocksize.  The major caller-visible
73768         change is the addition of a new
73769         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
73770         that both overflow and suffix chars were found.
73771
73772         * lib/human.c (humblock): Don't check separately for invalid suffix
73773         char; that is xstrtoumax's job (now that its bug is fixed).
73774         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
73775         INTMAX_MAX]: New macros.
73776         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
73777         TYPE_MAXIMUM): New macros.
73778         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
73779         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
73780         if overflow occurs, as it's what __strtol does and it's more useful
73781         in practice.
73782         (__xstrtol): If __strtol reports some error other than ERANGE,
73783         reflect it to the caller as LONGINT_INVALID.  If it reports
73784         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
73785         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
73786         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
73787         value.
73788         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
73789         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
73790         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
73791         [defined UINTMAX_MAX]: New macros.
73792
73793 2003-10-14  Bruno Haible  <bruno@clisp.org>
73794
73795         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
73796
73797 2003-10-14  Bruno Haible  <bruno@clisp.org>
73798
73799         * m4/sig_atomic_t: New file, from GNU gettext.
73800         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
73801
73802 2003-10-14  Bruno Haible  <bruno@clisp.org>
73803
73804         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
73805         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
73806         Also use volatile where needed.
73807
73808 2003-10-12  Paul Eggert  <eggert@twinsun.com>
73809
73810         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
73811         Change maintainer from Bruno Haible to 'all'.
73812
73813 2003-10-12  Paul Eggert  <eggert@twinsun.com>
73814
73815         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
73816
73817 2003-10-12  Paul Eggert  <eggert@twinsun.com>
73818
73819         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
73820         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
73821         and define in terms of the other primitives.
73822         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
73823         (SIZE_MAX): Define if not already defined.
73824         (array_size_overflow): New function.
73825         (xalloc_die): Abort instead of exiting if 'error' returns.
73826         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
73827         (xmalloc, xrealloc): Use them.
73828         (xcalloc): Check for address arithmetic overflow.
73829         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
73830         a bit faster than strcpy.
73831
73832 2003-10-10  Simon Josefsson  <jas@extundo.com>
73833
73834         * modules/argp (Depends-on): Add restrict and strcase.
73835
73836 2003-10-10  Simon Josefsson  <jas@extundo.com>
73837
73838         * m4/argp.m4: Add AC_C_INLINE.
73839
73840 2003-10-08  Paul Eggert  <eggert@twinsun.com>
73841
73842         Merge getpass from libc, plus a few fixes.
73843
73844         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
73845         Include <stdbool.h>.
73846         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
73847         __fsetlocking to empty.
73848         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
73849         do include <bits/libc-lock.h>.
73850         Do not include <fcntl.h>; not needed.
73851         [_LIBC]: Include <wchar.h>.
73852         (NOTCANCEL_MODE): New macro.
73853         (flockfile, funlockfile) [_LIBC]: New macros.
73854         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
73855         [!_LIBC]: New macros.
73856         (call_fclose): New function.
73857         (getpass): Use it.  Save tty stream separately; this simplifies the
73858         code and makes it more reliable if stdin happens to equal stdout.
73859         Invoke __fsetlocking on tty.
73860         Handle thread cancellation if needed.
73861         Namespace cleanup (use __tcgetattr, __getline).
73862         Use bool for Booleans.
73863         [USE_IN_LIBIO]: Handle wide streams.
73864         [!_LIBC]: Unconditionally do the fseek, since we don't know what
73865         stream might go where.
73866
73867         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
73868         doesn't have to include <stdio.h> before us.
73869         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
73870         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
73871         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
73872         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
73873         if not declared, so that we can use getpass.c code from libc without
73874         rewriting it.
73875         (flockfile, ftrylockfile, funlockfile): New macros.
73876
73877 2003-10-08  Paul Eggert  <eggert@twinsun.com>
73878
73879         * modules/getpass: Depend on stdbool.
73880
73881 2003-10-08  Paul Eggert  <eggert@twinsun.com>
73882
73883         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
73884
73885 2003-10-07  Karl Berry  <karl@gnu.org>
73886
73887         * config/config.{guess,sub}: update from config.
73888
73889 2003-10-06  Jim Meyering  <jim@meyering.net>
73890             Bruno Haible  <bruno@clisp.org>
73891
73892         This lets translators provide better translations for the
73893         "Written by ..." part of --version output.
73894         * lib/version-etc.h: Include stdarg.h.
73895         (version_etc_copyright): Declare as readonly.
73896         (version_etc): Make this function variadic with a NULL-terminated list
73897         of author name strings.
73898         (version_etc_va): New declaration.
73899         * lib/version-etc.c: Include stdarg.h, stdlib.h.
73900         (version_etc_copyright): Declare as readonly.
73901         (version_etc_va): New function. Provide a different translatable string
73902         for each possible number of authors < 10. Abbreviate when there are 10
73903         authors or more.
73904         (version_etc): Make this function variadic. Call version_etc_va.
73905         Suggestion from Gary V. Vaughan.
73906
73907         * lib/long-options.h (parse_long_options): Change prototype: the
73908         authors string is moved to the end and becomes variadic.
73909         * lib/long-options.c: Include stdarg.h.
73910         (parse_long_options): Make this function variadic, too.
73911         Call version_etc_va, not version_etc.
73912
73913 2003-10-06  Bruno Haible  <bruno@clisp.org>
73914
73915         * modules/version-etc-2: Remove file.
73916         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
73917
73918 2003-10-06  Bruno Haible  <bruno@clisp.org>
73919
73920         * modules/fatal-signal: New file.
73921         * MODULES.html.sh (func_all_modules): Add fatal-signal.
73922
73923 2003-10-06  Bruno Haible  <bruno@clisp.org>
73924
73925         * m4/fatal-signal.m4: New file.
73926         * m4/signalblocking.m4: New file, from GNU gettext.
73927
73928 2003-10-06  Bruno Haible  <bruno@clisp.org>
73929
73930         * lib/version-etc-2.h: Remove file.
73931         * lib/version-etc-2.c: Remove file.
73932
73933 2003-10-06  Bruno Haible  <bruno@clisp.org>
73934
73935         * lib/fatal-signal.h: New file, from GNU gettext.
73936         * lib/fatal-signal.c: New file, from GNU gettext.
73937
73938 2003-10-05  Paul Eggert  <eggert@twinsun.com>
73939
73940         * README: Rework advice for preventing empty .o files.
73941         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
73942         not <sys/types.h>.
73943
73944 2003-10-04  Karl Berry  <karl@gnu.org>
73945
73946         * lib/argp*: update from libc.
73947
73948 2003-10-04  Karl Berry  <karl@gnu.org>
73949
73950         * config/config.{guess,sub}: update from config.
73951
73952 2003-10-02  Bruno Haible  <bruno@clisp.org>
73953
73954         * modules/lchown (Include): Add lchown.h.
73955         * modules/time_r (Include): Use "..." syntax.
73956         * modules/xgetdomainname (Include): Add xgetdomainname.h.
73957
73958 2003-10-01  Simon Josefsson  <jas@extundo.com>
73959
73960         * MODULES.html.sh (func_all_modules): Move gethostname from section
73961         'based on' to section 'lacking' POSIX:2001.
73962
73963 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
73964
73965         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
73966         to output mode on the same stream.
73967
73968 2003-09-29  Paul Eggert  <eggert@twinsun.com>
73969
73970         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
73971         Fix arg typo in previous patch.
73972
73973 2003-09-28  Jim Meyering  <jim@meyering.net>
73974
73975         * lib/error.c: Correct cpp indentation.
73976
73977 2003-09-27  Paul Eggert  <eggert@twinsun.com>
73978
73979         * modules/free: New file.
73980
73981 2003-09-27  Paul Eggert  <eggert@twinsun.com>
73982
73983         * m4/free.m4: New file.
73984
73985 2003-09-27  Paul Eggert  <eggert@twinsun.com>
73986
73987         * lib/minmax.h (MIN, MAX)
73988         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
73989         Omit the special code that used __typeof__, since we worry that
73990         it could be more trouble than it's worth.  See:
73991         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
73992         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
73993
73994         * lib/free.c: New file.
73995
73996 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
73997
73998         Trivial fixes to Makefile.am parts of module listings.
73999         * modules/strstr: Append strstr.h to lib_SOURCES.
74000         * modules/strcase: Likewise, for strcase.h.
74001
74002 2003-09-27  Karl Berry  <karl@gnu.org>
74003
74004         * config/mkinstalldirs: update from automake.
74005
74006 2003-09-26  Paul Eggert  <eggert@twinsun.com>
74007
74008         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
74009         (error_tail): Do not loop, reallocating temporary buffer, since
74010         the output cannot contain more wide characters than the input
74011         contains bytes, the size must be big enough already.  This avoids
74012         one potential size overflow calculation.  Check for size overflow
74013         when calculating temporary buffer size.  Free temporary buffer
74014         when done, if it was allocated with malloc; this plugs a memory
74015         leak.  Remove casts from void * to pointers, that are no longer
74016         needed now that we're assuming C89 or better.
74017
74018         Merge error changes from glibc.
74019
74020         * lib/error.c, error.h: Update copyright notice header to match glibc.
74021         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
74022         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
74023         Disable cancellation while printing error.
74024         * lib/error.h: Prepend __ to parameter names.
74025
74026 2003-09-26  Jim Meyering  <jim@meyering.net>
74027
74028         * lib/error.c (error_tail): Move some declarations
74029         into inner scope where the local variables are used.
74030
74031 2003-09-26  Bruno Haible  <bruno@clisp.org>
74032
74033         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
74034         stpncpy().
74035         Don't define stpncpy through config.h; it's now done through stpncpy.h.
74036
74037 2003-09-26  Bruno Haible  <bruno@clisp.org>
74038
74039         * lib/stpncpy.h (gnu_stpncpy): New declaration.
74040         (stpncpy): Define as alias for gnu_stpncpy.
74041         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
74042
74043 2003-09-25  Simon Josefsson  <jas@extundo.com>
74044
74045         * lib/xgetdomainname.h: New file.
74046         * lib/xgetdomainname.c: New file.
74047
74048 2003-09-25  Simon Josefsson  <jas@extundo.com>
74049             Bruno Haible  <bruno@clisp.org>
74050
74051         * modules/getdomainname: New file.
74052         * modules/xgetdomainname: New file.
74053         * MODULES.html.sh (func_all_modules): Add getdomainname,
74054         xgetdomainname.
74055
74056 2003-09-25  Simon Josefsson  <jas@extundo.com>
74057             Bruno Haible  <bruno@clisp.org>
74058
74059         * m4/getdomainname.m4: New file.
74060
74061 2003-09-25  Simon Josefsson  <jas@extundo.com>
74062             Bruno Haible  <bruno@clisp.org>
74063
74064         * lib/getdomainname.h: New file.
74065         * lib/getdomainname.c: New file.
74066
74067 2003-09-25  Karl Berry  <karl@gnu.org>
74068
74069         * lib/argp-fmtstream.c, argp-help.c: update from libc.
74070
74071 2003-09-25  Karl Berry  <karl@gnu.org>
74072
74073         * config/install-sh: update from automake.
74074
74075 2003-09-25  Bruno Haible  <bruno@clisp.org>
74076
74077         * modules/version-etc-2: New file, from modules/version-etc with
74078         modifications.
74079         * MODULES.html.sh (func_all_modules): Add version-etc-2.
74080
74081 2003-09-25  Bruno Haible  <bruno@clisp.org>
74082
74083         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
74084         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
74085
74086 2003-09-24  Simon Josefsson  <jas@extundo.com>
74087
74088         * modules/xgethostname: Add xgethostname.h.
74089
74090 2003-09-24  Paul Eggert  <eggert@twinsun.com>
74091
74092         * lib/linebuffer.c (freebuffer): Don't free the argument, just
74093         the buffer associated with the argument.  Bug reported by
74094         Simon Josefsson.
74095
74096 2003-09-24  Paul Eggert  <eggert@twinsun.com>
74097
74098         * README: Document assumptions that 'int' is at least 32 bits
74099         wide, that integer arithmetic is 2's complement without overflow,
74100         that there are no holes in integer values, that adding sizes of
74101         two nonoverlapping objects can't overflow, and that all-bits-zero
74102         yields scalar zero.  Fix spelling and capitalization typos.
74103
74104 2003-09-19  Karl Berry  <karl@gnu.org>
74105
74106         * lib/argp.h: update from libc.
74107
74108 2003-09-17  Paul Eggert  <eggert@twinsun.com>
74109
74110         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
74111         to avoid spurious warnings like "AC_RUN_IFELSE was called before
74112         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
74113
74114 2003-09-17  Paul Eggert  <eggert@twinsun.com>
74115
74116         * gnulib-tool: Use "test -h", not "test -L", for portability
74117         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
74118         (tags_regexp): Remove, since \| doesn't conform to POSIX.
74119         (sed_extract_prog): Issue s commands one-by-one, rather than
74120         using \| in one s command.
74121
74122 2003-09-16  Paul Eggert  <eggert@twinsun.com>
74123
74124         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
74125         input error, instead of returning NULL the next time we are called
74126         (and therefore losing track of errno).
74127
74128 2003-09-16  Bruno Haible  <bruno@clisp.org>
74129
74130         * gnulib-tool (func_create_testdir): Warn about duplicated
74131         dependencies.
74132
74133 2003-09-15  Paul Eggert  <eggert@twinsun.com>
74134
74135         * modules/argmatch, modules/fatal, modules/obstack,
74136         modules/xalloc, modules/xgethostname: Sort dependencies by
74137         importance, not alphabetically.
74138
74139 2003-09-15  Paul Eggert  <eggert@twinsun.com>
74140
74141         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
74142         fails, so that the caller gets the proper errno.
74143
74144         * lib/readutmp.c (read_utmp): Likewise.
74145         Check for fstat error.  Close stream and free storage
74146         when failing.
74147
74148 2003-09-14  Karl Berry  <karl@gnu.org>
74149
74150         * config/srclist.txt (strdup.c): disable for c89 changes.
74151
74152 2003-09-14  Jim Meyering  <jim@meyering.net>
74153
74154         * lib/getloadavg.c: Correct cpp indentation.
74155         * lib/strdup.c: Likewise.
74156         * lib/vasnprintf.c: Likewise.
74157
74158 2003-09-14  Bruno Haible  <bruno@clisp.org>
74159
74160         * modules/fwriteerror: New file.
74161         * MODULES.html.sh (func_all_modules): Add fwriteerror.
74162
74163 2003-09-14  Bruno Haible  <bruno@clisp.org>
74164
74165         * lib/fwriteerror.h: New file.
74166         * lib/fwriteerror.c: New file.
74167
74168 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74169
74170         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
74171         modules/xgethostname, modules/xalloc: Depend on exit.
74172
74173 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74174
74175         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
74176
74177         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
74178         and AC_MINIX, too, so that their extensions are available.
74179
74180         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
74181         This macro has been superseded by gl_BACKUPFILE.
74182
74183         More patches to assume C89 or better.
74184
74185         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
74186
74187         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
74188         unconditionally.
74189         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
74190         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
74191         Include <string.h>, <stdlib.h> unconditionally.
74192         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
74193         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
74194         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
74195         headers or for string.h.
74196         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
74197         or strtoul.
74198
74199         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
74200         headers.
74201         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
74202         * m4/userspec.m4 (gl_USERSPEC): Likewise.
74203         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
74204         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
74205         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74206         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
74207         memcpy, memset.
74208         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
74209         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
74210         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
74211         strtol.
74212         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
74213         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
74214         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
74215         strtoul.
74216
74217 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74218
74219         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
74220         * lib/obstack.c [!defined _LIBC]: Likewise.
74221         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
74222         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
74223         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
74224
74225         More changes to assume C89 or better.
74226
74227         * lib/error.c (error_tail): Assume vprintf.
74228
74229         * lib/argmatch.c (getenv): Remove decl.
74230         * lib/progreloc.c (get_full_program_name): Define via prototype.
74231         * lib/setenv.c (clearenv): Likewise.
74232         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
74233         needed.
74234         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
74235         (malloc, memcpy): Remove decls.
74236         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
74237         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
74238         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
74239         (memcpy): Remove macro.
74240         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
74241         (__P): Remove.  All uses removed.
74242         (PTR): Remove.  All uses changed to void *.
74243         (CHAR_BIT, NULL): Remove.
74244         (spaces, zeros, memset_space, memset_zero)
74245         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
74246         Remove.
74247         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
74248         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
74249         Define with prototype.
74250         Remove now-unnecessary prototype decl.
74251         (extra_args_spec): Assume ANSI C.  All uses changed.
74252         (extra_args_spec_iso): Remove.
74253         (my_strftime, emacs_strftimeu): Define via prototype.
74254         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
74255         unconditionally.
74256         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
74257         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
74258         (strtoul, strtol): Remove decls.
74259         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
74260         LONG_MAX): Remove.
74261         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
74262         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
74263         (LOCALE_PARAM_PROTO): New macro.
74264         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
74265         (INTERNAL (strtol), strtol): Define with a prototype.
74266         (PARAMS): Remove.  All uses removed.
74267         * lib/tempname.c: Include <string.h> unconditionally.
74268         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
74269         * lib/xgethostname.c (main): Define with a prototype.
74270         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
74271         Include <stdlib.h> unconditionally.
74272         (calloc, malloc, realloc, free): Remove decls.
74273         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
74274         Include <stdlib.h> unconditionally.  Sort include file names.
74275         (strtod): Remove.
74276         (xstrtod): Define with a prototype.
74277         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
74278         (strtol, strtoul): Remove decls.
74279
74280 2003-09-11  Paul Eggert  <eggert@twinsun.com>
74281
74282         More patches to assume C89 or better.
74283         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
74284         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
74285         string.h, memchr, STDC_HEADERS.
74286
74287 2003-09-11  Paul Eggert  <eggert@twinsun.com>
74288
74289         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
74290         Include <stdlib.h>, <string.h> unconditionally.
74291         Remove now-unnecessary cast to char *.
74292         * lib/strnlen.c: Include <string.h> unconditionally.
74293         * lib/yesno.c (yesno): Define with a prototype.
74294
74295 2003-09-11  Bruno Haible  <bruno@clisp.org>
74296
74297         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
74298
74299 2003-09-10  Jim Meyering  <jim@meyering.net>
74300
74301         * lib/error.c: Correct indentation of cpp directives.
74302
74303 2003-09-10  Bruno Haible  <bruno@clisp.org>
74304
74305         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
74306         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
74307         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
74308         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
74309         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
74310         <stdlib.h> and <string.h> checks.
74311         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
74312         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
74313
74314 2003-09-10  Bruno Haible  <bruno@clisp.org>
74315
74316         * lib/strcspn.c: Include <string.h> unconditionally.
74317         * lib/strpbrk.c: Include <string.h> unconditionally.
74318         * lib/strstr.c: Include <string.h> unconditionally.
74319         * lib/unicodeio.c: Include <string.h> unconditionally.
74320         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
74321         * lib/unsetenv.c: Likewise.
74322         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
74323         * lib/yesno.c: Include <stdlib.h> unconditionally.
74324         (rpmatch): Add prototype.
74325
74326 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74327
74328         More patches to assume C89 or better.
74329         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
74330         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
74331         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
74332         or for string.h.
74333         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
74334         stdlib.h.
74335         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
74336         C headers.
74337         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
74338         string.h.
74339         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
74340         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
74341         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
74342         or for string.h.
74343         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
74344         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
74345         C headers.
74346         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
74347         memcpy.
74348         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
74349         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
74350         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
74351         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
74352         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
74353         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
74354         string.h, free.
74355         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
74356         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
74357         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
74358         C headers, or for string.h.
74359         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
74360         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
74361         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
74362         headers, memory.h, stdlib.h, string.h, strings.h.
74363         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
74364         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
74365         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
74366         strchr.
74367         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
74368         headers, memory.h, string.h.
74369         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
74370         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
74371         free.
74372         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
74373         headers.
74374         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
74375         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
74376         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
74377         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
74378         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
74379
74380 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74381
74382         More K&R removal.
74383
74384         * lib/acosl.c (main): Use a prototype.
74385         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
74386         tanl.c: Likewise.
74387
74388         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
74389
74390         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
74391         (getopt, etopt_long, getopt_long_only, _getopt_internal)
74392         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
74393         with a prototype.
74394         * lib/getopt.c (const): Remove macro.
74395         Include <string.h> unconditionally.
74396         (my_index): Remove; all uses changed to strchr.
74397         (strlen): Remove decl.
74398         (exchange): Remove forward decl; no longer needed.
74399         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
74400         Define with prototype.
74401         * lib/getopt1.c (const): Remove macro.
74402         (getopt_long, getopt_long_only, main): Define with prototype.
74403
74404         * lib/getugroups.c: Include <string.h> unconditionally.
74405
74406         * lib/getusershell.c: Include <stdlib.h> unconditionally.
74407         (getusershell, setusershell, endusershell, readname, main):
74408         Define with prototypes.
74409
74410         * lib/group-member.c: Include group-member.h first.
74411         Include <stdlib.h> unconditionally.
74412
74413         * lib/hard-locale.c: Include hard-locale.h first.
74414         Include <stdlib.h>, <string.h> unconditionally.
74415
74416         * lib/hash.c (free, malloc): Remove decls.
74417         Include <stdlib.h> unconditionally.
74418
74419         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
74420         (getenv): Do not declare.
74421
74422         * lib/idcache.c: Include <string.h> unconditionally.
74423
74424         * lib/long-options.c: Include long-options.h first, to test interface.
74425         Include <stdlib.h> unconditionally.
74426
74427         * lib/makepath.c: Include makepath.h first, to test interface.
74428         Include <stdlib.h> and <string.h> unconditionally.
74429
74430         * lib/linebuffer.c: Include <stdlib.h>.
74431         (free): Remove decl.
74432
74433         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
74434         stddef.h. rpl_malloc returns void *, not char *.
74435         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
74436         prototype.
74437
74438         * lib/md5.h: Include <limits.h> unconditionally.
74439         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
74440         (__P): Remove; all uses removed.
74441         * lib/md5.c: Include "md5.h" first.
74442         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
74443         md5_buffer, md5_process_bytes, md5_process_block):
74444         Define with prototypes.
74445         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
74446         * lib/sha.c: Include "sha.h" first.
74447         Include <stdlib.h>, <string.h> unconditionally.
74448
74449         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
74450         * lib/memcmp.c (__ptr_t): Likewise.
74451         * lib/memrchr.c (__ptr_t): Likewise.
74452         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
74453         Include <string.h> unconditionally.
74454         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
74455         * lib/memchr.c: Include <stdlib.h> unconditionally.
74456         * lib/memchr.c (LONG_MAX): Remove.
74457         * lib/memrchr.c (LONG_MAX): Likewise.
74458         * lib/memchr.c (__memchr): Define via a prototype.
74459         * lib/memrchr.c (__memrchr): Likewise.
74460         * lib/memcmp.c (__P): Remove, and remove all uses.
74461         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
74462         Remove forward decls; no longer needed.
74463         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
74464         Use types required by C89 in prototype.
74465
74466         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
74467         * lib/savedir.c: Likewise.
74468         * lib/mkdir.c (free): Remove decl.
74469         * lib/rmdir.c (rmdir): Define with a prototype.
74470         * lib/savedir.c: Include savedir.h first, to test interface.
74471
74472         * lib/mktime.c (STDC_HEADERS): Remove.
74473         Include <stdlib.h>, <string.h> unconditionally.
74474
74475         * lib/modechange.c: Include <stdlib.h> unconditionally.
74476         (malloc): Remove decl.
74477
74478         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
74479         (free): Remove decl.
74480
74481         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
74482         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
74483         (This type really should be intptr_t, but that's a C99ism.)
74484         (_obstack_memcpy): Remove: all uses changed to memcpy.
74485         Include <string.h> unconditionally.
74486         (struct obstack): Assume __STDC__ for types of members
74487         chunkfun, freefun, extra_arg.
74488         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
74489         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
74490         obstack_begin, obstack_specify_allocation,
74491         obstack_specify_allocation_with_arg, obstack_chunkfun,
74492         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
74493         Remove unprototyped decls and the macros that use them.
74494         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
74495         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
74496         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
74497         (defined __STDC__ && __STDC__)]:
74498         Remove nonprototyped code.
74499         Include <stdlib.h> unconditionally.
74500         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
74501         _obstack_allocated_p, _obstack_free, obstack_free,
74502         _obstack_memory_used, print_and_abort):
74503         Define using prototypes.
74504         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
74505         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
74506         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
74507         obstack_next_free, obstack_object_size, obstack_room) [0]:
74508         Remove unused, unprototyped code.
74509
74510         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
74511
74512         * lib/physmem.c (physmem_total, physmem_available, main): Define
74513         with prototypes.
74514
74515         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
74516         (main): Define with a prototype.
74517
74518         * lib/posixver.c (getenv): Remove decl.
74519
74520         * lib/putenv.c (malloc): Returns void *, not char *.
74521         Include <string.h> unconditionally.
74522         (strchr, memcpy, NULL): Do not define.
74523
74524         * lib/readtokens.c: Include readtokens.h first, to test interface.
74525         Include <stdlib.h>, <string.h> unconditionally.
74526         (init_tokenbuffer): Define with a prototype.
74527
74528         * lib/regex.c (PARAMS): Remove.  All uses removed.
74529         All uses of _RE_ARGS removed, too.
74530         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
74531         unconditionally.
74532         (bzero): Assume memset exists.
74533         (memcmp, memcpy, NULL): Remove.
74534         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
74535         char, or assignments to local vars of type signed char.
74536         (init_syntax_once, PREFIX(extract_number_and_incr),
74537         PREFIX(print_partial_compiled_pattern),
74538         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
74539         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
74540         PREFIX(regex_grow_registers), PREFIX(regex_compile),
74541         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
74542         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
74543         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
74544         wcs_compile_range, byte_compile_range, truncate_wchar,
74545         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
74546         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
74547         count_mbs_length, wcs_re_match_2_internal,
74548         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
74549         PREFIX(alt_match_null_string_p),
74550         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
74551         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
74552         regfree, PREFIX(extract_number)): Define with prototype.  Remove
74553         now-unnecessary declaration, if any.
74554         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
74555         regcomp, regexec):
74556         Remove now-unnecessary casts among pointer types.
74557         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
74558
74559         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
74560         (free): Remove decl.
74561
74562         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
74563
74564         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
74565         (free): Remove decl.
74566
74567         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
74568         * lib/xgetcwd.c: Likewise.
74569
74570         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
74571         (free): Remove decl.
74572
74573         * lib/strchrnul.c (strchrnul): Define with a prototype.
74574         Fix bug: c_in was not converted to char before searching.
74575
74576         The following changes are not K&R related:
74577
74578         * lib/group-member.h: Include <sys/types.h>, so that this file is
74579         self-contained.
74580         * lib/makepath.h: Likewise.
74581
74582         * lib/getusershell.c (readname, default_index, line_size, readname):
74583         Use size_t, not int, for sizes.
74584         (readname): If the size overflows, report an error instead of
74585         looping forever.
74586
74587 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74588
74589         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
74590         libc.
74591
74592 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74593
74594         * README: New section: portability guidelines.
74595
74596 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
74597
74598         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
74599         C89 spec.
74600
74601 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
74602
74603         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
74604
74605 2003-09-08  Paul Eggert  <eggert@twinsun.com>
74606
74607         Assume C89 or better; remove K&R cruft.
74608         A few of these changes were first proposed by Derek Robert Price
74609         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
74610
74611         * lib/addext.c: Include <string.h> unconditionally.
74612         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
74613         Don't declare getenv or malloc.
74614
74615         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
74616         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
74617         (NULL): Remove.
74618         (find_stack_direction, alloca): Use prototypes.
74619
74620         * lib/atexit.c (atexit): Define using a prototype.
74621
74622         * lib/basename.c, dirname.c, stripslash.c:
74623         Include <string.h> unconditionally.
74624
74625         * lib/bcopy.c: Include <stddef.h>.
74626         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
74627
74628         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
74629
74630         * lib/error.h (error, error_at_line, error_print_progname)
74631         [! (defined (__STDC__) && __STDC__)]: Remove decls.
74632         * lib/error.c: Include error.h first, to check interface.
74633         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
74634         (VA_START): Remove; all uses changeed to va_start.
74635         (exit, strerror): Remove decls.
74636         (error_print_progname): Prototype uncondionally.
74637         Don't include <errno.h>; no longer needed.
74638         (private_strerror): Remove.
74639         (error_tail): Always define.
74640         (error, error_at_line): Assume C89 or better; always use prototypes.
74641         * lib/fatal.c: Include "fatal.h" first, to test interface.
74642         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
74643         (VA_START): Remove; all uses changed to va_start.
74644         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
74645         this case.
74646         (exit): Remove decl.
74647         (fatal): Prototype unconditionally.  Assume va_start works.
74648         Abort at end, to pacify gcc.
74649
74650         * lib/euidaccess.c (main): Define with a prototype.
74651
74652         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
74653
74654         * lib/exitfail.c: Include <stdlib.h> unconditionally.
74655
74656         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
74657         prototypes.
74658         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
74659         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
74660         (getenv): Remove decl.
74661         (fnmatch): Define using a prototype.
74662         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
74663         (FCT): Define using a prototype.
74664
74665         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
74666
74667         * lib/gethostname.c: Include <stddef.h>.
74668         (gethostname): Define with prototype.  Length is size_t, not int.
74669
74670 2003-09-08  Paul Eggert  <eggert@twinsun.com>
74671
74672         Assume C89 or better; remove K&R cruft.
74673         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
74674         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
74675         string.h, getenv, malloc.
74676         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
74677         headers.
74678         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
74679         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
74680         do not check for strerror.
74681         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
74682         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
74683         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
74684         do not check for doprnt or vprintf.
74685         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
74686         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
74687
74688 2003-09-08  Paul Eggert  <eggert@twinsun.com>
74689
74690         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
74691         getversion.c should have been removed then, but was accidentally
74692         preserved.
74693
74694         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
74695         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
74696
74697 2003-09-08  Karl Berry  <karl@gnu.org>
74698
74699         * config/config.sub, config.guess, srclistvars.sh: update from savannah
74700                 config, forget about prep.
74701
74702         * config/depcomp, missing: update from automake.
74703
74704 2003-09-07  Paul Eggert  <eggert@twinsun.com>
74705
74706         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
74707         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
74708
74709 2003-09-07  Paul Eggert  <eggert@twinsun.com>
74710
74711         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
74712         copy_tm_result.  Bug reported by Simon Josefsson in
74713         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
74714
74715 2003-09-06  Paul Eggert  <eggert@twinsun.com>
74716
74717         * m4/time_r.m4: New file.
74718         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
74719         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
74720         is. Check for timegm declaration.
74721         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
74722         Do not check for gmtime_r.
74723         Replace mktime if __mktime_internal does not exist and if mktime
74724         hasn't been replaced already.
74725
74726 2003-09-06  Paul Eggert  <eggert@twinsun.com>
74727
74728         * lib/time_r.c, lib/time_r.h: New files.
74729
74730         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
74731         __localtime_r.
74732         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
74733         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
74734
74735         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
74736         __gmtime_r.
74737         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
74738         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
74739         Include <time_r.h>.
74740
74741         * lib/timegm.c: Switch to glibc implementation, with the following
74742         changes:
74743         [defined HAVE_CONFIG_H]: Include <config.h>.
74744         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
74745         (__mktime_internal) [!defined _LIBC]: New decl.
74746         (__gmtime_r) [!defined _LIBC]: New macro and function.
74747         (timegm): Use a prototype, since gnulib assumes C89.
74748         Do not bother declaring tmp to be const, as it's not really usefu.
74749         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
74750         (timegm): Declare only if HAVE_DECL_TIMEGM.
74751
74752 2003-09-06  Paul Eggert  <eggert@twinsun.com>
74753
74754         * MODULES.html.sh (func_all_modules): Add time_r.
74755         * modules/time_r: New file.
74756         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
74757         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
74758
74759 2003-09-03  Paul Eggert  <eggert@twinsun.com>
74760
74761         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
74762         Bug reported by Lute Kamstra in
74763         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
74764
74765         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
74766         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
74767         course with correspondingly smaller numbers for tomorrow and
74768         yesterday.  From Tadayoshi Funaba.  Originally installed into
74769         sh-utils on 1999-08-07, but the patch got lost (I guess during the
74770         coreutils merge?).
74771
74772 2003-08-31  Simon Josefsson  <jas@extundo.com>
74773
74774         * modules/timegm: New file.
74775         * MODULES.html.sh (func_all_modules): Add timegm.
74776
74777 2003-08-31  Simon Josefsson  <jas@extundo.com>
74778
74779         * m4/timegm.m4: New file.
74780
74781 2003-08-31  Simon Josefsson  <jas@extundo.com>
74782
74783         * lib/timegm.h: New file.
74784         * lib/timegm.c: New file.  Based on
74785         wget-1.8.2/src/http.c:mktime_from_utc.
74786
74787 2003-08-31  Karl Berry  <karl@gnu.org>
74788
74789         * lib/argp.h: update from libc.
74790
74791 2003-08-28  Bruno Haible  <bruno@clisp.org>
74792
74793         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
74794         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
74795         followed by '#define fnmatch fnmatch_posix' gives an error.
74796
74797 2003-08-28  Bruno Haible  <bruno@clisp.org>
74798
74799         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
74800         warning on QNX, which defines O_BINARY to 000000.
74801
74802 2003-08-27  Jim Meyering  <jim@meyering.net>
74803
74804         * m4/mkstemp.m4: Require that the system mkstemp be able to create
74805         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
74806         would fail after 32.  Reported by Danny Levinson.  Details here:
74807         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
74808
74809 2003-08-24  Bruno Haible  <bruno@clisp.org>
74810
74811         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
74812         MSVC7 <stdio.h> is included later.
74813
74814 2003-08-22  Simon Josefsson  <jas@extundo.com>
74815
74816         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
74817
74818 2003-08-20  Karl Berry  <karl@gnu.org>
74819
74820         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
74821
74822 2003-08-20  Bruno Haible  <bruno@clisp.org>
74823
74824         * modules/progname: New file.
74825         * MODULES.html.sh (func_all_modules): Add progname.
74826
74827 2003-08-20  Bruno Haible  <bruno@clisp.org>
74828
74829         * lib/progname.h: New file, from GNU gettext.
74830         * lib/progname.c: New file, from GNU gettext.
74831         * lib/progreloc.c: New file, from GNU gettext.
74832
74833 2003-08-19  Jim Meyering  <jim@meyering.net>
74834
74835         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
74836         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
74837
74838 2003-08-19  Bruno Haible  <bruno@clisp.org>
74839
74840         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
74841         more.
74842
74843 2003-08-19  Bruno Haible  <bruno@clisp.org>
74844
74845         * lib/xstrdup.c: Assume <string.h> exists.
74846
74847 2003-08-18  Paul Eggert  <eggert@twinsun.com>
74848
74849         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
74850         in makefile rules.
74851
74852 2003-08-18  Jim Meyering  <jim@meyering.net>
74853
74854         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
74855         * m4/lib-ld.m4: Likewise.
74856
74857 2003-08-18  Jim Meyering  <jim@meyering.net>
74858
74859         * lib/setenv.h: Indent nested cpp directive.
74860         * lib/vasnprintf.c: Remove trailing blanks.
74861
74862 2003-08-17  Simon Josefsson  <jas@extundo.com>
74863
74864         * modules/xstrndup: New file.
74865         * MODULES.html.sh (func_all_modules): Add xstrndup.
74866
74867 2003-08-17  Simon Josefsson  <jas@extundo.com>
74868
74869         * modules/argp: Fix autoconf macro name. Add more dependencies.
74870
74871 2003-08-17  Simon Josefsson  <jas@extundo.com>
74872
74873         * m4/xstrndup.m4: New file.
74874
74875 2003-08-17  Simon Josefsson  <jas@extundo.com>
74876
74877         * m4/argp.m4: New file.
74878
74879 2003-08-17  Simon Josefsson  <jas@extundo.com>
74880             Bruno Haible  <bruno@clisp.org>
74881
74882         * lib/xstrndup.h: New file.
74883         * lib/xstrndup.c: New file.
74884
74885 2003-08-17  Bruno Haible  <bruno@clisp.org>
74886
74887         * modules/strndup (Files, Include): Add lib/strndup.h.
74888
74889 2003-08-17  Bruno Haible  <bruno@clisp.org>
74890
74891         * modules/euidaccess (Files): Add lib/euidaccess.h.
74892
74893 2003-08-17  Bruno Haible  <bruno@clisp.org>
74894
74895         * lib/strndup.h: New file.
74896
74897 2003-08-17  Bruno Haible  <bruno@clisp.org>
74898
74899         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
74900         like AC_GNU_SOURCE.
74901         * modules/extensions (configure.ac): Comment out the invocation of
74902         gl_USE_SYSTEM_EXTENSIONS.
74903
74904 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74905
74906         Merges from coreutils, etc.
74907         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
74908         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
74909         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
74910         fixing a typo.
74911         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
74912         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
74913
74914 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74915
74916         Document merge from coreutils.
74917         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
74918         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
74919         * modules/utime: Add m4/utimes-null.m4.
74920
74921 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74922
74923         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
74924         space, undoing this 2003-08-12 change:
74925         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
74926
74927 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74928
74929         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
74930         strtoul.c from libc, undoing this 2003-08-12 change:
74931         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
74932
74933 2003-08-16  Jim Meyering  <jim@meyering.net>
74934
74935         Merges from coreutils.
74936         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
74937         prefix.  Adjust cache variables similarly.  Create 500 rather than
74938         just 300 files, to exercise bug on Darwin6.5, too.
74939         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
74940         $missing_dir.
74941         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
74942         AM_SYS_POSIX_TERMIOS.
74943         Reported by mkc@mathdogs.com.
74944         Also change use of $am_cv_sys_posix_termios
74945         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
74946         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
74947         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
74948         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
74949         in /proc/mounts until it finds one with matching device number.  This
74950         is unnecessary when the FILE argument *is* a mount point.  No stat call
74951         is necessary in that case.  So, disable the statvfs-testing code on
74952         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
74953         as RedHat bug# 84846.
74954         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
74955         to 1MB, so as not to render systems with no stack size limit (e.g.,
74956         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
74957         Include <unistd.h>.  On some systems,
74958         it is required for the definition of _SC_PAGESIZE.
74959
74960 2003-08-16  Jim Meyering  <jim@meyering.net>
74961
74962         Merge from coreutils.
74963         * lib/xstrtoimax.c: #else #if -> #elif.
74964         * lib/xstrtoumax.c: Likewise.
74965
74966 2003-08-16  Jim Meyering  <jim@meyering.net>
74967
74968         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
74969         * m4/utimes.m4: Removed.
74970         * m4/utimes-null.m4: Renamed from utimes.m4.
74971
74972         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
74973         to 1MB, so as not to render systems with no stack size limit (e.g.,
74974         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
74975         Include <unistd.h>.  On some systems,
74976         it is required for the definition of _SC_PAGESIZE.
74977
74978 2003-08-16  Jim Meyering  <jim@meyering.net>
74979         and Paul Eggert  <eggert@cs.ucla.edu>
74980
74981         Merges from coreutils, etc.
74982
74983         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
74984         using the latest version from cvs.  This avoids problems with #line
74985         directives using a vendor (Sun) compiler.
74986         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
74987         Don't set GETGROUPS_LIB here; now it's
74988         done via getgroups.m4's wrapper function.
74989         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
74990         rather than just in sh-util/configure.in, so that the
74991         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
74992         same.
74993         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
74994         AC_FUNC_GETLOADAVG where to find getloadavg.c.
74995         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
74996         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
74997         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
74998         Remove code that is now done by the newly-required macros.
74999         Append $(EXEEXT) to DF_PROG.
75000         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
75001         Do not invoke or require the following here,
75002         since prereq.m4 or some gnulib .m4 now does this for us:
75003         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
75004         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
75005         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
75006         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
75007         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
75008         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
75009         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
75010         AC_FUNC_OBSTACK.
75011         Do not replace the following functions, as this is now the job
75012         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
75013         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
75014         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
75015         atexit getpass, strdup, getpagesize.
75016         Replace 'raise'.
75017         Do not check for the following functions, as this is now the job
75018         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
75019         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
75020         setregid.
75021         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
75022         Check for sys/sysctl.h.
75023         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
75024         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
75025         of checking for ssize_t ourselves.
75026
75027         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
75028         Require every macro that gnulib/modules/* suggests for us.
75029         (jm_PREREQ_ADDEXT): New macro.
75030         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
75031         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
75032
75033         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
75034         (gl_PHYSMEM): Use it.
75035         Also check for `table' function.
75036         Check for new headers and functions.
75037         Add check for sys/sysmp.h.
75038         With suggestions from Kaveh Ghazi.
75039         Ignore headers that are present but cannot be compiled.  This
75040         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
75041         C 5.4.
75042
75043 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75044
75045         Document merge from coreutils.
75046         * modules/userspec: Depend on posixver.
75047         * modules/strftime: Depend on tzset.
75048
75049 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75050
75051         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
75052         rather than tab, after '#' in shell-script copyright notices.
75053         Suggested by Bruno Haible.
75054
75055 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75056
75057         * config/srclist-update: Use three spaces, rather than tab, after '#'
75058         in shell-script copyright notices.  Suggested by Bruno Haible.
75059         Remove unnecessary parenthesization in regular expression.
75060
75061 2003-08-15  Jim Meyering  <jim@meyering.net>
75062
75063         Merge from coreutils.
75064         * lib/xgethostname.c: Include <stdlib.h>.
75065         (xghostname): Don't exit for anything other than memory-related
75066         failure; just return NULL.
75067         * lib/userspec.c: Include "posixver.h".
75068         (parse_user_spec): Accept `.' as a separator only
75069         in pre-POSIX-200112 mode.
75070         * lib/strtoimax.c: Use #elif rather than #else #if.
75071         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
75072         Remove function, now that we can rely on a working tzset function.
75073         [!_LIBC]: Ensure that the required autoconf test has been run.
75074         [!defined _NL_CURRENT && HAVE_STRFTIME]:
75075         Use underlying_strftime for %r.
75076         * lib/sha.c: Merge in some clean-up and optimization changes from
75077         glibc.
75078         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
75079         Ensure that it is a multiple of 64.
75080         Rearrange loop exit tests so as to avoid performing an
75081         additional fread after encountering an error or EOF.
75082         * lib/realloc.c: Update copyright date.
75083
75084 2003-08-15  Jim Meyering  <jim@meyering.net>
75085         and Paul Eggert  <eggert@twinsun.com>
75086
75087         Merge from coreutils.
75088         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
75089         member but strut utmpx does not.  Needed for AIX 4.3.3.
75090         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
75091
75092 2003-08-15  Jim Meyering  <jim@meyering.net>
75093         and Paul Eggert  <eggert@cs.ucla.edu>
75094
75095         Merges from coreutils, etc.
75096         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
75097         Require gl_FUNC_TZSET_CLOBBER.
75098         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
75099         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
75100         members.
75101
75102 2003-08-14  Paul Eggert  <eggert@twinsun.com>
75103
75104         Help the merge from coreutils.
75105         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
75106         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
75107         * m4/tzset.m4: Use it too.
75108
75109 2003-08-14  Paul Eggert  <eggert@twinsun.com>
75110
75111         * modules/tzset: New file.
75112
75113 2003-08-14  Jim Meyering  <jim@meyering.net>
75114
75115         Merges from coreutils.
75116         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
75117         variable names, rather than @FNMATCH_H@.
75118         * modules/alloca: Likewise for $(ALLOCA_H).
75119
75120         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
75121         the three copies of the literal target, `fnmatch.h'.
75122         * modules/alloca (alloca.h): Likewise.
75123
75124 2003-08-14  Jim Meyering  <jim@meyering.net>
75125
75126         Merge from coreutils.
75127         * m4/tzset.m4: New file.
75128         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
75129         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
75130         otherwise, AIX 5.1 systems would end up using the latter.
75131         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
75132         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
75133         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
75134         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
75135
75136 2003-08-14  Jim Meyering  <jim@meyering.net>
75137
75138         Merge from coreutils.
75139         * lib/obstack.h: Whitespace changes.
75140         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
75141         and xcalloc return values.
75142         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
75143         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
75144         hang on OSF/1 5.1 for DIR on both local and remote file systems.
75145         Reported by (and fix confirmed by) Nelson H. F. Beebe.
75146         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
75147         error from mntctl.
75148         Use mntctl's return value to drive the entry-processing loop, since
75149         we can't rely on the value of the vmt_length member in the last
75150         entry.  On some systems doing so could result in exhausting
75151         virtual memory.  Based in part on a patch from Mike Jetzer.
75152
75153 2003-08-14  Jim Meyering  <jim@meyering.net>
75154         and Paul Eggert  <eggert@twinsun.com>
75155
75156         Merges from coreutils, plus other fixes.
75157         * lib/physmem.c: Merge in portability changes from gcc/libiberty
75158         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
75159         for credits and details.  Thanks to Kaveh Ghazi for helping
75160         to keep these files in sync.
75161         (ARRAY_SIZE): Define it.
75162         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
75163         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
75164         (memcasecmp): Don't assume size_t fits in unsigned int.
75165         Remove casts and duplicate code.
75166         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
75167         (memcpy): Remove definition.
75168         Merge in some clean-up and optimization changes from glibc.
75169         [BLOCKSIZE]: Move definition to top of file.
75170         Ensure that it is a multiple of 64.
75171         Rearrange loop exit tests so as to avoid performing an
75172         additional fread after encountering an error or EOF.
75173         * lib/md5.h (md5_uintptr): Define.
75174         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
75175         return to the initial working directory.  Preserve errno
75176         for caller.
75177         * lib/idcache.c: Include "xalloc.h".
75178         (xmalloc, xrealloc): Remove decls.
75179         (getuser): Remove casts no longer required in C89.
75180         * lib/human.c: Include stdio.h, for sprintf.
75181         * lib/group-member.c: Include "xalloc.h".
75182         (xmalloc, xrealloc): Remove decls.
75183         (get_group_info): Remove casts no longer required in C89.
75184         * lib/getusershell.c (readname): Remove casts no longer required in
75185         C89.
75186         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
75187         * lib/getline.c: Whitespace fix, from coreutils.
75188
75189 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75190
75191         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
75192         Check for isascii.
75193
75194         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
75195         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
75196         Undo previous (whitespace-only) change.
75197
75198 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75199
75200         * lib/exclude.c: Include <ctype.h>
75201         (IN_CTYPE_DOMAIN): New macro.
75202         (is_space): New fn.
75203         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
75204         and empty lines.
75205
75206         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
75207         Undo previous (whitespace-only) change.
75208
75209 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75210
75211         * config/srclist-update: Change update back to the old behavior,
75212         leaving whitespace alone.  Use one 'sed' command rather than a
75213         pipeline.
75214         (fixlicense): Now a variable, not a function.
75215         (remove_trailing_blanks): Remove.
75216         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
75217         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
75218         Undo previous (whitespace-only) change.
75219
75220 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75221
75222         Merge from coreutils.
75223         * modules/euidaccess: Add lib_SOURCES, include for new
75224         file euidaccess.h
75225
75226 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75227
75228         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
75229         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
75230         Normalize leading white space and remove trailing white space.
75231
75232         Merge from coreutils
75233         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
75234
75235         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
75236         0.12.1.  These files are now being upgraded automatically by
75237         ../config/srclist-update.
75238
75239 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75240
75241         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
75242         Normalize leading white space and remove trailing white space.
75243         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
75244         notice, as per ../config/srclist-update.
75245
75246         Merge from coreutils.
75247         * lib/euidaccess.h: New file.
75248         * lib/euidaccess.c: Include it.
75249         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
75250         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
75251         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
75252
75253 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75254
75255         * config/srclist-update: Add copyright notice.
75256         (remove_id_lines, remove_trailing_blanks): New constants.
75257         (fixfile): Use them to normalize spacing a bit in copied files.
75258         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
75259         Normalize leading white space and remove trailing white space.
75260
75261         * config/texinfo.tex: Sync with texinfo.
75262
75263         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
75264         strtoul.c from libc, to merge coreutils whitespace changes.
75265
75266         * config/srclist.txt: Get the following m4 files from gettext:
75267         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
75268         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
75269         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
75270         wint_t.m4.
75271
75272 2003-08-12  Karl Berry  <karl@gnu.org>
75273
75274         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
75275         been made.
75276
75277 2003-08-11  Paul Eggert  <eggert@twinsun.com>
75278
75279         * modules/gnu-source, m4/gnu-source.m4:
75280         Remove; we're assuming Autoconf 2.54 or later now.
75281         Suggested by Bruno Haible.
75282         * MODULES.html.sh (func_all_modules): Remove gnu-source.
75283
75284 2003-08-11  Bruno Haible  <bruno@clisp.org>
75285
75286         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
75287
75288 2003-08-11  Bruno Haible  <bruno@clisp.org>
75289
75290         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
75291         (vasnprintf): Use it instead of wcslen.
75292
75293 2003-08-11  Bruno Haible  <bruno@clisp.org>
75294
75295         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
75296         value to ensure that _Bool promotes to int. Use #define for _Bool when
75297         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
75298
75299 2003-08-10  Karl Berry  <karl@gnu.org>
75300
75301         * lib/regex.h: update from libc (whitespace fix).
75302
75303 2003-08-09  Paul Eggert  <eggert@twinsun.com>
75304
75305         Merge some files from coreutils.  These changes were
75306         originally made by Jim Meyering.
75307         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
75308         many older Unixes require this.
75309         * lib/alloca.c (alloca): Remove cast to argument of free;
75310         no longer needed in C89.
75311         * lib/alloca_.h, regex.h: Fix white space to match
75312         what GNU indent does.
75313
75314 2003-08-09  Paul Eggert  <eggert@twinsun.com>
75315
75316         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
75317         apparently Emacs's Unicode mode got confused before my 2003-08-05
75318         checkin.
75319
75320 2003-08-08  Paul Eggert  <eggert@twinsun.com>
75321
75322         * m4/extensions.m4: New file.
75323         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
75324         Require gl_USE_SYSTEM_EXTENSIONS.
75325         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
75326         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
75327
75328 2003-08-08  Paul Eggert  <eggert@twinsun.com>
75329
75330         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
75331         * modules/extensions, modules/gnu-source: New files.
75332         * modules/timespec, modules/unlocked-io: Depend on extensions.
75333
75334 2003-08-07  Paul Eggert  <eggert@twinsun.com>
75335
75336         * modules/restrict: New file.
75337         * MODULES.html.sh (func_all_modules): Add restrict.
75338         * modules/regex: Depend on restrict.
75339
75340 2003-08-07  Paul Eggert  <eggert@twinsun.com>
75341
75342         * m4/restrict.m4: New file.
75343         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
75344
75345 2003-08-07  Bruno Haible  <bruno@clisp.org>
75346
75347         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
75348         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
75349
75350 2003-08-07  Bruno Haible  <bruno@clisp.org>
75351
75352         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
75353         makes the module 'getndelim2' compatible with the module 'getline'.
75354
75355 2003-08-05  Paul Eggert  <eggert@twinsun.com>
75356
75357         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
75358         byte with "\201" to avoid glitches when editing that source file
75359         with multi-gnome-terminal.
75360
75361 2003-08-05  Paul Eggert  <eggert@twinsun.com>
75362
75363         * lib/bumpalloc.h: Remove.
75364
75365 2003-08-05  Paul Eggert  <eggert@twinsun.com>
75366
75367         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
75368         * modules/bumpalloc: Remove.
75369
75370 2003-08-04  Paul Eggert  <eggert@twinsun.com>
75371
75372         * lib/getloadavg.c: Change copyright notice and spacing to conform to
75373         GNU coding style.
75374
75375         Merge from coreutils.
75376         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
75377         1. From glibc.
75378         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
75379         from Karl Berry, implemented by Jim Meyering.
75380         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
75381         from Dmitry V. Levin.
75382         Remove anachronistic cast of xrealloc.
75383         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
75384         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
75385         type. Otherwise, it wouldn't compile with at least /bin/cc on
75386         ymp-cray-unicos9.0.2.X.
75387         Combine two mostly-identical uses of alloca into one.
75388         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
75389
75390 2003-08-04  Dave Love  <d.love@dl.ac.uk>
75391
75392         [From Emacs.]
75393
75394         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
75395         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
75396         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
75397         obsolete NLIST_NAME_UNION.
75398         [__GNU__]: Undef BSD and FSCALE.
75399         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
75400
75401 2003-08-03  Paul Eggert  <eggert@twinsun.com>
75402
75403         * lib/stdbool_.h (_Bool): Make it signed char, instead of
75404         an enum type, so that it's guaranteed to promote to int.  See:
75405         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
75406
75407 2003-08-03  Karl Berry  <karl@gnu.org>
75408
75409         * config/depcomp: update from automake.
75410
75411 2003-07-31  Paul Eggert  <eggert@twinsun.com>
75412
75413         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
75414         (strerror): Don't assume that a printable int fits in 14 bytes.
75415
75416 2003-07-31  Bruno Haible  <bruno@clisp.org>
75417
75418         * modules/getpass-gnu: New file.
75419         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
75420
75421 2003-07-31  Bruno Haible  <bruno@clisp.org>
75422
75423         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
75424
75425 2003-07-24  Karl Berry  <karl@gnu.org>
75426
75427         * config/missing: update from automake.
75428
75429 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
75430             Bruno Haible  <bruno@clisp.org>
75431
75432         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
75433         * lib/getline.c (getline, getdelim): Likewise.
75434         Remove _GNU_SOURCE define; now it's defined in config.h through
75435         m4/getline.m4.
75436
75437 2003-07-23  Karl Berry  <karl@gnu.org>
75438
75439         * config/config.sub: update from prep.
75440
75441 2003-07-22  Paul Eggert  <eggert@twinsun.com>
75442
75443         * modules/xalloc (Depends-on): Add exitfail.
75444         * modules/xmemcoll: Likewise.
75445
75446 2003-07-22  Paul Eggert  <eggert@twinsun.com>
75447
75448         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
75449         over-parenthesization in macros.
75450
75451         Sync with coreutils.
75452
75453         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
75454         required by C99.
75455
75456         Use `exit_failure' for xalloc and xmemcoll instead of their own
75457         private exit-failure variables.
75458         * lib/xalloc.h (xalloc_exit_failure): Remove.
75459         * lib/xmalloc.c: Likewise.  Include exitfail.h.
75460         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
75461         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
75462         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
75463         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
75464
75465 2003-07-20  Jim Meyering  <jim@meyering.net>
75466
75467         * modules/closeout (Depends-on): Add exitfail.
75468         Suggestion from Bruno Haible.
75469
75470 2003-07-19  Karl Berry  <karl@gnu.org>
75471
75472         * config/config.sub: update from prep.
75473
75474 2003-07-18  Paul Eggert  <eggert@twinsun.com>
75475
75476         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
75477         Remove.
75478         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
75479         to test that it can stand by itself.  Include "exitfail.h".
75480         Clients should set exit_failure instead.
75481         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
75482
75483 2003-07-18  Bruno Haible  <bruno@clisp.org>
75484
75485         * modules/getndelim2: New file.
75486         * modules/getline: Share files with module getndelim2.
75487         * modules/getnline: Depend on getndelim2 instead of sharing files with
75488         it. Add getnline.c to lib_SOURCES.
75489         * MODULES.html.sh (func_all_modules): Add getndelim2.
75490
75491 2003-07-18  Bruno Haible  <bruno@clisp.org>
75492
75493         * m4/getndelim2.m4: New file.
75494         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
75495         invoke gl_PREREQ_GETNDELIM2.
75496         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
75497         gl_PREREQ_GETNDELIM2.
75498         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
75499         gl_GETNDELIM2.
75500
75501 2003-07-18  Bruno Haible  <bruno@clisp.org>
75502
75503         * lib/getndelim2.h: New file.
75504         * lib/getndelim2.c: Make into a module of its own. Include config.h,
75505         getndelim2.h.
75506         (getndelim2): Make non-static. Change return type to ssize_t.
75507         * lib/getline.h: Change argument names.
75508         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
75509         * lib/getnline.c: Include getndelim2.h.
75510
75511 2003-07-18  Andreas Schwab  <schwab@suse.de>
75512
75513         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
75514
75515 2003-07-17  Karl Berry  <karl@gnu.org>
75516
75517         * config/config.sub: update from prep.
75518
75519 2003-07-17  Bruno Haible  <bruno@clisp.org>
75520
75521         * modules/getnline: New file.
75522         * modules/getline: Add lib/getndelim2.c to source file list.
75523         * MODULES.html.sh (func_all_modules): Add getnline.
75524
75525 2003-07-17  Bruno Haible  <bruno@clisp.org>
75526
75527         * m4/getnline.m4: New file.
75528
75529 2003-07-17  Bruno Haible  <bruno@clisp.org>
75530
75531         * m4/Makefile.am.in: Remove file.
75532         * m4/Makefile.am: Remove file.
75533         * m4/Makefile.in: Remove file.
75534
75535 2003-07-17  Bruno Haible  <bruno@clisp.org>
75536
75537         * lib/getnline.h: New file.
75538         * lib/getnline.c: New file.
75539         * lib/getndelim2.c: New file, extracted from getline.c.
75540         (getndelim2): Renamed from getdelim2, with added nmax argument.
75541         * lib/getline.c: Include getndelim2.c.
75542         (getdelim2): Moved out to getndelim2.c.
75543         (getline, getdelim): Update.
75544
75545 2003-07-17  Bruno Haible  <bruno@clisp.org>
75546
75547         * lib/Makefile.am: Remove file.
75548         * lib/Makefile.in: Remove file.
75549
75550 2003-07-17  Bruno Haible  <bruno@clisp.org>
75551
75552         * configure.in: Remove file.
75553         * Makefile.in: Remove file.
75554
75555 2003-07-17  Bruno Haible  <bruno@clisp.org>
75556
75557         * MODULES.html.sh: Put the </BODY> right before </HTML>.
75558
75559 2003-07-16  Karl Berry  <karl@gnu.org>
75560
75561         * config/srclist-update: was running fixlicense twice, which caused
75562                 texinfo.tex to be nullified for some reason.  Simplify,
75563                 $gplsrc is no longer needed as far as I can see?
75564
75565 2003-07-16  Jim Meyering  <jim@meyering.net>
75566
75567         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
75568
75569 2003-07-15  Paul Eggert  <eggert@twinsun.com>
75570
75571         * config/srclist.txt: Get the following files from gettext-runtime/intl
75572         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
75573         ref-del.sin.  From Bruno Haible.
75574         * config/srclist-update (fixfile): Change grep pattern again, since the
75575         previous fix didn't work (there was another trailing $).  Use
75576         '[$]' to escape the $s.
75577
75578 2003-07-15  Karl Berry  <karl@gnu.org>
75579
75580         * lib/vasnprintf.c: update from gettext.
75581
75582 2003-07-15  Karl Berry  <karl@gnu.org>
75583
75584         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
75585         gets expanded when surrounded by '$'.
75586
75587 2003-07-15  Jim Meyering  <jim@meyering.net>
75588
75589         * modules/save-cwd: Don't depend on error.  From Derek Price.
75590
75591 2003-07-15  Jim Meyering  <jim@meyering.net>
75592
75593         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
75594
75595 2003-07-14  Simon Josefsson  <jas@extundo.com>
75596
75597         * modules/mempcpy: New file.
75598         * MODULES.html.sh (func_all_modules): Add mempcpy.
75599
75600 2003-07-14  Simon Josefsson  <jas@extundo.com>
75601
75602         * m4/mempcpy.m4: New file.
75603
75604 2003-07-14  Simon Josefsson  <jas@extundo.com>
75605
75606         * lib/mempcpy.h: New file.
75607         * lib/mempcpy.c: New file.
75608
75609 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75610
75611         * modules/getdate, modules/posixtm: Depend on mktime.
75612
75613 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75614
75615         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
75616         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
75617         unicodeio.c, unicodeio.h, unlocked-io.h:
75618         Switch from LGPL to GPL.
75619
75620 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75621
75622         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
75623         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
75624         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
75625         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
75626         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
75627         updated automatically by ../config/srclist-update.  This changes
75628         their license from LPGL to GPL.
75629
75630 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75631
75632         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
75633         assumed to refer to the root of the most recent stable gettext version.
75634         * config/srclistvars.sh: Add defaults for eggert.
75635         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
75636         Match "This program" as well as "The program".  This is needed
75637         for gettext.
75638
75639 2003-07-14  Jim Meyering  <jim@meyering.net>
75640
75641         Don't emit diagnostics.  Let callers do that.
75642         * lib/save-cwd.c: Don't include "error.h".
75643         (save_cwd): Don't call error.  Ensure that errno is valid
75644         when returning nonzero.
75645
75646         * lib/save-cwd.h (restore_cwd): Update prototype.
75647         * lib/save-cwd.c (restore_cwd): Remove two parameters.
75648         Simplify.  Don't call error upon failure.  Let callers do that.
75649         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
75650         when auditing is enabled.  But don't bother updating the #if.
75651
75652 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
75653
75654         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
75655         it breaks C++ compilation.
75656         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
75657
75658 2003-07-10  Simon Josefsson  <jas@extundo.com>
75659
75660         * modules/strchrnul (Makefile.am): Add strchrnul.h.
75661
75662 2003-07-10  Jim Meyering  <jim@meyering.net>
75663
75664         * m4/clock_time.m4: Remove trailing blank.
75665         * m4/intmax_t.m4: Likewise.
75666
75667 2003-07-10  Jim Meyering  <jim@meyering.net>
75668
75669         * lib/vasnprintf.c: Remove trailing blanks.
75670         Make cpp indentation consistent.
75671
75672 2003-07-09  Paul Eggert  <eggert@twinsun.com>
75673
75674         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
75675         posixver.c, strftime.c, strnlen.c, strverscmp.c:
75676         Switch from LGPL to GPL.
75677
75678 2003-07-09  Paul Eggert  <eggert@twinsun.com>
75679
75680         * config/srclist.txt: Sort sublists.  Add
75681         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
75682         that differ from gnulib for one reason or another; we'd like this list
75683         to be smaller but for now let's document what we have.
75684
75685 2003-07-08  Paul Eggert  <eggert@twinsun.com>
75686
75687         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
75688         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
75689         and sweeter "eval x=$x".
75690         * config/srclist.txt: Get lib/argp* from glibc.
75691
75692 2003-07-07  Paul Eggert  <eggert@twinsun.com>
75693
75694         * lib/mktime.c: Fix some boundary cases and remove need for floating
75695         point.
75696
75697         Issue a compile-time diagnostic if time_t is floating point, or if
75698         two's complement arithmetic is not in effect, or if arithmetic
75699         right shift does not propagate the sign.  These assumptions were
75700         all in the original code but they weren't checked.
75701
75702         (TIME_T_MIDPOINT, verify): New macros.
75703         (__isleap): Remove; it has integer overflow problems.
75704         (leapyear): New function, without those problems.
75705         (ydhms_tm_diff): Remove; splitting into two parts.
75706         (ydhms_diff): New function, containing the arithmetic part of
75707         the old ydhms_tm_diff function.  Issue a compile-time
75708         diagnostic if we are not using C99 integer division.
75709         Avoid casts when possible.
75710         (guess_time_tm): New function, containing the checking part of
75711         the old ydhms_tm_diff function.  Return the new value, rather than
75712         the difference between it and the old.  Accept a new argument T
75713         so that *T specifies the old value.  Check for overflow in the result.
75714
75715         (__mktime_internal): Use a time_t offset, not a long int offset.
75716         This undoes the 2003-06-04 change, which is no longer needed now
75717         that we have better overflow checking.
75718         (localtime_offset): Likewise.
75719
75720         (__mktime_internal): Avoid harmful overflow on hosts where time_t
75721         and long are 64-bit but int is only 32-bit.
75722         (ydhms_diff): Use long int to store year1 and yday1.
75723         Issue a compile-time diagnostic if long int is not wide enough.
75724
75725         (__mktime_internal): Use long int to store adjusted year and yday.
75726         Use plain C rather than preprocessor commands, if that doesn't
75727         affect efficiency.
75728         Check for overflow (and try to repair) after each probe
75729         rather than checking only at the very end.  This avoids some bugs
75730         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
75731         does not equal GMT offset at maximum time).
75732         Use integer to check for overflow rather than floating point; this
75733         is more portable to non-IEEE hosts, and is a tad faster.
75734         When we detect that we are oscillating between two values,
75735         don't check whether tm_isdst has the requested value, since
75736         we already know the answer.  When tm_isdst has the wrong value,
75737         use a different heuristic to find the right one, based on the
75738         extreme values actually observed in practice in tz2003a,
75739         rather than the (overly optimistic) "previous 3 calendar quarters".
75740
75741         (not_equal_tm, print_tm, check_result): Use "const T" rather than
75742         "T const" to accommodate glibc style.
75743         (check_result): Use less-confusing report format.  "long" -> "long int.
75744         (main): Likewise.
75745         Don't loop if the iteration overflows time_t.
75746         Allow a negative step in the iteration.
75747
75748 2003-07-06  Karl Berry  <karl@gnu.org>
75749
75750         * config/depcomp: update from automake.
75751         * config/config.sub: update from prep.
75752
75753 2003-07-03  Karl Berry  <karl@gnu.org>
75754
75755         * config/config.guess: update from prep.
75756
75757 2003-07-01  Paul Eggert  <eggert@twinsun.com>
75758
75759         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
75760         xreadlink.c now includes it unconditionally.
75761
75762 2003-07-01  Paul Eggert  <eggert@twinsun.com>
75763
75764         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
75765         having it depend on HAVE_SYS_TYPES_H.
75766
75767 2003-07-01  Bruno Haible  <bruno@clisp.org>
75768
75769         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
75770         <sys/types.h> should be sufficient.
75771         Reported by Paul Eggert.
75772
75773 2003-06-26  Karl Berry  <karl@gnu.org>
75774
75775         * config/depcomp: update from automake.
75776
75777 2003-06-26  Bruno Haible  <bruno@clisp.org>
75778
75779         * modules/human: Depend on module stdbool.
75780
75781 2003-06-25  Bruno Haible  <bruno@clisp.org>
75782
75783         * modules/readlink: New file.
75784         * modules/xreadlink: Depend on it.
75785         * MODULES.html.sh (func_all_modules): Add readlink.
75786
75787 2003-06-25  Bruno Haible  <bruno@clisp.org>
75788
75789         * m4/readlink.m4: New file.
75790
75791 2003-06-25  Bruno Haible  <bruno@clisp.org>
75792
75793         * lib/readlink.c: New file.
75794
75795 2003-06-22  Karl Berry  <karl@gnu.org>
75796
75797         * config/srclist.txt: update mkinstalldirs from automake.
75798         * config/mkinstalldirs: update.
75799
75800 2003-06-22  Bruno Haible  <bruno@clisp.org>
75801
75802         Portability to mingw32.
75803         * m4/ssize_t.m4: New file, from GNU gettext.
75804         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
75805         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
75806
75807 2003-06-22  Bruno Haible  <bruno@clisp.org>
75808
75809         * modules/safe-read: Add m4/ssize_t.m4.
75810         * modules/xreadlink: Add m4/ssize_t.m4.
75811
75812 2003-06-20  Bruno Haible  <bruno@clisp.org>
75813
75814         Assume C89, so PARAMS isn't needed.
75815         * lib/unicodeio.h (PARAMS): Remove.
75816         * lib/unicodeio.c: Don't use PARAMS.
75817
75818 2003-06-18  Karl Berry  <karl@gnu.org>
75819
75820         * config/config.{guess,sub}: update from prep.
75821
75822 2003-06-18  Jim Meyering  <jim@meyering.net>
75823
75824         Merge changes from coreutils.
75825         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
75826         Remove explicit declarations of xmalloc and realloc.
75827         Include xalloc.h.
75828         (read_utmp): Remove anachronistic cast of xmalloc.
75829
75830 2003-06-17  Paul Eggert  <eggert@twinsun.com>
75831
75832         Assume C89, so PARAMS isn't needed.
75833         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
75834         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
75835         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
75836         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
75837         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
75838         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
75839         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
75840         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
75841         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
75842         lib/xstrtod.h, lib/xstrtol.h: Likewise.
75843         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
75844         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
75845         no longer needed. Anyway, config.h should always be included before any
75846         other file.
75847
75848 2003-06-11  Simon Josefsson  <jas@extundo.com>
75849
75850         * modules/sysexits: New file.
75851         * MODULES.html.sh (func_all_modules): Add sysexits.
75852
75853 2003-06-11  Simon Josefsson  <jas@extundo.com>
75854
75855         * lib/sysexit_.h: New file.
75856
75857 2003-06-11  Derek Price  <derek@ximbiot.com>
75858
75859         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
75860         necessary.
75861
75862 2003-06-11  Bruno Haible  <bruno@clisp.org>
75863
75864         * m4/sysexits.m4: New file.
75865
75866 2003-06-10  Simon Josefsson  <jas@extundo.com>
75867
75868         * lib/argp.h: New file, from glibc.
75869         * lib/argp-ba.c: New file, from glibc.
75870         * lib/argp-eexst.c: New file, from glibc.
75871         * lib/argp-fmtstream.c: New file, from glibc.
75872         * lib/argp-fmtstream.h: New file, from glibc.
75873         * lib/argp-fs-xinl.c: New file, from glibc.
75874         * lib/argp-help.c: New file, from glibc.
75875         * lib/argp-namefrob.h: New file, from glibc.
75876         * lib/argp-parse.c: New file, from glibc.
75877         * lib/argp-pv.c: New file, from glibc.
75878         * lib/argp-pvh.c: New file, from glibc.
75879         * lib/argp-xinl.c: New file, from glibc.
75880
75881 2003-06-10  Simon Josefsson  <jas@extundo.com>
75882
75883         * modules/strchrnul: New file.
75884
75885 2003-06-10  Simon Josefsson  <jas@extundo.com>
75886
75887         * modules/argp: New file.
75888
75889 2003-06-10  Simon Josefsson  <jas@extundo.com>
75890
75891         * m4/strchrnul.m4: New file.
75892
75893 2003-06-10  Simon Josefsson  <jas@extundo.com>
75894
75895         * lib/strchrnul.h: New file.
75896         * lib/strchrnul.c: New file.
75897
75898 2003-06-10  Bruno Haible  <bruno@clisp.org>
75899
75900         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
75901
75902 2003-06-07  Karl Berry  <karl@gnu.org>
75903
75904         * config/config.{guess,sub}: update from prep.
75905
75906 2003-06-07  Jim Meyering  <jim@meyering.net>
75907
75908         * modules/strtod: Use $(...) notation, not @...@ for
75909         AC_REPLACE'd variables.
75910         * modules/localcharset: Likewise.
75911
75912 2003-06-07  Jim Meyering  <jim@meyering.net>
75913
75914         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
75915         in place of my name in the copyright comment.
75916         Remove definition and uses of __P.
75917
75918         From coreutils.
75919         * lib/stat.c: Don't declare xmalloc explicitly.
75920         Instead, include "xalloc.h".
75921         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
75922         xrealloc, and xcalloc return values.
75923         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
75924         Improve comment.
75925         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
75926
75927 2003-06-07  Bruno Haible  <bruno@clisp.org>
75928
75929         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
75930         avoid AC_CONFIG_LINKS.
75931         * modules/fnmatch (Makefile.am): Use explicit creation rule for
75932         fnmatch.h, to avoid AC_CONFIG_LINKS.
75933         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
75934
75935 2003-06-07  Bruno Haible  <bruno@clisp.org>
75936
75937         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
75938         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
75939         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
75940         directory.
75941         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
75942         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
75943         directory.
75944
75945 2003-06-06  Jim Meyering  <jim@meyering.net>
75946
75947         Merge from coreutils.
75948         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
75949         Consolidate declarations and initializations of *_base* locals.
75950
75951         Merge from coreutils.
75952         This avoids a core dump on systems without GNU putenv,
75953         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
75954         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
75955         (unsetenv): New static function, from GNU libc.
75956         (rpl_putenv): Use it.
75957
75958         * lib/modechange.c: Remove trailing blanks.
75959
75960         Merge from coreutils.
75961         * lib/fsusage.c: Remove declaration of statfs.
75962         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
75963
75964         * lib/posixtm.c: Include <stdbool.h> unconditionally.
75965
75966 2003-06-06  Jim Meyering  <jim@meyering.net>
75967
75968         * lib/stdbool_.h: Renamed from stdbool.h.in.
75969
75970 2003-06-06  Jim Meyering  <jim@meyering.net>
75971             Bruno Haible  <bruno@clisp.org>
75972
75973         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
75974         Adjust Makefile.am snippet not to redirect directly to target.
75975         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
75976
75977 2003-06-05  Paul Eggert  <eggert@twinsun.com>
75978
75979         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
75980         mismatch, look in future quarters as well as past.  This fixes a
75981         bug when processing fall-backwards gaps immediately after a long
75982         period of daylight-saving time.
75983
75984         * lib/mktime.c: Assume freestanding C89 or better.
75985         (HAVE_LIMITS_H): Remove.  Assume it's 1.
75986         (__P): Remove; not used.
75987         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
75988         (mktime, not_equal_tm, print_tm, check_result,
75989         main): Use prototypes.  Use const * where appropriate.
75990         (main): Fix typo in testing code that uncovered by above changes.
75991         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
75992
75993 2003-06-04  Paul Eggert  <eggert@twinsun.com>
75994
75995         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
75996         locale.h, localeconv.  This merges changes from coreutils.
75997
75998         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
75999         It can be removed after the next Autoconf is released.
76000         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
76001         needed.
76002
76003 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76004
76005         * lib/mktime.c: Fix Debian bug 177940
76006         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
76007         (localtime_offset): Now long int, not time_t, because we want it
76008         to be guaranteed to be signed.  All uses changed.
76009         (__mktime_internal): If overflow would occur when adding offset,
76010         don't add it.
76011
76012         Merge 'human' changes from coreutils.  Rewrite to support
76013         locale-specific notations like thousands separators.
76014         * lib/human.c: Simplify authorship notice.
76015         Include human.h immediately after config.h.
76016         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
76017         <limits.h>: Do not include, since human.h does.
76018         (SIZE_MAX, UINTMAX_MAX): New macros.
76019         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
76020         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
76021         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
76022         (power_letter): Renamed from suffixes.
76023         (generate_suffix_backwards): Remove.
76024         (adjust_value): Now takes int style (because of human.h changes)
76025         and long double value (for greater precision on some platforms).
76026         (group_number): New function.
76027         (human_readable): Use it.  Use integer options, not enum.
76028         Put the options before the sizes in the arg list.
76029         Support all the new options.
76030         The old human_readable function has been removed;
76031         use inttostr.h instead.
76032         (human_readable, default_block_size, humblock):
76033         Use uintmax_t, not int, for block sizes.
76034         (human_readable_inexact, block_size_types): Remove.
76035         (block_size_opts): New constant.
76036         (human_options): Renamed from human_block_size, with new signature
76037         that allows block sizes up to UINTMAX_MAX.  All callers changed.
76038         * lib/human.h: Add copyright and authorship notice.
76039         Include <limits.h> and <stdbool.h> unconditionally.
76040         (PARAMS): Remove.  All uses removed.
76041         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
76042         (enum human_inexact_style): Remove tag; now a nameless enum.
76043         (human_floor, human_ceiling, human_round_to_even): Now have
76044         values 2, 0, 1 rather than -1, 1, 0.
76045         (human_group_digits, human_suppress_point_zero, human_autoscale,
76046         human_base_1024, human_SI, human_B): New constants.
76047         (human_readable_inexact, human_block_size): Remove.
76048         (human_readable): Size args are now uintmax_t, not int.
76049         (human_options): New decl.
76050
76051         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
76052         unnecessary now that we assume C89 or better.  This change
76053         imported from coreutils.
76054
76055         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
76056         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
76057         in the 2003-05-30 sync from glibc.
76058
76059         .h files should stand alone, but we shouldn't include <sys/types.h>
76060         if we can get away with just <stddef.h>.
76061
76062         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
76063         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
76064         rather than <sys/types.h>, as we merely need size_t.
76065         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
76066         to get size_t.
76067         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
76068         Include <stdio.h>, to get FILE.
76069         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
76070         memcasecmp.h has included <stddef.h> and all we need is size_t.
76071         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
76072         our interface, instead of including <sys/types.h>
76073
76074 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76075
76076         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
76077         now, as glibc mktime is buggy on non-glibc systems.
76078
76079 2003-06-03  Karl Berry  <karl@gnu.org>
76080
76081         * config/config.sub: update from prep.
76082
76083 2003-06-02  Paul Eggert  <eggert@twinsun.com>
76084
76085         [from coreutils]
76086         Fix some minor time-related bugs with POSIX time arguments.
76087         Some valid time stamps were being rejected (notably -1, and
76088         time stamps before 1900 on 64-bit hosts).  And some invalid
76089         time stamps were being accepted, e.g. September 31.
76090
76091         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
76092         that we can return (time_t) -1 successfully.
76093         * lib/posixtm.c: Likewise.
76094         [HAVE_STDBOOL_H]: Include <stdbool.h>.
76095         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
76096         (t): Remove static var.
76097         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
76098         of static var.  All uses changed.
76099         (year): Do not reject years before 1900; they can occur with
76100         64-bit time_t.
76101         (posix_time_parse): Do not check for out-of-range components;
76102         that is now the caller's responsibility, since our checks were
76103         only approximations.
76104         (posixtime): Use mktime to check for out-of-range components,
76105         since it knows them exactly.
76106         If mktime returns (time_t) -1, check whether an error actually occurred
76107         by invoking localtime on -1.
76108         (main) [TEST_POSIXTIME]: Check for input data errors, and report
76109         posixtime failures better.
76110         Improve the test data (in comments only).
76111
76112 2003-06-02  Karl Berry  <karl@gnu.org>
76113
76114         * config/mkinstalldirs (version): new variable.
76115         (--version): new option.
76116         (usage): improve message.
76117
76118 2003-05-30  Karl Berry  <karl@gnu.org>
76119
76120         * lib/mktime.c: update from libc.
76121
76122 2003-05-30  Bruno Haible  <bruno@clisp.org>
76123
76124         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
76125         * config/config.rpath: Upgrade to gettext-0.12.1.
76126
76127 2003-05-30  Bruno Haible  <bruno@clisp.org>
76128
76129         * m4/gettext.m4: Upgrade to gettext-0.12.1.
76130         * m4/nls.m4: New file, from gettext-0.12.1.
76131         * m4/po.m4: New file, from gettext-0.12.1.
76132         * m4/progtest.m4: Upgrade to gettext-0.12.1.
76133
76134 2003-05-30  Bruno Haible  <bruno@clisp.org>
76135
76136         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
76137         * lib/localcharset.h: Likewise.
76138         * lib/localcharset.c: Likewise.
76139
76140 2003-05-29  Karl Berry  <karl@gnu.org>
76141
76142         * config/config.rpath: update from gettext.
76143
76144 2003-05-28  Paul Eggert  <eggert@twinsun.com>
76145
76146         Assume the headers required for C89 freestanding compilers.
76147         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
76148         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
76149         * m4/human.m4 (gl_HUMAN): Likewise.
76150         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
76151         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
76152         * m4/userspec.m4 (gl_USERSPEC): Likewise.
76153         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
76154         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76155         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
76156
76157 2003-05-28  Paul Eggert  <eggert@twinsun.com>
76158
76159         Assume the headers required for C89 freestanding compilers.
76160         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
76161         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
76162         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
76163         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
76164         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
76165         define, since <limits.h> is guaranteed to do that.
76166         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
76167         * lib/exclude.c: Include <stdbool.h> unconditionally.
76168         * lib/tempname.c: Include <stddef.h> unconditionally.
76169         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
76170         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
76171         <stddef.h> does that.
76172         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
76173         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
76174         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
76175         needed.
76176         * lib/xstrtol.c: Likewise.
76177         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
76178         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
76179
76180         * lib/addext.c (addext): Use assignment rather than cast, to avoid
76181         warnings on some platforms.
76182
76183         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
76184         arbitrarily.
76185
76186 2003-05-26  Jim Meyering  <jim@meyering.net>
76187
76188         Merge in a change from coreutils:
76189         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
76190         that is guaranteed to be `no'.  Use `no_such_member' to indicate
76191         that condition, rather than `-1' which is slightly misleading.
76192         Change the name of the cache variable to have the gl_ prefix.
76193         Prompted by a patch from Richard Dawe for DJGPP.
76194
76195 2003-05-24  Karl Berry  <karl@gnu.org>
76196
76197         * config/config.guess: update from prep.
76198
76199 2003-05-22  Karl Berry  <karl@gnu.org>
76200
76201         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
76202
76203 2003-05-20  Karl Berry  <karl@gnu.org>
76204
76205         * config/config.guess: update from prep.
76206
76207 2003-05-18  Karl Berry  <karl@gnu.org>
76208
76209         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
76210         might actually be set by the user.
76211
76212         * config/depcomp, install-sh, mdate-sh: update from automake.
76213
76214 2003-05-17  Bruno Haible  <bruno@clisp.org>
76215
76216         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
76217         invalid expansion for AC_EGREP_CPP.
76218         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
76219         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
76220         Suggested by Akim Demaille <akim@epita.fr> in
76221         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
76222
76223 2003-05-12  Jim Meyering  <jim@meyering.net>
76224
76225         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
76226         the space-padded-by-default conversion specifiers, %e, %k, %l.
76227
76228 2003-05-12  Bruno Haible  <bruno@clisp.org>
76229
76230         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
76231         the string is longer than 4 KB.
76232
76233 2003-05-11  Karl Berry  <karl@gnu.org>
76234
76235         * config/config.{guess,sub}: update from prep.
76236
76237 2003-05-09  Bruno Haible  <bruno@clisp.org>
76238
76239         * modules/error: Add m4/strerror_r.m4 to file list.
76240
76241 2003-05-03  Bruno Haible  <bruno@clisp.org>
76242
76243         Upgrade to Unicode-4.0.
76244         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
76245         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
76246         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
76247         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
76248         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
76249         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
76250         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
76251         Change width of U+E0100..U+E01EF from 1 to 0.
76252
76253 2003-04-25  Jim Meyering  <jim@meyering.net>
76254
76255         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
76256         of type size_t, not int.
76257
76258 2003-04-25  Bruno Haible  <bruno@clisp.org>
76259
76260         * lib/copy-file.c: Include <stddef.h>, for size_t.
76261
76262 2003-04-21  Paul Eggert  <eggert@twinsun.com>
76263
76264         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
76265         code which expansion is under static control.  Patch imported from
76266         Akim Demaille's patch to Bison; see
76267         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
76268
76269 2003-04-14  Bruno Haible  <bruno@clisp.org>
76270
76271         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
76272
76273 2003-04-11  Jim Meyering  <jim@meyering.net>
76274
76275         Merge changes from Coreutils.
76276
76277         2003-03-22  Jim Meyering  <jim@meyering.net>
76278
76279         * lib/strftime.c (widen): Cast alloca return value to proper type.
76280
76281         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
76282
76283         From GNU libc.
76284         * lib/strftime.c (my_strftime): Handle very large width
76285         specifications for numeric values correctly.  Improve checks for
76286         overflow.
76287
76288         2003-01-19  Jim Meyering  <jim@meyering.net>
76289
76290         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
76291         definitions.
76292         (nl_get_alt_digit) [! defined my_strftime]: Define.
76293         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
76294         _nl_get_alt_digit and _nl_get_walt_digit.
76295
76296         * lib/strftime.c (my_strftime): Merge in locale-related changes from
76297         libc. These changes have no effect outside of _LIBC.
76298
76299 2003-04-10  Bruno Haible  <bruno@clisp.org>
76300
76301         * modules/findprog: New file.
76302         * MODULES.html.sh (func_all_modules): Add it.
76303
76304 2003-04-10  Bruno Haible  <bruno@clisp.org>
76305
76306         * m4/findprog.m4: New file.
76307         * m4/eaccess.m4: New file.
76308
76309 2003-04-10  Bruno Haible  <bruno@clisp.org>
76310
76311         * lib/findprog.h: New file, from GNU gettext.
76312         * lib/findprog.c: New file, from GNU gettext.
76313
76314 2003-04-05  Jim Meyering  <jim@meyering.net>
76315
76316         Merge changes from Coreutils.
76317
76318         * lib/exclude.h (PARAMS): Remove definition and uses.
76319         * lib/exclude.c: Remove uses of `PARAMS'.
76320
76321         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
76322         Add test-cases for DOS filenames. Declare program_name.
76323         (main): Set up program_name.  Patch by Rich Dawe.
76324
76325         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
76326         error from mntctl.
76327         Use mntctl's return value to drive the entry-processing loop, since
76328         we can't rely on the value of the vmt_length member in the last
76329         entry.  On some systems doing so could result in exhausting
76330         virtual memory.  Based in part on a patch from Mike Jetzer.
76331
76332 2003-04-04  Bruno Haible  <bruno@clisp.org>
76333
76334         * modules/linebreak: New file.
76335         * MODULES.html.sh (func_all_modules): Add it.
76336
76337 2003-04-04  Bruno Haible  <bruno@clisp.org>
76338
76339         * m4/linebreak.m4: New file.
76340
76341 2003-04-04  Bruno Haible  <bruno@clisp.org>
76342
76343         * lib/linebreak.h: New file, from GNU gettext.
76344         * lib/linebreak.c: New file, from GNU gettext with slight
76345         modifications.
76346         * lib/lbrkprop.h: New file, from GNU gettext.
76347
76348 2003-04-03  Bruno Haible  <bruno@clisp.org>
76349
76350         * modules/utf8-ucs4: New file.
76351         * modules/utf16-ucs4: New file.
76352         * modules/ucs4-utf8: New file.
76353         * modules/ucs4-utf16: New file.
76354         * MODULES.html.sh (func_all_modules): Add them.
76355
76356 2003-04-03  Bruno Haible  <bruno@clisp.org>
76357
76358         * m4/utf-ucs4.m4: New file.
76359         * m4/ucs4-utf.m4: New file.
76360
76361 2003-04-03  Bruno Haible  <bruno@clisp.org>
76362
76363         * lib/utf8-ucs4.h: New file, from GNU gettext.
76364         * lib/utf16-ucs4.h: New file, from GNU gettext.
76365         * lib/ucs4-utf8.h: New file, from GNU gettext.
76366         * lib/ucs4-utf16.h: New file, from GNU gettext.
76367
76368 2003-04-02  Bruno Haible  <bruno@clisp.org>
76369
76370         * modules/binary-io: New file.
76371         * MODULES.html.sh (func_all_modules): Add it.
76372
76373 2003-04-02  Bruno Haible  <bruno@clisp.org>
76374
76375         * lib/binary-io.h: New file, from GNU gettext.
76376
76377 2003-04-01  Bruno Haible  <bruno@clisp.org>
76378
76379         * modules/pathname: New file.
76380         * MODULES.html.sh (func_all_modules): Add it.
76381
76382 2003-04-01  Bruno Haible  <bruno@clisp.org>
76383
76384         * lib/pathname.h: New file, from GNU gettext.
76385         * lib/concatpath.c: New file, from GNU gettext.
76386
76387 2003-03-30  Bruno Haible  <bruno@clisp.org>
76388
76389         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
76390
76391 2003-03-30  Bruno Haible  <bruno@clisp.org>
76392
76393         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
76394         function chown() doesn't exist.
76395
76396 2003-03-28  Bruno Haible  <bruno@clisp.org>
76397
76398         * modules/copy-file: New file.
76399         * MODULES.html.sh (func_all_modules): Add it.
76400
76401 2003-03-28  Bruno Haible  <bruno@clisp.org>
76402
76403         * m4/copy-file.m4: New file.
76404
76405 2003-03-28  Bruno Haible  <bruno@clisp.org>
76406
76407         * lib/copy-file.h: New file, from GNU gettext.
76408         * lib/copy-file.c: New file, from GNU gettext.
76409
76410 2003-03-18  Jim Meyering  <jim@meyering.net>
76411
76412         * lib/quote.c (quote_n): Fix typo in comment.
76413
76414 2003-03-18  Bruno Haible  <bruno@clisp.org>
76415
76416         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
76417         checking.
76418         * m4/onceonly_2_57.m4: Likewise.
76419
76420 2003-03-17  Bruno Haible  <bruno@clisp.org>
76421
76422         * m4/onceonly.m4: Require autoconf 2.54 or newer.
76423         (m4_quote): Remove macro.
76424         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
76425
76426 2003-03-14  Jim Meyering  <jim@meyering.net>
76427
76428         Merge changes from Coreutils.
76429         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
76430         to be const, in order to avoid warnings.
76431         (obstack_room): Likewise.
76432         (obstack_empty_p): Likewise.
76433
76434 2003-03-14  Bruno Haible  <bruno@clisp.org>
76435
76436         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
76437         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
76438
76439 2003-03-13  Paul Eggert  <eggert@twinsun.com>
76440
76441         Merge changes from Bison.
76442         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
76443         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
76444         when compiling Bison 1.875's `bitset bset = obstack_alloc
76445         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
76446         * lib/hash.c: Include <stdbool.h> unconditionally.
76447
76448 2003-03-13  Paul Eggert  <eggert@twinsun.com>
76449
76450         * m4/onceonly.m4 (m4_quote): New macro.
76451         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
76452         Quote AC_FOREACH variable-expansions properly.
76453
76454 2003-03-13  Paul Eggert  <eggert@twinsun.com>
76455
76456         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
76457
76458 2003-03-09  Paul Eggert  <eggert@twinsun.com>
76459
76460         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
76461         Reported by Bruce Becker; see:
76462         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
76463
76464 2003-03-03  Paul Eggert  <eggert@twinsun.com>
76465             Bruno Haible  <bruno@clisp.org>
76466
76467         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
76468         Reported by John Hughes, see
76469         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
76470
76471 2003-02-20  Bruno Haible  <bruno@clisp.org>
76472
76473         * MODULES.html.sh (func_all_modules): Add poll.
76474
76475 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76476
76477         * modules/poll: New file.
76478
76479 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76480
76481         * lib/poll_.h: New file.
76482         * lib/poll.c: New file.
76483
76484 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76485
76486         * m4/poll.m4: New file.
76487
76488 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
76489
76490         * modules/mathl: New file.
76491
76492 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
76493
76494         * lib/mathl.h: New file.
76495         * lib/acosl.c: New file.
76496         * lib/asinl.c: New file.
76497         * lib/atanl.c: New file.
76498         * lib/ceill.c: New file.
76499         * lib/cosl.c: New file.
76500         * lib/expl.c: New file.
76501         * lib/floorl.c: New file.
76502         * lib/frexpl.c: New file.
76503         * lib/ldexpl.c: New file.
76504         * lib/logl.c: New file.
76505         * lib/sincosl.c: New file.
76506         * lib/sinl.c: New file.
76507         * lib/sqrtl.c: New file.
76508         * lib/tanl.c: New file.
76509         * lib/trigl.c: New file.
76510         * lib/trigl.h: New file.
76511
76512 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
76513
76514         * m4/mathl.m4: New file.
76515
76516 2003-02-18  Bruno Haible  <bruno@clisp.org>
76517
76518         * MODULES.html.sh (func_all_modules): Add mathl.
76519
76520 2003-02-17  Bruno Haible  <bruno@clisp.org>
76521
76522         * modules/mkdtemp: New module.
76523         * MODULES.html.sh (func_all_modules): Add it.
76524
76525 2003-02-17  Bruno Haible  <bruno@clisp.org>
76526
76527         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
76528
76529 2003-02-17  Bruno Haible  <bruno@clisp.org>
76530
76531         * lib/mkdtemp.h: New file, from GNU gettext.
76532         * lib/mkdtemp.c: New file, from GNU gettext.
76533
76534 2003-02-02  Jim Meyering  <jim@meyering.net>
76535
76536         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
76537         e.g. glibc-2.2.93.
76538
76539 2003-01-31  Bruno Haible  <bruno@clisp.org>
76540
76541         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
76542         'rpl_rename'.
76543         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
76544         'rpl_strnlen'.
76545         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
76546         'rpl_strtod'.
76547         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
76548         'rpl_utime'.
76549
76550 2003-01-31  Bruno Haible  <bruno@clisp.org>
76551
76552         * lib/rename.c: #undef rename before defining rpl_rename.
76553         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
76554
76555 2003-01-30  Bruno Haible  <bruno@clisp.org>
76556
76557         * modules/vasnprintf, modules/vasprintf: New modules.
76558         * MODULES.html.sh (func_all_modules): Add them.
76559
76560 2003-01-30  Bruno Haible  <bruno@clisp.org>
76561
76562         * m4/signed.m4: New file, from GNU gettext.
76563         * m4/longdouble.m4: New file, from GNU gettext.
76564         * m4/wchar_t.m4: New file, from GNU gettext.
76565         * m4/wint_t.m4: New file, from GNU gettext.
76566         * m4/vasnprintf.m4: New file.
76567         * m4/vasprintf.m4: New file.
76568
76569 2003-01-30  Bruno Haible  <bruno@clisp.org>
76570
76571         * lib/printf-args.h: New file, from GNU gettext.
76572         * lib/printf-args.c: New file, from GNU gettext.
76573         * lib/printf-parse.h: New file, from GNU gettext.
76574         * lib/printf-parse.c: New file, from GNU gettext.
76575         * lib/vasnprintf.h: New file, from GNU gettext.
76576         * lib/vasnprintf.c: New file, from GNU gettext.
76577         * lib/asnprintf.c: New file, from GNU gettext.
76578         * lib/vasprintf.h: New file, from GNU gettext with modifications.
76579         * lib/vasprintf.c: New file, from GNU gettext.
76580         * lib/asprintf.c: New file, from GNU gettext.
76581
76582 2003-01-29  Bruno Haible  <bruno@clisp.org>
76583
76584         * modules/stpncpy: New module.
76585         * MODULES.html.sh (func_all_modules): Add it.
76586
76587 2003-01-29  Bruno Haible  <bruno@clisp.org>
76588
76589         * m4/stpncpy.m4: New file.
76590
76591 2003-01-29  Bruno Haible  <bruno@clisp.org>
76592
76593         * lib/stpncpy.h: New file, from GNU gettext with modifications.
76594         * lib/stpncpy.c: New file, from GNU gettext with modifications.
76595
76596 2003-01-28  Bruno Haible  <bruno@clisp.org>
76597
76598         * modules/c-ctype: New module.
76599         * MODULES.html.sh (func_all_modules): Add it.
76600
76601 2003-01-28  Bruno Haible  <bruno@clisp.org>
76602
76603         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
76604         Paul Eggert.
76605         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
76606         Paul Eggert.
76607
76608 2003-01-27  Bruno Haible  <bruno@clisp.org>
76609
76610         * modules/xsetenv: New module.
76611         * MODULES.html.sh (func_all_modules): Add it.
76612
76613 2003-01-27  Bruno Haible  <bruno@clisp.org>
76614
76615         * lib/xsetenv.h: New file, from GNU gettext.
76616         * lib/xsetenv.c: New file, from GNU gettext.
76617
76618 2003-01-23  Jim Meyering  <jim@meyering.net>
76619
76620         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
76621         from working on systems without dirfd (at least Irix and OSF1/Tru64).
76622
76623 2003-01-23  Bruno Haible  <bruno@clisp.org>
76624
76625         * modules/minmax: New module.
76626         * MODULES.html.sh (func_all_modules): Add it.
76627
76628 2003-01-23  Bruno Haible  <bruno@clisp.org>
76629
76630         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
76631         Eggert.
76632
76633 2003-01-22  Bruno Haible  <bruno@clisp.org>
76634
76635         * modules/exit: New module.
76636         * MODULES.html.sh (func_all_modules): Add it.
76637
76638 2003-01-22  Bruno Haible  <bruno@clisp.org>
76639
76640         * lib/exit.h: New file, from GNU gettext.
76641
76642 2003-01-19  Bruno Haible  <bruno@clisp.org>
76643
76644         * gnulib-tool: Recognize option --extract-maintainer.
76645         (func_get_maintainer): New function.
76646         * modules/*: Add Maintainer entry.
76647
76648 2003-01-16  Jim Meyering  <jim@meyering.net>
76649
76650         * m4/regex.m4: The `regex' struct is both input and output.
76651         Initialize it before each use.  Patch by Tim Waugh.
76652
76653 2003-01-16  Bruno Haible  <bruno@clisp.org>
76654
76655         * MODULES.html.sh: Add a table of contents. Add the module name as
76656         leftmost column. Add hyperlinks.
76657
76658 2003-01-15  Bruno Haible  <bruno@clisp.org>
76659
76660         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
76661
76662 2003-01-15  Bruno Haible  <bruno@clisp.org>
76663
76664         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
76665         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
76666         suffix.
76667
76668 2003-01-15  Bruno Haible  <bruno@clisp.org>
76669
76670         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
76671
76672 2003-01-15  Bruno Haible  <bruno@clisp.org>
76673
76674         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
76675         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
76676
76677 2003-01-14  Jim Meyering  <jim@meyering.net>
76678
76679         * lib/same.c (same_name): Tweak a comment.
76680
76681 2003-01-14  Bruno Haible  <bruno@clisp.org>
76682
76683         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
76684         when a string comparison is sufficient.
76685
76686 2003-01-14  Bruno Haible  <bruno@clisp.org>
76687
76688         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
76689         'unsigned int'.
76690
76691 2003-01-14  Bruno Haible  <bruno@clisp.org>
76692
76693         * lib/hash-pjw.c: Add comment about low quality of this function.
76694
76695 2003-01-13  Bruno Haible  <bruno@clisp.org>
76696
76697         * modules/stpcpy: Distribute lib/stpcpy.h.
76698         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
76699
76700 2003-01-13  Bruno Haible  <bruno@clisp.org>
76701
76702         * modules/*: Add a description.
76703         * modules/strpbrk: Fix Makefile.am snippet.
76704         * modules/strtoimax: Fix dependencies.
76705         * modules/strtoumax: Likewise.
76706
76707 2003-01-13  Bruno Haible  <bruno@clisp.org>
76708
76709         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
76710         * modules/alloca (Makefile.am): All object files depend on alloca.h.
76711         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
76712
76713 2003-01-13  Bruno Haible  <bruno@clisp.org>
76714
76715         * gnulib-tool (func_create_testdir): Store config/* files in the main
76716         directory.
76717         * config.rpath: Move to ...
76718         * config/config.rpath: ... here.
76719         * modules/gettext: Contains config/config.rpath, not config.rpath.
76720         * modules/iconv: Likewise.
76721
76722 2003-01-12  Paul Eggert  <eggert@twinsun.com>
76723
76724         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
76725         to avoid collisions with libcurses and libreadline.
76726
76727         * m4/getstr.m4: Remove.
76728         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
76729
76730 2003-01-12  Paul Eggert  <eggert@twinsun.com>
76731
76732         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
76733         to avoid collisions with libcurses and libreadline.
76734
76735         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
76736         * lib/getstr.h, getstr.c: Remove.
76737         * lib/getline.c: Include "getline.h", to check interface.
76738         Move body of old getstr.c here: this defines MIN_CHUNK and
76739         declares getdelim2, which is renamed from getstr.
76740         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
76741
76742         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
76743         All uses changed.
76744         * lib/linebuffer.h: Likewise.
76745         (readline): Remove backward-compatibility macro.
76746
76747 2003-01-12  Paul Eggert  <eggert@twinsun.com>
76748
76749         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
76750         to avoid collisions with libcurses and libreadline.
76751         * getstr: Remove.
76752         * MODULES.html.sh: Remove getstr.
76753         * modules/getline: Depend on unlocked-io, not getstr.
76754
76755 2003-01-12  Jim Meyering  <jim@meyering.net>
76756
76757         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
76758
76759 2003-01-10  Bruno Haible  <bruno@clisp.org>
76760
76761         * modules/alloca: Change Makefile.am requirements. Simplify Include
76762         requirements. Add lib/alloca_.h to file list.
76763
76764 2003-01-10  Bruno Haible  <bruno@clisp.org>
76765
76766         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
76767
76768 2003-01-10  Bruno Haible  <bruno@clisp.org>
76769
76770         * lib/alloca_.h: New file.
76771         * lib/getdate.y: Unconditionally include alloca.h.
76772         * lib/makepath.c: Likewise.
76773         * lib/setenv.c: Likewise.
76774         * lib/userspec.c: Likewise.
76775
76776 2003-01-09  Karl Berry  <karl@gnu.org>
76777
76778         * MODULES.html.sh: include `dirname $0` in PATH, to find
76779         gnulib-tool.
76780
76781 2003-01-09  Bruno Haible  <bruno@clisp.org>
76782
76783         * modules/stdbool: Change configure.ac, Makefile.am requirements.
76784         Simplify Include requirements. Add lib/stdbool.h.in to file list.
76785
76786 2003-01-09  Bruno Haible  <bruno@clisp.org>
76787
76788         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
76789
76790 2003-01-09  Bruno Haible  <bruno@clisp.org>
76791
76792         * lib/stdbool.h.in: New file.
76793
76794 2003-01-09  Bruno Haible  <bruno@clisp.org>
76795
76796         * gnulib-tool (func_all_modules): Ignore files ending in ~.
76797         * MODULES.html.sh: Likewise.
76798
76799 2003-01-08  Jim Meyering  <jim@meyering.net>
76800
76801         * lib/full-write.c: Undefine and define-away `const' after inclusion
76802         of errno.h, not before.  Suggestion from Bruno Haible.
76803
76804 2003-01-08  Bruno Haible  <bruno@clisp.org>
76805
76806         * modules/full-read: Depend on full-write.
76807
76808 2003-01-08  Bruno Haible  <bruno@clisp.org>
76809
76810         * lib/safe-read.c: Include specification header first, to ensure its
76811         selfcontainedness.
76812         * lib/full-write.c: Likewise.
76813
76814 2003-01-07  Jim Meyering  <jim@meyering.net>
76815
76816         * lib/full-write.c: Rework so that it may serve to define full_read,
76817         too.
76818         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
76819
76820 2003-01-07  Bruno Haible  <bruno@clisp.org>
76821
76822         * lib/strtoimax.c: Include <stdint.h> as an alternative to
76823         <inttypes.h>.
76824         * lib/xstrtol.h: Likewise.
76825         * lib/xstrtoimax.c: Likewise.
76826         * lib/xstrtoumax.c: Likewise.
76827         * lib/human.h: Likewise.
76828
76829         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
76830         on systems that have <inttypes.h> but not <stdint.h>.
76831
76832 2003-01-07  Bruno Haible  <bruno@clisp.org>
76833
76834         * MODULES.html.sh: Add copyright notice.
76835         (missed_files): Omit CVS directory entries.
76836         (func_module): Make it work with sed-3.02.
76837         * MODULES.txt: Remove file.
76838
76839 2003-01-06  Jim Meyering  <jim@meyering.net>
76840
76841         * lib/version-etc.c: Update year in translatable copyright string.
76842
76843 2003-01-03  Karl Berry  <karl@gnu.org>
76844
76845         * config/config.{guess,sub}: update from prep.
76846
76847 2003-01-02  Karl Berry  <karl@gnu.org>
76848
76849         * doc/COPYING.DOC: belatedly updated to 1.2.
76850
76851 2003-01-01  Karl Berry  <karl@gnu.org>
76852
76853         * gnulib-tool (func_verify_module): report module name $module in
76854         error message, not $1.
76855         * gnulib-tool (create-testdir): don't complain if destdir couldn't
76856         be created, only if it doesn't exist.
76857         * gnulib-tool (last_checkin_date): don't expand the $Date here.
76858
76859 2002-12-31  Paul Eggert  <eggert@twinsun.com>
76860
76861         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
76862
76863 2002-12-31  Paul Eggert  <eggert@twinsun.com>
76864
76865         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
76866         memcmp if strcoll doesn't work.
76867
76868 2002-12-31  Bruno Haible  <bruno@clisp.org>
76869
76870         * lib/utime.c (utime_null): No need to call ftruncate if the file was
76871         nonempty.
76872
76873 2002-12-31  Bruno Haible  <bruno@clisp.org>
76874
76875         * lib/memcoll.c (STRCOLL): New macro.
76876         (memcoll): Use it.
76877
76878 2002-12-31  Bruno Haible  <bruno@clisp.org>
76879
76880         * lib/localcharset.h: New file.
76881         * lib/localcharset.c: Include it.
76882         * lib/unicodeio.c: Likewise.
76883
76884 2002-12-31  Bruno Haible  <bruno@clisp.org>
76885
76886         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
76887         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
76888
76889 2002-12-31  Bruno Haible  <bruno@clisp.org>
76890
76891         * lib/getline.h: Include <stddef.h>, for size_t.
76892
76893         * lib/unicodeio.h: Include <stddef.h>, for size_t.
76894         * lib/unicodeio.c: Don't include <stddef.h>.
76895
76896 2002-12-31  Bruno Haible  <bruno@clisp.org>
76897
76898         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
76899         HAVE_TM_ZONE.
76900
76901 2002-12-24  Karl Berry  <karl@gnu.org>
76902
76903         * config/config.guess: update from prep.
76904
76905 2002-12-24  Bruno Haible  <bruno@clisp.org>
76906
76907         General infrasructure.
76908         * m4/README: Rewritten.
76909         * m4/onceonly.m4: New file.
76910         * m4/onceonly_2_57.m4: New file.
76911
76912         Module atexit.
76913         * m4/atexit.m4: New file.
76914
76915         Module strtod.
76916         * m4/strtod.m4: New file.
76917
76918         Module strtol.
76919         * m4/strtol.m4: New file.
76920
76921         Module strtoul.
76922         * m4/strtoul.m4: New file.
76923
76924         Module memchr.
76925         * m4/memchr.m4: New file.
76926
76927         Module memcmp.
76928         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
76929         (jm_FUNC_MEMCMP): Invoke it.
76930
76931         Module memcpy.
76932         * m4/memcpy.m4: New file.
76933
76934         Module memmove.
76935         * m4/memmove.m4: New file.
76936
76937         Module memset.
76938         * m4/memset.m4: New file.
76939
76940         Module strcspn.
76941         * m4/strcspn.m4: New file.
76942
76943         Module strpbrk.
76944         * m4/strpbrk.m4: New file.
76945
76946         Module strstr.
76947         * m4/strstr.m4: New file.
76948
76949         Module strerror.
76950         * m4/strerror.m4: New file.
76951
76952         Module mktime.
76953         * m4/mktime.m4: Renamed from jm-mktime.m4.
76954         (gl_PREREQ_MKTIME): New macro.
76955         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
76956
76957         Module malloc.
76958         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
76959         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
76960         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
76961
76962         Module realloc.
76963         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
76964         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
76965         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
76966
76967         Module strftime.
76968         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
76969         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
76970         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
76971         gl_TM_GMTOFF.
76972         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
76973
76974         Module xalloc.
76975         * m4/xalloc.m4: New file.
76976
76977         Module alloca.
76978         * m4/alloca.m4: New file.
76979
76980         Module putenv.
76981         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
76982         (jm_FUNC_PUTENV): Invoke it.
76983
76984         Module setenv.
76985         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
76986         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
76987         when invoked twice.
76988         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
76989         gt_FUNC_SETENV.
76990
76991         Module memrchr.
76992         * m4/memrchr.m4: New file.
76993
76994         Module stpcpy.
76995         * m4/stpcpy.m4: New file.
76996
76997         Module strcase.
76998         * m4/strcase.m4: New file.
76999
77000         Module strdup.
77001         * m4/strdup.m4: New file.
77002
77003         Module strnlen.
77004         * m4/strnlen.m4: New file.
77005
77006         Module strndup.
77007         * m4/strndup.m4: New file.
77008
77009         Module xstrtod.
77010         * m4/xstrtod.m4: New file.
77011
77012         Module xstrtol.
77013         * m4/xstrtol.m4: New file.
77014
77015         Module getdate.
77016         * m4/getdate.m4: New file.
77017
77018         Module unlocked-io.
77019         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
77020         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
77021         * m4/jm-glibc-io.m4n: Remove file.
77022
77023         Module long-options.
77024         * m4/long-options.m4: New file.
77025
77026         Module md5.
77027         * m4/md5.m4: New file.
77028
77029         Module sha.
77030         * m4/sha.m4: New file.
77031
77032         Module getstr.
77033         * m4/getstr.m4: New file.
77034
77035         Module getline.
77036         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
77037         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
77038         <sys/types.h>, for size_t. Use the function name gnu_getline, not
77039         simply getline. Infoke gl_PREREQ_GETLINE.
77040
77041         Module obstack.
77042         * m4/obstack.m4: New file.
77043
77044         Module hash.
77045         * m4/hash.m4: New file.
77046
77047         Module readtokens.
77048         * m4/readtokens.m4: New file.
77049
77050         Module strverscmp.
77051         * m4/strverscmp.m4: New file.
77052
77053         Module stdbool.
77054         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
77055         OSF/1.
77056
77057         Module strtoll.
77058         * m4/strtoll.m4: New file.
77059
77060         Module strtoull.
77061         * m4/strtoull.m4: New file.
77062
77063         Module strtoimax.
77064         * m4/strtoimax.m4: New file.
77065
77066         Module strtoumax.
77067         * m4/strtoumax.m4: New file.
77068
77069         Module xstrtoimax.
77070         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
77071         jm_AC_PREREQ_XSTRTOIMAX.
77072         Moved the strtol prerequisites to strtol.m4.
77073         Moved the strtoll prerequisites to strtoll.m4.
77074         Moved the strtoimax prerequisites to strtoimax.m4.
77075
77076         Module xstrtoumax.
77077         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
77078         jm_AC_PREREQ_XSTRTOUMAX.
77079         Moved the strtoul prerequisites to strtoul.m4.
77080         Moved the strtoull prerequisites to strtoull.m4.
77081         Moved the strtoumax prerequisites to strtoumax.m4.
77082
77083         Module chown.
77084         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
77085         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
77086
77087         Module dup2.
77088         * m4/dup2.m4: New file.
77089
77090         Module ftruncate.
77091         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
77092         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
77093
77094         Module getgroups.
77095         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
77096         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
77097
77098         Module gettimeofday.
77099         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
77100         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
77101         gl_PREREQ_GETTIMEOFDAY.
77102
77103         Module mkdir.
77104         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
77105         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
77106
77107         Module mkstemp.
77108         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
77109         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
77110         jm_AC_TYPE_UINTMAX_T.
77111         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
77112
77113         Module stat.
77114         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
77115         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
77116
77117         Module lstat.
77118         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
77119         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
77120
77121         Module timespec.
77122         * m4/timespec.m4 (gl_TIMESPEC): New macro.
77123         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
77124         * m4/st_mtim.m4: Indentation.
77125
77126         Module nanosleep.
77127         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
77128         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
77129         gl_PREREQ_NANOSLEEP.
77130
77131         Module regex.
77132         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
77133         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
77134         (gl_REGEX): New macro.
77135
77136         Module rename.
77137         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
77138         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
77139
77140         Module rmdir.
77141         * m4/rmdir.m4: New file.
77142
77143         Module utime.
77144         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
77145         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
77146         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
77147
77148         Module dirname.
77149         * m4/dirname.m4: New file.
77150
77151         Module getopt.
77152         * m4/getopt.m4: New file.
77153
77154         Module unistd-safer.
77155         * m4/unistd-safer.m4: New file.
77156
77157         Module fnmatch.
77158         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
77159         declaration.
77160         (gl_PREREQ_FNMATCH_EXTRA): New macro.
77161         (gl_FUNC_FNMATCH_POSIX): New macro.
77162         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
77163         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
77164         simply fnmatch.
77165
77166         Module exclude.
77167         * m4/exclude.m4: New file.
77168
77169         Module human.
77170         * m4/human.m4: New file.
77171
77172         Module acl.
77173         * m4/acl.m4: Nop.
77174
77175         Module backupfile.
77176         * m4/backupfile.m4: New file.
77177         * m4/d-ino.m4: Indentation.
77178
77179         Module fsusage.
77180         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
77181         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
77182         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
77183
77184         Module dirfd.
77185         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
77186         requirements.
77187
77188         Module euidaccess.
77189         * m4/euidaccess.m4: New file.
77190
77191         Module file-type.
77192         * m4/file-type.m4: New file.
77193
77194         Module fileblocks.
77195         * m4/fileblocks.m4: New file.
77196
77197         Module filemode.
77198         * m4/filemode.m4: New file.
77199
77200         Module isdir.
77201         * m4/isdir.m4: New file.
77202
77203         Module lchown.
77204         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
77205         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
77206
77207         Module makepath.
77208         * m4/makepath.m4: New file.
77209
77210         Module modechange.
77211         * m4/modechange.m4: New file.
77212
77213         Module mountlist.
77214         * m4/mountlist.m4: New file.
77215         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
77216         Indentation.
77217
77218         Module path-concat.
77219         * m4/path-concat.m4: New file.
77220
77221         Module pathmax.
77222         * m4/pathmax.m4: New file.
77223
77224         Module same.
77225         * m4/same.m4: New file.
77226
77227         Module save-cwd.
77228         * m4/save-cwd.m4: New file.
77229
77230         Module savedir.
77231         * m4/savedir.m4: New file.
77232
77233         Module xgetcwd.
77234         * m4/xgetcwd.m4: New file.
77235         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
77236
77237         Module xreadlink.
77238         * m4/xreadlink.m4: New file.
77239
77240         Module safe-read.
77241         * m4/safe-read.m4: New file.
77242
77243         Module safe-write.
77244         * m4/safe-write.m4: New file.
77245
77246         Module closeout.
77247         * m4/closeout.m4: New file.
77248
77249         Module stdio-safer.
77250         * m4/stdio-safer.m4: New file.
77251
77252         Module getpass.
77253         * m4/getpass.m4: New file.
77254
77255         Module getugroups.
77256         * m4/getugroups.m4: New file.
77257
77258         Module group-member.
77259         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
77260         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
77261
77262         Module idcache.
77263         * m4/idcache.m4: New file.
77264
77265         Module userspec.
77266         * m4/userspec.m4: New file.
77267
77268         Module gettime.
77269         * m4/clock_time.m4: New file.
77270         * m4/gettime.m4: New file.
77271
77272         Module settime.
77273         * m4/settime.m4: New file.
77274
77275         Module posixtm.
77276         * m4/posixtm.m4: New file.
77277
77278         Module gethostname.
77279         * m4/gethostname.m4: New file.
77280
77281         Module canon-host.
77282         * m4/canon-host.m4: New file.
77283
77284         Module gettext.
77285         * m4/codeset.m4: New file, from gettext-0.11.5.
77286         * m4/gettext.m4: New file, from gettext-0.11.5.
77287         * m4/glibc21.m4: New file, from gettext-0.11.5.
77288         * m4/iconv.m4: New file, from gettext-0.11.5.
77289         * m4/intdiv0.m4: New file, from gettext-0.11.5.
77290         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
77291         * m4/inttypes.m4: New file, from gettext-0.11.5.
77292         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
77293         * m4/isc-posix.m4: New file, from gettext-0.11.5.
77294         * m4/lcmessage.m4: New file, from gettext-0.11.5.
77295         * m4/lib-ld.m4: New file, from gettext-0.11.5.
77296         * m4/lib-link.m4: New file, from gettext-0.11.5.
77297         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
77298         * m4/progtest.m4: New file, from gettext-0.11.5.
77299         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
77300         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
77301         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
77302
77303         Module localcharset.
77304         * m4/localcharset.m4: New file.
77305
77306         Module hard-locale.
77307         * m4/hard-locale.m4: New file.
77308
77309         Module mbswidth.
77310         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
77311         onceonly macros.
77312         * m4/mbrtowc.m4: Add comment.
77313
77314         Module memcasecmp.
77315         * m4/memcasecmp.m4: New file.
77316
77317         Module memcoll.
77318         * m4/memcoll.m4: New file.
77319
77320         Module unicodeio.
77321         * m4/unicodeio.m4: New file.
77322
77323         Module rpmatch.
77324         * m4/rpmatch.m4: New file.
77325
77326         Module yesno.
77327         * m4/yesno.m4: New file.
77328
77329         Module exitfail.
77330         * m4/exitfail.m4: New file.
77331
77332         Module c-stack.
77333         * m4/c-stack.m4 (gl_C_STACK): New macro.
77334         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
77335
77336         Module error.
77337         * m4/error.m4 (gl_ERROR): New macro.
77338         (jm_PREREQ_ERROR): Use onceonly macros.
77339
77340         Module fatal.
77341         * m4/fatal.m4: New file.
77342
77343         Module getloadavg.
77344         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
77345         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
77346
77347         Module getpagesize.
77348         * m4/getpagesize.m4: New file.
77349
77350         Module getusershell.
77351         * m4/getusershell.m4: New file.
77352
77353         Module physmem.
77354         * m4/physmem.m4: New file.
77355
77356         Module posixver.
77357         * m4/posixver.m4: New file.
77358
77359         Module quotearg.
77360         * m4/quotearg.m4: New file.
77361
77362         Module quote.
77363         * m4/quote.m4: New file.
77364
77365         Module readutmp.
77366         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
77367
77368         Module sig2str.
77369         * m4/sig2str.m4: New file.
77370
77371         Other.
77372         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
77373         ulonglong.m4.
77374         * m4/intmax_t.m4: New file.
77375         * m4/d-type.m4: Indentation.
77376         * m4/jm-macros.m4: Update.
77377         * m4/prereq.m4 (jm_PREREQ): Update.
77378         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
77379         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
77380         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
77381         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
77382         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
77383         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
77384         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
77385         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
77386         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
77387         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
77388         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
77389         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
77390         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
77391         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
77392         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
77393         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
77394         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
77395         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
77396         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
77397
77398 2002-12-24  Bruno Haible  <bruno@clisp.org>
77399
77400         * MODULES.txt: Update according to m4/ changes.
77401
77402         Module gettext.
77403         * config.rpath: New file, from gettext-0.11.5.
77404
77405         * modules/*: New module descriptions.
77406         * gnulib-tool: New file.
77407         * MODULES.html.sh: New file.
77408
77409 2002-12-21  Karl Berry  <karl@gnu.org>
77410
77411         * doc/fdl.texi: update to version 1.2.
77412
77413 2002-12-19  Karl Berry  <karl@gnu.org>
77414
77415         * config/config.guess: update from prep.
77416
77417 2002-12-18  Bruno Haible  <bruno@clisp.org>
77418
77419         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
77420         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
77421
77422 2002-12-17  Bruno Haible  <bruno@clisp.org>
77423
77424         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
77425         stdlib.h, string.h.
77426
77427 2002-12-17  Bruno Haible  <bruno@clisp.org>
77428
77429         * lib/canon-host.c (strdup): Remove unused declaration.
77430
77431         * lib/fsusage.c: Include full_read.h.
77432         (get_fs_usage): Use full_read instead of safe_read.
77433
77434         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
77435
77436 2002-12-12  Karl Berry  <karl@gnu.org>
77437
77438         * config/config.guess: update from prep.
77439
77440 2002-12-11  Bruno Haible  <bruno@clisp.org>
77441
77442         * m4/setenv.m4: New file, from gettext-0.11.5.
77443
77444 2002-12-11  Bruno Haible  <bruno@clisp.org>
77445
77446         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
77447         not unsetenv().
77448         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
77449         modifications:
77450
77451         2002-12-11  Bruno Haible  <bruno@clisp.org>
77452
77453                 * setenv.c (alloca): Fall back to malloc.
77454                 (freea): New macro.
77455                 (setenv): Use freea() to free memory allocated with alloca().
77456
77457         2002-11-13  Bruno Haible  <bruno@clisp.org>
77458
77459                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
77460                 function declarations.
77461                 * unsetenv.c (unsetenv): Likewise.
77462
77463         2002-03-04  Bruno Haible  <bruno@clisp.org>
77464
77465                 Portability to AIX 4.3.3.
77466                 * unsetenv.c: New file, extracted from setenv.c.
77467                 * setenv.c: Move the unsetenv() function to unsetenv.c.
77468
77469         2001-12-20  Bruno Haible  <bruno@clisp.org>
77470
77471                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
77472                 use malloc instead. For SunOS 4.
77473
77474         2001-12-11  Bruno Haible  <bruno@clisp.org>
77475
77476                 * setenv.c: Declare alloca.
77477                 (compar_fn_t): New typedef.
77478                 (KNOWN_VALUE, STORE_VALUE): Use it.
77479
77480         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
77481         setenv.h.
77482
77483 2002-12-10  Paul Eggert  <eggert@twinsun.com>
77484
77485         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
77486         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
77487         Choose values that are less likely to collide with system fnmatch
77488         options.
77489         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
77490         defined (e.g., a pure POSIX system).
77491         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
77492         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
77493
77494 2002-12-06  Paul Eggert  <eggert@twinsun.com>
77495
77496         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
77497         a pain in practice to deal with generated m4 files.  This change
77498         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
77499
77500         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
77501         and jm-glibc-io.m4, as they are no longer a special case.
77502         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
77503         kludge and the auto-generation stuff.  Check only whether the
77504         functions are declared, not whether they exist, since older hosts
77505         that don't declare the functions can't use the optimization anyway.
77506
77507 2002-12-06  Jim Meyering  <jim@meyering.net>
77508
77509         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
77510
77511         Merge in changes from libc's misc/error.c, in preparation
77512         for the merge of gnulib's changes back into libc.
77513
77514         * lib/error.c (_): Define only if not already defined.
77515         Move definition to follow all #include directives.
77516         Include unlocked-io.h only if !_LIBC.
77517         [_LIBC]: Include <libio/libioP.h>.
77518         [USE_IN_LIBIO]: Include <libio/iolibio.h>
77519         (fflush): Tweak definition to use INTUSE.
77520         (putc): Define.
77521
77522 2002-12-05  Paul Eggert  <eggert@twinsun.com>
77523
77524         * lib/alloca.c [defined emacs]: Include "lisp.h".
77525         (xalloc_die) [defined emacs]: New macro.
77526         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
77527         [! defined emacs]: Include <xalloc.h>.
77528         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
77529         (pointer): Typedef to POINTER_TYPE *.
77530         (malloc): Remove decl; we now always use xmalloc.
77531         (alloca): Use old-style definition, since Emacs needs this.
77532         Check for arithmetic overflow when computing combined size.
77533
77534 2002-12-04  Paul Eggert  <eggert@twinsun.com>
77535
77536         Do not generate unlocked-io.h automatically, since it's easier to
77537         maintain it by hand.
77538
77539         * lib/unlocked-io.h: New file, from GNU diffutils,
77540         but with proper copyright notice and attribution.
77541         * lib/gen-uio: Remove.
77542         * lib/Makefile.am: Add copyright notice.
77543         (libfetish_a_SOURCES): Add unlocked-io.h.
77544         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
77545         (DISTCLEANFILES, io_functions): Remove macros.
77546         (EXTRA_DIST): Remove gen_uio.
77547         (unlocked-io.h): Remove rule.
77548
77549 2002-12-04  Jim Meyering  <jim@meyering.net>
77550
77551         Reflect the fact that stat.c and lstat.c are no longer generated.
77552         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
77553         (DISTCLEANFILES): Likewise.
77554         (EXTRA_DIST): Likewise.
77555         (all_local): Don't depend on stat.c or lstat.c.
77556         (stat.c, lstat.c): Remove rules.
77557         (EXTRA_DIST): Remove xstat.in.
77558
77559         * lib/xstat.in: Remove file.  Contents moved into stat.c.
77560         * lib/stat.c: New file.  Contents mostly from xstat.in.
77561         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
77562         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
77563
77564         * lib/safe-read.c: Rework so that it may serve to define safe_write,
77565         too.
77566         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
77567
77568 2002-12-03  Jim Meyering  <jim@meyering.net>
77569
77570         * lib/safe-read.c, safe-write.c: Change variable names and comments,
77571         but not semantics, to minimize the differences between these two files.
77572         (safe_read): Change comment to mention SAFE_READ_ERROR.
77573
77574         * lib/safe-read.c (IS_EINTR): Define.
77575         (safe_read): Use IS_EINTR in place of in-function cpp directives.
77576
77577 2002-12-02  Jim Meyering  <jim@meyering.net>
77578
77579         * lib/safe-read.c (EINTR): Define.
77580         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
77581         (INT_MAX): Provide fallback.
77582         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
77583
77584         * lib/safe-read.h (SAFE_READ_ERROR): Define.
77585
77586 2002-12-02  Bruno Haible  <bruno@clisp.org>
77587
77588         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
77589         Define, taken from safe-read.c.
77590         (INT_MAX): Provide fallback.
77591         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
77592         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
77593
77594         * lib/safe-read.c (EINTR): Remove definition.
77595         (safe_read): Don't use EINTR if it is absent.
77596
77597 2002-12-01  Jim Meyering  <jim@meyering.net>
77598
77599         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
77600         zero.
77601         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
77602
77603 2002-11-27  Paul Eggert  <eggert@twinsun.com>
77604
77605         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
77606         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
77607         with `if (! (value < limit)) abort ();', for readability.
77608
77609 2002-11-26  Karl Berry  <karl@gnu.org>
77610
77611         * lib/strdup.c: copy from libc again, with jim's ok.
77612         * lib/.cppi-disable: re-add strdup.c
77613
77614 2002-11-25  Karl Berry  <karl@gnu.org>
77615
77616         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
77617         instead of "strtol.c".
77618
77619 2002-11-25  Karl Berry  <karl@gnu.org>
77620
77621         * config/install-sh: update from automake for variable quoting, $0 in
77622         error msgs, etc.
77623
77624         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
77625         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
77626         entry.
77627
77628 2002-11-25  Jim Meyering  <jim@meyering.net>
77629
77630         * lib/mktime.c: Sync from libc, now that it has the latest fix.
77631
77632 2002-11-24  Karl Berry  <karl@gnu.org>
77633
77634         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
77635         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
77636
77637 2002-11-24  Jim Meyering  <jim@meyering.net>
77638
77639         Update from coreutils:
77640
77641         * lib/mktime.c: Merge in changes from libc.
77642
77643         Avoid a link-time failure on some Linux systems.
77644         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
77645         (otherwise).
77646         (__mon_yday): Declare with the STATIC attribute.
77647         (__mktime_internal): Likewise.
77648         Based on a report from Greg Schafer.
77649
77650 2002-11-23  Jim Meyering  <jim@meyering.net>
77651
77652         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
77653         Use `unsigned', not `int', as type of index.
77654
77655         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
77656
77657         * lib/fsusage.c: Remove unneeded parentheses around operands of
77658         `defined'.
77659
77660 2002-11-22  Paul Eggert  <eggert@twinsun.com>
77661
77662         * lib/quotearg.h: Allow multiple inclusion by surrounding with
77663         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
77664         so that we can be included first.
77665         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
77666         * lib/quotearg.c: Include quotearg.h immediately after config.h.
77667         No need to include stddef.h or sys/types.h any more.
77668         Surround local include files with "", not "<>".
77669         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
77670         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
77671         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
77672         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
77673         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
77674         (ISPRINT): Remove; no longer needed now that we assume C89.
77675
77676         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
77677         Preserve errno.
77678
77679         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
77680         quotearg_char): Use SIZE_MAX rather than
77681         (size_t) -1 when we are talking about "infinity".
77682
77683         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
77684
77685 2002-11-22  Paul Eggert  <eggert@twinsun.com>
77686
77687         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
77688         hint that one should use `if (! x) abort ();' rather than `assert
77689         (x);', and anyway it's one less thing to worry about configuring.
77690         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
77691         hash_rehash, hash_insert): Use abort rather than assert.
77692
77693 2002-11-22  Bruno Haible  <bruno@clisp.org>
77694
77695         * lib/safe-read.h: Assume C89. Add comments.
77696         (safe_read): Change return type to size_t.
77697         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
77698         byte counts > SSIZE_MAX correctly.
77699         * lib/safe-write.h: New file.
77700         * lib/safe-write.c: New file.
77701         * lib/full-read.h: New file.
77702         * lib/full-read.c: New file.
77703         * lib/full-write.h: Assume C89. Add comments.
77704         * lib/full-write.c: Include safe-write.h.
77705         (full_write): Rewritten to use safe_write.
77706         Suggested by Jim Meyering and Paul Eggert.
77707
77708 2002-11-21  Jim Meyering  <jim@meyering.net>
77709
77710         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
77711
77712         Merge in changes from the coreutils.
77713
77714         2002-09-25  Paul Eggert  <eggert@twinsun.com>
77715         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
77716         <stdint.h>.
77717         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
77718         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
77719         int.  Work more efficiently if X is the same width as uintmax_t.
77720         Do not compare X to -1, to avoid bogus compiler warning.
77721         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
77722         Don't assume that f_frsize and f_bsize are the same type.
77723
77724         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
77725         warning on FreeBSD.
77726
77727         * lib/makepath.c (make_path): Restore umask *before* creating the final
77728         component.
77729         (make_path): Minor reformatting.
77730
77731         * lib/xmalloc.c: Adjust to work with new autoconf macros,
77732         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
77733         HAVE_MALLOC/HAVE_REALLOC.
77734
77735         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
77736         dummy ones.  At least on GNU/Linux systems, `auto' means something
77737         else.
77738         From Michael Stone.
77739
77740 2002-11-21  Bruno Haible  <bruno@clisp.org>
77741
77742         Remove case insensitive option matching.
77743         * lib/argmatch.h (argcasematch): Remove declaration.
77744         (ARGCASEMATCH): Remove macro.
77745         (__xargmatch_internal): Remove case_sensitive argument.
77746         (XARGMATCH): Update.
77747         (XARGCASEMATCH): Remove macro.
77748         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
77749         case_sensitive argument.
77750         (argcasematch): Remove function.
77751         (__xargmatch_internal): Remove case_sensitive argument.
77752         (main): Use XARGMATCH instead of XARGCASEMATCH.
77753
77754         * lib/xmalloc.c: Change compile-time error message. Add comment about
77755         required autoconf version.
77756
77757 2002-11-20  Paul Eggert  <eggert@twinsun.com>
77758
77759         Merge argmatch cleanups from Bison.  Assume C89.
77760
77761         * lib/argmatch.c: Include config.h here, not in argmatch.h.
77762         Include stdlib.h, for EXIT_FAILURE.
77763         Always include <string.h>, since we assume C89.
77764         (EXIT_FAILURE): Remove pre-C89 bug workaround.
77765         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
77766         Include <stddef.h> instead, since it's all we need for size_t.
77767         (PARAMS): Remove.  All uses removed.
77768         (ARRAY_CARDINALITY): Do not bother to #undef.
77769         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
77770         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
77771         Remove unnecessary parentheses.
77772         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
77773         Insert necessary parentheses.
77774         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
77775         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
77776
77777 2002-11-19  Bruno Haible  <bruno@clisp.org>
77778
77779         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
77780         * lib/mbswidth.h: Include <stddef.h>, for size_t.
77781
77782         * lib/mbswidth.h (PARAMS): Remove macro.
77783         (mbswidth, mbsnwidth): Use ANSI C function declarations.
77784         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
77785
77786         * lib/gcd.h (PARAMS): Remove macro.
77787         (gcd): Use ANSI C function declarations.
77788         * lib/gcd.c (gcd): Likewise.
77789
77790 2002-11-15  Bruno Haible  <bruno@clisp.org>
77791
77792         * lib/strcspn.c: Include <stddef.h>.
77793         (strcspn): Use ANSI C function declaration. Change return type to
77794         size_t. Use NULL.
77795         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
77796         (strpbrk): Use NULL.
77797         * lib/strpbrk.h (PARAMS): Remove macro.
77798         (strpbrk): Use ANSI C function declaration.
77799         * lib/strstr.c: Don't include <sys/types.h>.
77800         * lib/strstr.h (PARAMS): Remove macro.
77801         (strstr): Use ANSI C function declarations.
77802
77803 2002-11-14  Karl Berry  <karl@gnu.org>
77804
77805         * config/mkinstalldirs: `do' on separate line, instead of
77806         `for var; do'.
77807
77808 2002-11-06  Bruno Haible  <bruno@clisp.org>
77809
77810         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
77811         * lib/gcd.c (gcd): Likewise.
77812
77813 2002-11-05  Bruno Haible  <bruno@clisp.org>
77814
77815         * lib/gcd.h: New file, from gettext-0.11.5.
77816         * lib/gcd.c: New file, from gettext-0.11.5.
77817
77818 2002-11-05  Bruno Haible  <bruno@clisp.org>
77819
77820         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77821         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77822         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77823         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77824
77825         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
77826         <libintl.h>.
77827         * lib/makepath.c: Include gettext.h instead of <locale.h> and
77828         <libintl.h>.
77829
77830         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
77831         * lib/human.c: Include gettext.h instead of <libintl.h>.
77832         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
77833         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
77834         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
77835         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
77836         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
77837         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
77838         (textdomain): Remove definition.
77839         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
77840
77841         * lib/long-options.c: Remove include of <libintl.h> and definition of
77842         _.
77843         * lib/same.c: Remove include of <libintl.h> and definition of _.
77844
77845 2002-11-04  Owen Taylor  <otaylor@redhat.com>
77846
77847         * lib/config.charset: A few additions for Solaris.
77848
77849 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
77850
77851         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
77852         * lib/localcharset.c (locale_charset): Declare as extern "C".
77853
77854 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
77855
77856         * lib/config.charset: msdos in uk_UA uses CP1125.
77857
77858 2002-11-04  Bruno Haible  <bruno@clisp.org>
77859
77860         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
77861         * lib/strcase.h: New file, from GNU gettext-0.11.5.
77862         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
77863         * lib/strstr.h: New file, from GNU gettext-0.11.5.
77864         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
77865
77866 2002-11-04  Bruno Haible  <bruno@clisp.org>
77867
77868         * lib/localcharset.c (locale_charset): Don't return an empty string.
77869
77870 2002-11-04  Bruno Haible  <bruno@clisp.org>
77871
77872         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
77873         aliases.
77874
77875 2002-11-04  Bruno Haible  <bruno@clisp.org>
77876
77877         * lib/config.charset: Update for newest glibc. Add canonical names
77878         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
77879
77880 2002-11-04  Bruno Haible  <bruno@clisp.org>
77881
77882         * lib/config.charset: Add support for NetBSD.
77883
77884 2002-11-04  Bruno Haible  <bruno@clisp.org>
77885
77886         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
77887
77888 2002-11-01  Bruno Haible  <bruno@clisp.org>
77889
77890         * configure.in: Add AC_CONFIG_AUX_DIR call.
77891         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
77892         test/Makefile.
77893         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
77894
77895 2002-09-28  Karl Berry  <karl@gnu.org>
77896
77897         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
77898         installed automake until the next release, since changes have been
77899         made.
77900
77901 2002-09-25  Karl Berry  <karl@gnu.org>
77902
77903         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
77904         * lib/getopt*: copy from libc/posix.
77905         * lib/gettext.h: copy from gettext.
77906         * lib/.cppi-disable: add strdup.c, gettext.h.
77907
77908 2002-09-25  Karl Berry  <karl@gnu.org>
77909
77910         * config/srclist.txt: enable gettext.h check.
77911         * config/config.{guess,sub}: update from prep.
77912         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
77913                 from automake 1.6.3.
77914         See srclist*.
77915
77916 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
77917
77918         * regex.c (PATFETCH): Remove the translating fetch.
77919         (PATFETCH_RAW): Rename to PATFETCH.
77920         (set_image_of_range): New fun.
77921         (SET_RANGE_TABLE_WORK_AREA): Use it.
77922         (regex_compile): Don't translate the pattern chars so eagerly.
77923         Only do it when inserting an `exactn' bytecode or when handling
77924         a char-range.
77925         (mutually_exclusive_p): Avoid empty statement.
77926
77927 2002-07-06  Jim Meyering  <meyering@lucent.com>
77928
77929         * m4/README: Don't mention Makefile.am.in.
77930         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
77931
77932 2002-07-01  Jim Meyering  <meyering@lucent.com>
77933
77934         * lib/c-stack.c: Include sys/time.h.
77935         From Volker Borchert.
77936
77937 2002-06-26  Paul Eggert  <eggert@twinsun.com>
77938
77939         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
77940
77941 2002-06-26  Paul Eggert  <eggert@twinsun.com>
77942
77943         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
77944         New macro.  Use it uniformly instead of
77945         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
77946         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
77947         reported by Vin Shelton.
77948
77949 2002-06-22  Paul Eggert  <eggert@twinsun.com>
77950
77951         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
77952         Do not assume SA_SIGINFO behavior.
77953         Bug reported by Jim Meyering on NetBSD 1.5.2.
77954
77955 2002-06-22  Jim Meyering  <meyering@lucent.com>
77956
77957         * m4/c-stack.m4: New file, from diffutils-2.8.2.
77958         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
77959
77960         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
77961         now that configure.ac uses AC_GNU_SOURCE.
77962         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
77963         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
77964
77965         Update to latest tools.  Suggestions from Paul Eggert.
77966         * m4/stdbool.m4: New file, from diffutils-2.8.2.
77967         * m4/gnu-source.m4: Update from diffutils-2.8.2.
77968         * m4/fnmatch.m4: Likewise.
77969         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
77970         to AC_HEADER_STDBOOL
77971
77972 2002-06-22  Jim Meyering  <meyering@lucent.com>
77973
77974         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
77975         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
77976
77977 2002-06-22  Jim Meyering  <meyering@lucent.com>
77978
77979         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
77980
77981         * lib/exitfail.c, exitfail.h: Likewise.
77982         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
77983
77984         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
77985         of fnmatch.h.
77986         (EXTRA_DIST): Add fnmatch_loop.c.
77987         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
77988
77989         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
77990         * lib/fnmatch.c: Update from diffutils-2.8.2.
77991         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
77992         * lib/fnmatch.h: Remove file.
77993
77994 2002-06-21  Jim Meyering  <meyering@lucent.com>
77995
77996         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
77997         * m4/mbrtowc.m4: Likewise.
77998
77999         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
78000         * m4/mbswidth.m4: Reflect name change:
78001         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
78002         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
78003
78004         * m4/lib-link.m4: Update from gettext-0.11.2.
78005         * m4/gettext.m4: Likewise.
78006
78007         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
78008         From Alfred M. Szmidt.
78009
78010 2002-06-18  Paul Eggert  <eggert@twinsun.com>
78011
78012         * lib/file-type.h: Report an error if neither S_ISREG nor
78013         S_IFREG is defined, instead of using a test specific to glibc
78014         2.2.  This should be safe, since POSIX requires S_ISREG and
78015         Unix Version 7 had S_IFREG.  We don't need to check for
78016         <sys/types.h> since we don't use any symbols that it defines.
78017
78018 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
78019
78020         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
78021         $@-t, so that each temporary file name is unique and valid in the first
78022         8 characters, for operation under DOS.
78023
78024 2002-06-15  Paul Eggert  <eggert@twinsun.com>
78025
78026         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
78027
78028 2002-06-15  Jim Meyering  <meyering@lucent.com>
78029
78030         Work even with DJGPP 2.03, which lacks support for symlinks.
78031         From Richard Dawe.
78032         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
78033         is defined.
78034         * lib/lchown.c (S_ISLNK): Likewise.
78035
78036 2002-06-15  Jim Meyering  <meyering@lucent.com>
78037
78038         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
78039         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
78040         have been included before this file.
78041
78042 2002-06-14  Jim Meyering  <meyering@lucent.com>
78043
78044         * lib/file-type.h: Use the version from diffutils-2.8.2.
78045         * lib/file-type.c: Likewise.
78046
78047 2002-06-07  Jim Meyering  <meyering@lucent.com>
78048
78049         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
78050         They're needed at least for NetBSD 1.5.2.
78051         ($statxfs_includes): Include those same headers.
78052         ($statxfs_includes): Include sys/vfs.h if available.
78053         ($statxfs_includes): Likewise for sys/statvfs.h.
78054         Check for the following members in both structs statfs and statvfs:
78055         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
78056
78057 2002-06-01  Jim Meyering  <meyering@lucent.com>
78058
78059         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
78060         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
78061
78062 2002-05-28  Jim Meyering  <meyering@lucent.com>
78063
78064         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
78065         Reported by Volker Borchert.
78066
78067 2002-05-27  Jim Meyering  <meyering@lucent.com>
78068
78069         Fix a problem seen only on nonconforming systems whereby ls.c's
78070         use of localtime, and then of gettimeofday would cause trouble:
78071         the localtime call used to initialize rpl_gettimeofday's save
78072         mechanism would clobber ls's current local time information so
78073         that in any long listing the first file would always be listed
78074         with date 1970-01-01.  Analysis by Volker Borchert.
78075
78076         * lib/gettimeofday.c (localtime): Undefine.
78077         (rpl_localtime): New function.
78078
78079 2002-05-27  Jim Meyering  <meyering@lucent.com>
78080
78081         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
78082         localtime.
78083
78084         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
78085         use the replacement function; it wouldn't resolve at link time.
78086         Reported by Volker Borchert.
78087
78088 2002-05-22  Jim Meyering  <meyering@lucent.com>
78089
78090         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
78091         file-type.h.
78092         * lib/file-type.h: New file.
78093         * lib/file-type.c (file_type): New file/function.  Extracted from
78094         diffutils.
78095
78096 2002-04-30  Jim Meyering  <meyering@lucent.com>
78097
78098         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
78099
78100 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78101
78102         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
78103
78104 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78105
78106         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
78107         Do not check for alloca.h (no longer used) or stdbool.h (was never
78108         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
78109
78110 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78111
78112         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
78113
78114 2002-04-29  Jim Meyering  <meyering@lucent.com>
78115
78116         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
78117         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
78118         Use AC_FUNC_STRNLEN here instead.
78119
78120         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
78121         With autoconf-2.53a, it's part of AC_PROG_CC.
78122
78123 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78124
78125         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
78126         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
78127
78128 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78129
78130         * lib/sig2str.h, lib/sig2str.c: New files.
78131         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
78132
78133 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78134
78135         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
78136         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
78137         of 127, since 64 is the largest conceivable number for ancient
78138         nonstandard hosts.
78139         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
78140
78141 2002-04-28  Jim Meyering  <meyering@lucent.com>
78142
78143         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
78144
78145 2002-04-24  Jim Meyering  <meyering@lucent.com>
78146
78147         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
78148         (jm_PREREQ): Use it.
78149
78150         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
78151         mach/mach.h fcntl.h.
78152         Check for this function: setlocale.
78153
78154 2002-04-24  Jim Meyering  <meyering@lucent.com>
78155
78156         * lib/gettext.h: New file, from Gettext.
78157         * lib/Makefile.am (INCLUDES): Remove -I../intl.
78158         (libfetish_a_SOURCES): Add gettext.h.
78159
78160 2002-04-16  Jim Meyering  <meyering@lucent.com>
78161
78162         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
78163         ut_pid, ut_id, ut_exit.
78164
78165 2002-04-16  Jim Meyering  <meyering@lucent.com>
78166
78167         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
78168         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
78169         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
78170
78171 2002-04-12  Jim Meyering  <meyering@lucent.com>
78172
78173         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
78174         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
78175         existence of the getmntinfo function.  Needed for Darwin 5.3.
78176
78177         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
78178         This is necessary at least on Darwin 5.3.
78179
78180         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
78181         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
78182         strnlen.o in the library, and that makes some versions of ranlib
78183         object.
78184
78185 2002-04-12  Jim Meyering  <meyering@lucent.com>
78186
78187         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
78188
78189 2002-04-09  Jim Meyering  <meyering@lucent.com>
78190
78191         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
78192         to be more precise.  Rather than saying we're checking whether the
78193         function `works', say what we're testing.
78194         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
78195         Reported by Bruno Haible.
78196
78197 2002-03-10  Jim Meyering  <meyering@lucent.com>
78198
78199         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
78200         Suggestion from Santiago Vila.
78201
78202 2002-03-08  Jim Meyering  <meyering@lucent.com>
78203
78204         * lib/rename.c: Mention that this wrapper is needed also on
78205         mips-dec-ultrix4.4 systems.
78206
78207 2002-03-02  Jim Meyering  <meyering@lucent.com>
78208
78209         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
78210         not HAVE_CLOCK_SETTIME.
78211
78212 2002-02-27  Paul Eggert  <eggert@twinsun.com>
78213
78214         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
78215         Check for clock_settime.
78216
78217 2002-02-27  Paul Eggert  <eggert@twinsun.com>
78218
78219         * lib/nanosleep.h: Rename to....
78220         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
78221
78222         * lib/gettime.c: New file.
78223         * lib/settime.c: New file.
78224         * lib/stime.c: Remove.
78225
78226         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
78227         timespec.h.  Remove nanosleep.h.
78228
78229 2002-02-25  Paul Eggert  <eggert@twinsun.com>
78230
78231         * m4/acl.m4: New file.
78232         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
78233         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
78234
78235 2002-02-25  Paul Eggert  <eggert@twinsun.com>
78236
78237         * lib/acl.c, lib/acl.h: New files.
78238         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
78239
78240 2002-02-24  Jim Meyering  <meyering@lucent.com>
78241
78242         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
78243         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
78244         cause trouble.  Reported by Nelson Beebe.
78245
78246 2002-02-23  Paul Eggert  <eggert@twinsun.com>
78247
78248         * lib/path-concat.c (xpath_concat): Reorder code to pacify
78249         compilers that don't know that xalloc_die never returns.
78250
78251 2002-02-20  Jim Meyering  <meyering@lucent.com>
78252
78253         * lib/getdate.c: Regenerate using bison-1.33.
78254
78255 2002-02-17  Jim Meyering  <meyering@lucent.com>
78256
78257         * config/config.guess (main): Don't use `head -1'; it's no longer
78258         portable. Use `sed 1q' instead.
78259
78260 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
78261
78262         * m4/codeset.m4: Upgrade to gettext-0.11.
78263         * m4/gettext.m4: Upgrade to gettext-0.11.
78264         * m4/glibc21.m4: Upgrade to gettext-0.11.
78265         * m4/iconv.m4: Upgrade to gettext-0.11.
78266         * m4/isc-posix.m4: Upgrade to gettext-0.11.
78267         * m4/lcmessage.m4: Upgrade to gettext-0.11.
78268         * m4/lib-ld.m4: New file, from gettext-0.11.
78269         * m4/lib-link.m4: New file, from gettext-0.11.
78270         * m4/lib-prefix.m4: New file, from gettext-0.11.
78271         * m4/progtest.m4: Upgrade to gettext-0.11.
78272
78273 2002-02-15  Paul Eggert  <eggert@twinsun.com>
78274
78275         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
78276         (jm_PREREQ): Use it.
78277
78278 2002-02-15  Paul Eggert  <eggert@twinsun.com>
78279
78280         * lib/posixver.c, lib/posixver.h: New files.
78281         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
78282
78283 2002-02-02  Paul Eggert  <eggert@twinsun.com>
78284             Bruno Haible  <bruno@clisp.org>
78285
78286         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
78287         (fwrite_success_callback): New declaration.
78288         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
78289         print_unicode_char. Call failure callback instead of error.
78290         (fwrite_success_callback): New function.
78291         (exit_failure_callback): New function.
78292         (fallback_failure_callback): New function.
78293         (print_unicode_char): Call unicode_to_mb.
78294
78295 2002-01-26  Jim Meyering  <meyering@lucent.com>
78296
78297         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
78298         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
78299
78300 2002-01-26  Jim Meyering  <meyering@lucent.com>
78301
78302         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
78303
78304 2002-01-22  Paul Eggert  <eggert@twinsun.com>
78305
78306         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
78307
78308 2002-01-22  Jim Meyering  <meyering@lucent.com>
78309
78310         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
78311         Otherwise, some versions of automake would omit the rule that makes
78312         Makefile from Makefile.in.
78313
78314 2002-01-21  Paul Eggert  <eggert@twinsun.com>
78315
78316         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
78317         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
78318         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
78319         (memcoll): Set errno to zero if there is no error.
78320
78321         * lib/quotearg.c (quotearg_buffer_restyled):
78322         Fix bug with quoting buffers containing NUL when backslashing escapes.
78323         This bug was exposed by the other changes in this patch.
78324         (quotearg_n_options): New arg ARGSIZE.
78325         All callers changed.
78326         (quoting_options_from_style): New function.
78327         (quotearg_n_style): Use it.
78328         (quotearg_n_style_mem): New function.
78329
78330         * lib/quotearg.h (quotearg_n_style_mem): New function.
78331
78332 2002-01-19  Jim Meyering  <meyering@lucent.com>
78333
78334         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
78335         Remove useless quotes: DF_PROG="df".
78336         * m4/strnlen.m4: New file.
78337
78338 2002-01-16  Paul Eggert  <eggert@twinsun.com>
78339
78340         * lib/backupfile.c (ISDIGIT): Comment fix.
78341         * lib/getdate.y (ISDIGIT): Likewise.
78342         * lib/posixtm.c (ISDIGIT, year): Likewise.
78343         * lib/strverscmp.c (ISDIGIT): Likewise.
78344         * lib/userspec.c (ISDIGIT): Likewise.
78345
78346 2002-01-16  Jim Meyering  <meyering@lucent.com>
78347
78348         * lib/getdate.y: Add three semicolons, each just before a closing
78349         brace. Bison (as of version 1.31) no longer papers over that mistake.
78350
78351 2002-01-05  Jim Meyering  <meyering@lucent.com>
78352
78353         * lib/version-etc.c (version_etc_copyright): Update copyright year.
78354
78355 2001-12-19  Paul Eggert  <eggert@twinsun.com>
78356
78357         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
78358         not silently exit merely because the output buffer happens to
78359         have nothing pending.
78360
78361 2001-12-18  Paul Eggert  <eggert@twinsun.com>
78362
78363         See the big note in ../ChangeLog.
78364         * lib/human.c (suffixes): Prefer K to k for 1024.
78365         (generate_suffix_backwards): New function.
78366         (human_readable_inexact): Use it.
78367         * lib/xstrtol.c (__xstrtol): If there is no number but there
78368         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
78369         Accept 'K' as well as 'k'.
78370
78371 2001-12-15  Jim Meyering  <meyering@lucent.com>
78372
78373         * lib/regex.h (__restrict_arr): Update from libc.
78374
78375         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
78376         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
78377         (STREQ): Define.
78378
78379 2001-12-14  Jim Meyering  <meyering@lucent.com>
78380
78381         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
78382         Suggestion from Bruno Haible.
78383
78384 2001-12-10  Jim Meyering  <meyering@lucent.com>
78385
78386         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
78387         xrealloc, Instead, include "xalloc.h".
78388         (initbuffer): Don't cast xmalloc return value to char*.
78389         (readline): Reword comment.
78390         Don't cast xrealloc return value to char*
78391         Return NULL, not 0.
78392
78393 2001-12-09  Jim Meyering  <meyering@lucent.com>
78394
78395         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
78396         about `signed and unsigned type in conditional expression'.
78397         * lib/posixtm.c (posix_time_parse): Likewise.
78398
78399         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
78400
78401         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
78402         to avoid a pedantic warning.
78403
78404         * lib/getstr.c: Don't include assert.h.
78405         (getstr): Remove warning-evoking assertions.
78406         Return -1 if offset parameter is out of bounds.
78407         Change the type of a local from int to size_t.
78408
78409         * lib/strftime.c (my_strftime_localtime_r): Include this function
78410         definition in the `#if ! HAVE_TM_GMTOFF' block.
78411
78412         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
78413         Include xalloc.h instead.
78414
78415 2001-12-02  Jim Meyering  <meyering@lucent.com>
78416
78417         * lib/tempname.c: Don't declare getenv, thus reverting the change of
78418         2001-11-18.  It's no longer necessary, now that stdlib.h is always
78419         included.
78420
78421         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
78422         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
78423
78424 2001-11-30  Akim Demaille  <akim@epita.fr>
78425
78426         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
78427         before being defined.
78428
78429 2001-11-27  Paul Eggert  <eggert@twinsun.com>
78430
78431         * lib/quotearg.h (quotearg_n, quotearg_n_style):
78432         First arg is int, not unsigned.
78433         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
78434         (SIZE_MAX, UINT_MAX): New macros.
78435         (quotearg_n_options): Abort if N is negative.
78436         Avoid overflow check on hosts where size_t is 64 bits and int
78437         is 32 bits, as overflow is impossible there.
78438         Fix off-by-one typo that caused unnecessary reallocation.
78439
78440 2001-11-27  Jim Meyering  <meyering@lucent.com>
78441
78442         * lib/tempname.c: Merge with version from libc.
78443         * lib/regex.c: Likewise.
78444
78445         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
78446         systems for which STDC_HEADERS is 0, it was not included, resulting in
78447         a warning about an integer-to-pointer conversion problem with getenv.
78448         Reported by Volker Borchert.
78449
78450 2001-11-26  Jim Meyering  <meyering@lucent.com>
78451
78452         * lib/gtod.h: Remove file.
78453         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
78454         * lib/gettimeofday.c: Don't include gtod.h.
78455         (GTOD_init): Remove function.
78456         (rpl_gettimeofday): Do its job here instead, rather than aborting.
78457         Suggestion from Volker Borchert.
78458
78459 2001-11-23  Jim Meyering  <meyering@lucent.com>
78460
78461         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
78462         it.
78463         * lib/hash.c (struct hash_table): Define it here instead.
78464
78465 2001-11-22  Jim Meyering  <meyering@lucent.com>
78466
78467         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
78468
78469 2001-11-20  Jim Meyering  <meyering@lucent.com>
78470
78471         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
78472         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
78473
78474 2001-11-19  Jim Meyering  <meyering@lucent.com>
78475
78476         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
78477         directory.  Use "conftestXXXXXX" as the template.
78478         Suggestion from Paul Eggert.
78479
78480         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
78481         immediately, so the test doesn't mistakenly hit the max-open-files
78482         limit.
78483
78484 2001-11-18  Paul Eggert  <eggert@twinsun.com>
78485
78486         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
78487         (TEMPORARIES): New macro.
78488         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
78489         removes an artificial limitation (e.g. HP-UX 10.20, where
78490         TMP_MAX is 17576).
78491
78492 2001-11-18  Jim Meyering  <meyering@lucent.com>
78493
78494         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
78495
78496 2001-11-18  Jim Meyering  <meyering@lucent.com>
78497
78498         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
78499         on SunOS 4.
78500
78501         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
78502         files will be created before anything else.
78503
78504 2001-11-17  Paul Eggert  <eggert@twinsun.com>
78505
78506         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
78507         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
78508
78509 2001-11-17  Jim Meyering  <meyering@lucent.com>
78510
78511         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
78512         Prompted by a report from Bob Proulx.
78513
78514         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
78515         Instead, require UTILS_FUNC_MKSTEMP.
78516
78517 2001-11-17  Jim Meyering  <meyering@lucent.com>
78518
78519         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
78520         Now, that's done as part of AC_FUNC_STRTOD.
78521
78522 2001-11-17  Jim Meyering  <meyering@lucent.com>
78523
78524         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
78525         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
78526         rather than group writable.  Patch by Juan F. Codagnone.
78527
78528         * lib/readtokens.c: Remove explicit declarations of xmalloc and
78529         xrealloc, Instead, include "xalloc.h".
78530
78531         * lib/mountlist.c: Include unlocked-io.h after all system headers.
78532         Remove explicit declarations of xmalloc, xrealloc,
78533         and xstrdup.  Instead, include "xalloc.h".
78534
78535         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
78536         unlocked-io.h.
78537         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
78538         Likewise.
78539         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
78540
78541         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
78542         Reported by Padraig Brady.
78543
78544         * lib/mkstemp.c: #undef mkstemp.
78545         Include config.h.
78546         (rpl_mkstemp): Rename from mkstemp.
78547         Protoize.
78548
78549 2001-11-16  Jim Meyering  <meyering@lucent.com>
78550
78551         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
78552         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
78553         determine the amount of total physical memory, use pstat_getstatic.
78554         HPUX-11 doesn't define _SC_PHYS_PAGES.
78555         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
78556         If sysconf couldn't be used to determine the amount of available
78557         physical memory, use both pstat_getstatic and pstat_getdynamic.
78558         Based on a patch from Bob Proulx.
78559
78560 2001-11-10  Jim Meyering  <meyering@lucent.com>
78561
78562         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
78563         (jm_PREREQ): Use it.
78564
78565 2001-11-09  Jim Meyering  <meyering@lucent.com>
78566
78567         * m4/jm-macros.m4: Require autoconf-2.52f.
78568         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
78569         Use these AC_-prefixed names, not the AM_-prefixed ones.
78570
78571         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
78572
78573 2001-11-05  Jim Meyering  <meyering@lucent.com>
78574
78575         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
78576
78577 2001-11-04  Jim Meyering  <meyering@lucent.com>
78578
78579         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
78580         $DEFS.
78581
78582 2001-11-03  Jim Meyering  <meyering@lucent.com>
78583
78584         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
78585         of AC_DEFUN.
78586
78587         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
78588         know the name of the variable in the macro definition.
78589
78590 2001-11-03  Jim Meyering  <meyering@lucent.com>
78591
78592         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
78593         in argmatch_to_argument call.
78594
78595         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
78596         argument.
78597
78598         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
78599         e.g., a fault due to an attempt to free a NULL pointer.
78600
78601 2001-11-01  Jim Meyering  <meyering@lucent.com>
78602
78603         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
78604         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
78605
78606 2001-11-01  Jim Meyering  <meyering@lucent.com>
78607
78608         * lib/dirfd.c, lib/dirfd.h: New files.
78609         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
78610
78611         * lib/hash.c (hash_print) [TESTING]: Clean up.
78612
78613 2001-10-22  Paul Eggert  <eggert@twinsun.com>
78614
78615         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
78616         to avoid a warning if -Wall.
78617
78618 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
78619
78620         * README: New file
78621         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
78622         (per RMS's instructions, this is now the canonical source)
78623         * lgpl/, gpl/: New directories.
78624
78625 2001-10-21  Paul Eggert  <eggert@twinsun.com>
78626
78627         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
78628
78629 2001-10-21  Jim Meyering  <meyering@lucent.com>
78630
78631         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
78632         this code would end up calling gettext even in packages built
78633         with --disable-nls.
78634         * lib/getopt.c (_): Likewise.
78635         * lib/regex.c (_): Likewise.
78636
78637 2001-10-20  Paul Eggert  <eggert@twinsun.com>
78638
78639         * m4/error.m4 (jm_PREREQ_ERROR):
78640         Do not invoke AC_CHECK_FUNCS with strerror_r, as
78641         AC_FUNC_STRERROR_R does that.
78642         Check for strerror declaration.
78643
78644         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
78645         are supposed to have them these days.
78646         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
78647         Merge changes from latest Autoconf CVS.
78648         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
78649         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
78650         POSIX decided to standardize on the int flavor of strerror_r.
78651
78652 2001-10-20  Paul Eggert  <eggert@twinsun.com>
78653
78654         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
78655         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
78656         Use strerror_r that is only a macro, even if it is not a function.
78657         (strerror): Check for HAVE_DECL_STRERROR before declaring.
78658         (private_strerror): Use prototypes, not old-style function definition.
78659         (print_errno_message): New function.
78660         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
78661         char*-flavored one.
78662         (error_tail, error, error_at_line): Use it.
78663
78664 2001-10-11  Jim Meyering  <meyering@lucent.com>
78665
78666         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
78667         and quote_n (1, ... to avoid clobbering a buffer.
78668
78669 2001-10-05  Jim Meyering  <meyering@lucent.com>
78670
78671         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
78672         hash-pjw.h.
78673         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
78674         * lib/hash-pjw.h: New file.
78675
78676 2001-09-30  Jim Meyering  <meyering@lucent.com>
78677
78678         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
78679         `struct fsstat' has the `f_fstypename' member.
78680         Use that to define FS_TYPE, which is now used to make
78681         the getfsstat link test tighter.
78682
78683 2001-09-30  Jim Meyering  <meyering@lucent.com>
78684
78685         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
78686         Include <sys/ucred.h>, for Apple Darwin.
78687         Include sys/mount.h and sys/fs_types.h only if available.
78688         (FS_TYPE): Define.
78689         (read_filesystem_list): Use FS_TYPE.
78690
78691 2001-09-29  Paul Eggert  <eggert@twinsun.com>
78692
78693         * lib/exclude.c (excluded_filename): 0 -> false, since it's
78694         a boolean context.
78695
78696 2001-09-29  Jim Meyering  <meyering@lucent.com>
78697
78698         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
78699         [one-argument getmntent function]): Include stdio.h before mntent.h.
78700         SunOS 4.1.x needs it for the declaration of `FILE'.
78701         Patch by Volker Borchert.
78702
78703         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
78704         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
78705         sys/fs_types.h, and make the link-test for getfsstat guard #include
78706         directives with appropriate #if HAVE_*_H tests so that we can
78707         detect getfsstat on Apple Darwin1.3.7 systems.
78708         Reported by Nelson Beebe.
78709         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
78710
78711 2001-09-28  Paul Eggert  <eggert@twinsun.com>
78712
78713         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
78714         #defines strtoimax.  Also treat the other strto* functions
78715         like strtoimax.
78716
78717         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
78718         Check for strtoul and strtoumax,
78719         as those declarations are made even in the signed case.
78720         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
78721         Likewise, for strtol and strtoimax.
78722
78723 2001-09-28  Paul Eggert  <eggert@twinsun.com>
78724
78725         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
78726         #defines strtoimax.  Also treat the other strto* functions
78727         like strtoimax.
78728
78729         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
78730         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
78731         (strtoimax, strtoumax): Do not declare if already defined as a macro.
78732
78733 2001-09-26  Jim Meyering  <meyering@lucent.com>
78734
78735         Most macros in unlocked-io.h had the wrong number of arguments.
78736         * lib/gen-uio: New script.
78737         (USE_UNLOCKED_IO): Define to 1 if not already defined.
78738         * lib/unlocked-io.hin: Remove file.
78739         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
78740         rather than trying to embed it here.
78741         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
78742         Reported by Padraig Brady.
78743
78744 2001-09-25  Volker Borchert  <bt@teknon.de>
78745
78746         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
78747         `result'.
78748
78749 2001-09-24  Jim Meyering  <meyering@lucent.com>
78750
78751         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
78752
78753 2001-09-23  Jim Meyering  <meyering@lucent.com>
78754
78755         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
78756         instead of the mere test for existence of mntent.h.  The latter
78757         would get a false-positive on AIX 3.4 systems.
78758         In the outer getmntent if-block, don't die if neither of the getmntent
78759         tests succeeds.  Instead, just fall through and continue with the
78760         remaining tests.
78761
78762 2001-09-23  Jim Meyering  <meyering@lucent.com>
78763
78764         * lib/mountlist.c: Remove useless parentheses in #if directives.
78765         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
78766         the deprecated MOUNTED symbol is no longer defined in mntent.h.
78767
78768 2001-09-22  Jim Meyering  <meyering@lucent.com>
78769
78770         * m4/gettext.m4: New file.  From gettext.
78771         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
78772         * m4/progtest.m4: Likewise
78773         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
78774         * m4/glibc21.m4: Likewise.
78775
78776         * m4/libintl.m4: Remove.  No longer used.
78777
78778 2001-09-22  Jim Meyering  <meyering@lucent.com>
78779
78780         * lib/localcharset.c: Update from latest gettext.
78781         * lib/config.charset: Likewise.
78782
78783 2001-09-20  Jim Meyering  <meyering@lucent.com>
78784
78785         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
78786         strtoimax.
78787         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
78788         strtoumax.
78789
78790 2001-09-20  Jim Meyering  <meyering@lucent.com>
78791
78792         * lib/xstrtol.c (strtoimax): Guard declaration with
78793         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
78794         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
78795         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
78796         (strtoumax): Likewise, for completeness (it wasn't necessary).
78797
78798 2001-09-17  Paul Eggert  <eggert@twinsun.com>
78799
78800         * lib/strtoimax.c (HAVE_LONG_LONG):
78801         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
78802         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
78803         to work around bug in IBM C compiler.
78804
78805 2001-09-17  Jim Meyering  <meyering@lucent.com>
78806
78807         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
78808         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
78809         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
78810         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
78811         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
78812         whenever the right hand side need not be expanded by the shell.
78813
78814 2001-09-16  Paul Eggert  <eggert@twinsun.com>
78815
78816         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
78817         library.  It's not correct, as some older glibcs are buggy.
78818         fnmatch wasn't fixed until glibc 2.2.
78819
78820         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
78821         special shell magic here.
78822
78823 2001-09-16  Jim Meyering  <meyering@lucent.com>
78824
78825         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
78826         * m4/jm-macros.m4: Require it.
78827
78828 2001-09-16  Jim Meyering  <meyering@lucent.com>
78829
78830         * lib/mkdir.c: New file.
78831
78832 2001-09-15  Jim Meyering  <meyering@lucent.com>
78833
78834         * m4/jm-macros.m4: Check for help2man.
78835
78836 2001-09-11  Jim Meyering  <meyering@lucent.com>
78837
78838         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
78839         The body, by Paul Eggert, was moved here from configure.in.
78840         * m4/jm-macros.m4: Require UTILS_HOST_OS.
78841
78842 2001-09-04  Paul Eggert  <eggert@twinsun.com>
78843
78844         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
78845         (jm_PREREQ): Use it.
78846
78847 2001-09-04  Paul Eggert  <eggert@twinsun.com>
78848
78849         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
78850         Use ssize_t, not int, to store result of readlink.
78851         Check for ssize_t overflow as well as size_t overflow,
78852         as POSIX says the result of readlink is implementation-defined
78853         when ssize_t overflows.
78854         Remove unnecessary cast to char*.
78855         Use free+malloc instead of realloc, as the storage doesn't need
78856         to be preserved and it's clearer and can be more efficient that way.
78857         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
78858         * lib/xreadlink.h (xreadlink): Update prototype.
78859
78860 2001-09-04  Paul Eggert  <eggert@twinsun.com>
78861
78862         * lib/xgetcwd.c: Revert some of the previous change; intead,
78863         fix the HAVE_GETCWD_NULL code to behave more like the
78864         !HAVE_GETCWD_NULL code used to.
78865
78866         Include "xalloc.h".
78867         (xgetcwd): Do not return NULL when memory is exhausted; instead,
78868         invoke xalloc_die.
78869
78870 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78871
78872         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
78873         sys/param.h, as pathmax.h includes them.
78874
78875 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78876
78877         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
78878         (jm_PREREQ_XGETCWD): New macro.
78879
78880         * m4/getcwd.m4: New file.
78881
78882 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78883
78884         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
78885         like the HAVE_GETCWD_NULL code.
78886         Include pathmax.h if not HAVE_GETCWD.
78887         Do not include xalloc.h.
78888         (INITIAL_BUFFER_SIZE): New symbol.
78889         Do not use xmalloc / xrealloc, since the caller is responsible for
78890         handling errors.  Preserve errno around `free' during failure.
78891         Do not overrun buffer when using getwd.
78892
78893 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78894
78895         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
78896         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
78897         getcwd (NULL, 0).
78898
78899 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78900
78901         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
78902         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
78903         spotted by Jim Meyering.
78904
78905 2001-09-03  Jim Meyering  <meyering@lucent.com>
78906
78907         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
78908         failure.
78909
78910 2001-09-02  Jim Meyering  <meyering@lucent.com>
78911
78912         * lib/error.c: Update from GNU libc.
78913
78914 2001-09-01  Jim Meyering  <meyering@lucent.com>
78915
78916         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
78917         Used by df.
78918
78919 2001-09-01  Jim Meyering  <meyering@lucent.com>
78920
78921         * lib/xreadlink.c: New file.
78922         * lib/xreadlink.h: New file.
78923         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
78924         xreadlink.h.
78925
78926         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
78927         doesn't conflict with sparc Solaris 7's definition in
78928         /usr/include/sys/int_types.h.
78929
78930         * lib/exclude.c: Use `""', not `<>' to #include non-system header
78931         files.
78932         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
78933         and strncasecmp as r-values.  Unixware didn't have declarations.
78934
78935 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78936
78937         * lib/xstrtol.h: Add copyright notice.
78938         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
78939         LONGINT_INVALID_SUFFIX_CHAR.
78940
78941 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78942
78943         * lib/xstrtol.c (strtoimax): New decl.
78944
78945 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78946
78947         * lib/xgetcwd.c: Don't include pathmax.h.
78948         Include stdlib.h and unistd.h if available.
78949         Include xalloc.h.
78950         (xmalloc, xstrdup, free): Remove decls.
78951         (xgetcwd): Don't assume sizes fit in unsigned.
78952         Check for overflow when computing sizes.
78953         Simplify reallocation code.
78954
78955 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78956
78957         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
78958         a directory's st_size can have an arbitrary value, so the old
78959         usage could waste an arbitrary amount of memory.  All uses
78960         changed.
78961         * lib/savedir.h: Update prototype.
78962
78963 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78964
78965         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
78966
78967         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
78968         old strtoimax.c.
78969
78970         Also, make the following further changes to make this file's
78971         configuration more similar to that of strtol.c:
78972         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
78973         (strtoumax, uintmax_t, strtoull, strtol): Remove.
78974         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
78975         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
78976         changed to signed values.
78977
78978         And make the following changes as well:
78979         Fix copyright notice, as 1999 was missing.
78980         (verify): New macro.
78981         (strtoimax): Check sizes at compile-time, not run-time.
78982         Prefer strtol to strtoll if both work.
78983         (main): Remove; it was not that useful and was a pain to maintain.
78984
78985         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
78986
78987 2001-08-31  Jim Meyering  <meyering@lucent.com>
78988
78989         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
78990         Use an initial, malloc'd, buffer of length 128 rather than
78991         a statically allocated one of length 1024.
78992
78993 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78994
78995         Simplify code, partly by assuming autoconf 2.52 semantics.
78996
78997         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
78998
78999         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
79000         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
79001         All uses removed.
79002         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
79003         Move AC_REQUIRE to next-to-top level, to avoid confusion.
79004         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
79005         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
79006         jm_AC_HEADER_INTTYPES_H.
79007         * m4/jm-macros.m4 (jm_MACROS): Likewise.
79008
79009         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
79010
79011         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
79012         Quote first arg of AC_DEFUN.
79013         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
79014         since they are needed to parse the include file even if we need
79015         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
79016         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
79017         but with opposite signedness.
79018
79019 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79020
79021         Merge 'exclude' changes from tar 1.13.22.
79022         This fixes one or two unlikely storage allocation overflow bugs,
79023         but doesn't change user-visible behavior otherwise.
79024
79025 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79026
79027         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
79028         (jm_PREREQ_EXCLUDE): New macro.
79029
79030 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79031
79032         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
79033         tm to be declared.
79034
79035 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79036
79037         * lib/hash.c: Remove '2001' from copyright notice.
79038
79039 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79040
79041         * lib/full-write.h: New file.
79042         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
79043         * lib/full-write.c: Correct credits, as cccp.c no longer
79044         exists and anyway it was so heavily changed from the old cccp
79045         code as to be unrecognizable.  Include full-write.h.
79046         (full_write): Return size_t, with short writes meaning failure.
79047         All callers changed.  This fixes a bug with large buffers
79048         on 64-bit hosts.
79049         * lib/utime.c: Include full-write.h.
79050
79051 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79052
79053         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
79054         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
79055         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
79056         Include if available.
79057         (<xalloc.h>): Include
79058         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
79059         (verify): New macro.  Use it to verify that EXCLUDE macros do not
79060         collide with FNM macros.
79061         (struct patopts): New struct.
79062         (struct exclude): Use it, as exclude patterns now come with options.
79063         (new_exclude): Support above changes.
79064         (new_exclude, add_exclude_file):
79065         Initial size must now be a power of two to simplify overflow checking.
79066         (free_exclude, fnmatch_no_wildcards): New function.
79067         (excluded_filename): No longer requires options arg, as the options
79068         are determined by add_exclude.  Now returns bool, not int.
79069         (excluded_filename, add_exclude):
79070         Add support for the fancy new exclusion options.
79071         (add_exclude, add_exclude_file): Now takes int options arg.
79072         Check for arithmetic overflow when computing sizes.
79073         (add_exclude_file): xrealloc might modify errno, so don't
79074         realloc until after errno might be used.
79075
79076         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
79077         New macros.
79078         (free_exclude): New decl.
79079         (add_exclude, add_exclude_file): Now takes int options arg.
79080         (excluded_filename): No longer requires options arg, as the options
79081         are determined by add_exclude.  Now returns bool, not int.
79082
79083 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79084
79085         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
79086
79087 2001-08-27  Jim Meyering  <meyering@lucent.com>
79088
79089         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
79090
79091         * lib/version-etc.c (N_): Remove definition.
79092         Revert most of last change.
79093         Instead, simply don't mark the `Copyright...' string for translation.
79094         Based on advice from Paul Eggert.
79095
79096         * lib/strtoxmax.c: Tweak comment.
79097
79098 2001-08-26  Jim Meyering  <meyering@lucent.com>
79099
79100         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
79101
79102         * m4/xstrtoimax.m4: New file.
79103         * m4/xstrtoumax.m4: Add comments explaining why we
79104         AC_REPLACE_FUNCS(strtol).
79105
79106 2001-08-26  Jim Meyering  <meyering@lucent.com>
79107
79108         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
79109         of copyright with `%s' so translators don't get an untranslated
79110         message in 2002.
79111         (COPYRIGHT_YEAR): Define.
79112         (version_etc): Use fprintf rather than fputs.
79113         Suggestion from Ulrich Drepper.
79114
79115         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
79116
79117         * lib/strtoll.c: New file, from GNU libc.
79118         * lib/xstrtoimax.c: New file.
79119
79120         * lib/xstrtol.h: Add xstrtoimax.
79121         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
79122         * lib/strtoimax.c: New file.  Likewise, but first define
79123         STRTOUXMAX_SIGNED.
79124
79125         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
79126         ...
79127         * lib/strtoxmax.c: ... then renamed to this.
79128
79129 2001-08-18  Paul Eggert  <eggert@twinsun.com>
79130
79131         * m4/inttypes.m4: Add AC_PREREQ(2.13).
79132         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
79133         (jm_AC_TYPE_INTMAX_T): New macro.
79134         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
79135
79136         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
79137
79138         * m4/longlong.m4: Renamed from ulonglong.m4.
79139         * m4/inttypes.m4: Renamed from inttypes_h.m4.
79140         * m4/uintmax_t.m4: Removed.
79141
79142 2001-08-13  Paul Eggert  <eggert@twinsun.com>
79143
79144         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
79145         Port to Solaris 8, where 'sed' requires a space after the 'r'
79146         command, and where sh dislikes "$/".  Clean up the spacing a bit.
79147         Redirect output to $tmp just once.
79148
79149 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
79150
79151         * lib/addext.c (<errno.h>): Include.
79152         (errno): Declare if not defined.
79153         (addext): Work correctly when pathconf returns -1 and leaves
79154         errno alone because there is no limit.  Also, work even if
79155         pathconf returns a value greater than SIZE_MAX.
79156
79157 2001-08-12  Jim Meyering  <meyering@lucent.com>
79158
79159         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
79160         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
79161         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
79162         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
79163         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
79164         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
79165         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
79166         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
79167         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
79168         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
79169         utime.m4, utimes.m4, xstrtoumax.m4:
79170         Quote the first argument in each use of AC_DEFUN.
79171
79172 2001-08-12  Jim Meyering  <meyering@lucent.com>
79173
79174         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
79175         Simply `return getcwd (NULL, 0);'.
79176         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
79177         Use 1300 as initial value for length, not PATH_MAX.
79178
79179         * lib/pathmax.h: Clean up cpp syntax.
79180
79181 2001-08-12  Jim Meyering  <meyering@lucent.com>
79182
79183         * lib/gettimeofday.c: New file.
79184         * lib/gtod.h: New file.
79185         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
79186
79187 2001-08-05  Jim Meyering  <meyering@lucent.com>
79188
79189         * m4/jm-macros.m4: Require autoconf-2.52.
79190
79191 2001-08-04  Jim Meyering  <meyering@lucent.com>
79192
79193         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
79194         stmt, to get in sync with glibc.
79195
79196 2001-08-03  Paul Eggert  <eggert@twinsun.com>
79197
79198         The following changes are from gettext 0.10.39 as maintained by
79199         Bruno Haible.
79200
79201         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
79202         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
79203         with inverted sense.  All uses changed.
79204
79205         * lib/mbswidth.c: Don't include <limits.h>.
79206         Include <stdlib.h> and <string.h> unconditionally.
79207         (iswcntrl, mbsinit, ISCNTRL): New macros.
79208         (mbsnwidth): Use K&R style function declarations.
79209         Don't bother checking for MB_LEN_MAX == 1, since the compiler
79210         can optimize it when MB_CUR_MAX == 1.
79211         The width of control characters is zero, not 1.
79212
79213 2001-08-03  Paul Eggert  <eggert@twinsun.com>
79214
79215         The following changes are from gettext 0.10.39 as maintained by
79216         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
79217
79218         * m4/codeset.m4: Upgrade to serial AM1.
79219         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
79220         all uses changed.  Quote first arg of AC_DEFUN.
79221         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
79222
79223         * m4/iconv.m4: Upgrade to serial AM2.
79224         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
79225         Add --with-libconv-prefix.
79226         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
79227         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
79228         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
79229         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
79230         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
79231
79232         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
79233         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
79234         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
79235         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
79236         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
79237         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
79238         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
79239         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
79240         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
79241
79242         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
79243         string.h any more.
79244
79245         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
79246         not the default value.
79247
79248         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
79249         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
79250         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
79251         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
79252         Also check for iswcntrl, used for wcwidth fallback.
79253         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
79254         to Autoconf 2.13.
79255
79256 2001-08-03  Jim Meyering  <meyering@lucent.com>
79257
79258         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
79259         as it was in the original.  Reported by Paul Eggert.
79260
79261 2001-07-16  Jim Meyering  <meyering@lucent.com>
79262
79263         * m4/gettimeofday.m4: New file.
79264         Prompted by a report from Bernhard Baehr.
79265
79266 2001-07-15  Jim Meyering  <meyering@lucent.com>
79267
79268         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
79269         stuff. Now it's in ../Makefile.cfg.
79270
79271 2001-07-15  Jim Meyering  <meyering@lucent.com>
79272
79273         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
79274         (BUILT_SOURCES): Add unlocked-io.h.
79275         (io_functions): Define.
79276         (unlocked-io.h): New rule.
79277         (DISTCLEANFILES): Add unlocked-io.h.
79278         (all-local): Depend on unlocked-io.h, to ensure it is created.
79279
79280         * lib/unlocked-io.hin: New file
79281
79282         * lib/regex.c: Update from glibc.
79283
79284 2001-07-05  Jim Meyering  <meyering@lucent.com>
79285
79286         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
79287         recommendation.
79288         (libfetish_a_SOURCES): Put all .h files here instead.
79289         Remove a thus-exposed (better checks in automake) duplicate and
79290         two unnecessary .h files.
79291
79292 2001-07-04  Jim Meyering  <meyering@lucent.com>
79293
79294         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
79295         that generates jm-glibc-io.m4 so that it doesn't trigger any make
79296         distcheck failure.
79297
79298 2001-07-02  Jim Meyering  <meyering@lucent.com>
79299
79300         The following changes were prompted by suggestions from Bruno Haible.
79301
79302         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
79303         is now generated.
79304         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
79305         definition of EXTRA_DIST.
79306         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
79307         ensure that the generated file is created/updated whenever the list
79308         of $(unlocked_functions) is changed.
79309         (jm-glibc-io.m4): New rule.
79310         (unlocked-io.h): New rule -- currently unused.
79311
79312 2001-06-24  Jim Meyering  <meyering@lucent.com>
79313
79314         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
79315         unmatched right bracket, rather than kludging it with an extra,
79316         falsely-matching quote in a comment.  Patch by Akim Demaille.
79317
79318 2001-06-11  Jim Meyering  <meyering@lucent.com>
79319
79320         * lib/regex.c: Update from GNU libc.
79321
79322 2001-05-27  Jim Meyering  <meyering@lucent.com>
79323
79324         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
79325         Check for ut_type in struct utmp.
79326
79327 2001-05-27  Jim Meyering  <meyering@lucent.com>
79328
79329         * lib/readutmp.h (UT_TYPE): Define.
79330
79331 2001-05-24  Jim Meyering  <meyering@lucent.com>
79332
79333         * lib/argmatch.c: Include "quote.h".
79334         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
79335         quote function.  Reported by Göran Uddeborg.
79336
79337 2001-05-22  Jim Meyering  <meyering@lucent.com>
79338
79339         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
79340         now that we use the package-supplied version unconditionally.
79341         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
79342
79343 2001-05-21  Jim Meyering  <meyering@lucent.com>
79344
79345         * m4/regex.m4: Change a couple backticks to single quotes to avoid
79346         shell syntax errors.
79347
79348 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
79349
79350         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
79351
79352 2001-05-20  Paul Eggert  <eggert@twinsun.com>
79353
79354         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
79355         Don't bother to check library strftime, since
79356         we'll be using our own my_strftime function anyway.
79357         Define my_strftime instead of strftime.
79358
79359 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
79360
79361         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
79362         which is not yet declared.
79363
79364 2001-05-15  Jim Meyering  <meyering@lucent.com>
79365
79366         * m4/regex.m4: Use proper quoting so brackets appear in the test
79367         program.
79368         Reported by, and with help from, Bruno Haible.
79369
79370 2001-05-13  Jim Meyering  <meyering@lucent.com>
79371
79372         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
79373         undefined.
79374
79375 2001-05-11  Paul Eggert  <eggert@twinsun.com>
79376
79377         dirname code cleanup.  base_name now behaves more compatibly
79378         with POSIX basename when given file names that have trailing
79379         slashes, and similarly for dir_name.  Add new primitives
79380         base_len and dir_len.  Put the directory-name-related decls
79381         into dirname.h.
79382
79383         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
79384         * lib/backupfile.c (base_name): Likewise.
79385         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
79386         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
79387         * lib/makepath.c (strip_trailing_slashes): Likewise.
79388         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
79389         ISSLASH): Likewise.
79390         * lib/rename.c (strip_trailing_slashes): Likewise.
79391         * lib/same.c (base_name): Likewise.
79392         * lib/stripslash.c (ISSLASH): Likewise.
79393
79394         * lib/addext.c: Include <dirname.h> after size_t is defined.
79395         * lib/backupfile.c: Likewise.
79396
79397         * lib/addext.c (addext): Use base_len to trim redundant
79398         trailing slashes instead of doing it ourselves.
79399         But do not trim the last slash if it is not redundant.
79400
79401         * lib/backupfile.c (find_backup_file_name,
79402         max_backup_version): Use base_len instead of rolling it ourselves.
79403         Handle the case of "" and (on DOS) "C:" correctly.
79404
79405         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
79406         needed. Include <string.h>, <dirname.h>.
79407         (base_name): Allow file names ending in slashes, other than names
79408         that are all slashes.  In this case, return the basename followed
79409         by the slashes.  This is more general, and can be used in places
79410         where the original base_name purposely had an assertion failure.
79411         (base_len): New function.
79412
79413         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
79414         Do not include <assert.h>; no longer needed.
79415         Include xalloc.h.
79416         (memrchr): Remove decl.
79417         (dir_name_r): Remove.
79418         (dir_len): Renamed from dirlen.  All callers changed.
79419         Rewrite in terms of base_name, for simplicity and consistency.
79420         (dir_name): Never return NULL.  All callers changed.
79421         Do not include <stdlib.h> in test program; no longer needed.
79422         return 0; is fine for test program.
79423
79424         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
79425         New macros.
79426         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
79427
79428         * lib/path-concat.c (path_concat): Use base_len to compute
79429         base length, not strlen; this means we cannot rely on memcpy
79430         to null-terminate.
79431
79432         * lib/same.c (STREQ): Remove.
79433         (same_name): Handle the case where the basename ends in trailing '/'.
79434
79435         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
79436         a slash was stripped.  Do not strip the last slash after a
79437         file system prefix.
79438
79439 2001-05-11  Paul Eggert  <eggert@twinsun.com>
79440
79441         * lib/Makefile.am (libfetish_a_SOURCES):
79442         Add strftime.c, since we now compile it on all hosts.
79443
79444         * lib/strftime.c (my_strftime):
79445         Define to nstrftime if emacs, but only if my_strftime is not defined.
79446         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
79447         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
79448         Add one more extra argument: a nanoseconds value.
79449         All uses changed.
79450         (ns): New macro.
79451         (my_strftime function): Add %N format.
79452         (emacs_strftimeu): Renamed from emacs_strftime,
79453         with extra ut argument.
79454
79455 2001-05-09  Paul Eggert  <eggert@twinsun.com>
79456
79457         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
79458
79459 2001-04-21  Jim Meyering  <meyering@lucent.com>
79460
79461         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
79462         doesn't interfere.
79463
79464 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
79465
79466         * m4/ftruncate.m4: Check for chsize.
79467         Link with ftruncate.o unconditionally if ftruncate is missing.
79468         This was required when cross-compiling to i586-mingw32msvc.
79469
79470 2001-04-08  Jim Meyering  <meyering@lucent.com>
79471
79472         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
79473         recomputed; that's necessary when the offset spans a DST transition.
79474         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
79475
79476 2001-04-02  Jim Meyering  <meyering@lucent.com>
79477
79478         * lib/regex.h, regex.c: Update from GNU libc.
79479
79480 2001-03-24  Jim Meyering  <meyering@lucent.com>
79481
79482         * m4/jm-macros.m4: Require autoconf-2.49d.
79483
79484 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
79485
79486         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
79487
79488 2001-03-19  Paul Eggert  <eggert@twinsun.com>
79489
79490         * lib/version-etc.c (version_etc_copyright): Update to 2001.
79491
79492 2001-03-17  Jim Meyering  <meyering@lucent.com>
79493
79494         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
79495         now that the version in autoconf is equivalent.
79496         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
79497
79498         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
79499         Suggestion from Akim Demaille.
79500
79501         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
79502         (jm_PREREQ_TEMPNAME): New function.
79503
79504 2001-03-16  Paul Eggert  <eggert@twinsun.com>
79505
79506         * lib/tempname.c (uint64_t): Define to uintmax_t if
79507         not defined, and if UINT64_MAX is not defined.
79508         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
79509         Reported by John David Anglin.
79510
79511 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
79512
79513         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
79514         resolve alias if codeset is empty.
79515         * lib/config.charset (BeOS): Use wildcard syntax.
79516
79517 2001-03-13  Jim Meyering  <meyering@lucent.com>
79518
79519         * lib/path-concat.c (path_concat)
79520         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
79521         concatenating e.g., `C:' and `foo'.
79522         From Bruno Haible.
79523
79524 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
79525
79526         * lib/localcharset.c (locale_charset): Don't use
79527         setlocale(LC_CTYPE,NULL). Don't return NULL.
79528         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
79529
79530 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
79531
79532         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
79533         support for DOS/DJGPP.
79534
79535 2001-03-01  Paul Eggert  <eggert@twinsun.com>
79536
79537         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
79538         lacks mkstemp.  Compile our own tempname.c if we compile our own
79539         mkstemp.c, as mkstemp relies on tempname.
79540
79541 2001-03-01  Jim Meyering  <meyering@lucent.com>
79542
79543         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
79544         AH_VERBATIM really does output its argument verbatim.
79545
79546 2001-02-28  Paul Eggert  <eggert@twinsun.com>
79547
79548         * lib/Makefile.am (libfetish_a_SOURCES):
79549         Add dup-safer.c, fopen-safer.c.
79550         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
79551
79552         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
79553         * lib/unistd-safer.h: New files.
79554
79555 2001-02-25  Paul Eggert  <eggert@twinsun.com>
79556
79557         The mkstemp replacement is taken from glibc 2.2.2, with some
79558         portability fixes for use outside glibc, as follows:
79559
79560         * lib/tempname.c (struct_stat64): New macro.
79561         (direxists, __gen_tempname): Use it.
79562         This avoids a portability problem with Solaris 8.
79563
79564         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
79565         (<stddef.h>, <stdint.h>, <string.h>):
79566         Include only if STDC_HEADERS || _LIBC.
79567         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
79568         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
79569         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
79570         (__set_errno): Define this macro if <errno.h> doesn't.
79571         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
79572         Define these macros if <stdio.h> doesn't.
79573         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
79574         Define these macros if <sys/stat.h>
79575         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
79576         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
79577         __xstat64): Define if not _LIBC.
79578         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
79579         (__gen_tempname): Invoke gettimeofday only if
79580         HAVE_GETTIMEOFDAY || _LIBC;
79581         otherwise, fall back on plain "time".
79582         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
79583
79584         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
79585
79586         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
79587
79588 2001-02-18  Paul Eggert  <eggert@twinsun.com>
79589
79590         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
79591
79592 2001-02-17  Paul Eggert  <eggert@twinsun.com>
79593
79594         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
79595         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
79596         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
79597         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
79598
79599 2001-02-17  Paul Eggert  <eggert@twinsun.com>
79600
79601         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
79602         Remove workaround macros for hosts that have mbrtowc but not
79603         mbstate_t, as we now insist on proper declarations for both
79604         before using mbrtowc.
79605
79606 2001-02-17  Jim Meyering  <meyering@lucent.com>
79607
79608         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
79609         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
79610         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
79611         UnixWare 7.1.1.
79612
79613         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
79614         rather than AC_CACHE_VAL.
79615
79616 2001-02-17  Jim Meyering  <meyering@lucent.com>
79617
79618         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
79619         around included file name.
79620
79621         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
79622
79623         * lib/strftime.c: Update from GNU libc (the only changes were to
79624         comments).
79625
79626 2001-02-17  Jim Meyering  <meyering@lucent.com>
79627
79628         * lib/regex.c: Update from libc.
79629
79630 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
79631
79632         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
79633         clash.
79634
79635 2001-02-16  Paul Eggert  <eggert@twinsun.com>
79636
79637         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
79638         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
79639         Reported by Mark Hounschell via Paul Eggert.
79640
79641 2001-02-07  Jim Meyering  <meyering@lucent.com>
79642
79643         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
79644
79645 2001-02-05  Jim Meyering  <meyering@lucent.com>
79646
79647         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
79648         it includes the patch required for `large file' support with at least
79649         HP-UX's 10.20 /bin/cc.
79650
79651 2001-02-03  Jim Meyering  <meyering@lucent.com>
79652
79653         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
79654         AS_IF, now that it works once again (mysteriously).
79655         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
79656
79657 2001-01-30  Jim Meyering  <meyering@lucent.com>
79658
79659         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
79660         * m4/chown.m4: Rename conftestchown to conftest.chown.
79661         * m4/rename.m4: s/conftestdir/conftest.d1/ and
79662         s/conftestdir2/conftest.d2/.
79663         * m4/utimes.m4: s/conftestdata/conftest.data/
79664         Inspired by Pavel Roskin's change in autoconf.
79665
79666 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
79667
79668         * lib/config.charset: Update for FreeBSD 4.2.
79669
79670 2001-01-27  Jim Meyering  <meyering@lucent.com>
79671
79672         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
79673         a use of AS_IF.
79674         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
79675
79676 2001-01-26  Jim Meyering  <meyering@lucent.com>
79677
79678         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
79679         quotearg.c includes it.
79680
79681 2001-01-26  Jim Meyering  <meyering@lucent.com>
79682
79683         * lib/quotearg.c: Include stddef.h.
79684         * lib/quote.c: Include stddef.h.
79685         Reported by Axel Kittenberger.
79686
79687         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
79688         line in double quotes so that it evokes a better diagnostic.
79689         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
79690         Reported by Axel Kittenberger.
79691
79692 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
79693
79694         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
79695         as if it was a `charset'.
79696
79697 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
79698
79699         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
79700         has const.
79701
79702 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
79703
79704         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
79705         to avoid a warning.  Add back 'const' to inptr.
79706
79707 2001-01-20  Jim Meyering  <meyering@lucent.com>
79708
79709         Be sure that headers are checked before used in code compiled
79710         for the type checks.
79711         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
79712         In place of that, invoke jm_CHECK_ALL_TYPES.
79713         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
79714         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
79715         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
79716         The check for ssize_t was mistakenly run before the test for unistd.h.
79717
79718         The configure-time check for stdbool.h was missing.
79719         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
79720         (jm_PREREQ_HASH): New function.
79721
79722 2001-01-17  Jim Meyering  <meyering@lucent.com>
79723
79724         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
79725         for autoconf-2.49c.
79726         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
79727
79728 2001-01-16  Jim Meyering  <meyering@lucent.com>
79729
79730         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
79731         From Bruno Haible.
79732
79733 2001-01-14  Jim Meyering  <meyering@lucent.com>
79734
79735         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
79736         foo and bar.  Create conftestdir/ in the script, not in the C code.
79737         Remove directories in the script, not in the C code.
79738         Remove conftestdir{,2} before trying to create the directory.
79739         Make the entire configure script fail if the mkdir fails.
79740
79741 2001-01-14  Jim Meyering  <meyering@lucent.com>
79742
79743         * lib/rename.c: New file.  From Volker Borchert.
79744         Include stdlib.h, string.h or strings.h, and xalloc.h.
79745         Use strip_trailing_slashes rather than open-coding it.
79746
79747 2001-01-03  Paul Eggert  <eggert@twinsun.com>
79748
79749         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
79750
79751 2001-01-03  Jim Meyering  <meyering@lucent.com>
79752
79753         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
79754         of local `inptr' to avoid warning with some system declarations of
79755         iconv.
79756
79757 2001-01-02  Volker Borchert  <bt@teknon.de>
79758
79759         * m4/rename.m4: New file.
79760         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
79761
79762 2001-01-01  Jim Meyering  <meyering@lucent.com>
79763
79764         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
79765         even on systems with utmpx.h.  It's necessary for the declaration of
79766         utmp's ut_user member.  Reported by Andreas Jaeger.
79767
79768         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
79769         available. They are required for the declarations of getgrgid and
79770         getpwuid resp.
79771         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
79772         Reported by Andreas Jaeger.
79773
79774 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
79775
79776         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
79777         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
79778         so `make install' also works in VPATH builds.
79779
79780 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
79781
79782         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
79783         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
79784         can be used in subdirectories.
79785
79786 2000-12-29  Paul Eggert  <eggert@twinsun.com>
79787
79788         * lib/modechange.c: Do not assume that mode_t uses the
79789         traditional octal encoding.  E.g. "chmod 1 FOO" should set
79790         the other-execute bit of FOO even if S_IXOTH != 1.
79791
79792         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
79793         WOTH, XOTH, ALLM): New macros.
79794         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
79795          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
79796         Use them.
79797         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
79798         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
79799         (mode_compile):
79800         No need to use uintmax_t; unsigned long is long enough.
79801         Don't bother to get suffix since we don't use it.
79802
79803 2000-12-26  Jim Meyering  <meyering@lucent.com>
79804
79805         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
79806         better with autoheader.
79807
79808 2000-12-24  Jim Meyering  <meyering@lucent.com>
79809
79810         * lib/hash.c (is_prime): Return explicit boolean values.
79811         (hash_get_first): Return NULL to appease Irix5.6's 89.
79812         Reported by Nelson Beebe.
79813
79814 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
79815
79816         * lib/localcharset.c (locale_charset): Add support for Win32.
79817
79818 2000-12-18  Paul Eggert  <eggert@twinsun.com>
79819
79820         * lib/physmem.h, lib/physmem.c: New files.
79821
79822         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
79823         (noinst_HEADERS): Add physmem.h.
79824
79825         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
79826         't' for compatibility with Solaris 8 sort.
79827
79828 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
79829
79830         * lib/config.charset: Add support for BeOS.
79831
79832 2000-12-17  Jim Meyering  <meyering@lucent.com>
79833
79834         * m4/dos.m4 (jm_AC_DOS): New file and macro.
79835         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
79836
79837 2000-12-16  Jim Meyering  <meyering@lucent.com>
79838
79839         This bug had a serious impact on chown: `chown N:M FILE' (for integer
79840         N and M) would have treated it like `chown N:N FILE'.
79841
79842         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
79843
79844 2000-12-16  Jim Meyering  <meyering@lucent.com>
79845
79846         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
79847         SHELLS_FILE to a file name that's useful on djgpp systems.
79848         Include stdlib.h.
79849         (ADDITIONAL_DEFAULT_SHELLS): Define.
79850         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
79851         Based mostly on a patch from Prashant TR.
79852
79853 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
79854
79855         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
79856         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
79857         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
79858
79859 2000-12-08  Andreas Schwab  <schwab@suse.de>
79860
79861         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
79862         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
79863
79864 2000-12-07  Jim Meyering  <meyering@lucent.com>
79865
79866         * lib/stripslash.c (ISSLASH): Define.
79867         (strip_trailing_slashes): Use ISSLASH rather than comparing against
79868         `/'.
79869         From Prashant TR.
79870
79871         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
79872         (dir_name_r): Declare this function as static.
79873         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
79874         manifest itself on a name containing a mix of slashes and
79875         backslashes.
79876         Make this function work with names starting with a DOS-style
79877         drive letter and colon prefix.
79878         (dir_name): Append `.' if necessary.
79879         Based mostly on patches from Prashant TR and Eli Zaretskii.
79880
79881         * lib/dirname.h (dir_name_r): Remove prototype.
79882
79883 2000-12-06  Paul Eggert  <eggert@twinsun.com>
79884
79885         * m4/off_t-format.m4: Remove this file.
79886         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
79887
79888 2000-12-06  Jim Meyering  <meyering@lucent.com>
79889
79890         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
79891         replacement strtoull, we may well need the replacement strtoul, too.
79892         Check for declarations of strtoul and strtoull.
79893         Check for strtol.  Mainly as a cue to cause automake to include
79894         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
79895         Check for limits.h -- strtol.c needs it.
79896
79897 2000-12-05  Jim Meyering  <meyering@lucent.com>
79898
79899         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
79900
79901 2000-12-04  Jim Meyering  <meyering@lucent.com>
79902
79903         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
79904         Also include memory.h, stdlib.h, unistd.h if appropriate.
79905         Reported by Andreas Jaeger (conflicting declaration of malloc).
79906
79907 2000-12-02  Jim Meyering  <meyering@lucent.com>
79908
79909         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
79910         * m4/jm-macros.m4 (jm_MACROS): require it.
79911
79912 2000-12-02  Jim Meyering  <meyering@lucent.com>
79913
79914         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
79915
79916 2000-12-01  Paul Eggert  <eggert@twinsun.com>
79917
79918         * lib/memrchr.c: Include <config.h> before any system include file.
79919
79920 2000-11-30  Jim Meyering  <meyering@lucent.com>
79921
79922         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
79923
79924 2000-11-30  Jim Meyering  <meyering@lucent.com>
79925
79926         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
79927
79928 2000-11-29  Paul Eggert  <eggert@twinsun.com>
79929
79930         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
79931
79932 2000-11-26  Jim Meyering  <meyering@lucent.com>
79933
79934         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
79935
79936 2000-11-22  Paul Eggert  <eggert@twinsun.com>
79937
79938         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
79939         size of (size_t) -1; it's not portable.
79940
79941 2000-11-17  Jim Meyering  <meyering@lucent.com>
79942
79943         * lib/strstr.c: Update from GNU libc.
79944
79945 2000-11-17  Akim Demaille  <akim@epita.fr>
79946
79947         * lib/obstack.h: Formatting changes.
79948         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
79949         prevent type checking.
79950         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
79951         cast the value to (void *): assigning a `foo *' to a `void *'
79952         variable is valid.
79953         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
79954
79955 2000-11-16  Jim Meyering  <meyering@lucent.com>
79956
79957         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
79958
79959 2000-11-11  Jim Meyering  <meyering@lucent.com>
79960
79961         * lib/error.c: Add a couple #includes, merging from GNU libc version.
79962
79963 2000-11-10  Jim Meyering  <meyering@lucent.com>
79964
79965         * lib/obstack.h: Update from GNU libc.
79966         * lib/obstack.c: Likewise.
79967
79968 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
79969
79970         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
79971
79972 2000-11-06  Paul Eggert  <eggert@twinsun.com>
79973
79974         * lib/getusershell.c (setusershell): Use rewind rather than
79975         fseek/fseeko, to avoid configuration hassles with fseeko.
79976         Don't bother opening SHELLS_FILE if shellstream is NULL;
79977         it's not necessary.
79978
79979 2000-11-05  Jim Meyering  <meyering@lucent.com>
79980
79981         * lib/makepath.h (make_dir): Declare.
79982         * lib/makepath.c (make_dir): Remove `static' attribute.
79983         Tweak a comment.
79984
79985 2000-11-04  Jim Meyering  <meyering@lucent.com>
79986
79987         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
79988
79989 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
79990
79991         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
79992         last one in a bucket, advance to the next bucket.
79993
79994 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
79995
79996         * lib/fnmatch.c: Do not comment out all the code if we are using
79997         the GNU C library, because in some cases we are replacing buggy
79998         code in the GNU C library itself.
79999
80000 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
80001
80002         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
80003         (regex_compile): Catch bogus \(\1\).
80004
80005 2000-10-30  Paul Eggert  <eggert@twinsun.com>
80006
80007         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
80008         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
80009         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
80010
80011 2000-10-30  Paul Eggert  <eggert@twinsun.com>
80012
80013         * lib/error.h, getline.h, modechange.h:
80014         Remove "2000" from Copyright line, as the file hasn't been
80015         changed this year other than in the copyright notice.
80016
80017         * lib/xalloc.h: Add "2000" to Copyright line, as this file
80018         was changed this year.
80019
80020 2000-10-29  Jim Meyering  <meyering@lucent.com>
80021
80022         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
80023         renaming.
80024         * m4/ls-mntd-fs.m4: Likewise
80025
80026 2000-10-29  Jim Meyering  <meyering@lucent.com>
80027
80028         * lib/xstat.in: Fix grammar in comment.
80029
80030 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
80031
80032         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
80033         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
80034         doesn't define __restrict_arr.
80035
80036 2000-10-28  Jim Meyering  <meyering@lucent.com>
80037
80038         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
80039         (jm_PREREQ_MEMCHR): New function.
80040
80041 2000-10-28  Jim Meyering  <meyering@lucent.com>
80042
80043         * lib/memchr.c: Update from libc.
80044         Adjust for portability:
80045         [HAVE_STDLIB_H]: Include stdlib.h.
80046         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
80047         Undef __memchr, too.
80048         [!weak_alias]: Define __memchr to memchr.
80049
80050         * lib/regex.c: Update from libc.
80051         * lib/regex.h: Likewise.
80052         * lib/getopt1.c: Likewise.
80053         * lib/memcmp.c: Likewise.
80054
80055         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
80056         Avoid using fseek, when possible -- it's broken by design.
80057         Patch by Ulrich Drepper.
80058
80059 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
80060
80061         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
80062         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
80063         Giving in to popular pressure to shut up the compiler with casts.
80064
80065 2000-10-26  Jim Meyering  <meyering@lucent.com>
80066
80067         * lib/strftime.c: Update from libc.
80068
80069 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
80070
80071         * regex.c: More `unsigned char' -> `re_char' changes.
80072         Also change several `int' into `re_wchar_t'.
80073         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
80074         (PUSH_FAILURE_POINTER): Don't cast any more.
80075         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
80076         We want GCC to complain, since this piece of code makes
80077         re_match non-reentrant, which *should* be fixed.
80078         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
80079         (EXTEND_BUFFER): Use RETALLOC.
80080         (SET_LIST_BIT): Don't cast.
80081         (re_wchar_t): New type.
80082         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
80083         that those two functions will always properly return.
80084         (IMMEDIATE_QUIT_CHECK): Cast to void.
80085         (analyse_first): Use recursion rather than an explicit stack.
80086         (re_compile_fastmap): Can't fail anymore.
80087         (re_search_2): Don't check re_compile_fastmap for failure.
80088         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
80089         Now also sets the new value (passed in a new argument).
80090         (re_match_2_internal): Use it.
80091         Also, use a new var `reg' of type size_t when looping through regs
80092         rather than reuse the inappropriate `mcnt'.
80093
80094 2000-10-25  Jim Meyering  <meyering@lucent.com>
80095
80096         * lib/obstack.c: Update from libc.
80097
80098 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
80099
80100         * regex.c (regex_compile): Change the way of handling a range from
80101         a char less than 256 to a char not less than 256.
80102
80103 2000-10-24  Andrew Innes  <andrewi@gnu.org>
80104
80105         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
80106         NT-Emacs only.
80107         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
80108         so that re_search functions only quit when callers expect them to.
80109
80110 2000-10-23  Jim Meyering  <meyering@lucent.com>
80111
80112         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
80113         wrong.  That set_locale call must not have any side effects.
80114         From Paul Eggert.
80115
80116 2000-10-22  Jim Meyering  <meyering@lucent.com>
80117
80118         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
80119         [CYCLIC]: Remove now-unused definition.
80120
80121         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
80122         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
80123         Suggestion from Ulrich Drepper.
80124
80125 2000-10-21  Jim Meyering  <meyering@lucent.com>
80126
80127         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
80128         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
80129         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
80130
80131 2000-10-21  Jim Meyering  <meyering@lucent.com>
80132
80133         * lib/dirname.c (memrchr): Declare if necessary.
80134         (dir_name): Remove the restriction that there be no
80135         trailing slashes.  Now, this code skips past them, effectively
80136         ignoring them.
80137         [TEST_DIRNAME] (main): New unit tests.
80138
80139         * lib/memrchr.c: New file from GNU libc.
80140         Undef __memrchr, too.
80141         [!weak_alias]: Define __memrchr to memrchr.
80142         Guard weak_alias use with `#ifdef weak_alias'.
80143
80144 2000-10-21  Jim Meyering  <meyering@lucent.com>
80145
80146         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
80147         (dir_name): Use dir_name_r.
80148         * lib/dirname.h (dir_name_r): Declare it.
80149
80150 2000-10-17  Jim Meyering  <meyering@lucent.com>
80151
80152         * lib/quote.h (PARAMS): Define and use.
80153         Reported by Akim Demaille.
80154
80155         * lib/getopt.c: Update from libc.
80156
80157 2000-10-16  Jim Meyering  <meyering@lucent.com>
80158
80159         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
80160         setlocale.
80161         From Jan Fedak.
80162
80163 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
80164
80165         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
80166
80167 2000-09-25  Jim Meyering  <meyering@lucent.com>
80168
80169         * lib/md5.h (rol): Define (from GnuPG).
80170
80171         * lib/sha.c: Give credit (GnuPG) where due.
80172         (M): Use rol rather than open-coding it.
80173         Add a FIXME comment.
80174
80175 2000-09-21  Jim Meyering  <meyering@lucent.com>
80176
80177         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
80178         Reported by Michael Stone.
80179
80180 2000-09-20  Jim Meyering  <meyering@lucent.com>
80181
80182         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
80183         (noinst_HEADERS): Add sha.h.
80184         Based on code from Scott G. Miller and from GnuPG.
80185
80186 2000-09-18  Jim Meyering  <meyering@lucent.com>
80187
80188         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
80189         LIBS. Otherwise, everyone ends up linking with -lelf for some
80190         configurations.
80191         Reported by Mike Stone.
80192
80193 2000-09-15  Jim Meyering  <meyering@lucent.com>
80194
80195         * lib/regex.c: Update from libc.
80196
80197 2000-09-10  Jim Meyering  <meyering@lucent.com>
80198
80199         * lib/getopt.c (_getopt_internal): Update from glibc.
80200
80201 2000-09-09  Jim Meyering  <meyering@lucent.com>
80202
80203         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
80204         think it should be used as a general replacement for isascii.
80205         * lib/fnmatch.c: Likewise.
80206         * lib/mbswidth.c: Likewise
80207         * lib/regex.c: Likewise.
80208
80209         Don't use atoi.
80210         * lib/userspec.c: Include sys/param.h and limits.h.
80211         Include xstrtol.h.
80212         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
80213         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
80214         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
80215         UID, GID.  Check range.
80216
80217 2000-09-06  Jim Meyering  <meyering@lucent.com>
80218
80219         * lib/getopt.c (_getopt_internal): Update from glibc.
80220
80221 2000-08-30  Jim Meyering  <meyering@lucent.com>
80222
80223         * lib/strftime.c: Merge in changes from GNU libc.
80224
80225 2000-08-26  Jim Meyering  <meyering@lucent.com>
80226
80227         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
80228         * m4/fpending.m4: New file.
80229
80230 2000-08-26  Jim Meyering  <meyering@lucent.com>
80231
80232         * lib/closeout.c: Include "__fpending.h".
80233         (close_stdout_status): Return right away if there's nothing to flush.
80234
80235         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
80236         * lib/__fpending.c: New file.
80237         * lib/__fpending.h: New file.
80238
80239 2000-08-20  Jim Meyering  <meyering@lucent.com>
80240
80241         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
80242         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
80243         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
80244
80245 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
80246
80247         Improve fileutils installation on systems where running
80248         programs (like install) can't be unlinked.
80249         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
80250         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
80251
80252 2000-08-07  Paul Eggert  <eggert@twinsun.com>
80253
80254         Standardize on "memory exhausted" instead of "Memory exhausted"
80255         or "virtual memory exhausted".
80256         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
80257         "virtual memory exhausted".
80258         * lib/same.c (same_name): Invoke xalloc_die instead of printing
80259         our own message.
80260         * lib/userspec.c (parse_user_spec): Likewise.
80261         * lib/bumpalloc.h: comment fix
80262         * lib/same.c, userspec.c: Include xalloc.h.
80263
80264         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
80265         not char *const and pointing to a constant array.
80266         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
80267         (xrealloc): Comment fix.
80268
80269         * lib/userspec.c (parse_user_spec):
80270         Don't translate a message until just before returning,
80271         to avoid unnecessary translation.
80272
80273 2000-08-07  Jim Meyering  <meyering@lucent.com>
80274
80275         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
80276         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
80277         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
80278         getgroups.c, gethostname.c, getopt.h, group-member.c,
80279         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
80280         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
80281         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
80282         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
80283         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
80284         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
80285         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
80286         yesno.c: Back out Copyright date changes for each file with no change
80287         this year.  This eases coordination with other programs using the same
80288         source code modules.  From Paul Eggert.
80289
80290 2000-08-06  Paul Eggert  <eggert@twinsun.com>
80291
80292         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
80293         not char, for compatibility with glibc 2.1.3 strftime.c.
80294
80295 2000-08-03  Greg McGary  <greg@mcgary.org>
80296
80297         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
80298         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
80299         (EXTEND_BUFFER): Use them.
80300
80301 2000-08-01  Jim Meyering  <meyering@lucent.com>
80302
80303         * lib/dirname.c (ISSLASH): Define.
80304         (BACKSLASH_IS_PATH_SEPARATOR): Define.
80305         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
80306         both `\' and `/' may be use as path separators.
80307         Based on a patch from Prashant TR.
80308
80309 2000-07-31  Paul Eggert  <eggert@twinsun.com>
80310
80311         * lib/quotearg.c (quotearg_n_options): Don't make the initial
80312         slot vector a constant, since it might get modified.
80313
80314 2000-07-31  Jim Meyering  <meyering@lucent.com>
80315
80316         * lib/xmalloc.c: Use `virtual memory exhausted', not
80317         `Memory exhausted'.
80318         * lib/obstack.c (print_and_abort): Likewise.
80319
80320 2000-07-30  Paul Eggert  <eggert@twinsun.com>
80321
80322         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
80323         buffer, so that the caller can always quote one small
80324         component of a "memory exhausted" message in slot 0.
80325         From a suggestion by Jim Meyering.
80326
80327 2000-07-30  Jim Meyering  <meyering@lucent.com>
80328
80329         * lib/makepath.c (make_path): Quote the other instance, too.
80330
80331         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
80332         (STATIC_BUF_SIZE): Define.
80333         (quotearg_n_options): Use only statically allocated storage when
80334         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
80335         than STATIC_BUF_SIZE.
80336
80337 2000-07-29  Jim Meyering  <meyering@lucent.com>
80338
80339         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
80340         * lib/dirname.c (dir_name): Likewise.
80341
80342         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
80343         `/'.
80344
80345         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
80346         (dir_name): Assert that there are no trailing slashes.
80347
80348 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
80349
80350         * lib/mbswidth.h (mbswidth): Add a flags argument.
80351         (mbswidth): New declaration.
80352         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
80353         * lib/mbswidth.c (mbswidth): Add a flags argument.
80354         (mbsnwidth): New function.
80355
80356 2000-07-24  Jim Meyering  <meyering@lucent.com>
80357
80358         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
80359
80360 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80361
80362         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
80363
80364 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80365
80366         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
80367         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
80368         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
80369         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
80370         invoke multibyte primitives.
80371
80372 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80373
80374         * lib/quotearg.c:
80375         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
80376         so that mbstate_t is always defined.
80377
80378         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
80379         be 1 in at least one GCC installation, and this configuration
80380         error is likely to be common.  Ignoring MB_LEN_MAX hurts
80381         performance on hosts that have mbrtowc but have only unibyte
80382         locales, but I assume these hosts are rare.
80383
80384 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80385
80386         * lib/mbswidth.c (_XOPEN_SOURCE):
80387         Don't define; this causes problems on Solaris 7.
80388         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
80389
80390 2000-07-23  Jim Meyering  <meyering@lucent.com>
80391
80392         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
80393         too: getgrgid, getpwuid, getuid.
80394
80395 2000-07-23  Jim Meyering  <meyering@lucent.com>
80396
80397         * lib/basename.c (base_name): Add an assertion.
80398
80399 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
80400
80401         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
80402         shadow its mbsinit function.
80403
80404 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
80405
80406         * lib/mbswidth.h: New file.
80407         * lib/mbswidth.c: New file.
80408         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
80409         (noinst_HEADERS): Add mbswidth.h.
80410
80411 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
80412
80413         * lib/config.charset: Add support for FreeBSD. Improve support for
80414         HP-UX and IRIX 6.
80415
80416 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
80417
80418         * m4/mbswidth.m4: New file.
80419         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
80420
80421 2000-07-15  Jim Meyering  <meyering@lucent.com>
80422
80423         * lib/makepath.c: Include quote.h.
80424         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
80425         corresponding argument in a `quote (...)' call.
80426         Give better diagnostics.
80427
80428         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
80429         (noinst_HEADERS): Add quote.h.
80430
80431         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
80432         from tar's src/misc.c.
80433         * lib/quote.h: New file.  Prototypes for same.
80434
80435 2000-07-14  Paul Eggert  <eggert@twinsun.com>
80436
80437         From a suggestion by Bruno Haible.
80438         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
80439         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
80440         to decide whether to define the BeOS workaround macro;
80441         this adjusts to the change to AC_MBSTATE_T.
80442
80443 2000-07-14  Jim Meyering  <meyering@lucent.com>
80444
80445         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
80446         jm_AC_TYPE_UINTMAX_T.
80447
80448 2000-07-13  Paul Eggert  <eggert@twinsun.com>
80449
80450         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
80451
80452         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
80453         quotearg_buffer_restyled): Add support for
80454         clocale_quoting_style.  Undo previous change to
80455         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
80456         and "{RIGHT QUOTATION MARK}" msgids.
80457
80458 2000-07-10  Paul Eggert  <eggert@twinsun.com>
80459
80460         From a suggestion by Bruno Haible.
80461         * m4/mbstate_t.m4 (AC_MBSTATE_T):
80462         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
80463         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
80464         and mbstate_t, to a single-part test that simply defines mbstate_t.
80465         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
80466         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
80467
80468 2000-07-10  Jim Meyering  <meyering@lucent.com>
80469
80470         * m4/strerror_r.m4: Mirror the correction made in autoconf.
80471
80472         * m4/gnu-source.m4: Output to confdefs.h directly.
80473         Suggestion from Akim Demaille.
80474
80475 2000-07-09  Paul Eggert  <eggert@twinsun.com>
80476
80477         The old behavior of quoting `like this' doesn't look good with
80478         newer, ISO-style fonts.  See:
80479         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
80480
80481         Instead, quote "like this" by default.  Let the translator
80482         tailor the locale-specific quoting behavior by providing
80483         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
80484
80485         * lib/quotearg.c (N_): New macro.
80486         (gettext_default): New function.
80487         (quotearg_buffer_restyled): Use
80488         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
80489         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
80490
80491 2000-07-09  Jim Meyering  <meyering@lucent.com>
80492
80493         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
80494         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
80495
80496         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
80497         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
80498
80499 2000-07-09  Jim Meyering  <meyering@lucent.com>
80500
80501         * lib/Most files: Update copyright dates to include 2000.
80502
80503 2000-07-08  Jim Meyering  <meyering@lucent.com>
80504
80505         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
80506         if not defined.
80507         (xgethostname): Remove now-unnecessary #ifdef.
80508         Move declaration of `err' into loop where it's used.
80509
80510 2000-07-05  Paul Eggert  <eggert@twinsun.com>
80511         and Bruno Haible  <haible@clisp.cons.org>
80512
80513         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
80514         only if the test for an object-type mbstate_t fails.  This
80515         prevents us from mistakenly reporting that mbstate_t is a
80516         system object type after we "#define mbstate_t int" to work
80517         around its lack.
80518
80519 2000-07-05  Paul Eggert  <eggert@twinsun.com>
80520         and Bruno Haible  <haible@clisp.cons.org>
80521
80522         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
80523
80524 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
80525
80526         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
80527         to strerror_r.
80528         Include <ctype.h> for use of isalpha.
80529
80530 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
80531
80532         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
80533         by allocating a larger buffer. Test the gethostname return value for
80534         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
80535         returns an error and ENAMETOOLONG isn't defined.
80536
80537 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
80538
80539         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
80540         dimension.
80541
80542 2000-07-04  Jim Meyering  <meyering@lucent.com>
80543
80544         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
80545         of the deprecated AC_CHECKING.
80546
80547 2000-07-04  Jim Meyering  <meyering@lucent.com>
80548
80549         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
80550         Reported by Bruno Haible.
80551
80552 2000-07-04  Jim Meyering  <meyering@lucent.com>
80553
80554         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
80555         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
80556         lacks mbrtowc.
80557
80558 2000-07-03  Paul Eggert  <eggert@twinsun.com>
80559
80560         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
80561         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
80562
80563 2000-07-03  Paul Eggert  <eggert@twinsun.com>
80564         and Bruno Haible  <haible@clisp.cons.org>
80565
80566         * lib/quotearg.c (mbrtowc):
80567         Assign to *pwc, and return 1 only if result is nonzero.
80568         (iswprint): Use ISPRINT when substituting our own mbrtowc.
80569
80570 2000-07-03  Jim Meyering  <meyering@lucent.com>
80571
80572         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
80573
80574 2000-07-03  Jim Meyering  <meyering@lucent.com>
80575
80576         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
80577         This is necessary to get a definition of e.g., UTMP_FILE on
80578         HP-UX 10.20.
80579         From Bob Proulx.
80580
80581 2000-07-02  Jim Meyering  <meyering@lucent.com>
80582
80583         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
80584
80585         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
80586         AC_LIBOBJ(function_name).
80587         * m4/chown.m4: Likewise.
80588         * m4/fnmatch.m4: Likewise.
80589         * m4/ftruncate.m4: Likewise.
80590         * m4/getgroups.m4: Likewise.
80591         * m4/getline.m4: Likewise.
80592         * m4/group-member.m4: Likewise.
80593         * m4/jm-macros.m4: Likewise.
80594         * m4/lstat.m4: Likewise.
80595         * m4/malloc.m4: Likewise.
80596         * m4/memcmp.m4: Likewise.
80597         * m4/nanosleep.m4: Likewise.
80598         * m4/putenv.m4: Likewise.
80599         * m4/realloc.m4: Likewise.
80600         * m4/regex.m4: Likewise.
80601         * m4/stat.m4: Likewise.
80602         * m4/strftime.m4: Likewise.
80603
80604 2000-07-02  Jim Meyering  <meyering@lucent.com>
80605
80606         * lib/quotearg.c (mbstate_t): Don't define here.
80607
80608 2000-07-02  Jim Meyering  <meyering@lucent.com>
80609
80610         * lib/nanosleep.c (SIGCONT): Define if not already defined.
80611
80612 2000-07-01  Jim Meyering  <meyering@lucent.com>
80613
80614         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
80615
80616 2000-07-01  Jim Meyering  <meyering@lucent.com>
80617
80618         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
80619         problem.
80620
80621 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
80622
80623         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
80624         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
80625
80626 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
80627
80628         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
80629         per change in ../m4/ls-mntd-fs.m4.
80630         (read_filesystem_list): Ignore symbolic links.
80631
80632 2000-06-29  Jim Meyering  <meyering@lucent.com>
80633
80634         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
80635         for declaration of strcmp.
80636
80637         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
80638
80639         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
80640         Avoid warning by casting result to `char *' to remove `const'.
80641
80642 2000-06-28  Jim Meyering  <meyering@lucent.com>
80643
80644         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
80645         included by quotearg.c, for which we perform this test.  From
80646         Bruno Haible.
80647
80648 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
80649
80650         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
80651         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
80652         <utmpx.h> exists, put readutmp.o into LIBOBJS.
80653
80654 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
80655
80656         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
80657
80658 2000-06-26  Paul Eggert  <eggert@twinsun.com>
80659
80660         savedir now sets errno on failure and invokes xmalloc to get memory.
80661         Fix a couple of other minor bugs while we're at it.
80662
80663         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
80664         (NAMLEN): Remove macro.
80665         (malloc, realloc): Remove decls.
80666         (stpcpy): Likewise.
80667         ("xalloc.h"): Include.
80668         (NAME_SIZE_DEFAULT): New macro.
80669         (savedir): Use xmalloc / xrealloc to allocate memory.
80670         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
80671         Skip "" directory entries.
80672         Use strlen to calculate directory entry length, since the old method
80673         is rarely used these days and isn't worth supporting.
80674         Don't use a pointer after freeing it.
80675         Check for integer overflow when calculating allocation size.
80676         Use memcpy to copy entries, instead of stpcpy.
80677         Set errno properly when returning NULL.
80678         Check for readdir error.
80679
80680 2000-06-26  Jim Meyering  <meyering@lucent.com>
80681
80682         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
80683
80684 2000-06-25  Jim Meyering  <meyering@lucent.com>
80685
80686         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
80687         Linux header bug when _XOPEN_SOURCE is defined to 500.
80688
80689 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
80690
80691         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
80692         deficiency.
80693
80694 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
80695
80696         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
80697         Include xalloc.h.
80698         Don't include <stdlib.h>.  Don't declare malloc, realloc.
80699
80700 2000-06-24  Jim Meyering  <meyering@lucent.com>
80701
80702         * m4/strerror_r.m4: Revive this file -- to try out an experimental
80703         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
80704         for which strerror does return char*, but which lacks a conveniently
80705         accessible declaration of the function.  If the compile-test says
80706         strerror_r doesn't work, then resort to a `run'-test that works on
80707         BeOS and segfaults on DEC Unix.
80708
80709 2000-06-24  Jim Meyering  <meyering@lucent.com>
80710
80711         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
80712
80713 2000-06-23  Paul Eggert  <eggert@twinsun.com>
80714
80715         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
80716         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
80717
80718 2000-06-23  Paul Eggert  <eggert@twinsun.com>
80719
80720         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
80721         (mbrtowc, mbstate_t): Define substitutes if
80722         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
80723         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
80724         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
80725
80726 2000-06-23  Jim Meyering  <meyering@lucent.com>
80727
80728         * m4/afs.m4: Add missing AC_MSG_RESULT.
80729         Reported by Bruno Haible.
80730
80731         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
80732         Suggestion from Bruno Haible.
80733
80734 2000-06-23  Jim Meyering  <meyering@lucent.com>
80735
80736         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
80737
80738 2000-06-21  Jim Meyering  <meyering@lucent.com>
80739
80740         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
80741
80742 2000-06-21  Jim Meyering  <meyering@lucent.com>
80743
80744         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
80745         (noinst_HEADERS): Add getstr.h.
80746
80747         * lib/getline.c (getstr): Move into a separate file.
80748         * lib/getstr.c (getstr): New file, extracted from getline.c, with
80749         the following changes: new parameter, delim2; both delim[12]
80750         parameters have type `int', not `char'.  The latter would lose
80751         with 8-bit delimiters.
80752         * lib/getstr.h: New file.
80753
80754 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
80755
80756         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
80757         than 1024, return a memory chunk of least possible size, instead
80758         of size PATH_MAX + 2. In the loop, increment the size proportionally.
80759         Use free/xmalloc instead of xrealloc to avoid copying for very long
80760         paths.
80761
80762 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
80763
80764         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
80765         the empty string.
80766
80767 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
80768
80769         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
80770         address, not strdup.  Include <stdlib.h> and don't declare free().
80771
80772 2000-06-19  Jim Meyering  <meyering@lucent.com>
80773
80774         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
80775
80776 2000-06-18  Jim Meyering  <meyering@lucent.com>
80777
80778         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
80779
80780         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
80781         `checking whether...' message to be consistent with that of the
80782         lstat test.
80783
80784 2000-06-18  Jim Meyering  <meyering@lucent.com>
80785
80786         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
80787         Besides, these days every porting target provides a mkdir function.
80788
80789         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
80790         needed. (this snippet comes from src/system.h).
80791
80792 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
80793
80794         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
80795
80796 2000-06-15  Paul Eggert  <eggert@twinsun.com>
80797
80798         * lib/human.c (adjust_value): New function.
80799         (human_readable_inexact): Apply rounding style even when
80800         printing approximate values.
80801
80802 2000-06-14  Paul Eggert  <eggert@twinsun.com>
80803
80804         * lib/human.c (human_readable_inexact): Allow an input block
80805         size that is not a multiple of the output block size, and vice versa.
80806         Reported by Piergiorgio Sartor.
80807
80808 2000-06-14  Paul Eggert  <eggert@twinsun.com>
80809
80810         * lib/getdate.y (get_date): Apply relative times after time
80811         zone indicator, not before.  Reported by Todd A. Jacobs.
80812
80813 2000-06-13  Jim Meyering  <meyering@lucent.com>
80814
80815         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
80816
80817         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
80818
80819 2000-06-12  Paul Eggert  <eggert@twinsun.com>
80820
80821         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
80822
80823 2000-06-12  Jim Meyering  <meyering@lucent.com>
80824
80825         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
80826         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
80827         optional argument.
80828         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
80829         the optional argument, `lib'.
80830
80831 2000-06-08  Jim Meyering  <meyering@lucent.com>
80832
80833         * m4/largefile.m4: Remove file (now that it's part of autoconf).
80834
80835 2000-06-04  Paul Eggert  <eggert@twinsun.com>
80836
80837         Rewrite largefile configuration so that we don't need to run
80838         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
80839         AC_CANONICAL_HOST in configure.in -- jmm]
80840
80841         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
80842         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
80843         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
80844         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
80845         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
80846         All uses changed.
80847         Instead of inspecting the output of getconf, try to compile the
80848         test program without and with the macro definition.
80849         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
80850         for getconf.  Instead, check for the needed flags by compiling
80851         test programs.
80852
80853 2000-06-04  Paul Eggert  <eggert@twinsun.com>
80854
80855         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
80856
80857 2000-06-04  Jim Meyering  <meyering@lucent.com>
80858
80859         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
80860         SunOS 4.1.4 for which gid_t is an unsigned type.
80861
80862 2000-06-03  Jim Meyering  <meyering@lucent.com>
80863
80864         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
80865         now that autoconf requires that.
80866
80867         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
80868         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
80869         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
80870
80871 2000-06-03  Jim Meyering  <meyering@lucent.com>
80872
80873         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
80874
80875 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
80876
80877         * m4/glibc21.m4: New file.
80878         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
80879
80880 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
80881
80882         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
80883         newer, don't install charset.alias.
80884         * lib/config.charset: Change the Linux/glibc rules so they become empty
80885         on glibc-2.1 or newer.
80886
80887 2000-06-02  Jim Meyering  <meyering@lucent.com>
80888
80889         * lib/mountlist.c: Back out last change.  Instead, do this...
80890         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
80891         me_dummy member using the same `ignore'-testing code.
80892         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
80893         fs_type strings.
80894         From Mark D. Roth.
80895
80896 2000-05-29  Jim Meyering  <meyering@lucent.com>
80897
80898         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
80899         mounts with the `ignore' attribute.  Based on a patch from
80900         Mark D. Roth.
80901
80902 2000-05-28  Jim Meyering  <meyering@lucent.com>
80903
80904         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
80905         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80906         * m4/stat.m4: Likewise.
80907         * m4/lstat.m4: Likewise.
80908         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
80909
80910         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
80911         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
80912
80913 2000-05-26  Jim Meyering  <meyering@lucent.com>
80914
80915         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
80916
80917 2000-05-24  Jim Meyering  <meyering@lucent.com>
80918
80919         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
80920         autoconf requires that.
80921         * m4/lib-check.m4: Likewise.
80922         * m4/jm-macros.m4: Likewise.
80923         * m4/strftime.m4: Likewise.
80924
80925         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
80926         AC_CHECK_DECLS, now that autoconf requires that.
80927
80928 2000-05-22  Jim Meyering  <meyering@lucent.com>
80929
80930         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80931         * m4/lstat.m4: Likewise.
80932
80933 2000-05-22  Jim Meyering  <meyering@lucent.com>
80934
80935         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
80936
80937 2000-05-20  Jim Meyering  <meyering@lucent.com>
80938
80939         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
80940         (jm_PREREQ): Use it.
80941
80942 2000-05-18  Jim Meyering  <meyering@lucent.com>
80943
80944         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
80945         back, too, since it may have been modified by allocate_entry.
80946         (hash_delete): Rewrite to use neither the assignment operator
80947         nor the comma operator in an if-expression.
80948
80949 2000-05-15  Paul Eggert  <eggert@twinsun.com>
80950
80951         * lib/closeout.c:
80952         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
80953         Remove; no longer needed.
80954         "quotearg.h": Add include.
80955         (file_name): Do not bother to explicitly initialize to NULL; it's less
80956         efficient on some hosts.
80957         (close_stdout_status): Remove test as to whether stdout was already
80958         closed; it breaks for the case "echo x | sort >&-".
80959         Quote file name colons.
80960         Do not assume that _("write error") lacks format strings.
80961
80962 2000-05-15  Jim Meyering  <meyering@lucent.com>
80963
80964         * lib/version-etc.c (version_etc_copyright): Update the copyright
80965         string used in all --version output.
80966
80967 2000-05-14  Jim Meyering  <meyering@lucent.com>
80968
80969         * lib/closeout.c (close_stdout_set_file_name): New function.
80970         (close_stdout_status): Use new file-scoped global.
80971         Return right away if fstat says the stdout file descriptor is invalid.
80972         * lib/closeout.h (close_stdout_set_file_name): Declare.
80973
80974 2000-05-10  Jim Meyering  <meyering@lucent.com>
80975
80976         * lib/closeout.c [default_exit_status]: New file-scoped variable.
80977         (close_stdout_set_status): New function.
80978         * lib/closeout.h (close_stdout_set_status): Declare.
80979
80980 2000-05-09  Jim Meyering  <meyering@lucent.com>
80981
80982         * m4/gettext.m4: Rename this...
80983         * m4/libintl.m4: ...to this.
80984
80985 2000-05-08  Jim Meyering  <meyering@lucent.com>
80986
80987         * lib/long-options.c: Don't include closeout.h.
80988         (parse_long_options): Don't call close_stdout for --version.
80989
80990 2000-05-06  Paul Eggert  <eggert@twinsun.com>
80991
80992         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
80993         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
80994         2.1.3 bug.  This avoids a clash when files like regex.c define
80995         _GNU_SOURCE.
80996
80997 2000-05-06  Jim Meyering  <meyering@lucent.com>
80998
80999         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
81000         (AC_REPLACE_FUNCS): Add strnlen.
81001
81002         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
81003         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
81004
81005         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
81006         AC_SEARCH_LIBS call for nanosleep.
81007         (LIB_NANOSLEEP): Set and AC_SUBST.
81008
81009 2000-05-06  Jim Meyering  <meyering@lucent.com>
81010
81011         * lib/strnlen.c: Undefine __strnlen and strnlen.
81012         [!weak_alias]: Define __strnlen to strnlen.
81013
81014         * lib/atexit.c: New file, from libiberty.
81015
81016 2000-05-06  Jim Meyering  <meyering@lucent.com>
81017
81018         * lib/closeout.c (close_stdout_status): Also check for errors on the
81019         stderr stream.
81020
81021 2000-05-05  Jim Meyering  <meyering@lucent.com>
81022
81023         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
81024         AC_SEARCH_LIBS call for clock_gettime.
81025         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
81026
81027         * m4/search-libs.m4: Update from autoconf.
81028
81029         su doesn't work on Solaris 2.6.
81030         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
81031         <shadow.h>.  Reported by Dragos Harabor.
81032
81033 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
81034
81035         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
81036         memcpy instead of xmalloc, xrealloc, path_concat.
81037         (locale_charset): Treat empty environment variables as absent.
81038         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
81039
81040 2000-05-04  Jim Meyering  <meyering@lucent.com>
81041
81042         * lib/getopt.c: Update from glibc.
81043         * lib/obstack.c: Likewise.
81044         * lib/obstack.h: Likewise.
81045         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
81046         file
81047
81048         * lib/regex.h: Likewise.
81049         * lib/strndup.c: Likewise.
81050         * lib/strnlen.c: New file, from glibc.
81051
81052 2000-05-03  Jim Meyering  <meyering@lucent.com>
81053
81054         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
81055
81056 2000-05-02  Paul Eggert  <eggert@twinsun.com>
81057
81058         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
81059         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
81060         compile-time test, rather than inspecting host and OS, to
81061         decide whether to define _LARGEFILE_SOURCE.
81062
81063 2000-05-01  Jim Meyering  <meyering@lucent.com>
81064
81065         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
81066
81067         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
81068         Based on a patch from Bruno Haible.
81069
81070 2000-05-01  Jim Meyering  <meyering@lucent.com>
81071
81072         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
81073
81074 2000-04-29  Jim Meyering  <meyering@lucent.com>
81075
81076         * lib/path-concat.c: Declare strdup only if it's not defined.
81077         * lib/canon-host.c: Likewise.
81078
81079 2000-04-28  Jim Meyering  <meyering@lucent.com>
81080
81081         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
81082         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
81083         is included first, then limits.h is included by locale.h by libintl.h.
81084         From John David Anglin.
81085
81086 2000-04-25  Jim Meyering  <meyering@lucent.com>
81087
81088         * lib/makepath.c (S_IRWXUGO): Define.
81089         (make_path): Always perform explicit chmod if MODE specifies any
81090         of the `special' permission bits.  Prompted by a bug report against
81091         install from Mate Wierdl and Joost van Baal.
81092
81093 2000-04-18  Jim Meyering  <meyering@lucent.com>
81094
81095         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
81096         (jm_PREREQ): Use it.
81097
81098 2000-04-18  Jim Meyering  <meyering@lucent.com>
81099
81100         * lib/README: New file.
81101
81102         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
81103         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
81104
81105 2000-04-17  Jim Meyering  <meyering@lucent.com>
81106
81107         Get it right :-)
81108         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
81109         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
81110         Suggestion from Akim Demaille.
81111
81112 2000-04-17  Jim Meyering  <meyering@lucent.com>
81113
81114         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
81115         the definition of it to rpl_strftime also defined-away the system's
81116         declaration.
81117
81118 2000-04-15  Jim Meyering  <meyering@lucent.com>
81119
81120         Use `C' to denote so-called `contiguous' files, the same way
81121         that tar does.
81122         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
81123         (ftypelet): Use S_ISCTG.
81124         From Michael Deutschmann.
81125
81126 2000-04-14  Jim Meyering  <meyering@lucent.com>
81127
81128         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
81129         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
81130         clobbered.
81131
81132 2000-04-14  Jim Meyering  <meyering@lucent.com>
81133
81134         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
81135
81136 2000-04-13  Jim Meyering  <meyering@lucent.com>
81137
81138         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
81139         AH_VERBATIM to insert required #ifndef into config.h.in.
81140         Suggestion from Akim Demaille.
81141
81142 2000-04-12  Jim Meyering  <meyering@lucent.com>
81143
81144         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
81145         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
81146         Christian Krackowizer.
81147
81148         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
81149         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
81150         (AC_SYS_LARGEFILE): Require.
81151         (AM_C_PROTOTYPES): Require.
81152
81153 2000-04-08  Jim Meyering  <meyering@lucent.com>
81154
81155         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
81156         names don't conflict.  Reported by Eli Zaretskii.
81157
81158 2000-04-07  Jim Meyering  <meyering@lucent.com>
81159
81160         * lib/putenv.c: Move inclusion of errno.h so it follows that of
81161         sys/types.h, to work around system header problems on AIX 3.2.5.
81162         From Bruno Haible.
81163
81164 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
81165
81166         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
81167         bug.  Deal with the different error behavior of Irix iconv.
81168
81169 2000-04-05  Paul Eggert  <eggert@twinsun.com>
81170
81171         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
81172         IRIX if the installer said otherwise.
81173
81174 2000-04-05  Jim Meyering  <meyering@lucent.com>
81175
81176         Portability tweaks required for ultrix4.3.
81177         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
81178         (jm_CHECK_DECLS): Add getutent to the list of functions.
81179         (_jm_DECL_HEADERS): Add utmpx.h.
81180         From John David Anglin.
81181
81182         * m4/strftime.m4: Back out the 2000-04-02 change.
81183         Instead of that change, simply undefine putenv in the test program.
81184
81185 2000-04-05  Jim Meyering  <meyering@lucent.com>
81186
81187         Portability tweaks required for ultrix4.3.
81188         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
81189         getutent.
81190         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
81191         * lib/canon-host.c: Declare strdup.
81192         * lib/path-concat.c: Likewise.
81193         From John David Anglin.
81194
81195 2000-04-04  Jim Meyering  <meyering@lucent.com>
81196
81197         Be more DOS 8.3-friendly.
81198         * lib/ref-add.sin: Renamed from ref-add.sed.in.
81199         * lib/ref-del.sin: Renamed from ref-del.sed.in.
81200         * lib/Makefile.am: Reflect renaming.
81201         Reported by Eli Zaretskii.
81202
81203         Use a temporary file name that won't clash with `charset.alias'
81204         in the DOS 8.3 name space.
81205         * lib/Makefile.am (charset_tmp): Define.
81206         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
81207         (uninstall-local): Likewise.
81208         Reported by Eli Zaretskii.
81209
81210 2000-04-03  Jim Meyering  <meyering@lucent.com>
81211
81212         * m4/gettext.m4: Fix typo in comment.
81213
81214         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
81215         textutils/configure.in).  Suggestion from Paul Eggert.
81216         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
81217
81218 2000-04-02  Paul Eggert  <eggert@twinsun.com>
81219
81220         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
81221         variable in the shell rather than using putenv, which isn't
81222         portable.  This avoids the configure-time inter-test dependency
81223         on the potentially-renamed putenv function.
81224
81225 2000-03-30  Paul Eggert  <eggert@twinsun.com>
81226
81227         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
81228         before checking struct stat.st_blksize, so that
81229         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
81230
81231 2000-03-29  Paul Eggert  <eggert@twinsun.com>
81232
81233         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
81234         since strftime.c uses HAVE_STRFTIME to decide whether to use
81235         the underlying strftime.
81236
81237 2000-03-29  Paul Eggert  <eggert@twinsun.com>
81238
81239         * lib/time/strftime.c (my_strftime): Make sure we call the system
81240         strftime, not ourselves, when invoking the underlying strftime.
81241
81242 2000-03-24  Jim Meyering  <meyering@lucent.com>
81243
81244         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
81245         (charset_alias): Define.
81246         (install-exec-local): Factor out common code.
81247         (uninstall-local): Split lines longer than 80.
81248         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
81249         (SUFFIXES): Define.
81250         (.sed.in.sed): New rule.  Don't redirect directly to $@.
81251         (CLEANFILES): Add ref-add.sed and ref-del.sed.
81252
81253 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
81254
81255         * lib/config.charset: Output a line containing "Packages using this
81256         file".
81257         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
81258         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
81259         ref-del.sed): New rules.
81260
81261 2000-03-17  Jim Meyering  <meyering@lucent.com>
81262
81263         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
81264         Otherwise, include <strings.h>
81265
81266 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
81267
81268         * lib/unicodeio.c (utf8_wctomb): New function.
81269         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
81270         format instead of in UCS-4 with platform dependent endianness.
81271
81272 2000-03-10  Jim Meyering  <meyering@lucent.com>
81273
81274         * m4/lib-check.m4: Look for getspnam in -lgen, too.
81275         From Marco Franzen.
81276
81277 2000-03-07  Paul Eggert  <eggert@twinsun.com>
81278
81279         * lib/savedir.c (savedir): Work even if directory size is
81280         negative; this can happen with some screwy NFS configurations.
81281
81282 2000-03-06  Jim Meyering  <meyering@lucent.com>
81283
81284         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
81285         if it's NULL (because we ran out of memory).  From Bruno Haible.
81286
81287 2000-03-05  Jim Meyering  <meyering@lucent.com>
81288
81289         * lib/localcharset.c ("path-concat.h"): Include.
81290         (get_charset_aliases): Use path_concat instead of ANSI string
81291         concatenation.
81292
81293         * lib/unicodeio.h (PARAMS): Define.
81294         Use it to guard prototype.
81295
81296 2000-03-04  Jim Meyering  <meyering@lucent.com>
81297
81298         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
81299         for lib/localcharset.c.
81300
81301 2000-03-04  Jim Meyering  <meyering@lucent.com>
81302
81303         * lib/Makefile.am (install-exec-local): Create $(libdir) before
81304         installing into it.
81305         (uninstall-local): Uncomment this rule so `make distcheck' works
81306         once again.
81307
81308         * lib/unicodeio.c (<errno.h>): Include it.
81309         (errno): Declare if not defined.
81310
81311         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
81312
81313         * lib/config.charset: New version, incorporating remarks from a linux
81314         i18n mailing list.  From Bruno Haible.
81315
81316 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
81317
81318         * m4/codeset.m4: New file.
81319         * m4/iconv.m4: New file.
81320         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
81321
81322 2000-03-03  Jim Meyering  <meyering@lucent.com>
81323
81324         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
81325
81326 2000-03-02  Jim Meyering  <meyering@lucent.com>
81327
81328         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
81329         the messages come out on separate lines.
81330
81331         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
81332         rather than jm_CHECK_DECLARATIONS.
81333         * m4/decl.m4: Remove now-unused file.
81334
81335         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
81336         geteuid.
81337
81338 2000-03-02  Jim Meyering  <meyering@lucent.com>
81339
81340         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
81341
81342 2000-03-01  Jim Meyering  <meyering@lucent.com>
81343
81344         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
81345         * lib/unicodeio.c: Likewise.
81346
81347 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
81348
81349         * lib/config.charset: New file.
81350         * lib/localcharset.c: New file.
81351         * lib/unicodeio.h, lib/unicodeio.c: New files.
81352         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
81353         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
81354         (noinst_HEADERS): Add unicodeio.h.
81355         (all-local, install-exec-local, charset.alias): New targets.
81356
81357 2000-02-28  Paul Eggert  <eggert@twinsun.com>
81358
81359         * lib/quotearg.c (ALERT_CHAR): New macro.
81360         (quotearg_buffer_restyled): Use it.
81361
81362 2000-02-27  Jim Meyering  <meyering@lucent.com>
81363
81364         * m4/check-decl.m4: Add getenv to the list.
81365
81366 2000-02-27  Jim Meyering  <meyering@lucent.com>
81367
81368         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
81369         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
81370
81371         * lib/backupfile.c: Guard inclusion of stdlib.h with
81372         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
81373         Declare malloc if needed.
81374
81375         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
81376         `#ifndef HAVE_DECL..'
81377         now that autoconf always defines the HAVE_DECL_ symbols.
81378         * lib/human.c: Likewise.
81379         * lib/same.c: Likewise.
81380         * lib/strtoumax.c: Likewise.
81381
81382         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
81383         declaration check was not run.
81384         * lib/hash.c: Likewise.
81385         * lib/human.c: Likewise.
81386         * lib/same.c: Likewise.
81387         * lib/strtoumax.c: Likewise.
81388
81389         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
81390         `.', then first look up the entire `.'-containing string as a login
81391         name.
81392
81393 2000-02-23  Jim Meyering  <meyering@lucent.com>
81394
81395         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
81396         in place of my hack.
81397
81398 2000-02-18  Paul Eggert  <eggert@twinsun.com>
81399
81400         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
81401         (textint): New typedef.
81402         (parser_control): Member year changed from int to textint.
81403         All uses changed.
81404         (YYSTYPE): Removed; replaced by %union with int and textint members.
81405         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
81406         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
81407         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
81408         (tSNUMBER, tUNUMBER): Now of type <textintval>.
81409         (date, number, to_year): Use width of number in digits, not its value,
81410         to determine whether it's a 2-digit year, or a 2-digit time.
81411         (yylex): Store number of digits of numeric tokens.
81412         Reported by John Kendall.
81413
81414         (parser_control): Changed from struct parser_control to typedef (for
81415         consistency).  All uses changed.
81416
81417         (tID): Removed; not used.
81418         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
81419
81420 2000-02-14  Paul Eggert  <eggert@twinsun.com>
81421
81422         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
81423         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
81424
81425 2000-02-12  Jim Meyering  <meyering@lucent.com>
81426
81427         * lib/userspec.c (ISDIGIT): Define it.
81428         (isdigit): Remove definition.
81429         (is_number): Use ISDIGIT, not isdigit.
81430         <libintl.h>: Include.
81431         (_ and N_): Define.
81432         (parse_user_spec): Mark translatable strings.
81433
81434 2000-02-10  Jim Meyering  <meyering@lucent.com>
81435
81436         With these changes, nanosleep.[ch] are finally enough like the other
81437         lib/* replacement files to compile on a few more losing systems.
81438
81439         * lib/nanosleep.h: Don't include config.h.
81440         Remove prototype from declaration of nanosleep.
81441         (PARAMS): Remove now-unneeded definition.
81442         * lib/nanosleep.c: #undef nanosleep.
81443         (rpl_nanosleep): Rename from nanosleep.
81444
81445 2000-02-10  Jim Meyering  <meyering@lucent.com>
81446
81447         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
81448         gnu_nanosleep to rpl_nanosleep.
81449
81450 2000-02-09  Jim Meyering  <meyering@lucent.com>
81451
81452         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
81453         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
81454
81455 2000-02-08  Akim Demaille  <akim@epita.fr>
81456
81457         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
81458         `[' and `]' and remove uses of `changequote'.
81459         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
81460         (AC_SYS_LARGEFILE): Likewise.
81461         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
81462         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
81463         of changequote.
81464         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
81465         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
81466         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
81467         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
81468
81469 2000-02-05  Jim Meyering  <meyering@lucent.com>
81470
81471         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
81472         Remove explicit use of AC_HEADER_TIME.  It is required by
81473         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
81474         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
81475         in autoconf whereby the expansion of the latter ended up preceding
81476         the expansion of its prerequisite, AC_HEADER_TIME.
81477         Reported by Volker Borchert.
81478
81479 2000-02-03  Jim Meyering  <meyering@lucent.com>
81480
81481         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
81482
81483 2000-02-03  Jim Meyering  <meyering@lucent.com>
81484
81485         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
81486         rather than with `#if HAVE_UTMPNAME'.
81487
81488 2000-02-02  Jim Meyering  <meyering@lucent.com>
81489
81490         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
81491         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
81492         Reported by Eli Zaretskii.
81493
81494 2000-02-01  Jim Meyering  <meyering@lucent.com>
81495
81496         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
81497
81498 2000-01-31  Jim Meyering  <meyering@lucent.com>
81499
81500         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
81501         functions.  Add the time.h and sys/time.h headers along with the
81502         AC_REQUIRE'ment of AC_HEADER_TIME.
81503
81504 2000-01-31  Jim Meyering  <meyering@lucent.com>
81505
81506         * lib/nanosleep.h (nanosleep): Guard declaration with
81507         `#if ! HAVE_DECL_NANOSLEEP'.
81508         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
81509         the declaration in that vendor's sys/timers.h.
81510         Reported by Christian Krackowizer.
81511
81512         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
81513         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
81514         (ISPRINT): Likewise.
81515         Reported by Tom Tromey.
81516
81517 2000-01-30  Jim Meyering  <meyering@lucent.com>
81518
81519         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
81520
81521         * m4/prereq.m4 (utmp_includes): Define.
81522         Check for ut_user and ut_name members in both struct utmpx
81523         and struct utmp.
81524
81525 2000-01-30  Jim Meyering  <meyering@lucent.com>
81526
81527         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
81528         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
81529         header files where only utmpx.ut_user is declared.
81530
81531         * lib/readutmp.h (UT_USER): Define.
81532
81533 2000-01-29  Jim Meyering  <meyering@lucent.com>
81534
81535         * m4/lib-check.m4: New file containing library-related checks from
81536         fileutils and sh-utils (textutils had none).
81537
81538 2000-01-28  Jim Meyering  <meyering@lucent.com>
81539
81540         * m4/perl.m4: Change format of warning message to look more like that
81541         from the missing script.  Suggestion from François Pinard.
81542
81543 2000-01-25  Jim Meyering  <meyering@lucent.com>
81544
81545         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
81546         well as time.h in the compile check.
81547         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
81548         Fix typo in cross-compiling case: s/yes/no/.
81549
81550 2000-01-23  Jim Meyering  <meyering@lucent.com>
81551
81552         * m4/jm-macros.m4: Move df-related tests here from
81553         fileutils/configure.in
81554
81555         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
81556         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
81557
81558         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
81559         s/space/ac_fsusage_space/.
81560         (jm_FILE_SYSTEM_USAGE): Take two parameters.
81561
81562         * m4/ftruncate.m4: New file (derived from part of
81563         fileutils/configure.in).
81564         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
81565         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
81566
81567         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
81568         AC_SUBST these here, rather than just in sh-util/configure.in, so
81569         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
81570         all the same.
81571         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
81572         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
81573         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
81574         (AC_SUBST(POW_LIBM)): Likewise.
81575         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
81576
81577 2000-01-23  Jim Meyering  <meyering@lucent.com>
81578
81579         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
81580         obstack.c.
81581
81582 2000-01-22  Jim Meyering  <meyering@lucent.com>
81583
81584         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
81585
81586         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
81587
81588         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
81589         configure.in
81590         (AC_CHECK_HEADERS): Likewise for sh-utils.
81591         (AC_CHECK_HEADERS): Likewise for textutils.
81592         Merge the three lists of headers.
81593
81594         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
81595         from fileutils' configure.in.
81596
81597         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
81598         code. Moved tests into their own function (_jm_DECL_HEADERS) in
81599         check-decl.m4.
81600
81601         * m4/check-decl.m4: Use #if rather than #ifdef.
81602         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
81603         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
81604         (_jm_DECL_HEADERS): Define new function.
81605         (jm_CHECK_DECLARATIONS): Require it.
81606
81607 2000-01-22  Jim Meyering  <meyering@lucent.com>
81608
81609         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
81610         [! HAVE_DECL_STRTOULL]: Declare strtoull.
81611         Required for some AIX systems.  Reported by Christian Krackowizer.
81612         [TESTING] (main): New function.
81613
81614         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
81615         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
81616         letters.
81617
81618         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
81619         iswprint.
81620
81621         * lib/strverscmp.c (ISDIGIT): Define.
81622         (strverscmp): Use ISDIGIT, not isdigit.
81623
81624 2000-01-19  Jim Meyering  <meyering@lucent.com>
81625
81626         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
81627         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
81628         defines `struct timespec' in <sys/time.h>
81629
81630         * m4/c-bs-a.m4: Remove uses of changequote altogether.
81631         Thanks to Akim for explaining.
81632
81633 2000-01-17  Paul Eggert  <eggert@twinsun.com>
81634
81635         * lib/nanosleep.c (nanosleep):
81636         Don't use SA_INTERRUPT to decide whether to call sigaction, as
81637         POSIX.1 doesn't require SA_INTERRUPT and some systems
81638         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
81639         it's been part of POSIX.1 since day 1 (in 1988).
81640
81641 2000-01-17  Jim Meyering  <meyering@lucent.com>
81642
81643         * lib/interlock: Remove unused file.  Reported by François Pinard.
81644
81645 2000-01-16  Paul Eggert  <eggert@twinsun.com>
81646
81647         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
81648         alert, backslash, formfeed, and vertical tab unnecessarily in
81649         shell quoting style.
81650
81651 2000-01-16  Jim Meyering  <meyering@lucent.com>
81652
81653         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
81654         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
81655         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
81656         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
81657
81658 2000-01-16  Jim Meyering  <meyering@lucent.com>
81659
81660         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
81661         because the latter didn't work.
81662
81663 2000-01-15  Jim Meyering  <meyering@lucent.com>
81664
81665         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
81666         (AC_REPLACE_FUNCS): Add memcpy and memset.
81667         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
81668         Add strpbrk.
81669         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
81670
81671 2000-01-12  Jim Meyering  <meyering@lucent.com>
81672
81673         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
81674         (jm_PREREQ): Use it.
81675         (jm_PREREQ_READUTMP): New macro.
81676         (jm_PREREQ): Use it.
81677
81678 2000-01-11  Paul Eggert  <eggert@twinsun.com>
81679
81680         Quote multibyte characters correctly.
81681         * m4/c-bs-a.m4: New file.
81682         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
81683         (jm_PREREQ): Use it.
81684
81685 2000-01-11  Paul Eggert  <eggert@twinsun.com>
81686
81687         * m4/uintmax_t.m4: Port to autoconf 2.13.
81688
81689 2000-01-08  Jim Meyering  <meyering@ascend.com>
81690
81691         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
81692         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
81693
81694 2000-01-04  Jim Meyering  <meyering@ascend.com>
81695
81696         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
81697         jm_STRUCT_DIRENT_D_TYPE.
81698         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
81699         jm_STRUCT_DIRENT_D_INO.
81700         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
81701         jm_STRUCT_UTIMBUF.
81702         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
81703         renamings.
81704         * m4/utime.m4: Likewise.
81705
81706         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
81707         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
81708
81709 2000-01-03  Paul Eggert  <eggert@twinsun.com>
81710
81711         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
81712         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
81713
81714 2000-01-02  Jim Meyering  <meyering@ascend.com>
81715
81716         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
81717         remember if this is necessary.
81718
81719 1999-12-26  Jim Meyering  <meyering@ascend.com>
81720
81721         * m4/jm-macros.m4: Use it here.
81722         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
81723
81724 1999-12-23  Jim Meyering  <meyering@ascend.com>
81725
81726         * m4/jm-macros.m4: Check for clock_gettime (moved from
81727         fileutils/configure.in)
81728         Check for gettimeofday.
81729
81730 1999-12-20  Jim Meyering  <meyering@ascend.com>
81731
81732         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
81733         autoconf-2.14a-1999-12-20.
81734
81735 1999-12-19  Jim Meyering  <meyering@ascend.com>
81736
81737         * m4/lstat-slash.m4: New file.
81738         * m4/jm-macros.m4: Use the new macro:
81739         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81740
81741 1999-12-07  Jim Meyering  <meyering@ascend.com>
81742
81743         * m4/perl.m4: Require that File::Compare be available, too.
81744         Too many systems seem to lack it.
81745
81746         * m4/strftime.m4: Add checks for most of the cpp macros tested in
81747         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
81748
81749 1999-11-18  Paul Eggert  <eggert@twinsun.com>
81750
81751         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
81752         problem with the QNX 4.25 shell, which doesn't propagate exit
81753         status of failed commands inside shell assignments.
81754
81755 1999-11-17  Jim Meyering  <meyering@ascend.com>
81756
81757         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
81758
81759 1999-11-07  Jim Meyering  <meyering@ascend.com>
81760
81761         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
81762
81763 1999-11-06  Jim Meyering  <meyering@ascend.com>
81764
81765         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
81766         * m4/jm-macros.m4 (jm_MACROS): Use it here.
81767
81768 1999-11-05  Jim Meyering  <meyering@ascend.com>
81769
81770         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
81771         configure.in of textutils, fileutils, and sh-utils into this one
81772         (shared between those packages) file.
81773         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
81774         AC_STRUCT_ST_BLKSIZE.
81775
81776 1999-11-03  Jim Meyering  <meyering@ascend.com>
81777
81778         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
81779         of AC_CHECK_TYPE checks includes unistd.h.
81780         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
81781         Suggestion from Akim Demaille.
81782
81783 1999-10-30  Jim Meyering  <meyering@ascend.com>
81784
81785         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
81786         m4-quoted string.
81787         * m4/ls-mntd-fs.m4: Likewise.
81788         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
81789         * m4/jm-winsz1.m4: Likewise.
81790
81791         * m4/const.m4: Remove file, since the fix made it into the experimental
81792         version of autoconf.
81793         * m4/mktime.m4: Likewise.
81794
81795         * m4/check-type.m4: Remove file, now that the latest version of
81796         AC_CHECK_TYPE takes a third arg to specify additional #includes.
81797
81798         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
81799         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
81800         AC_CHECK_TYPE.
81801
81802 1999-10-04  Jim Meyering  <meyering@ascend.com>
81803
81804         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
81805
81806 1999-09-22  Paul Eggert  <eggert@twinsun.com>
81807
81808         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
81809         2.95.1 bug with HP-UX 10.20.
81810
81811 1999-09-17  Jim Meyering  <meyering@ascend.com>
81812
81813         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
81814         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
81815         due to missing strdup (against sh-utils-2.0).
81816
81817 1999-08-29  Jim Meyering  <meyering@ascend.com>
81818
81819         * m4/jm-macros.m4: Require jm_BISON.
81820         * m4/bison.m4: New file.
81821
81822 1999-08-17  Paul Eggert  <eggert@twinsun.com>
81823
81824         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
81825         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
81826
81827 1999-08-05  Jim Meyering  <meyering@ascend.com>
81828
81829         * m4/getline.m4: Rename test file from conftestdata to conftest.data
81830         to avoid conflicts with `conftest' on 8+3 filesystems.
81831         Suggestion from Eli Zaretskii.
81832
81833 1999-08-04  Jim Meyering  <meyering@ascend.com>
81834
81835         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
81836         fileutils and sh-utils (textutils's getline test was inadequate).
81837         (AM_FUNC_GETLINE): Run this test.
81838         (AC_CHECK_FUNCS): Check for getdelim.
81839         Reported by Bob Proulx.
81840
81841 1999-08-02  Jim Meyering  <meyering@ascend.com>
81842
81843         * m4/jm-macros.m4: Add a comment.
81844
81845 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81846
81847         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
81848         <inttypes.h> defines strtoumax as a macro (and not as a
81849         function).
81850
81851 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81852
81853         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
81854         that we can shift, multiply and divide unsigned long long
81855         values; Ultrix cc can't do it.
81856
81857 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81858
81859         * m4/mktime.m4: New file, which is a preview of what should appear
81860         in the next public autoconf release.
81861
81862 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81863
81864         * m4/lfs.m4: Remove this file.
81865         * m4/largefile.m4: New file.  It contains the old contents of
81866         lfs.m4, except that all names with prefix AC_LFS have been
81867         changed to use the prefix AC_SYS_LARGEFILE instead, to be
81868         compatible with future autoconf versions.  Also, some minor m4
81869         quoting problems have been fixed.
81870
81871 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81872
81873         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
81874         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
81875         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
81876         and simplify the shell code.
81877
81878 1999-08-01  Jim Meyering  <meyering@ascend.com>
81879
81880         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
81881         m4.
81882
81883 1999-07-20  Jim Meyering  <meyering@ascend.com>
81884
81885         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
81886
81887 1999-07-15  Jim Meyering  <meyering@ascend.com>
81888
81889         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
81890
81891 1999-05-22  Jim Meyering  <meyering@ascend.com>
81892
81893         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
81894
81895 1999-05-20  Jim Meyering  <meyering@ascend.com>
81896
81897         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
81898         Add a colon after each `then' in case $4 is empty.
81899
81900 1999-05-16  Jim Meyering  <meyering@ascend.com>
81901
81902         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
81903
81904 1999-05-10  Jim Meyering  <meyering@ascend.com>
81905
81906         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
81907
81908         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
81909         AC_FUNC_MKTIME.
81910
81911 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
81912
81913         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
81914
81915 1999-05-04  Paul Eggert  <eggert@twinsun.com>
81916
81917         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
81918         not CPPFLAGS, so that linking works correctly in IRIX.
81919
81920 1999-04-30  Paul Eggert  <eggert@twinsun.com>
81921
81922         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
81923
81924 1999-04-20  Paul Eggert  <eggert@twinsun.com>
81925
81926         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
81927         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
81928         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
81929         jm_AC_TYPE_UNSIGNED_LONG_LONG.
81930         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
81931
81932         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
81933
81934 1999-04-20  Jim Meyering  <meyering@ascend.com>
81935
81936         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
81937         AC_REPLACE xstroull if necessary.  From Paul Eggert.
81938         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
81939
81940 1999-04-18  Jim Meyering  <meyering@ascend.com>
81941
81942         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
81943         * m4/jm-macros.m4: Use it.
81944
81945 1999-04-06  Jim Meyering  <meyering@ascend.com>
81946
81947         * m4/strftime.m4: Remove test for %f.
81948
81949 1999-03-29  Jim Meyering  <meyering@ascend.com>
81950
81951         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
81952         superset of the AC_TYPE_* checks in the textutils, fileutils,
81953         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
81954         AC_TYPE_PID_T.
81955
81956 1999-03-28  Jim Meyering  <meyering@ascend.com>
81957
81958         * m4/jm-macros.m4: Define GNU_PACKAGE here.
81959         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
81960         replaced e.g., in the *.sh files of the sh-utils.
81961
81962 1999-03-20  Jim Meyering  <meyering@ascend.com>
81963
81964         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
81965         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
81966         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
81967
81968 1999-03-19  Jim Meyering  <meyering@ascend.com>
81969
81970         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
81971
81972 1999-03-12  Jim Meyering  <meyering@ascend.com>
81973
81974         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
81975
81976 1999-03-07  Jim Meyering  <meyering@ascend.com>
81977
81978         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
81979         declared.
81980
81981 1999-02-17  Jim Meyering  <meyering@ascend.com>
81982
81983         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
81984         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
81985
81986 1999-02-07  Jim Meyering  <meyering@ascend.com>
81987
81988         * m4/group-member.m4: New file -- extracted from sh-utils'
81989         configure.in.
81990
81991         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
81992         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
81993
81994 1999-02-06  Jim Meyering  <meyering@ascend.com>
81995
81996         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
81997         * m4/fnmatch.m4: Likewise.
81998         * m4/getgroups.m4: Likewise.
81999         * m4/lstat.m4: Likewise.
82000         * m4/malloc.m4: Likewise.
82001         * m4/putenv.m4: Likewise.
82002         * m4/realloc.m4: Likewise.
82003         * m4/regex.m4: Likewise.
82004         * m4/stat.m4: Likewise.
82005         * m4/strftime.m4: Likewise.
82006         Suggestion from Alain Magloire.
82007
82008         * m4/chown.m4: Use `.$ac_objext', not `.o'.
82009         * m4/fnmatch.m4: Likewise.
82010         * m4/getgroups.m4: Likewise.
82011         * m4/getline.m4: Likewise.
82012         * m4/lstat.m4: Likewise.
82013         * m4/malloc.m4: Likewise.
82014         * m4/memcmp.m4: Likewise.
82015         * m4/putenv.m4: Likewise.
82016         * m4/realloc.m4: Likewise.
82017         * m4/regex.m4: Likewise.
82018         * m4/stat.m4: Likewise.
82019         * m4/strftime.m4: Likewise.
82020         Suggestion from Alain Magloire.
82021
82022         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
82023         an argument.
82024
82025         * m4/regex.m4: Add a run-time Test for proper operation of
82026         re_compile_pattern.
82027
82028 1999-01-31  Jim Meyering  <meyering@ascend.com>
82029
82030         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
82031
82032 1999-01-30  Jim Meyering  <meyering@ascend.com>
82033
82034         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
82035
82036         * m4/jm-mktime.m4: Make this a wrapper around the official
82037         AM_FUNC_MKTIME rather than my private copy, now that the official one
82038         is up to date.
82039         * m4/mktime.m4: Remove file.
82040
82041         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
82042         * m4/uptime.m4: Likewise.
82043         * m4/uintmax_t.m4: Likewise.
82044
82045 1999-01-28  Jim Meyering  <meyering@ascend.com>
82046
82047         * m4/jm-macros.m4: Use jm_AFS.
82048         * m4/afs.m4: New file (from fileutils' configure.in).
82049
82050         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
82051         * m4/chown.m4: Likewise.
82052         * m4/d-ino.m4: Likewise.
82053         * m4/d-type.m4: Likewise.
82054         * m4/fnmatch.m4: Likewise.
82055         * m4/getgroups.m4: Likewise.
82056         * m4/gettext.m4: Likewise.
82057         * m4/jm-mktime.m4: Likewise.
82058         * m4/jm-winsz2.m4: Likewise.
82059         * m4/lcmessage.m4: Likewise.
82060         * m4/ls-mntd-fs.m4: Likewise.
82061         * m4/malloc.m4: Likewise.
82062         * m4/memcmp.m4: Likewise.
82063         * m4/putenv.m4: Likewise.
82064         * m4/realloc.m4: Likewise.
82065         * m4/st_mtim.m4: Likewise.
82066         * m4/strftime.m4: Likewise.
82067
82068 1999-01-16  Jim Meyering  <meyering@ascend.com>
82069
82070         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
82071         (ARGMATCH_DIE_DECL): Define.
82072
82073 1999-01-12  Jim Meyering  <meyering@ascend.com>
82074
82075         * m4/Makefile.am.in: Rewrite to avoid using fmt.
82076         Reported by Lars Hecking.
82077
82078 1999-01-10  Jim Meyering  <meyering@ascend.com>
82079
82080         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
82081         gross kludge.
82082         * m4/inttypes_h.m4: Likewise.
82083         * m4/lstat.m4: Likewise.
82084         * m4/malloc.m4: Likewise.
82085         * m4/readdir.m4: Likewise.
82086         * m4/realloc.m4: Likewise.
82087         * m4/st_dm_mode.m4: Likewise.
82088         * m4/stat.m4: Likewise.
82089         * m4/utimbuf.m4: Likewise.
82090         * m4/utimes.m4: Likewise.
82091
82092         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
82093         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
82094         comments in config.h.in are meaningful.
82095
82096         * m4/jm-macros.m4: Require autoconf-2.13 here.
82097
82098         * m4/regex.m4: By default, don't use the included regex.c on systems
82099         with glibc 2.  Suggestion from Uli Drepper.
82100
82101 1999-01-02  Jim Meyering  <meyering@ascend.com>
82102
82103         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
82104
82105 1998-12-18  Jim Meyering  <meyering@ascend.com>
82106
82107         * m4/Makefile.am.in (Makefile.am): Simplify rule.
82108         Based on a suggestion from Lars Hecking.
82109
82110 1998-11-16  Paul Eggert  <eggert@twinsun.com>
82111
82112         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
82113
82114 1998-11-16  Jim Meyering  <meyering@ascend.com>
82115
82116         * m4/lfs.m4: Double-quote the `uname...` expression.
82117
82118 1998-11-14  Jim Meyering  <meyering@ascend.com>
82119
82120         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
82121         * m4/stat.m4: Likewise.
82122
82123 1998-11-03  Jim Meyering  <meyering@ascend.com>
82124
82125         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
82126         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
82127
82128 1998-10-18  Jim Meyering  <meyering@ascend.com>
82129
82130         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
82131
82132 1998-10-17  Jim Meyering  <meyering@ascend.com>
82133
82134         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
82135         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
82136         calls for those previously hard-coded headers.  Instead, take a new
82137         parameter.
82138         (jm_CHECK_DECLARATIONS): Reflect interface change.
82139         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
82140         (jm_CHECK_DECL_LOCALTIME_R): New macro.
82141
82142         * m4/mktime.m4: Test for spring-forward gap before long-running test.
82143
82144 1998-10-14  Jim Meyering  <meyering@ascend.com>
82145
82146         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
82147         instead of "TZ=America/Vancouver".  From Paul Eggert.
82148
82149 1998-10-11  Jim Meyering  <meyering@ascend.com>
82150
82151         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
82152         This adds a test for a recently added compatibility fix for mktime.c.
82153         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
82154
82155 1998-09-27  Jim Meyering  <meyering@ascend.com>
82156
82157         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
82158
82159         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
82160         ../configure.in, including a change from Gordon Matzigkeit to allow
82161         cross-compiling for the Hurd.
82162
82163         * m4/glibc.m4: New file/macro to test for the GNU C Library
82164         versions 1 and 2.  From Gordon Matzigkeit.
82165         Indent.
82166
82167 1998-09-21  Jim Meyering  <meyering@ascend.com>
82168
82169         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
82170
82171 1998-08-18  Paul Eggert  <eggert@twinsun.com>
82172
82173         Port nanosecond-resolution times to UnixWare 2.1.2 and
82174         pedantic Solaris 2.6.
82175
82176         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
82177         AC_STRUCT_ST_MTIM.
82178         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
82179         Generate name of ns member, instead of just 1 or undef.
82180         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
82181
82182 1998-08-15  Jim Meyering  <meyering@ascend.com>
82183
82184         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
82185         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
82186         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
82187         instead of jm_TYPE_SSIZE_T.
82188
82189 1998-08-12  Jim Meyering  <meyering@ascend.com>
82190
82191         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
82192
82193 1998-08-02  Jim Meyering  <meyering@ascend.com>
82194
82195         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
82196         in acconfig.h manually.
82197
82198 1998-07-31  Paul Eggert  <eggert@twinsun.com>
82199
82200         * m4/st_mtim.m4: New file.
82201
82202 1998-07-28  Jim Meyering  <meyering@ascend.com>
82203
82204         * m4/utimes.m4: Undef stat.
82205
82206 1998-07-25  Jim Meyering  <meyering@ascend.com>
82207
82208         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
82209         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
82210
82211 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
82212
82213         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
82214         uid and gid actually remain unchanged.
82215
82216 1998-07-07  Jim Meyering  <meyering@ascend.com>
82217
82218         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
82219
82220 1998-07-04  Jim Meyering  <meyering@ascend.com>
82221
82222         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
82223         to prove that this macro can be used in packages without regex.c.
82224
82225 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
82226
82227         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
82228         is to be used.
82229
82230 1998-07-03  Jim Meyering  <meyering@ascend.com>
82231
82232         * m4/gettext.m4: Add -lintl if it's found to be necessary.
82233
82234         * m4/gettext.m4: New file -- from gettext-0.10.35.
82235         * m4/lcmessage.m4: Likewise.
82236         * m4/progtest.m4: Likewise.
82237
82238         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
82239         * m4/jm-macros.m4: Require the new macro.
82240
82241 1998-06-29  Jim Meyering  <meyering@ascend.com>
82242
82243         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
82244         for the definition of NGROUPS (used in a system header included
82245         by sys/mount.h).
82246
82247 1998-06-28  Jim Meyering  <meyering@ascend.com>
82248
82249         * m4/ls-mntd-fs.m4: New file.
82250         * m4/fstypename.m4: New file.
82251
82252         * m4/jm-macros.m4: Require the new macro.
82253         * m4/jm-glibc-io.m4: New file.
82254
82255 1998-05-19  Jim Meyering  <meyering@ascend.com>
82256
82257         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
82258         * m4/lchown.m4: New file.
82259
82260         * m4/Makefile.am.in: New file.
82261         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
82262
82263 1998-05-14  Jim Meyering  <meyering@ascend.com>
82264
82265         * m4/Makefile.am (EXTRA_DIST): Add them.
82266         * m4/jm-macros.m4: New file.
82267         * m4/utimbuf.m4: New file.
82268
82269 1998-05-12  Jim Meyering  <meyering@ascend.com>
82270
82271         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
82272
82273 1998-05-11  Jim Meyering  <meyering@ascend.com>
82274
82275         * m4/isc-posix.m4: New file.
82276
82277 1998-05-10  Jim Meyering  <meyering@ascend.com>
82278
82279         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
82280
82281 1998-05-09  Jim Meyering  <meyering@ascend.com>
82282
82283         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
82284         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
82285         with automake.
82286
82287         * m4/ssize_t.m4: New file.
82288         * m4/mktime.m4: Remove file -- the new automake has this now.
82289
82290 1998-04-26  Jim Meyering  <meyering@ascend.com>
82291
82292         * m4/assert.m4: New file.
82293         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
82294
82295 1998-04-05  Jim Meyering  <meyering@ascend.com>
82296
82297         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
82298         (jm_PREREQ): Use it here.
82299
82300 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
82301
82302         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
82303         in acconfig.h.
82304
82305 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
82306
82307         * m4/prereq.m4: New file.
82308         * m4/error.m4: New file.
82309         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
82310
82311 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
82312
82313         * m4/getline.m4: Don't set am_cv_func_working_getline before the
82314         cache-check for the same variable -- that defeated the purpose of
82315         the test; the test program was never run.  This was a problem only
82316         on systems with losing getline functions -- HP-UX 10.20 is one.
82317         Reported by Bjorn Helgaas.
82318
82319 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
82320
82321         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
82322
82323 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
82324
82325         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
82326
82327         * m4/const.m4: New file.  Use an initializer in this declaration
82328         typedef int charset[2]; const charset x;
82329         Reported by Bob Glickstein.
82330
82331 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
82332
82333         * m4/chown.m4: Fix reversed types on -1 args to chown.
82334         From Kaveh Ghazi.
82335
82336 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
82337
82338         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
82339         Add lseek and memchr.
82340
82341         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
82342         T.E.Dickey <dickey@clark.net> said that some older preprocessors
82343         have a 20-character limit on names.
82344
82345 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
82346
82347         * m4/inttypes_h.m4: New file.
82348         * m4/uintmax_t.m4: New file.
82349         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
82350
82351
82352         -----
82353
82354         Local Variables:
82355         coding: utf-8
82356         End:
82357
82358         Copyright (C) 1997-2011 Free Software Foundation, Inc.
82359
82360         Copying and distribution of this file, with or without
82361         modification, are permitted provided the copyright notice
82362         and this notice are preserved.