random_r: Move AC_LIBOBJ invocations to module description.
[pspp] / ChangeLog
1 2011-05-21  Bruno Haible  <bruno@clisp.org>
2
3         random_r: Move AC_LIBOBJ invocations to module description.
4         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
5         gl_PREREQ_RANDOM_R invocations from here...
6         * modules/random_r (configure.ac): ... to here.
7
8 2011-05-21  Bruno Haible  <bruno@clisp.org>
9
10         pwrite: Move AC_LIBOBJ invocations to module description.
11         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12         * modules/pwrite (configure.ac): ... to here.
13
14 2011-05-21  Bruno Haible  <bruno@clisp.org>
15
16         putenv: Move AC_LIBOBJ invocations to module description.
17         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18         * modules/putenv (configure.ac): ... to here.
19
20 2011-05-21  Bruno Haible  <bruno@clisp.org>
21
22         login_tty: Move AC_LIBOBJ invocations to module description.
23         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
24         * modules/login_tty (configure.ac): ... to here.
25
26 2011-05-21  Bruno Haible  <bruno@clisp.org>
27
28         openpty: Move AC_LIBOBJ invocations to module description.
29         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
30         * modules/openpty (configure.ac): ... to here.
31
32 2011-05-21  Bruno Haible  <bruno@clisp.org>
33
34         forkpty: Move AC_LIBOBJ invocations to module description.
35         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
36         * modules/forkpty (configure.ac): ... to here.
37
38 2011-05-21  Bruno Haible  <bruno@clisp.org>
39
40         ptsname: Move AC_LIBOBJ invocations to module description.
41         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
42         invocations from here...
43         * modules/ptsname (configure.ac): ... to here.
44
45 2011-05-21  Bruno Haible  <bruno@clisp.org>
46
47         pread: Move AC_LIBOBJ invocations to module description.
48         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
49         * modules/pread (configure.ac): ... to here.
50
51 2011-05-21  Bruno Haible  <bruno@clisp.org>
52
53         posix_spawn*: Move AC_LIBOBJ invocations to module description.
54         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
55         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
56         * modules/posix_spawn (configure.ac): ... to here.
57         * modules/posix_spawnp (configure.ac): ... and here.
58
59 2011-05-21  Bruno Haible  <bruno@clisp.org>
60
61         popen: Move AC_LIBOBJ invocations to module description.
62         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
63         invocations from here...
64         * modules/popen (configure.ac): ... to here.
65
66 2011-05-21  Bruno Haible  <bruno@clisp.org>
67
68         poll: Move AC_LIBOBJ invocations to module description.
69         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
70         invocations from here...
71         * modules/poll (configure.ac): ... to here.
72
73 2011-05-21  Bruno Haible  <bruno@clisp.org>
74
75         pipe-posix: Move AC_LIBOBJ invocations to module description.
76         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
77         * modules/pipe-posix (configure.ac): ... to here.
78
79 2011-05-21  Bruno Haible  <bruno@clisp.org>
80
81         openat: Respect rules for use of AC_LIBOBJ.
82         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
83         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
84         * modules/openat (configure.ac): ... to here.
85
86 2011-05-21  Bruno Haible  <bruno@clisp.org>
87
88         obstack-printf*: Move AC_LIBOBJ invocations to module description.
89         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
90         invocation from here...
91         * modules/obstack-printf (configure.ac): ... to here.
92         * modules/obstack-printf-posix (configure.ac): ... and here.
93
94 2011-05-21  Bruno Haible  <bruno@clisp.org>
95
96         nl_langinfo: Move AC_LIBOBJ invocations to module description.
97         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
98         from here...
99         * modules/nl_langinfo (configure.ac): ... to here.
100
101 2011-05-21  Bruno Haible  <bruno@clisp.org>
102
103         nanosleep: Move AC_LIBOBJ invocations to module description.
104         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
105         gl_PREREQ_NANOSLEEP invocations from here...
106         * modules/nanosleep (configure.ac): ... to here.
107
108 2011-05-21  Bruno Haible  <bruno@clisp.org>
109
110         mountlist: Move AC_LIBOBJ invocations to module description.
111         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
112         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
113         * modules/mountlist (configure.ac): ... to here.
114
115 2011-05-21  Bruno Haible  <bruno@clisp.org>
116
117         mktime: Respect rules for use of AC_LIBOBJ.
118         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
119         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
120         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
121         (gl_FUNC_MKTIME_INTERNAL): ... and here...
122         * modules/mktime (configure.ac): ... to here.
123         * modules/mktime-internal (configure.ac): ... and here.
124         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
125
126 2011-05-21  Bruno Haible  <bruno@clisp.org>
127
128         mkstemps: Move AC_LIBOBJ invocations to module description.
129         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
130         here...
131         * modules/mkstemps (configure.ac): ... to here.
132
133 2011-05-21  Bruno Haible  <bruno@clisp.org>
134
135         mkstemp: Move AC_LIBOBJ invocations to module description.
136         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
137         gl_PREREQ_MKSTEMP invocations from here...
138         * modules/mkstemp (configure.ac): ... to here.
139
140 2011-05-21  Bruno Haible  <bruno@clisp.org>
141
142         mkostemps: Move AC_LIBOBJ invocations to module description.
143         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
144         here...
145         * modules/mkostemps (configure.ac): ... to here.
146
147 2011-05-21  Bruno Haible  <bruno@clisp.org>
148
149         mkostemp: Move AC_LIBOBJ invocations to module description.
150         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
151         gl_PREREQ_MKOSTEMP invocations from here...
152         * modules/mkostemp (configure.ac): ... to here.
153
154 2011-05-21  Bruno Haible  <bruno@clisp.org>
155
156         mknod: Move AC_LIBOBJ invocations to module description.
157         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
158         * modules/mknod (configure.ac): ... to here.
159
160 2011-05-21  Bruno Haible  <bruno@clisp.org>
161
162         mkfifoat: Move AC_LIBOBJ invocations to module description.
163         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
164         here...
165         * modules/mkfifoat (configure.ac): ... to here.
166
167 2011-05-21  Bruno Haible  <bruno@clisp.org>
168
169         mkfifo: Respect rules for use of AC_LIBOBJ.
170         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
171         here...
172         * modules/mkfifo (configure.ac): ... to here.
173
174 2011-05-21  Bruno Haible  <bruno@clisp.org>
175
176         mkdtemp: Move AC_LIBOBJ invocations to module description.
177         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
178         invocations from here...
179         * modules/mkdtemp (configure.ac): ... to here.
180
181 2011-05-21  Bruno Haible  <bruno@clisp.org>
182
183         mkdir: Move AC_LIBOBJ invocations to module description.
184         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
185         * modules/mkdir (configure.ac): ... to here.
186
187 2011-05-21  Bruno Haible  <bruno@clisp.org>
188
189         memset: Move AC_LIBOBJ invocations to module description.
190         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
191         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
192         here...
193         * modules/memset (configure.ac): ... to here.
194
195 2011-05-21  Bruno Haible  <bruno@clisp.org>
196
197         memrchr: Move AC_LIBOBJ invocations to module description.
198         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
199         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
200         here...
201         * modules/memrchr (configure.ac): ... to here.
202
203 2011-05-21  Bruno Haible  <bruno@clisp.org>
204
205         mempcpy: Move AC_LIBOBJ invocations to module description.
206         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
207         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
208         here...
209         * modules/mempcpy (configure.ac): ... to here.
210
211 2011-05-21  Bruno Haible  <bruno@clisp.org>
212
213         memmove: Move AC_LIBOBJ invocations to module description.
214         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
215         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
216         here...
217         * modules/memmove (configure.ac): ... to here.
218
219 2011-05-21  Bruno Haible  <bruno@clisp.org>
220
221         memmem*: Move AC_LIBOBJ invocations to module description.
222         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
223         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
224         here...
225         (gl_FUNC_MEMMEM): ... and here...
226         * modules/memmem-simple (configure.ac): ... to here.
227         * modules/memmem (configure.ac): ... and here.
228
229 2011-05-21  Bruno Haible  <bruno@clisp.org>
230
231         memcpy: Move AC_LIBOBJ invocations to module description.
232         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
233         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
234         here...
235         * modules/memcpy (configure.ac): ... to here.
236
237 2011-05-21  Bruno Haible  <bruno@clisp.org>
238
239         memcmp: Simplify autoconf macro.
240         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
241         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
242         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
243
244 2011-05-21  Bruno Haible  <bruno@clisp.org>
245
246         memcmp: Move AC_LIBOBJ invocations to module description.
247         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
248         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
249         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
250         * modules/memcmp (configure.ac): ... to here.
251         (Depends-on): Update conditions.
252
253 2011-05-21  Bruno Haible  <bruno@clisp.org>
254
255         memchr: Respect rules for use of AC_LIBOBJ.
256         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
257         invocations from here...
258         * modules/memchr (configure.ac): ... to here.
259
260 2011-05-21  Bruno Haible  <bruno@clisp.org>
261
262         mbtowc: Move AC_LIBOBJ invocations to module description.
263         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
264         invocations from here...
265         * modules/mbtowc (configure.ac): ... to here.
266
267 2011-05-21  Bruno Haible  <bruno@clisp.org>
268
269         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
270         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
271         gl_PREREQ_MBSRTOWCS invocations from here...
272         * modules/mbsrtowcs (configure.ac): ... to here.
273
274 2011-05-21  Bruno Haible  <bruno@clisp.org>
275
276         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
277         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
278         gl_PREREQ_MBSNRTOWCS invocations from here...
279         * modules/mbsnrtowcs (configure.ac): ... to here.
280
281 2011-05-21  Bruno Haible  <bruno@clisp.org>
282
283         mbsinit: Move AC_LIBOBJ invocations to module description.
284         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
285         invocations from here...
286         * modules/mbsinit (configure.ac): ... to here.
287
288 2011-05-21  Bruno Haible  <bruno@clisp.org>
289
290         mbrlen: Move AC_LIBOBJ invocations to module description.
291         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
292         invocations from here...
293         * modules/mbrlen (configure.ac): ... to here.
294
295 2011-05-21  Bruno Haible  <bruno@clisp.org>
296
297         mbrtowc: Respect rules for use of AC_LIBOBJ.
298         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
299         invocations from here...
300         * modules/mbrtowc (configure.ac): ... to here.
301
302 2011-05-21  Bruno Haible  <bruno@clisp.org>
303
304         malloc-*: Move AC_LIBOBJ invocations to module description.
305         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
306         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
307         AC_LIBOBJ invocations from here...
308         * modules/malloc-gnu (configure.ac): ... to here.
309         * modules/malloc-posix (configure.ac): ... and here.
310
311 2011-05-21  Bruno Haible  <bruno@clisp.org>
312
313         lstat, openat: Respect rules for use of AC_LIBOBJ.
314         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
315         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
316         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
317         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
318         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
319         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
320         here.
321         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
322
323 2011-05-21  Bruno Haible  <bruno@clisp.org>
324
325         lseek: Move AC_LIBOBJ invocations to module description.
326         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
327         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
328         * modules/lseek (configure.ac): ... to here.
329
330 2011-05-21  Bruno Haible  <bruno@clisp.org>
331
332         linkat: Move AC_LIBOBJ invocations to module description.
333         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
334         here...
335         * modules/linkat (configure.ac): ... to here.
336
337 2011-05-21  Bruno Haible  <bruno@clisp.org>
338
339         link: Respect rules for use of AC_LIBOBJ.
340         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
341         * modules/link (configure.ac): ... to here.
342
343 2011-05-21  Bruno Haible  <bruno@clisp.org>
344
345         lchown: Move AC_LIBOBJ invocations to module description.
346         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
347         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
348         * modules/lchown (configure.ac): ... to here.
349
350 2011-05-21  Bruno Haible  <bruno@clisp.org>
351
352         iswctype: Move AC_LIBOBJ invocations to module description.
353         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
354         here...
355         * modules/iswctype (configure.ac): ... to here.
356
357 2011-05-21  Bruno Haible  <bruno@clisp.org>
358
359         iswblank: Move AC_LIBOBJ invocations to module description.
360         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
361         here...
362         * modules/iswblank (configure.ac): ... to here.
363
364 2011-05-21  Bruno Haible  <bruno@clisp.org>
365
366         atanl: Move AC_LIBOBJ invocations to module description.
367         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
368         * modules/atanl (configure.ac): ... to here.
369
370 2011-05-21  Bruno Haible  <bruno@clisp.org>
371
372         acosl: Move AC_LIBOBJ invocations to module description.
373         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
374         * modules/acosl (configure.ac): ... to here.
375
376 2011-05-21  Bruno Haible  <bruno@clisp.org>
377
378         asinl: Respect rules for use of AC_LIBOBJ.
379         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
380         * modules/asinl (configure.ac): ... to here.
381
382 2011-05-21  Bruno Haible  <bruno@clisp.org>
383
384         tanl: Move AC_LIBOBJ invocations to module description.
385         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
386         * modules/tanl (configure.ac): ... to here.
387
388 2011-05-21  Bruno Haible  <bruno@clisp.org>
389
390         cosl: Move AC_LIBOBJ invocations to module description.
391         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
392         * modules/cosl (configure.ac): ... to here.
393
394 2011-05-21  Bruno Haible  <bruno@clisp.org>
395
396         sinl: Move AC_LIBOBJ invocations to module description.
397         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
398         * modules/sinl (configure.ac): ... to here.
399
400 2011-05-21  Bruno Haible  <bruno@clisp.org>
401
402         logl: Move AC_LIBOBJ invocations to module description.
403         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
404         * modules/logl (configure.ac): ... to here.
405
406 2011-05-21  Bruno Haible  <bruno@clisp.org>
407
408         expl: Move AC_LIBOBJ invocations to module description.
409         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
410         * modules/expl (configure.ac): ... to here.
411
412 2011-05-21  Bruno Haible  <bruno@clisp.org>
413
414         roundl: Move AC_LIBOBJ invocations to module description.
415         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
416         * modules/roundl (configure.ac): ... to here.
417
418 2011-05-21  Bruno Haible  <bruno@clisp.org>
419
420         round: Move AC_LIBOBJ invocations to module description.
421         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
422         * modules/round (configure.ac): ... to here.
423
424 2011-05-21  Bruno Haible  <bruno@clisp.org>
425
426         roundf: Move AC_LIBOBJ invocations to module description.
427         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
428         * modules/roundf (configure.ac): ... to here.
429
430 2011-05-21  Bruno Haible  <bruno@clisp.org>
431
432         truncl: Move AC_LIBOBJ invocations to module description.
433         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
434         * modules/truncl (configure.ac): ... to here.
435
436 2011-05-21  Bruno Haible  <bruno@clisp.org>
437
438         trunc: Move AC_LIBOBJ invocations to module description.
439         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
440         * modules/trunc (configure.ac): ... to here.
441
442 2011-05-21  Bruno Haible  <bruno@clisp.org>
443
444         truncf: Move AC_LIBOBJ invocations to module description.
445         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
446         * modules/truncf (configure.ac): ... to here.
447
448 2011-05-21  Bruno Haible  <bruno@clisp.org>
449
450         ceill: Move AC_LIBOBJ invocations to module description.
451         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
452         * modules/ceill (configure.ac): ... to here.
453
454 2011-05-21  Bruno Haible  <bruno@clisp.org>
455
456         ceil: Move AC_LIBOBJ invocations to module description.
457         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
458         * modules/ceil (configure.ac): ... to here.
459
460 2011-05-21  Bruno Haible  <bruno@clisp.org>
461
462         ceilf: Move AC_LIBOBJ invocations to module description.
463         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
464         * modules/ceilf (configure.ac): ... to here.
465
466 2011-05-21  Bruno Haible  <bruno@clisp.org>
467
468         floorl: Respect rules for use of AC_LIBOBJ.
469         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
470         * modules/floorl (configure.ac): ... to here.
471
472 2011-05-21  Bruno Haible  <bruno@clisp.org>
473
474         floor: Respect rules for use of AC_LIBOBJ.
475         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
476         * modules/floor (configure.ac): ... to here.
477
478 2011-05-21  Bruno Haible  <bruno@clisp.org>
479
480         floorf: Move AC_LIBOBJ invocations to module description.
481         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
482         * modules/floorf (configure.ac): ... to here.
483
484 2011-05-20  Bruno Haible  <bruno@clisp.org>
485
486         sqrtl: Respect rules for use of AC_LIBOBJ.
487         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
488         * modules/sqrtl (configure.ac): ... to here.
489
490 2011-05-20  Bruno Haible  <bruno@clisp.org>
491
492         ldexpl: Respect rules for use of AC_LIBOBJ.
493         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
494         * modules/ldexpl (configure.ac): ... to here.
495
496 2011-05-20  Bruno Haible  <bruno@clisp.org>
497
498         frexpl*: Respect rules for use of AC_LIBOBJ.
499         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
500         invocation from here...
501         * modules/frexpl (configure.ac): ... to here.
502         * modules/frexpl-nolibm (configure.ac): ... and here.
503
504 2011-05-20  Bruno Haible  <bruno@clisp.org>
505
506         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
507         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
508         invocation from here...
509         * modules/frexp (configure.ac): ... to here.
510         * modules/frexp-nolibm (configure.ac): ... and here.
511
512 2011-05-20  Bruno Haible  <bruno@clisp.org>
513
514         isnan: Respect rules for use of AC_LIBOBJ.
515         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
516         invocations here.
517         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
518         REPLACE_ISNAN.
519         * modules/isnand (configure.ac): Likewise.
520         * modules/isnanl (configure.ac): Likewise.
521
522 2011-05-20  Bruno Haible  <bruno@clisp.org>
523
524         isnanl*: Respect rules for use of AC_LIBOBJ.
525         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
526         invocation from here...
527         * modules/isnanl (configure.ac): ... to here.
528         * modules/isnanl-nolibm (configure.ac): ... and here.
529
530 2011-05-20  Bruno Haible  <bruno@clisp.org>
531
532         isnand*: Move AC_LIBOBJ invocations to module description.
533         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
534         invocation from here...
535         * modules/isnand (configure.ac): ... to here.
536         * modules/isnand-nolibm (configure.ac): ... and here.
537
538 2011-05-20  Bruno Haible  <bruno@clisp.org>
539
540         isnanf*: Move AC_LIBOBJ invocations to module description.
541         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
542         invocation from here...
543         * modules/isnanf (configure.ac): ... to here.
544         * modules/isnanf-nolibm (configure.ac): ... and here.
545
546 2011-05-20  Bruno Haible  <bruno@clisp.org>
547
548         isnan*: Separate the AC_LIBOBJ invocations.
549         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
550         AC_LIBOBJ invocation.
551         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
552         here.
553         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
554         AC_LIBOBJ invocation.
555         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
556         here.
557         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
558         AC_LIBOBJ invocation.
559         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
560         here.
561         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
562
563 2011-05-08  Bruno Haible  <bruno@clisp.org>
564
565         isinf: Move AC_LIBOBJ invocations to module description.
566         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
567         * modules/isinf (configure.ac): ... to here.
568
569 2011-05-08  Bruno Haible  <bruno@clisp.org>
570
571         isfinite: Move AC_LIBOBJ invocations to module description.
572         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
573         * modules/isfinite (configure.ac): ... to here.
574
575 2011-05-08  Bruno Haible  <bruno@clisp.org>
576
577         isblank: Move AC_LIBOBJ invocations to module description.
578         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
579         here...
580         * modules/isblank (configure.ac): ... to here.
581
582 2011-05-08  Bruno Haible  <bruno@clisp.org>
583
584         isapipe: Move AC_LIBOBJ invocations to module description.
585         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
586         gl_PREREQ_ISAPIPE invocations from here...
587         * modules/isapipe (configure.ac): ... to here.
588         (Depends-on): Update condition.
589
590 2011-05-08  Bruno Haible  <bruno@clisp.org>
591
592         ioctl: Move AC_LIBOBJ invocations to module description.
593         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
594         invocations from here...
595         * modules/ioctl (configure.ac): ... to here.
596         (Depends-on): Update condition.
597
598 2011-05-08  Bruno Haible  <bruno@clisp.org>
599
600         imaxdiv: Move AC_LIBOBJ invocations to module description.
601         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
602         invocations from here...
603         * modules/imaxdiv (configure.ac): ... to here.
604
605 2011-05-08  Bruno Haible  <bruno@clisp.org>
606
607         imaxabs: Move AC_LIBOBJ invocations to module description.
608         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
609         invocations from here...
610         * modules/imaxabs (configure.ac): ... to here.
611
612 2011-05-08  Bruno Haible  <bruno@clisp.org>
613
614         getaddrinfo: Move AC_LIBOBJ invocations to module description.
615         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
616         AC_LIBOBJ invocations from here...
617         * modules/getaddrinfo (configure.ac): ... to here.
618         (Depends-on): Add conditions.
619
620 2011-05-08  Bruno Haible  <bruno@clisp.org>
621
622         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
623         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
624         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
625         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
626         (gl_PREREQ_INET_PTON): ... from here.
627         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
628         gl_PREREQ_INET_PTON here.
629         (Depends-on): Update condition.
630
631 2011-05-08  Bruno Haible  <bruno@clisp.org>
632
633         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
634         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
635         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
636         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
637         (gl_PREREQ_INET_NTOP): ... from here.
638         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
639         gl_PREREQ_INET_NTOP here.
640         (Depends-on): Update condition.
641
642 2011-05-08  Bruno Haible  <bruno@clisp.org>
643
644         iconv_open: Move AC_LIBOBJ invocations to module description.
645         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
646         AC_LIBOBJ invocations from here...
647         * modules/iconv_open (configure.ac): ... to here.
648
649 2011-05-08  Bruno Haible  <bruno@clisp.org>
650
651         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
652         If module 'iconv_open' is among the main modules and module
653         'iconv_open-utf' is among the tests dependencies, then
654         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
655         return the special iconv_t values. Therefore iconv() and iconv_close()
656         must support these special iconv_t values, already in lib, not only in
657         tests.
658         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
659         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
660         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
661         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
662         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
663         (Depends-on): Add the dependencies of iconv_open-utf.
664         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
665         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
666         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
667
668 2011-05-08  Bruno Haible  <bruno@clisp.org>
669
670         group-member: Move AC_LIBOBJ invocations to module description.
671         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
672         gl_PREREQ_GROUP_MEMBER invocations from here...
673         * modules/group-member (configure.ac): ... to here.
674
675 2011-05-08  Bruno Haible  <bruno@clisp.org>
676
677         grantpt: Move AC_LIBOBJ invocations to module description.
678         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
679         invocations from here...
680         * modules/grantpt (configure.ac): ... to here.
681
682 2011-05-08  Bruno Haible  <bruno@clisp.org>
683
684         glob: Move AC_LIBOBJ invocations to module description.
685         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
686         from here...
687         * modules/glob (configure.ac): ... to here.
688
689 2011-05-08  Bruno Haible  <bruno@clisp.org>
690
691         getusershell: Move AC_LIBOBJ invocations to module description.
692         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
693         Move AC_LIBOBJ invocation from here...
694         * modules/getusershell (configure.ac): ... to here.
695         (Depends-on): Update condition.
696
697 2011-05-08  Bruno Haible  <bruno@clisp.org>
698
699         gettimeofday: Move AC_LIBOBJ invocations to module description.
700         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
701         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
702         gl_PREREQ_GETTIMEOFDAY invocations from here...
703         * modules/gettimeofday (configure.ac): ... to here.
704
705 2011-05-08  Bruno Haible  <bruno@clisp.org>
706
707         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
708         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
709         just gl_FUNC_TZSET.
710         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
711         (gl_FUNC_TZSET_CLOBBER): Remove actions.
712         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
713         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
714
715 2011-05-08  Bruno Haible  <bruno@clisp.org>
716
717         getsubopt: Move AC_LIBOBJ invocations to module description.
718         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
719         gl_PREREQ_GETSUBOPT invocations from here...
720         * modules/getsubopt (configure.ac): ... to here.
721
722 2011-05-08  Bruno Haible  <bruno@clisp.org>
723
724         getpass-gnu: Move AC_LIBOBJ invocations to module description.
725         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
726         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
727         * modules/getpass-gnu (configure.ac): ... to here.
728
729 2011-05-08  Bruno Haible  <bruno@clisp.org>
730
731         getpass: Move AC_LIBOBJ invocations to module description.
732         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
733         gl_PREREQ_GETPASS invocations from here...
734         * modules/getpass (configure.ac): ... to here.
735
736 2011-05-08  Bruno Haible  <bruno@clisp.org>
737
738         getpagesize: Move AC_LIBOBJ invocations to module description.
739         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
740         from here...
741         * modules/getpagesize (configure.ac): ... to here.
742
743 2011-05-08  Bruno Haible  <bruno@clisp.org>
744
745         getopt: Move AC_LIBOBJ invocations to module description.
746         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
747         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
748         invocations from here...
749         * modules/getopt-gnu (configure.ac): ... to here.
750         * modules/getopt-posix (configure.ac): ... and here.
751         (Depends-on): Update condition.
752
753 2011-05-08  Bruno Haible  <bruno@clisp.org>
754
755         getopt, argp: Respect rules for use of AC_LIBOBJ.
756         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
757         (gl_REPLACE_GETOPT_ALWAYS): New macro.
758         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
759         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
760
761 2011-05-08  Bruno Haible  <bruno@clisp.org>
762
763         getlogin_r: Move AC_LIBOBJ invocations to module description.
764         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
765         gl_PREREQ_GETLOGIN_R invocations from here...
766         * modules/getlogin_r (configure.ac): ... to here.
767
768 2011-05-08  Bruno Haible  <bruno@clisp.org>
769
770         getlogin: Move AC_LIBOBJ invocations to module description.
771         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
772         here...
773         * modules/getlogin (configure.ac): ... to here.
774
775 2011-05-08  Bruno Haible  <bruno@clisp.org>
776
777         getloadavg: Move AC_LIBOBJ invocations to module description.
778         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
779         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
780         * modules/getloadavg (configure.ac): ... to here.
781
782 2011-05-08  Bruno Haible  <bruno@clisp.org>
783
784         gethrxtime: Move AC_LIBOBJ invocations to module description.
785         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
786         LIB_GETHRXTIME from here...
787         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
788         invocations from here...
789         * modules/gethrxtime (configure.ac): ... to here.
790
791 2011-05-08  Bruno Haible  <bruno@clisp.org>
792
793         gethostname: Move AC_LIBOBJ invocations to module description.
794         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
795         gl_PREREQ_GETHOSTNAME invocations from here...
796         * modules/gethostname (configure.ac): ... to here.
797
798 2011-05-08  Bruno Haible  <bruno@clisp.org>
799
800         getgroups: Move AC_LIBOBJ invocations to module description.
801         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
802         here...
803         * modules/getgroups (configure.ac): ... to here.
804
805 2011-05-08  Bruno Haible  <bruno@clisp.org>
806
807         getdtablesize: Move AC_LIBOBJ invocations to module description.
808         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
809         invocation from here...
810         * modules/getdtablesize (configure.ac): ... to here.
811
812 2011-05-08  Bruno Haible  <bruno@clisp.org>
813
814         getdomainname: Move AC_LIBOBJ invocations to module description.
815         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
816         gl_PREREQ_GETDOMAINNAME invocations from here...
817         * modules/getdomainname (configure.ac): ... to here.
818
819 2011-05-08  Bruno Haible  <bruno@clisp.org>
820
821         getline: Move AC_LIBOBJ invocations to module description.
822         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
823         invocations from here...
824         * modules/getline (configure.ac): ... to here.
825
826 2011-05-08  Bruno Haible  <bruno@clisp.org>
827
828         getline: Simplify.
829         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
830         It's already handled through the module dependency.
831
832 2011-05-08  Bruno Haible  <bruno@clisp.org>
833
834         getdelim: Move AC_LIBOBJ invocations to module description.
835         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
836         and gl_PREREQ_GETDELIM invocations from here...
837         * modules/getdelim (configure.ac): ... to here.
838         (Depends-on): Fix condition.
839
840 2011-05-08  Bruno Haible  <bruno@clisp.org>
841
842         getcwd: Move AC_LIBOBJ invocations to module description.
843         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
844         invocations from here...
845         * modules/getcwd (configure.ac): ... to here.
846
847 2011-05-08  Bruno Haible  <bruno@clisp.org>
848
849         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
850         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
851         here...
852         * modules/getcwd-lgpl (configure.ac): ... to here.
853
854 2011-05-07  Bruno Haible  <bruno@clisp.org>
855
856         crypto/gc: Move AC_LIBOBJ invocations to module description.
857         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
858         * modules/crypto/gc (configure.ac): ... to here.
859
860 2011-05-07  Bruno Haible  <bruno@clisp.org>
861
862         fwriting: Move AC_LIBOBJ invocations to module description.
863         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
864         here...
865         * modules/fwriting (configure.ac): ... to here.
866
867 2011-05-07  Bruno Haible  <bruno@clisp.org>
868
869         fwritable: Move AC_LIBOBJ invocations to module description.
870         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
871         here...
872         * modules/fwritable (configure.ac): ... to here.
873
874 2011-05-07  Bruno Haible  <bruno@clisp.org>
875
876         futimens: Move AC_LIBOBJ invocations to module description.
877         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
878         here...
879         * modules/futimens (configure.ac): ... to here.
880
881 2011-05-07  Bruno Haible  <bruno@clisp.org>
882
883         ftruncate: Move AC_LIBOBJ invocations to module description.
884         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
885         gl_PREREQ_FTRUNCATE invocations from here...
886         * modules/ftruncate (configure.ac): ... to here.
887
888 2011-05-07  Bruno Haible  <bruno@clisp.org>
889
890         fsync: Move AC_LIBOBJ invocations to module description.
891         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
892         invocations from here...
893         * modules/fsync (configure.ac): ... to here.
894
895 2011-05-07  Bruno Haible  <bruno@clisp.org>
896
897         fsusage: Move AC_LIBOBJ invocations to module description.
898         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
899         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
900         * modules/fsusage (configure.ac): ... to here.
901
902 2011-05-07  Bruno Haible  <bruno@clisp.org>
903
904         freopen: Move AC_LIBOBJ invocations to module description.
905         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
906         invocations from here...
907         * modules/freopen (configure.ac): ... to here.
908
909 2011-05-07  Bruno Haible  <bruno@clisp.org>
910
911         free: Move AC_LIBOBJ invocations to module description.
912         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
913         invocations from here...
914         * modules/free (configure.ac): ... to here.
915
916 2011-05-07  Bruno Haible  <bruno@clisp.org>
917
918         freadable: Move AC_LIBOBJ invocations to module description.
919         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
920         here...
921         * modules/freadable (configure.ac): ... to here.
922
923 2011-05-07  Bruno Haible  <bruno@clisp.org>
924
925         fpurge: Move AC_LIBOBJ invocations to module description.
926         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
927         invocations from here...
928         * modules/fpurge (configure.ac): ... to here.
929
930 2011-05-07  Bruno Haible  <bruno@clisp.org>
931
932         fpending: Move AC_LIBOBJ invocations to module description.
933         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
934         gl_FUNC_FPENDING.
935         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
936         invocations from here...
937         * modules/fpending (configure.ac): ... to here.
938
939 2011-05-07  Bruno Haible  <bruno@clisp.org>
940
941         fopen: Move AC_LIBOBJ invocations to module description.
942         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
943         invocations from here...
944         * modules/fopen (configure.ac): ... to here.
945
946 2011-05-07  Bruno Haible  <bruno@clisp.org>
947
948         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
949         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
950         gl_FUNC_FNMATCH_POSIX.
951         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
952         invocations from here...
953         * modules/fnmatch (configure.ac): ... to here.
954         * modules/fnmatch-gnu (configure.ac): ... and here.
955
956 2011-05-07  Bruno Haible  <bruno@clisp.org>
957
958         flock: Move AC_LIBOBJ invocations to module description.
959         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
960         invocations from here...
961         * modules/flock (configure.ac): ... to here.
962
963 2011-05-07  Bruno Haible  <bruno@clisp.org>
964
965         fileblocks: Move AC_LIBOBJ invocations to module description.
966         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
967         gl_PREREQ_FILEBLOCKS invocations from here...
968         * modules/fileblocks (configure.ac): ... to here.
969
970 2011-05-06  Bruno Haible  <bruno@clisp.org>
971
972         fflush: Move AC_LIBOBJ invocations to module description.
973         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
974         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
975         invocations from here...
976         * modules/fflush (configure.ac): ... to here.
977
978 2011-05-06  Bruno Haible  <bruno@clisp.org>
979
980         fdopendir: Move AC_LIBOBJ invocations to module description.
981         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
982         here...
983         * modules/fdopendir (configure.ac): ... to here.
984         (Depends-on): Improve conditions.
985
986 2011-05-06  Bruno Haible  <bruno@clisp.org>
987
988         _Exit: Move AC_LIBOBJ invocations to module description.
989         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
990         invocations from here...
991         * modules/_Exit (configure.ac): ... to here.
992
993 2011-05-21  Bruno Haible  <bruno@clisp.org>
994
995         euidaccess: Respect rules for use of AC_LIBOBJ.
996         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
997         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
998         from here...
999         * modules/euidaccess (configure.ac): ... to here.
1000
1001 2011-05-06  Bruno Haible  <bruno@clisp.org>
1002
1003         error: Move AC_LIBOBJ invocations to module description.
1004         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
1005         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
1006         invocations from here...
1007         * modules/error (configure.ac): ... to here.
1008
1009 2011-05-06  Bruno Haible  <bruno@clisp.org>
1010
1011         duplocale: Move AC_LIBOBJ invocations to module description.
1012         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
1013         gl_PREREQ_DUPLOCALE invocations from here...
1014         * modules/duplocale (configure.ac): ... to here.
1015
1016 2011-05-05  Bruno Haible  <bruno@clisp.org>
1017
1018         dirfd: Move AC_LIBOBJ invocations to module description.
1019         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
1020         gl_FUNC_DIRFD.
1021         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
1022         here...
1023         * modules/dirfd (configure.ac): ... to here.
1024         (Depends-on): Fix condition.
1025
1026 2011-05-05  Bruno Haible  <bruno@clisp.org>
1027
1028         chown: Respect rules for use of AC_LIBOBJ.
1029         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
1030         * modules/chown (configure.ac): ... to here.
1031
1032 2011-05-05  Bruno Haible  <bruno@clisp.org>
1033
1034         chdir-long: Move AC_LIBOBJ invocations to module description.
1035         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
1036         gl_PREREQ_CHDIR_LONG invocations from here...
1037         * modules/chdir-long (configure.ac): ... to here.
1038
1039 2011-05-05  Bruno Haible  <bruno@clisp.org>
1040
1041         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
1042         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
1043         from here...
1044         * modules/canonicalize-lgpl (configure.ac): ... to here.
1045
1046 2011-05-05  Bruno Haible  <bruno@clisp.org>
1047
1048         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
1049         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
1050         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
1051         REPLACE_CALLOC.
1052         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
1053         * modules/calloc-gnu (configure.ac): Likewise.
1054
1055 2011-05-05  Bruno Haible  <bruno@clisp.org>
1056
1057         btowc: Move AC_LIBOBJ invocations to module description.
1058         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
1059         invocations from here...
1060         * modules/btowc (configure.ac): ... to here.
1061
1062 2011-05-21  Bruno Haible  <bruno@clisp.org>
1063
1064         atexit: Move AC_LIBOBJ invocations to module description.
1065         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
1066         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
1067         here...
1068         * modules/atexit (configure.ac): ... to here.
1069
1070 2011-05-05  Bruno Haible  <bruno@clisp.org>
1071
1072         atoll: Move AC_LIBOBJ invocations to module description.
1073         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
1074         invocations from here...
1075         * modules/atoll (configure.ac): ... to here.
1076
1077 2011-05-05  Bruno Haible  <bruno@clisp.org>
1078
1079         argz: Move AC_LIBOBJ invocations to module description.
1080         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
1081         * modules/argz (configure.ac): ... to here.
1082
1083 2011-05-05  Bruno Haible  <bruno@clisp.org>
1084
1085         alphasort: Move AC_LIBOBJ invocations to module description.
1086         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
1087         gl_PREREQ_ALPHASORT invocations from here...
1088         * modules/alphasort (configure.ac): ... to here.
1089
1090 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1091
1092         verify: new macro verify_expr; verify_true deprecated
1093         * NEWS: Mention this.
1094         * doc/verify.texi (Compile-time Assertions): Document this.
1095         * lib/verify.h (verify_true): Deprecate.
1096         (verify_expr): New macro.
1097         * tests/test-verify.c (function): Test verify_expr.
1098
1099 2011-06-14  Jim Meyering  <meyering@redhat.com>
1100
1101         init.sh: give more portable redirection-related advice in a comment
1102         * tests/init.sh (stderr_fileno_): Update the advice in comments.
1103         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
1104         for lots of discussion.  Stefano Lattarini suggested the solution
1105         of putting "9>&2" after the command.  Reported by Bruno Haible.
1106
1107 2011-06-13  Bruno Haible  <bruno@clisp.org>
1108
1109         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
1110         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
1111         'none'.
1112
1113 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
1114
1115         ftoastr: use strtof only if HAVE_STRTOF
1116         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
1117         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
1118         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
1119         * modules/ftoastr (configure.ac): Check for strtof.
1120
1121 2011-06-13  Bruno Haible  <bruno@clisp.org>
1122
1123         gnulib-tool: Addendum to 2011-06-08 commit.
1124         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
1125         and --witness-c-macro have been given, augment AM_CPPFLAGS.
1126
1127 2011-06-13  Bruno Haible  <bruno@clisp.org>
1128
1129         fseeko: Provide a non-inline replacement of fseek().
1130         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
1131         * modules/fseeko (Depends-on): Add fseek.
1132         * modules/fseek (License): Change to LGPLv2+.
1133
1134 2011-06-13  Bruno Haible  <bruno@clisp.org>
1135
1136         ftello: Provide a non-inline replacement of ftell().
1137         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
1138         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
1139         not have ftello() (such as on mingw).
1140         * modules/ftello (Depends-on): Add ftell.
1141         * modules/ftell (License): Change to LGPLv2+.
1142
1143 2011-05-07  Bruno Haible  <bruno@clisp.org>
1144
1145         ftell: Move AC_LIBOBJ invocations to module description.
1146         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
1147         * modules/ftell (configure.ac): ... to here.
1148
1149 2011-05-07  Bruno Haible  <bruno@clisp.org>
1150
1151         ftello: Respect rules for use of AC_LIBOBJ.
1152         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
1153         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
1154         here...
1155         * modules/ftello (configure.ac): ... to here.
1156
1157 2011-05-07  Bruno Haible  <bruno@clisp.org>
1158
1159         fseeko: Simplify.
1160         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
1161         (gl_FUNC_FSEEKO): Inline it here.
1162
1163 2011-05-07  Bruno Haible  <bruno@clisp.org>
1164
1165         fseek: Move AC_LIBOBJ invocations to module description.
1166         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
1167         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
1168         * modules/fseek (configure.ac): ... to here.
1169
1170 2011-05-07  Bruno Haible  <bruno@clisp.org>
1171
1172         fseek: Respect rules for use of AC_LIBOBJ.
1173         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
1174         here...
1175         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
1176
1177 2011-05-07  Bruno Haible  <bruno@clisp.org>
1178
1179         fseeko: Respect rules for use of AC_LIBOBJ.
1180         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
1181         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
1182         here...
1183         * modules/fseeko (configure.ac): ... to here.
1184
1185 2011-06-13  Bruno Haible  <bruno@clisp.org>
1186
1187         gnulib-tool: Allow comments in the 'Depends-on' section.
1188         * doc/gnulib.texi (Module description): Mention comment syntax in the
1189         Depends-on section.
1190         * gnulib-tool (func_get_dependencies): Filter out comment lines.
1191
1192 2011-06-13  Bruno Haible  <bruno@clisp.org>
1193
1194         file-set.h: guard __attibute__ use, now that it's not always defined
1195         * lib/file-set.h (record_file): Use __attribute__ only with compiler
1196         versions that support it.  This fixes a coreutils build failure with
1197         the vendor cc on HP-UX 11.31.
1198
1199 2011-06-12  Bruno Haible  <bruno@clisp.org>
1200
1201         acl: Add support for HP-UX >= 11.11 JFS ACLs.
1202         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
1203         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
1204         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
1205         (acl, aclsort): New declarations.
1206         (aclv_nontrivial): New declaration.
1207         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
1208         (file_has_acl): Read also the second kind of HP-UX ACLs.
1209         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
1210         kind of HP-UX ACLs if the first kind fails.
1211         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
1212         second kind of HP-UX ACLs.
1213         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
1214         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
1215         agree.
1216         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
1217         hpuxjfs.
1218         Handle hpuxjfs.
1219         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
1220         hpuxjfs.
1221         Handle hpuxjfs.
1222         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
1223         (func_test_same_acls): Use both lsacl and getacl.
1224         Handle hpuxjfs.
1225         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
1226         (func_test_same_acls): Use both lsacl and getacl.
1227         Handle hpuxjfs.
1228
1229 2011-06-12  Bruno Haible  <bruno@clisp.org>
1230
1231         acl: Complete the 2010-08-10 fix.
1232         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
1233         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
1234         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
1235         explicitly.
1236         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
1237         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
1238
1239 2011-06-12  Bruno Haible  <bruno@clisp.org>
1240
1241         spawn-pipe tests: Comments.
1242         * tests/test-spawn-pipe-child.c (main): Update comment.
1243         Reported by James Youngman <jay@gnu.org>.
1244
1245 2011-06-11  James Youngman  <jay@gnu.org>
1246
1247         New module 'stat-size'.
1248         * modules/stat-size: New module.  Provides macros for accessing
1249         file size information in instances of struct stat.  Depends on the
1250         fileblocks module because it calls st_blocks.
1251         * lib/stat-size.h: New file, adapted from coreutils' system.h.
1252         * doc/gnulib.texi: Include stat-size.texi.
1253         * doc/stat-size.texi: Documentation for this module.
1254         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
1255         * m4/fileblocks.m4: Mention that stat-size depends on the call to
1256         AC_STRUCT_ST_BLOCKS.
1257
1258 2011-06-09  Bruno Haible  <bruno@clisp.org>
1259
1260         thread: Support pthreads-win32.
1261         * lib/glthread/thread.h (gl_thread_self): Define differently on
1262         pthreads-win32.
1263         (gl_null_thread): New declaration.
1264         (gl_thread_self_pointer): New macro.
1265         * lib/glthread/thread.c (gl_null_thread): New constant.
1266         * tests/test-lock.c: Use gl_thread_self_pointer instead of
1267         gl_thread_self.
1268         * tests/test-tls.c: Likewise.
1269         Suggested by Paul Eggert. Reported by Eric Blake.
1270
1271 2011-06-09  Bruno Haible  <bruno@clisp.org>
1272
1273         thread: Fix confusion between NULL and 0.
1274         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
1275         Reported by Paul Eggert.
1276
1277 2011-06-09  Bruno Haible  <bruno@clisp.org>
1278
1279         spawn-pipe tests: Avoid test failure on HP-UX 11.
1280         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
1281         is closed.
1282
1283 2011-06-09  Bruno Haible  <bruno@clisp.org>
1284
1285         acl tests: Fix compilation error on HP-UX 11.
1286         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
1287
1288 2011-06-09  Bruno Haible  <bruno@clisp.org>
1289
1290         rmdir: Avoid test failure on HP-UX 10.20.
1291         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
1292         EEXIST.
1293
1294 2011-06-08  Eric Blake  <eblake@redhat.com>
1295
1296         perror: fix test on mingw
1297         * modules/perror-tests (Depends-on): Add dup2.
1298
1299         strerror_r-posix: fix on MacOS
1300         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
1301         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
1302         logic bug.
1303         * lib/strerror_r.c (strerror_r): Fix the bug.
1304         * lib/strerror.c (strerror): Likewise.
1305         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
1306         problem.
1307         * doc/posix-functions/strerror.texi (strerror): Likewise.
1308         * doc/posix-functions/perror.texi (perror): Likewise.
1309         * tests/test-strerror.c (main): Enhance test.
1310         * tests/test-strerror_r.c (main): Likewise.
1311
1312 2011-06-08  Bruno Haible  <bruno@clisp.org>
1313
1314         gnulib-tool: Better isolation between different gnulib-tool invocations.
1315         * gnulib-tool: New option --witness-c-macro.
1316         (witness_c_macro): New variable.
1317         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
1318         AM_CPPFLAGS define it as a C macro.
1319         (func_emit_tests_Makefile_am): Likewise.
1320         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
1321         read it from there.
1322         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
1323         m4_define, not AC_DEFUN.
1324         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
1325         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
1326         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
1327         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
1328         s|...|...|, to substitute the values of the GNULIB_* module indicator
1329         variables.
1330         * modules/dirent (Makefile.am): Likewise.
1331         * modules/fcntl-h (Makefile.am): Likewise.
1332         * modules/iconv-h (Makefile.am): Likewise.
1333         * modules/langinfo (Makefile.am): Likewise.
1334         * modules/locale (Makefile.am): Likewise.
1335         * modules/math (Makefile.am): Likewise.
1336         * modules/netdb (Makefile.am): Likewise.
1337         * modules/poll-h (Makefile.am): Likewise.
1338         * modules/pty (Makefile.am): Likewise.
1339         * modules/search (Makefile.am): Likewise.
1340         * modules/signal (Makefile.am): Likewise.
1341         * modules/spawn (Makefile.am): Likewise.
1342         * modules/stdio (Makefile.am): Likewise.
1343         * modules/stdlib (Makefile.am): Likewise.
1344         * modules/string (Makefile.am): Likewise.
1345         * modules/sys_ioctl (Makefile.am): Likewise.
1346         * modules/sys_select (Makefile.am): Likewise.
1347         * modules/sys_socket (Makefile.am): Likewise.
1348         * modules/sys_stat (Makefile.am): Likewise.
1349         * modules/sys_times (Makefile.am): Likewise.
1350         * modules/sys_utsname (Makefile.am): Likewise.
1351         * modules/sys_wait (Makefile.am): Likewise.
1352         * modules/termios (Makefile.am): Likewise.
1353         * modules/time (Makefile.am): Likewise.
1354         * modules/unistd (Makefile.am): Likewise.
1355         * modules/wchar (Makefile.am): Likewise.
1356
1357 2011-06-08  Eric Blake  <eblake@redhat.com>
1358
1359         strerror: simplify replacement
1360         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
1361         * modules/strerror (configure.ac): No prereqs needed here...
1362         * modules/strerror-override (configure.ac): ...but this needs it.
1363         (Files): Add file for needed prereq macro.
1364
1365 2011-06-08  Bruno Haible  <bruno@clisp.org>
1366
1367         strerror_r-posix: Tweaks.
1368         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
1369         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
1370         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
1371         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
1372         (gl_FUNC_STRERROR_R): ... to here.
1373         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
1374
1375 2011-06-07  Eric Blake  <eblake@redhat.com>
1376
1377         perror: document fixed bugs
1378         * doc/posix-functions/perror.texi (perror): Document recent
1379         patches.
1380
1381 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
1382
1383         stat-time: get_stat_birthtime failure is better-defined
1384         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
1385         return a timestamp whose tv_sec and tv_nsec values are both -1.
1386         Previously, the spec said only that the tv_nsec value was negative.
1387         This upward-compatible change simplifies GNU tar a bit.
1388
1389 2011-06-07  Eric Blake  <eblake@redhat.com>
1390
1391         strerror_r-posix: work around cygwin 1.7.9
1392         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
1393         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
1394         bug without replacing strerror_r.
1395         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
1396         strerror_r is buggy, but without requiring strerror_r compilation.
1397         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
1398
1399         test-perror: relax test to ignore cygwin bug
1400         * tests/test-perror2.c (main): Relax test on requiring detection
1401         of stream errors, and use unbuffered stream.
1402         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
1403         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
1404         * doc/posix-functions/fputc.texi (fputc): Likewise.
1405         * doc/posix-functions/fputs.texi (fputs): Likewise.
1406         * doc/posix-functions/fputws.texi (fputws): Likewise.
1407         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
1408         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
1409         * doc/posix-functions/getopt.texi (getopt): Likewise.
1410         * doc/posix-functions/perror.texi (perror): Likewise.
1411         * doc/posix-functions/printf.texi (printf): Likewise.
1412         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
1413         * doc/posix-functions/psignal.texi (psignal): Likewise.
1414         * doc/posix-functions/putc.texi (putc): Likewise.
1415         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
1416         Likewise.
1417         * doc/posix-functions/putchar.texi (putchar): Likewise.
1418         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
1419         Likewise.
1420         * doc/posix-functions/puts.texi (puts): Likewise.
1421         * doc/posix-functions/putwc.texi (putwc): Likewise.
1422         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
1423         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
1424         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
1425         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
1426         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
1427         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
1428         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
1429         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
1430
1431 2011-05-22  Bruno Haible  <bruno@clisp.org>
1432
1433         strerror: Move AC_LIBOBJ invocations to module description.
1434         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
1435         gl_PREREQ_STRERROR invocations from here...
1436         * modules/strerror (configure.ac): ... to here.
1437
1438 2011-05-21  Bruno Haible  <bruno@clisp.org>
1439
1440         perror: Use common idiom.
1441         * modules/perror (configure.ac): Reorder statements.
1442
1443 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1444
1445         tests: fix usage message in 'mktempd_'
1446         * tests/init.sh (mktempd_): In the usage message, use literal
1447         'mktempd_', not '$ME' (which is even undefined), as the name of
1448         the subroutine.
1449
1450 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1451
1452         tests init: new function 'fatal_', for hard errors
1453         Before this patch, the only way offered by tests/init.sh to
1454         properly signal a hard error was the `framework_failure_'
1455         function.  But the error message issued by that function,
1456         as its name would suggest, refers to a set-up failure in the
1457         testsuite, while hard errors can obviously also be due to
1458         other reasons.  The best way to fix this inconsistency is to
1459         introduce a new function with a more general error message.
1460         * tests/init.sh (fatal_): New function.
1461
1462 2011-06-06  Eric Blake  <eblake@redhat.com>
1463
1464         canonicalize-lgpl: use common idiom
1465         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
1466         over newer POSIX -Rf.
1467         Reported by Bruno Haible.
1468
1469         canonicalize-lgpl: work around AIX realpath bug
1470         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
1471         * doc/posix-functions/realpath.texi (realpath): Document it.
1472         Reported by Bruno Haible.
1473
1474         strerror: work around FreeBSD bug
1475         * lib/strerror.c (strerror): Special case 0.
1476         Reported by Bruno Haible.
1477
1478         strerror-override: avoid bloating errno module
1479         * modules/errno (Files, configure.ac): Move replacement strings...
1480         * modules/strerror-override: ...to new module.
1481         * modules/strerror (Depends-on): Add strerror-override.
1482         * modules/strerror_r-posix (Depends-on): Likewise.
1483         * MODULES.html.sh: Document new module.
1484         Reported by Bruno Haible.
1485
1486 2011-06-06  Bruno Haible  <bruno@clisp.org>
1487
1488         spawn-pipe tests: Rename program.
1489         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
1490         * tests/test-spawn-pipe-child.c: Update comment.
1491         * tests/test-spawn-pipe.sh: Update.
1492         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
1493
1494         spawn-pipe tests: Link the child program only against libc.
1495         * tests/test-spawn-pipe-child.c: New file, extracted from
1496         tests/test-spawn-pipe.c.
1497         (main): Expect only one argument.
1498         (is_open): New function, copied from tests/test-pipe.c.
1499         * tests/test-spawn-pipe.c: Don't include <errno.h>.
1500         (child_main): Remove function.
1501         (test_pipe): Pass only one argument to the child program.
1502         (main): Remove child process code. Expect the child program's name as
1503         first argument.
1504         * tests/test-spawn-pipe.sh: Pass the child program's name as first
1505         argument.
1506         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
1507         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
1508         test-spawn-pipe-child against no libraries.
1509
1510 2011-06-06  Bruno Haible  <bruno@clisp.org>
1511
1512         careadlinkat: Avoid mismatch between ssize_t and int.
1513         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
1514         * lib/careadlinkat.c (careadlinkatcwd): Define always.
1515
1516 2011-06-06  Jim Meyering  <meyering@redhat.com>
1517
1518         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
1519         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
1520         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
1521
1522 2011-06-05  Bruno Haible  <bruno@clisp.org>
1523
1524         ansi-c++-opt: Interoperability with libtool.
1525         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
1526         set the variable to "no", not to ":".
1527         * NEWS: Mention the change.
1528
1529 2011-06-05  Bruno Haible  <bruno@clisp.org>
1530
1531         acl: Fix test failure on AIX 7.
1532         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
1533         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
1534
1535 2011-06-05  Bruno Haible  <bruno@clisp.org>
1536
1537         pipe-filter-ii: Fix test failure on AIX and IRIX.
1538         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
1539         with EAGAIN, retry with a smaller buffer size.
1540
1541 2011-06-05  Bruno Haible  <bruno@clisp.org>
1542
1543         localename: Fix link dependencies.
1544         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
1545         * modules/localename-tests (Makefile.am): Link test-localename with
1546         $(LIBTHREAD).
1547
1548 2011-06-05  Bruno Haible  <bruno@clisp.org>
1549
1550         error: Avoid gcc warning.
1551         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
1552
1553 2011-06-05  Bruno Haible  <bruno@clisp.org>
1554
1555         unsetenv: Avoid gcc warning.
1556         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
1557
1558 2011-06-05  Bruno Haible  <bruno@clisp.org>
1559
1560         setenv: Avoid gcc warning.
1561         * lib/setenv.c (setenv): Provide declaration if system lacks it.
1562
1563 2011-06-05  Bruno Haible  <bruno@clisp.org>
1564
1565         sys_select: Ensure memset is declared also on AIX 7.
1566         * lib/sys_select.in.h: Include <string.h> also on AIX.
1567         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
1568         self-contained also on AIX 7.1.
1569
1570 2011-06-04  Jim Meyering  <meyering@redhat.com>
1571
1572         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
1573         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
1574         function name, "error".
1575         (_gl_translatable_diag_func_re): New configurable variable.
1576
1577 2011-06-04  Bruno Haible  <bruno@clisp.org>
1578
1579         getopt: Avoid gcc warning.
1580         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
1581
1582 2011-06-04  Bruno Haible  <bruno@clisp.org>
1583
1584         strerror_r: Fix comments.
1585         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
1586         commit.
1587
1588 2011-06-04  Bruno Haible  <bruno@clisp.org>
1589
1590         perror: Fix compilation error.
1591         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
1592         Undefine fprintf, not sprintf.
1593         * modules/perror (Depends-on): Remove intprops, verify.
1594
1595 2011-06-04  Bruno Haible  <bruno@clisp.org>
1596
1597         setlocale: Enable replacement on Cygwin 1.5.
1598         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
1599         Cygwin 1.5.x.
1600         * doc/posix-functions/setlocale.texi: Mention that the problem with the
1601         LC_CTYPE category also exists on Cygwin 1.5.x.
1602
1603 2011-06-04  Bruno Haible  <bruno@clisp.org>
1604
1605         strerror-override: Don't disable symbol renamings.
1606         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
1607         * lib/strerror-override.c: Include config.h.
1608         (strerror_override): Don't undefine.
1609
1610 2011-06-03  Bruno Haible  <bruno@clisp.org>
1611
1612         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
1613         * lib/localename.h: Update copyright header.
1614         * lib/localename.c: Likewise.
1615         * lib/relocatable.h: Likewise.
1616         * lib/relocatable.c: Likewise.
1617
1618 2011-06-02  Bruno Haible  <bruno@clisp.org>
1619
1620         doc: Fix a module name.
1621         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
1622
1623 2011-06-02  Bruno Haible  <bruno@clisp.org>
1624
1625         pipe2: Remove dependency on 'nonblocking' module.
1626         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
1627         O_NONBLOCK is defined by gnulib.
1628         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
1629         is zero.
1630         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
1631         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
1632         defined by gnulib.
1633         (get_nonblocking_flag): New function.
1634         (main): Test O_NONBLOCK flag only if it is nonzero.
1635         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
1636
1637 2011-06-03  Jim Meyering  <meyering@redhat.com>
1638
1639         maint: three new prohibit-header-without-use rules
1640         Prohibit use of cloexec.h, posixver.h, same.h without use.
1641         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
1642         (sc_prohibit_posixver_without_use): Likewise.
1643         (sc_prohibit_same_without_use): Likewise.
1644
1645 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
1646
1647         allocator: 'die' routine is now given requested size
1648         * lib/allocator.h (struct allocator.die): New size arg.
1649         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
1650         If the actual problem is an ssize_t limitation, not a size_t or
1651         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
1652
1653 2011-06-01  Eric Blake  <eblake@redhat.com>
1654
1655         strerror: drop strerror_r dependency
1656         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
1657         * lib/strerror-override.c (strerror_override): ...to new file.
1658         * lib/strerror-override.h: Add prototype.
1659         * lib/strerror-impl.h: Delete.
1660         * lib/strerror.c (strerror): New implementation.
1661         * modules/errno (Files): Add new files.
1662         (configure.ac): Compile new file as appropriate.
1663         * modules/strerror (Files): Drop unused file.
1664         (Depends-on): Drop strerror_r-posix.
1665         * MODULES.html.sh: Document strerror_r-posix.
1666         Requested by Sam Steingold.
1667
1668         perror: call strerror_r directly
1669         * modules/perror (Files): Drop strerror-impl.h.
1670         * lib/perror.c (perror): Use our own stack buffer, rather than
1671         calling a wrapper that uses static storage.
1672         * doc/posix-functions/perror.texi (perror): Document a limitation
1673         of our replacement.
1674
1675         strerror_r: fix includes for FreeBSD
1676         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
1677         since we use abort on some platforms.
1678         Reported by Matthias Bolte.
1679
1680 2011-05-31  Bruno Haible  <bruno@clisp.org>
1681
1682         Fix link errors in tests: openat-die uses gettext-h.
1683         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
1684         against $(LIBINTL).
1685         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
1686         against $(LIBINTL).
1687         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
1688         $(LIBINTL).
1689         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
1690         against $(LIBINTL).
1691         * modules/linkat-tests (Makefile.am): Link test-linkat against
1692         $(LIBINTL).
1693         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
1694         $(LIBINTL).
1695         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
1696         against $(LIBINTL).
1697         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
1698         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
1699         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
1700         $(LIBINTL).
1701         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
1702         $(LIBINTL).
1703         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
1704         $(LIBINTL).
1705         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1706
1707 2011-05-31  Bruno Haible  <bruno@clisp.org>
1708
1709         Fix link errors in tests: wait-process uses gettext-h.
1710         * modules/nonblocking-pipe-tests (Makefile.am): Set
1711         test_nonblocking_pipe_main_LDADD.
1712         * modules/nonblocking-socket-tests (Makefile.am): Link
1713         test-nonblocking-socket-main against $(LIBINTL).
1714         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1715
1716 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1717
1718         assert-h: work around 'verify' incompatibility
1719         * lib/verify.h: Use @...@ directives, not ifdef.
1720         * modules/assert-h (assert.h): Implement the directives.
1721         (assert.h): Substitute the symbol-prefix more consistently.
1722
1723 2011-05-29  Jim Meyering  <meyering@redhat.com>
1724
1725         trim: remove three superfluous assignments
1726         * lib/trim.c (trim2): Remove three superfluous assignments
1727         and correct brace positioning.
1728
1729 2011-05-29  Bruno Haible  <bruno@clisp.org>
1730
1731         wctype-h: Avoid namespace pollution on Solaris 2.6.
1732         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
1733         identifiers.
1734         * doc/posix-headers/wctype.texi: Mention the problem.
1735         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1736
1737 2011-05-28  Jim Meyering  <meyering@redhat.com>
1738
1739         parse-datetime.y: accommodate -Wstrict-overflow
1740         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
1741         placate -Wstrict-overflow.
1742
1743         trim: avoid a warning from -O2 -Wstrict-overflow
1744         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
1745
1746 2011-05-29  Bruno Haible  <bruno@clisp.org>
1747
1748         gnulib-tool: Fix bug in yesterday's commit.
1749         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
1750         twice.
1751
1752 2011-05-29  Bruno Haible  <bruno@clisp.org>
1753
1754         Allow multiple gnulib generated include files to be combined.
1755         * gnulib-tool (func_compute_include_guard_prefix): New function.
1756         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
1757         ${gl_include_guard_prefix} references.
1758         (func_import, func_create_testdir): Invoke
1759         func_compute_include_guard_prefix.
1760         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
1761         * lib/ctype.in.h: Likewise.
1762         * lib/dirent.in.h: Likewise.
1763         * lib/errno.in.h: Likewise.
1764         * lib/fcntl.in.h: Likewise.
1765         * lib/float.in.h: Likewise.
1766         * lib/getopt.in.h: Likewise.
1767         * lib/iconv.in.h: Likewise.
1768         * lib/langinfo.in.h: Likewise.
1769         * lib/locale.in.h: Likewise.
1770         * lib/math.in.h: Likewise.
1771         * lib/netdb.in.h: Likewise.
1772         * lib/netinet_in.in.h: Likewise.
1773         * lib/poll.in.h: Likewise.
1774         * lib/pthread.in.h: Likewise.
1775         * lib/pty.in.h: Likewise.
1776         * lib/sched.in.h: Likewise.
1777         * lib/se-selinux.in.h: Likewise.
1778         * lib/search.in.h: Likewise.
1779         * lib/signal.in.h: Likewise.
1780         * lib/spawn.in.h: Likewise.
1781         * lib/stdarg.in.h: Likewise.
1782         * lib/stddef.in.h: Likewise.
1783         * lib/stdint.in.h: Likewise.
1784         * lib/stdio.in.h: Likewise.
1785         * lib/stdlib.in.h: Likewise.
1786         * lib/string.in.h: Likewise.
1787         * lib/strings.in.h: Likewise.
1788         * lib/sys_file.in.h: Likewise.
1789         * lib/sys_ioctl.in.h: Likewise.
1790         * lib/sys_select.in.h: Likewise.
1791         * lib/sys_socket.in.h: Likewise.
1792         * lib/sys_stat.in.h: Likewise.
1793         * lib/sys_time.in.h: Likewise.
1794         * lib/sys_times.in.h: Likewise.
1795         * lib/sys_uio.in.h: Likewise.
1796         * lib/sys_utsname.in.h: Likewise.
1797         * lib/sys_wait.in.h: Likewise.
1798         * lib/sysexits.in.h: Likewise.
1799         * lib/termios.in.h: Likewise.
1800         * lib/time.in.h: Likewise.
1801         * lib/unistd.in.h: Likewise.
1802         * lib/wchar.in.h: Likewise.
1803         * lib/wctype.in.h: Likewise.
1804         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
1805         * modules/ctype (Makefile.am): Likewise.
1806         * modules/dirent (Makefile.am): Likewise.
1807         * modules/errno (Makefile.am): Likewise.
1808         * modules/fcntl-h (Makefile.am): Likewise.
1809         * modules/float (Makefile.am): Likewise.
1810         * modules/getopt-posix (Makefile.am): Likewise.
1811         * modules/iconv-h (Makefile.am): Likewise.
1812         * modules/langinfo (Makefile.am): Likewise.
1813         * modules/locale (Makefile.am): Likewise.
1814         * modules/math (Makefile.am): Likewise.
1815         * modules/netdb (Makefile.am): Likewise.
1816         * modules/netinet_in (Makefile.am): Likewise.
1817         * modules/poll-h (Makefile.am): Likewise.
1818         * modules/pthread (Makefile.am): Likewise.
1819         * modules/pty (Makefile.am): Likewise.
1820         * modules/sched (Makefile.am): Likewise.
1821         * modules/search (Makefile.am): Likewise.
1822         * modules/selinux-h (Makefile.am): Likewise.
1823         * modules/signal (Makefile.am): Likewise.
1824         * modules/spawn (Makefile.am): Likewise.
1825         * modules/stdarg (Makefile.am): Likewise.
1826         * modules/stddef (Makefile.am): Likewise.
1827         * modules/stdint (Makefile.am): Likewise.
1828         * modules/stdio (Makefile.am): Likewise.
1829         * modules/stdlib (Makefile.am): Likewise.
1830         * modules/string (Makefile.am): Likewise.
1831         * modules/strings (Makefile.am): Likewise.
1832         * modules/sys_file (Makefile.am): Likewise.
1833         * modules/sys_ioctl (Makefile.am): Likewise.
1834         * modules/sys_select (Makefile.am): Likewise.
1835         * modules/sys_socket (Makefile.am): Likewise.
1836         * modules/sys_stat (Makefile.am): Likewise.
1837         * modules/sys_time (Makefile.am): Likewise.
1838         * modules/sys_times (Makefile.am): Likewise.
1839         * modules/sys_uio (Makefile.am): Likewise.
1840         * modules/sys_utsname (Makefile.am): Likewise.
1841         * modules/sys_wait (Makefile.am): Likewise.
1842         * modules/sysexits (Makefile.am): Likewise.
1843         * modules/termios (Makefile.am): Likewise.
1844         * modules/time (Makefile.am): Likewise.
1845         * modules/unistd (Makefile.am): Likewise.
1846         * modules/wchar (Makefile.am): Likewise.
1847         * modules/wctype-h (Makefile.am): Likewise.
1848         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
1849
1850 2011-05-29  Bruno Haible  <bruno@clisp.org>
1851
1852         assert-h: Allow multiple gnulib generated replacements to coexist.
1853         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
1854
1855 2011-05-29  Bruno Haible  <bruno@clisp.org>
1856
1857         argp: Allow coexistence with strerror_r-posix module.
1858         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
1859         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
1860         by gnulib's <string.h> replacement), assume it has the POSIX signature,
1861         not the glibc signature.
1862
1863 2011-05-28  Bruno Haible  <bruno@clisp.org>
1864
1865         gnulib-tool: Alternative structure of testdirs, similar to --import.
1866         * gnulib-tool: New option --single-configure.
1867         (func_usage): Document it.
1868         (single_configure): New variable.
1869         (func_modules_transitive_closure_separately,
1870         func_modules_transitive_closure_separately,
1871         func_determine_use_libtests, func_modules_add_dummy_separately,
1872         func_modules_to_filelist_separately): New functions, extracted from
1873         func_import.
1874         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
1875         (func_import): Use the new functions.
1876         (func_create_testdir): Set final_modules. Handle $single_configure =
1877         true case.
1878
1879 2011-05-28  Bruno Haible  <bruno@clisp.org>
1880
1881         getloadavg: Remove an unreliable safety check.
1882         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
1883         getloadavg.c is in place.
1884         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
1885         Reported by Sam Steingold <sds@gnu.org>.
1886
1887 2011-05-28  Bruno Haible  <bruno@clisp.org>
1888
1889         doc: Cleanup yet another file produced by texinfo.tex.
1890         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
1891
1892 2011-05-28  Bruno Haible  <bruno@clisp.org>
1893
1894         Finish the conditional dependencies mechanism.
1895         * gnulib-tool: New option --no-conditional-dependencies.
1896         (func_usage): Document it. Don't mark --conditional-dependencies as
1897         experimental.
1898         (cond_dependencies): The possible values can now be true, false, empty.
1899         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
1900         (func_import): Store setting in gnulib-cache.m4 and read it from there.
1901         * doc/gnulib-tool.texi (Conditional dependencies): New section.
1902
1903 2011-05-28  Bruno Haible  <bruno@clisp.org>
1904
1905         doc: Use a recent texinfo.tex.
1906         * doc/Makefile (tex_opts): New variable.
1907         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
1908
1909 2011-05-28  Jim Meyering  <meyering@redhat.com>
1910
1911         intprops.h: adjust comment to match code change
1912         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
1913         only once, it *may* have side effects.  Also fix an unrelated typo.
1914         (_GL_INT_SIGNED): Likewise.
1915
1916 2011-05-26  Simon Josefsson  <simon@josefsson.org>
1917
1918         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
1919
1920 2011-05-26  Bruno Haible  <bruno@clisp.org>
1921
1922         mbsrchr: Avoid collision with system function on Interix.
1923         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
1924         Reported by Markus Duft <mduft@gentoo.org>.
1925
1926 2011-05-15  James Youngman  <jay@gnu.org>
1927
1928         getopt: for ambiguous options, enumerate the possibilities.
1929         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
1930         the ambiguous options when an ambiguous prefix is given. This was
1931         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
1932         glibc change was
1933         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
1934
1935 2011-05-25  Eric Blake  <eblake@redhat.com>
1936
1937         getcwd: work around mingw bug
1938         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
1939         * doc/posix-functions/getcwd.texi (getcwd): Document it.
1940         Reported by Matthias Bolte.
1941
1942 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
1943
1944         test-intprops: disable -Wtype-limits diagnostics
1945         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
1946         diagnostics.  Otherwise, the integer overflow macros generate many
1947         diagnostics.  Reported by Jim Meyering in
1948         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
1949
1950         intprops: shorten, to pacify gcc -Woverlength-strings
1951         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
1952         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
1953         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
1954         likely to run afoul of C compiler limits for string constant lengths.
1955         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
1956
1957 2011-05-24  Eric Blake  <eblake@redhat.com>
1958
1959         docs: document recently fixed glibc printf bug
1960         * doc/posix-functions/fprintf.texi (fprintf): Document it.
1961         * doc/posix-functions/printf.texi (printf): Likewise.
1962         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
1963         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
1964
1965         closein-tests: convert to init.sh
1966         * modules/closein-tests (Files): Add init.sh
1967         * tests/test-closein.sh Use it.
1968
1969         yesno-tests: convert to init.sh
1970         * modules/yesno-tests (Files): Add init.sh.
1971         * tests/test-yesno.sh: Use it.
1972
1973         atexit-tests: ensure reliable exit status
1974         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
1975         Reported by Bruno Haible.
1976
1977 2011-05-24  Bruno Haible  <bruno@clisp.org>
1978
1979         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
1980         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
1981         gl_PREREQ_STRERROR_R invocations from here...
1982         * modules/strerror_r-posix (configure.ac): ... to here.
1983
1984 2011-05-24  Eric Blake  <eblake@redhat.com>
1985
1986         strerror_r: fix missing header
1987         * lib/strerror_r.c: Avoid compiler warning about snprintf.
1988
1989         strerror_r: fix AIX test failures
1990         * lib/strerror_r.c (strerror_r): Convert silent truncation to
1991         ERANGE failure.
1992
1993         strerror_r: fix Solaris test failures
1994         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
1995         failures.
1996         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
1997
1998         strerror_r: enforce POSIX recommendations
1999         * lib/strerror_r.c (safe_copy): New helper method.
2000         (strerror_r): Guarantee a non-empty string.
2001         * tests/test-strerror_r.c (main): Enhance tests to incorporate
2002         recent POSIX rulings and to match our strerror guarantees.
2003         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
2004
2005 2011-05-24  Jim Meyering  <meyering@redhat.com>
2006
2007         test-perror2.c: avoid warning about unused variable
2008         * tests/test-perror2.c (main): Remove declaration of unused "fp".
2009
2010 2011-05-24  Eric Blake  <eblake@redhat.com>
2011
2012         perror: avoid spurious test failure on HP-UX
2013         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
2014
2015         tests: fix logic bug in init.sh
2016         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
2017         shell.
2018
2019 2011-05-24  Jim Meyering  <meyering@redhat.com>
2020
2021         utimensat: do not reference an out-of-scope buffer
2022         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
2023         declared in an inner scope, yet "times" would be dereferenced outside
2024         the scope in which "ts" was valid.
2025         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
2026         of ts[2] "out/up", so that the use of aliased "times" (via
2027         "times = ts;") does not end up referencing an out-of-scope "ts"
2028
2029         opendir-safer.c: don't clobber errno; don't close negative FD
2030         * lib/opendir-safer.c (opendir_safer):
2031         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
2032         file descriptor, and more importantly, don't clobber the
2033         offending errno value with EINVAL.  Before, upon failure
2034         of dup_safer, we would pass the negative file descriptor to
2035         fdopendir, which would clobber errno.
2036
2037 2011-05-23  Bruno Haible  <bruno@clisp.org>
2038
2039         idcache: Fix module description.
2040         * modules/idcache (Include): Set to "idcache.h".
2041
2042 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2043
2044         gnulib-tool: fix portability problem with MacOS sed
2045         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
2046         before the "}".  Problem reported by Leo in
2047         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
2048         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
2049         sed_extract_condition1, sed_extract_condition2.
2050
2051 2011-05-23  Bruno Haible  <bruno@clisp.org>
2052
2053         hash: Simplify autoconf macro.
2054         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
2055
2056 2011-05-23  Bruno Haible  <bruno@clisp.org>
2057
2058         getugroups: Fix module description.
2059         * modules/getugroups (Include): Set to "getugroups.h".
2060
2061 2011-05-23  Bruno Haible  <bruno@clisp.org>
2062
2063         linkat: Simplify autoconf macro.
2064         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
2065
2066 2011-05-23  Bruno Haible  <bruno@clisp.org>
2067             Eric Blake  <eblake@redhat.com>
2068
2069         linkat, renameat: Update dependencies.
2070         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
2071         * modules/linkat (Depends-on): Likewise. Remove also readlink,
2072         symlinkat.
2073
2074 2011-05-23  Jim Meyering  <meyering@redhat.com>
2075
2076         maint.mk: more tight_scope improvements
2077         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
2078         (_gl_TS_headers): Define only in if-0'd block.
2079         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
2080         sometimes we must *not* use it.  Adjust uses accordingly.
2081         (sc_tight_scope): Use much simpler grep-based test to determine
2082         whether we skip this rule.
2083
2084         maint.mk: generalize/improve the tight-scope rule
2085         * top/maint.mk: Emit a warning when the test is skipped.
2086         (_gl_TS_dir): Add $(srcdir)/ prefix.
2087         (_gl_TS_function_match): Simplify, rather than trying
2088         to enumerate common types.  Otherwise, it would fail to match an
2089         "extern unsigned char const *" declaration in idutils.
2090         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
2091         a way to support use of that type of macro.
2092         (_gl_TS_var_match): Simplify regexp.
2093         (_gl_TS_obj_files): New configurable variable.
2094         (_gl_TS_headers): Likewise.
2095
2096 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
2097
2098         verify: fix bug when gnulib <assert.h> is also included
2099         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
2100         is defined, not if _GL_STATIC_ASSERT_H is not defined.
2101         Perhaps there's a better way, but this fixes the immediate problem.
2102         Problem reported by Bruno Haible in
2103         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
2104
2105 2011-05-22  Bruno Haible  <bruno@clisp.org>
2106
2107         xgetcwd: Simplify autoconf macro.
2108         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
2109
2110 2011-05-22  Bruno Haible  <bruno@clisp.org>
2111
2112         New module 'mktime-internal'.
2113         * modules/mktime-internal: New file.
2114         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
2115         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
2116         mktime_internal as a C macro if libc has __mktime_internal.
2117         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
2118         conditions.
2119         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
2120
2121 2011-05-22  Bruno Haible  <bruno@clisp.org>
2122
2123         timegm: Correct mktime replacement statements.
2124         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
2125         defining mktime as a C macro. This completes a 2009-07-28 commit.
2126
2127 2011-05-22  Bruno Haible  <bruno@clisp.org>
2128
2129         timegm: Simplify autoconf macro.
2130         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
2131
2132 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2133
2134         clock-time: change to LGPLv2+.
2135         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
2136         BSD-like but we have no mark for that; this is good enough for now.
2137
2138 2011-05-21  Bruno Haible  <bruno@clisp.org>
2139
2140         strerror_r: Fix comments.
2141         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
2142
2143 2011-05-21  Bruno Haible  <bruno@clisp.org>
2144
2145         relocatable-prog-wrapper: Fix possible link error.
2146         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
2147         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
2148         (gl_FUNC_SETENV): ... to here.
2149         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
2150         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
2151
2152 2011-05-21  Bruno Haible  <bruno@clisp.org>
2153
2154         relocatable-prog-wrapper: Assume strerror() exists.
2155         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
2156         m4/strerror.m4.
2157         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
2158         * lib/relocwrapper.c: Remove mention of strerror module.
2159         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
2160         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
2161         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
2162         C macro.
2163
2164 2011-05-21  Bruno Haible  <bruno@clisp.org>
2165
2166         select: Simplify replacement idiom.
2167         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
2168         Win32 platforms.
2169         * lib/sys_select.in.h (select): Simplify accordingly.
2170         * modules/select (Depends-on): Likewise.
2171
2172 2011-05-21  Bruno Haible  <bruno@clisp.org>
2173
2174         mkdir-p: Simplify autoconf macro.
2175         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
2176         gl_FUNC_LCHOWN.
2177
2178 2011-05-21  Eric Blake  <eblake@redhat.com>
2179
2180         strerror_r: avoid clobbering strerror on cygwin
2181         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
2182         fall back instead to sys_errlist.
2183         * modules/strerror (configure.ac): Add witness.
2184         * tests/test-strerror_r.c (main): Enhance test.
2185         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
2186         * tests/test-perror2.c (main): Free memory before exit.
2187
2188 2011-05-21  Bruno Haible  <bruno@clisp.org>
2189
2190         mkdtemp: Use gnulib naming conventions.
2191         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
2192         * modules/mkdtemp (configure.ac): Update.
2193
2194 2011-05-20  Eric Blake  <eblake@redhat.com>
2195
2196         strerror_r: avoid corrupting errno on Solaris
2197         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
2198         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
2199
2200         strerror_r: avoid compiler warning
2201         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
2202
2203         strerror_r: simplify AIX code
2204         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
2205
2206         test-perror: avoid spurious failure on FreeBSD
2207         * modules/perror-tests (Depends-on): Add strerror, now that
2208         strerror_r no longer pulls it in.
2209
2210 2011-05-20  Bruno Haible  <bruno@clisp.org>
2211
2212         strerror_r-posix: Remove unused dependencies.
2213         * modules/strerror_r-posix (Depends-on): Remove strerror.
2214         Reported by Eric Blake.
2215
2216 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
2217
2218         intprops: remove assumption about A|B representation
2219         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
2220         is a valid integer if both A and B are.  Although this is true for
2221         all known practical hosts, the C standard doesn't guarantee it,
2222         and the code need not assume it.  Also, this change may work around
2223         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
2224         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
2225
2226 2011-05-20  Eric Blake  <eblake@redhat.com>
2227
2228         perror: work around FreeBSD bug
2229         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
2230         is broken.  Move AC_LIBOBJ...
2231         * modules/perror (configure.ac): Here.
2232         * doc/posix-functions/perror.texi (perror): Document this.
2233         * tests/test-perror2.c (main): Enhance test.
2234
2235         test-perror: check for strerror interactions
2236         * tests/macros.h (STREQ): Add macro.
2237         * modules/perror-tests (Files): Add second test.
2238         * tests/test-perror2.c (main): New file.
2239         * doc/posix-functions/perror.texi (perror): Document glibc bug.
2240
2241         test-perror: rewrite to use init script
2242         * modules/perror-tests (Files): Add init.sh.
2243         * tests/test-perror.sh: Use temporary directory.
2244
2245 2011-05-20  Jim Meyering  <meyering@redhat.com>
2246
2247         maint: replace misused "a" with "an"
2248         * doc/intprops.texi: "a integer"
2249         * doc/regex.texi: "a explanation"
2250         * lib/alignof.h: "a object"
2251         * lib/argmatch.h: "a explanation"
2252         * lib/argp-help.c: "a option" and "a OPTION_DOC"
2253         * lib/stdint.in.h: "a integer"
2254         * lib/userspec.c: "a owner"
2255         * doc/gnulib.texi: Fix "a idea", and reword.
2256
2257 2011-05-19  Jim Meyering  <meyering@redhat.com>
2258
2259         maint: correct misuse of "a" and "an"
2260         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
2261         * lib/argp-help.c: "an docum...": s/an/a/
2262         * lib/argp-parse.c: "An vector": s/An/A/
2263         * lib/execute.c: "an native": s/an/a/
2264         * lib/spawn-pipe.c: Likewise.
2265         * lib/gc.h: "an Gc_rc": s/an/a/
2266         * lib/unigbrk.in.h: "an grapheme": s/an/a/
2267         * lib/fts.c: "an stat.st_dev": s/an/a/
2268
2269 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2270
2271         intprops-tests: work around HP-UX 11.23 cc bug with constants
2272         * tests/test-intprops.c (VERIFY): New macro.
2273         (main): Use it, instead of verify, to work around the compiler bug; see
2274         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
2275
2276         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
2277         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
2278         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
2279         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
2280         (_GL_REMAINDER_OVERFLOW): Use it.
2281
2282         intprops-tests: revert unsigned part of previous change
2283         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
2284         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
2285         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
2286         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
2287
2288 2011-05-19  Bruno Haible  <bruno@clisp.org>
2289
2290         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
2291         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
2292         strerror_r() returned without filling the buffer.
2293         Reported by Eric Blake.
2294
2295 2011-05-19  Eric Blake  <eblake@redhat.com>
2296
2297         strerror_r: guarantee unchanged errno
2298         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
2299         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
2300         failure.
2301         * tests/test-strerror_r.c (main): Enhance test.
2302
2303 2011-05-19  Bruno Haible  <bruno@clisp.org>
2304
2305         strerror_r: Reorder #if blocks.
2306         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
2307         for consistency with the previous commit.
2308
2309 2011-05-19  Bruno Haible  <bruno@clisp.org>
2310
2311         perror: Avoid clobbering the strerror buffer when possible.
2312         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
2313         * lib/strerror.c: Include it.
2314         * modules/strerror (Files): Add lib/strerror-impl.h.
2315         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
2316         (my_strerror): New function, defined through lib/strerror-impl.h.
2317         (perror): Use it instead of strerror.
2318         * modules/perror (Files): Add lib/strerror-impl.h.
2319         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
2320
2321 2011-05-19  Eric Blake  <eblake@redhat.com>
2322
2323         strerror_r: fix on newer cygwin
2324         * lib/strerror_r.c (strerror_r): Cygwin now has
2325         __xpg_strerror_r, use it.
2326
2327 2011-05-19  Bruno Haible  <bruno@clisp.org>
2328
2329         strerror_r: Avoid clobbering the strerror buffer when possible.
2330         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
2331         (sys_nerr, sys_errlist): New declarations.
2332         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
2333         HP-UX, native Win32, IRIX, and 32-bit Solaris.
2334         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
2335
2336 2011-05-19  Bruno Haible  <bruno@clisp.org>
2337
2338         strerror_r: Fix test failure on mingw.
2339         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
2340         EXTEND_STRERROR_R.
2341         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
2342         macros from errno.in.h instead.
2343
2344 2011-05-19  Eric Blake  <eblake@redhat.com>
2345
2346         strerror: relax test for Solaris
2347         * tests/test-strerror.c (main): Permit Solaris behavior.
2348         * tests/test-strerror_r.c (main): Likewise.
2349
2350         strerror: enforce POSIX ruling on strerror(0)
2351         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
2352         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
2353         * lib/strerror_r.c (rpl_strerror_r): Work around it.
2354         * doc/posix-functions/strerror.texi (strerror): Document it.
2355         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
2356         * tests/test-strerror.c (main): Strengthen test.
2357         * tests/test-strerror_r.c (main): Likewise.
2358
2359 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2360
2361         intprop-tests: port to older and more-pedantic compilers
2362         * modules/intprops-tests (Files): Add tests/macros.h.
2363         * tests/test-intprops.c: Include macros.h.
2364         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
2365         it's no longer documented to expand to an integer constant expression.
2366         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
2367         argument is floating point, as it's no longer documented to expand
2368         to an integer constant expression in that case.
2369         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
2370         compiler bugs reported by Bruno Haible.  See
2371         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
2372         (U0, U1): New constants, to work around the same bugs.  Also,
2373         in tests, use e.g., "(unsigned int) 39" rather than "39u".
2374
2375         intprops: work around C compiler bugs
2376         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
2377         bug in Sun C 5.11 2010/08/13 and other compilers; see
2378         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
2379
2380         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
2381         * doc/intprops.texi (Integer Type Determination): Fix
2382         documentation for TYPE_IS_INTEGER: it returns an constant
2383         expression, not an integer constant expression.  Fix doc for
2384         TYPE_SIGNED: it returns an integer constant expression only if its
2385         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
2386         hardly worth documented that way....)
2387
2388 2011-05-18  Bruno Haible  <bruno@clisp.org>
2389
2390         strerror_r: Avoid clobbering the strerror buffer when possible.
2391         * lib/strerror_r.c (strerror_r): Merge the three implementations.
2392         Handle gnulib defined errno values here. When strerror() returns NULL
2393         or an empty string, return EINVAL.
2394         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
2395         gnulib defined errno values here.
2396         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
2397
2398 2011-05-18  Eric Blake  <eblake@redhat.com>
2399
2400         fnmatch: avoid compiler warning
2401         * lib/fnmatch_loop.c (FCT): Use correct type.
2402         Reported by Matthias Bolte.
2403
2404 2011-05-13  Jim Meyering  <meyering@redhat.com>
2405
2406         maint.mk: three new prohibit_<HDR>_without_use rules
2407         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
2408         (sc_prohibit_stdio-safer_without_use): Likewise.
2409         (sc_prohibit_xfreopen_without_use): Likewise.
2410
2411 2011-05-17  Jim Meyering  <meyering@redhat.com>
2412
2413         announce-gen: fail if the NEWS delta is empty
2414         If there's nothing noteworthy in NEWS, then either you forgot
2415         or you shouldn't be releasing.
2416         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
2417
2418 2011-05-17  Pádraig Brady <P@draigBrady.com>
2419
2420         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
2421         reserved symbols starting with double underscore from the check.
2422
2423 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2424
2425         intprops: add doc
2426         * doc/intprops.texi: New file, documenting intprops.
2427         * doc/gnulib.texi (Particular Modules): Include it.
2428
2429         verify: add doc to gnulib manual and fix example
2430         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
2431         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
2432         (Compile-time Assertions): Fix example so it can't overflow.
2433
2434 2011-05-17  Jim Meyering  <meyering@redhat.com>
2435
2436         warnings.m4: don't usurp save_CPPFLAGS variable name
2437         * m4/warnings.m4: Prefix local temporary variable name with gl_.
2438
2439         doc: fix typo
2440         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
2441
2442 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2443             Bruno Haible  <bruno@clisp.org>
2444
2445         doc: Tweak recent change.
2446         * README (Portability guidelines): Tweak new text.
2447         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
2448         Interix 6.1.
2449
2450 2011-05-16  Eric Blake  <eblake@redhat.com>
2451
2452         inttypes: avoid autoconf warning
2453         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
2454         * m4/stdint.m4 (gl_STDINT_H): Likewise.
2455
2456 2011-05-16  Sam Steingold <sds@gnu.org>
2457         and Eric Blake  <eblake@redhat.com>
2458
2459         vc-list-files: accept multiple directory operands
2460         * build-aux/vc-list-files: Iterate over all remaining operands.
2461
2462 2011-05-16  Bruno Haible  <bruno@clisp.org>
2463
2464         Fix confusion regarding deprecated modules.
2465         * modules/calloc (Status, Notice): Mark module as deprecated, not
2466         obsolete.
2467         * modules/fnmatch-posix (Status, Notice): Likewise.
2468         * modules/getdate (Status, Notice): Likewise.
2469         * modules/getopt (Status, Notice): Likewise.
2470         * modules/malloc (Status, Notice): Likewise.
2471         * modules/pipe (Status, Notice): Likewise.
2472         * modules/realloc (Status, Notice): Likewise.
2473         * modules/rename-dest-slash (Status, Notice): Likewise.
2474         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
2475         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
2476         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
2477         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
2478         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
2479
2480 2011-05-16  Bruno Haible  <bruno@clisp.org>
2481
2482         doc: List the target platforms.
2483         * doc/gnulib-intro.texi (Target Platforms): New section.
2484         * doc/gnulib.texi (Introduction): Update menu.
2485         * README (Portability guidelines): Refer to the new section. Update
2486         statement about oldest supported environment. Remove rationale why
2487         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
2488         unportable C89 function.
2489         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
2490         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
2491
2492 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2493
2494         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
2495
2496 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
2497
2498         intprops-tests: new module
2499         * modules/intprops-tests, tests/test-intprops.c: New files.
2500
2501         intprops: add safe, portable integer overflow checking
2502         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
2503         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
2504         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
2505         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
2506         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
2507         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
2508         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
2509         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
2510         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
2511         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
2512         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
2513
2514 2011-05-12  James Youngman  <jay@gnu.org>
2515
2516         Add a test for glibc's Bugzilla bug #12378.
2517         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
2518         doesn't allow the literal matching of a lone "[" (which is
2519         required by POSIX).
2520         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
2521
2522 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
2523
2524         Sync glibc change fixing Bugzilla bug #12378.
2525         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
2526         beginning and fall back to matching as normal character if the
2527         string ends before the matching ']' is found.  This is what POSIX
2528         requires.
2529
2530 2011-05-13  Eric Blake  <eblake@redhat.com>
2531
2532         getcwd-lgpl: relax test for FreeBSD
2533         * doc/posix-functions/getcwd.texi (getcwd): Document portability
2534         issue.
2535         * tests/test-getcwd-lgpl.c (main): Relax test.
2536         Reported by Matthias Bolte.
2537
2538 2011-05-11  Eric Blake  <eblake@redhat.com>
2539
2540         test-fflush: silence compiler warning
2541         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
2542
2543 2011-05-11  Bruno Haible  <bruno@clisp.org>
2544
2545         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
2546         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
2547         * modules/canonicalize (Depends-on): Add 'nocrash'.
2548         * modules/canonicalize-lgpl (Depends-on): Likewise.
2549         * doc/posix-functions/realpath.texi: Update platforms list.
2550         Reported by Ryan Schmidt <ryandesign@macports.org>.
2551
2552 2011-05-11  Bruno Haible  <bruno@clisp.org>
2553
2554         group-member: Declare function in <unistd.h>.
2555         * lib/unistd.in.h (group_member): New declaration.
2556         * lib/group-member.h: Remove file.
2557         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
2558         * tests/test-unistd-c++.cc: Check signature of group_member.
2559         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
2560         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
2561         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
2562         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
2563         HAVE_GROUP_MEMBER.
2564         * modules/group-member (Files): Remove lib/group-member.h.
2565         (Depends-on): Add unistd. Specify conditions.
2566         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2567         (Include): Change to <unistd.h>.
2568         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
2569         HAVE_GROUP_MEMBER.
2570         * NEWS: Mention the change.
2571         * lib/euidaccess.c: Don't include group-member.h.
2572
2573 2011-05-11  Bruno Haible  <bruno@clisp.org>
2574
2575         group-member: Document module.
2576         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
2577         module.
2578
2579 2011-05-11  Bruno Haible  <bruno@clisp.org>
2580
2581         fclose: Fix mistake earlier today.
2582         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
2583
2584 2011-05-11  Eric Blake  <eblake@redhat.com>
2585
2586         fclose: preserve fflush errors
2587         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
2588         Reported by Jim Meyering.
2589
2590         bootstrap: support a prereq of 'rpcgen -' on RHEL5
2591         * build-aux/bootstrap (check_versions): When no specific version
2592         is required, merely check that the app produces an exit status
2593         that indicates its existence.
2594
2595         maint.mk: drop redundant check
2596         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
2597         the same but better.
2598
2599 2011-05-11  Bruno Haible  <bruno@clisp.org>
2600
2601         fclose: Fix possible link error.
2602         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
2603         unregister_shadow_fd. Improve comments.
2604         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
2605         Eric Blake.
2606
2607 2011-05-11  Jim Meyering  <meyering@redhat.com>
2608
2609         maint.mk: improve "can not" detection and generalize rule name
2610         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
2611         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
2612         Use the same technique as in sc_prohibit_doubled_word, so that
2613         we recognize "can not" also when the words are separated by a newline.
2614         Suggested by Eric Blake.
2615         (perl_filename_lineno_text_): Define.  Factored out of...
2616         (prohibit_doubled_word_): ...here.  Use the new definition.
2617         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
2618         (prohibit_undesirable_word_seq_RE_): New overridable variable.
2619         (ignore_undesirable_word_sequence_RE_): New overridable variable.
2620
2621 2011-05-10  Eric Blake  <eblake@redhat.com>
2622
2623         fclose: avoid double close race when possible
2624         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
2625         all but WINDOWS_SOCKETS.
2626
2627 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
2628
2629         openat: correct new comment
2630         * lib/openat-proc.c (openat_proc_name): Correct the comment.
2631
2632 2011-05-10  Jim Meyering  <meyering@redhat.com>
2633
2634         openat: add comments
2635         * lib/openat-proc.c (openat_proc_name): Add comments,
2636         mostly from Eric Blake.
2637
2638 2011-05-09  Eric Blake  <eblake@redhat.com>
2639
2640         openat: reduce syscalls in first probe of /proc
2641         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
2642         be a directory.  Simplify the probe for .. bugs.
2643         * modules/openat (Depends-on): Drop same-inode.
2644         Reported by Bastien ROUCARIES.
2645
2646 2011-05-09  Jim Meyering  <meyering@redhat.com>
2647
2648         maint.mk: change semantics/name of tight_scope variables
2649         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
2650         Rename variables to align with semantics that make them more useful.
2651
2652         maint.mk: tweak new rule's name not to impinge
2653         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
2654         (sc_tight_scope): Use new rule name rather than $@-0.
2655
2656         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
2657         * top/maint.mk (sc_tight_scope): New rule.
2658         (sc_tight_scope-0): New rule, ifdef'd out.
2659         (_gl_TS_dir): Default.
2660         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
2661         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
2662
2663 2011-05-09  Simon Josefsson  <simon@josefsson.org>
2664
2665         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
2666         Haible <bruno@clisp.org>.
2667
2668 2011-05-08  Bruno Haible  <bruno@clisp.org>
2669
2670         Comments.
2671         * m4/isnanf.m4: Add comment.
2672         * m4/isnanl.m4: Likewise.
2673
2674 2011-05-08  Bruno Haible  <bruno@clisp.org>
2675
2676         glob: Remove obsolete macro.
2677         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
2678
2679 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
2680
2681         intprops: Sun C 5.11 supports __typeof__
2682         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
2683         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
2684         which is new.
2685         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
2686
2687         intprops: switch to usual gnulib indenting and naming
2688         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
2689         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
2690
2691         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
2692
2693 2011-05-08  Jim Meyering  <meyering@redhat.com>
2694
2695         maint.mk: suppress "Entering/Leaving directory" diag in announcement
2696         * top/maint.mk (release-prep): Use make's --no-print-directory
2697         option when generating the announcement.  This eliminates the
2698         pesky "make[2]: Entering/Leaving directory" diagnostics in the
2699         generated announcement template.
2700
2701 2011-05-08  Bruno Haible  <bruno@clisp.org>
2702
2703         tzset: Fix gettimeofday wrapper on Solaris 2.6.
2704         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
2705         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
2706
2707 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2708
2709         ignore-value, verify: Omit include files from lib_SOURCES.
2710         * modules/ignore-value, modules/verify (Makefile.am):
2711         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
2712         that leads Automake to duplicate use of am__objects_... variables
2713         in Makefile.in.  See
2714         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
2715
2716 2011-05-07  Bruno Haible  <bruno@clisp.org>
2717
2718         fclose: Simplify autoconf macro.
2719         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
2720         defined.
2721
2722 2011-05-07  Bruno Haible  <bruno@clisp.org>
2723
2724         canonicalize-lgpl: Fix autoconf macro ordering bug.
2725         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
2726         gl_STDLIB_H_DEFAULTS.
2727
2728 2011-05-06  Eric Blake  <eblake@redhat.com>
2729
2730         maintainer-makefile: make sc_po_check easier to tune
2731         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
2732         to probe for strings, such as an alternate location for gnulib.
2733
2734         fclose: guarantee behavior on seekable stdin
2735         * modules/fclose (Depends-on): Add fflush.
2736         * doc/posix-functions/fclose.texi (fclose): Document this.
2737         * tests/test-fclose.c (main): Make test for this unconditional.
2738
2739 2011-05-06  Bruno Haible  <bruno@clisp.org>
2740
2741         fflush, fpurge: Relicense under LGPLv2+.
2742         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
2743         * modules/fpurge (License): Likewise.
2744         With permission from Eric Blake and Jim Meyering.
2745         Suggested by Eric Blake.
2746
2747 2011-05-06  Karl Berry  <karl@gnu.org>
2748
2749         * MODULES.html.sh (func_all_modules): remove exit.
2750
2751 2011-05-06  Jim Meyering  <meyering@redhat.com>
2752
2753         maint.mk: use info-gnu@ as the default only for a stable release
2754         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
2755         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
2756         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
2757         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
2758
2759 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2760
2761         assert-h: new module, which supports C1X-style static_assert
2762         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
2763         * lib/verify.h: Revamp so that this can be copied into assert.h,
2764         while retaining the ability to use it standalone as before.
2765         Rename private identifiers so as not to encroach on the
2766         standard C namespace, since this is now used by assert.h.
2767         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
2768         the old verify_true.
2769         (_GL_VERIFY_TRUE): New macro, with much of the contents of
2770         the old verify_true.  Use _GL_VERIFY_TYPE.
2771         (_GL_VERIFY): New macro, with much of the contents of the old verify.
2772         (static_assert): New macro, if _GL_STATIC_ASSERT_H
2773         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
2774         defined when this file is copied into the replacement assert.h.
2775         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
2776         and _Static_assert is not built in.
2777         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
2778         defined, and use the new macros mentioned above.
2779         * doc/posix-headers/assert.texi: Document this.
2780
2781 2011-05-05  Bruno Haible  <bruno@clisp.org>
2782
2783         fclose, fflush: Respect rules for use of AC_LIBOBJ.
2784         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
2785         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
2786         gl_REPLACE_FCLOSE here.
2787         * modules/fflush (Depends-on): Remove fclose.
2788         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
2789         combination with module 'fclose'.
2790
2791 2011-05-05  Bruno Haible  <bruno@clisp.org>
2792
2793         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
2794         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
2795         gl_FUNC_FFLUSH.
2796         (gl_FUNC_FFLUSH): Use it.
2797         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
2798         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
2799         gl_REPLACE_FSEEKO here.
2800
2801 2011-05-05  Bruno Haible  <bruno@clisp.org>
2802
2803         tzset: Relicense under LGPL.
2804         * modules/tzset (License): Change to LGPL.
2805         No agreement needed; it's a no-op.
2806
2807         strtoimax, strtoumax: Relicense under LGPL.
2808         * modules/strtoimax (License): Change to LGPL.
2809         * modules/strtoumax (License): Likewise.
2810         With permission from Jim Meyering, Paul Eggert:
2811         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
2812         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
2813
2814         getgroups: Relicense under LGPL.
2815         * modules/getgroups (License): Change to LGPL.
2816         With permission from Jim Meyering, Paul Eggert, Eric Blake:
2817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
2818         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
2819         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2820
2821         nanosleep: Relicense under LGPL.
2822         * modules/nanosleep (License): Change to LGPL.
2823         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
2824         Haible:
2825         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
2826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
2827         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2828         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
2829
2830         futimens: Relicense under LGPL.
2831         * modules/futimens (License): Change to LGPL.
2832         With permission from Eric Blake:
2833         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2834
2835         fflush: Relicense under LGPL.
2836         * modules/fflush (License): Change to LGPL.
2837         With permission from Eric Blake, Bruno Haible, Jim Meyering:
2838         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2839         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
2840         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
2841
2842         tmpfile: Relicense under LGPL.
2843         * modules/tmpfile (License): Change to LGPL.
2844         With permission from Ben Pfaff:
2845         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
2846
2847         isfinite: Relicense under LGPL.
2848         * modules/isfinite (License): Change to LGPL.
2849         With permission from Ben Pfaff, Bruno Haible:
2850         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
2851         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
2852
2853         acosl..tanl: Relicense under LGPL.
2854         * modules/acosl (License): Change to LGPL.
2855         * modules/asinl (License): Likewise.
2856         * modules/atanl (License): Likewise.
2857         * modules/cosl (License): Likewise.
2858         * modules/expl (License): Likewise.
2859         * modules/logl (License): Likewise.
2860         * modules/sinl (License): Likewise.
2861         * modules/sqrtl (License): Likewise.
2862         * modules/tanl (License): Likewise.
2863         Source code originally from glibc and Paolo Bonzini. Agreements:
2864         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
2865         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
2866
2867 2011-05-05  Bruno Haible  <bruno@clisp.org>
2868
2869         signal: Define sighandler_t.
2870         * lib/signal.in.h (sighandler_t): New type.
2871         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
2872         whether sighandler_t is defined.
2873         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
2874         * modules/signal (Depends-on): Add extensions.
2875         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
2876         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
2877         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
2878
2879 2011-05-05  Eric Blake  <eblake@redhat.com>
2880
2881         maint: remove useless REPLACE_*_H macros
2882         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
2883         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
2884         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
2885         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
2886         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
2887         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
2888         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
2889         * m4/btowc.m4: Update callers.
2890         * m4/dirfd.m4: Likewise.
2891         * m4/duplocale.m4: Likewise.
2892         * m4/fchdir.m4: Likewise.
2893         * m4/fdopendir.m4: Likewise.
2894         * m4/inet_ntop.m4: Likewise.
2895         * m4/inet_pton.m4: Likewise.
2896         * m4/ioctl.m4: Likewise.
2897         * m4/mbrlen.m4: Likewise.
2898         * m4/mbrtowc.m4: Likewise.
2899         * m4/mbsinit.m4: Likewise.
2900         * m4/mbsnrtowcs.m4: Likewise.
2901         * m4/mbsrtowcs.m4: Likewise.
2902         * m4/poll.m4: Likewise.
2903         * m4/setlocale.m4: Likewise.
2904         * m4/wcrtomb.m4: Likewise.
2905         * m4/wcsnrtombs.m4: Likewise.
2906         * m4/wcsrtombs.m4: Likewise.
2907         * m4/wctob.m4: Likewise.
2908         * m4/wcwidth.m4: Likewise.
2909         * modules/posix_spawn: Likewise.
2910         * modules/posix_spawn_file_actions_addclose: Likewise.
2911         * modules/posix_spawn_file_actions_adddup2: Likewise.
2912         * modules/posix_spawn_file_actions_addopen: Likewise.
2913         * modules/posix_spawn_file_actions_destroy: Likewise.
2914         * modules/posix_spawn_file_actions_init: Likewise.
2915         * modules/posix_spawnattr_destroy: Likewise.
2916         * modules/posix_spawnattr_getflags: Likewise.
2917         * modules/posix_spawnattr_getpgroup: Likewise.
2918         * modules/posix_spawnattr_getschedparam: Likewise.
2919         * modules/posix_spawnattr_getschedpolicy: Likewise.
2920         * modules/posix_spawnattr_getsigdefault: Likewise.
2921         * modules/posix_spawnattr_getsigmask: Likewise.
2922         * modules/posix_spawnattr_init: Likewise.
2923         * modules/posix_spawnattr_setflags: Likewise.
2924         * modules/posix_spawnattr_setpgroup: Likewise.
2925         * modules/posix_spawnattr_setschedparam: Likewise.
2926         * modules/posix_spawnattr_setschedpolicy: Likewise.
2927         * modules/posix_spawnattr_setsigdefault: Likewise.
2928         * modules/posix_spawnattr_setsigmask: Likewise.
2929         * modules/posix_spawnp: Likewise.
2930
2931 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
2932
2933         Add option to do-release-commit-and-tag to specify branch.
2934         * build-aux/do-release-commit-and-tag: Add --branch.
2935
2936 2011-05-03  Bruno Haible  <bruno@clisp.org>
2937
2938         Avoid unnecessary compilation units, through conditional dependencies.
2939         * modules/accept (Depends-on): Add conditions to the dependencies.
2940         * modules/acosl (Depends-on): Likewise.
2941         * modules/argz (Depends-on): Likewise.
2942         * modules/asinl (Depends-on): Likewise.
2943         * modules/atanl (Depends-on): Likewise.
2944         * modules/atoll (Depends-on): Likewise.
2945         * modules/bind (Depends-on): Likewise.
2946         * modules/btowc (Depends-on): Likewise.
2947         * modules/canonicalize-lgpl (Depends-on): Likewise.
2948         * modules/ceil (Depends-on): Likewise.
2949         * modules/ceilf (Depends-on): Likewise.
2950         * modules/ceill (Depends-on): Likewise.
2951         * modules/chdir-long (Depends-on): Likewise.
2952         * modules/chown (Depends-on): Likewise.
2953         * modules/close (Depends-on): Likewise.
2954         * modules/connect (Depends-on): Likewise.
2955         * modules/cosl (Depends-on): Likewise.
2956         * modules/dirfd (Depends-on): Likewise.
2957         * modules/dprintf (Depends-on): Likewise.
2958         * modules/dprintf-posix (Depends-on): Likewise.
2959         * modules/error (Depends-on): Likewise.
2960         * modules/euidaccess (Depends-on): Likewise.
2961         * modules/expl (Depends-on): Likewise.
2962         * modules/faccessat (Depends-on): Likewise.
2963         * modules/fchdir (Depends-on): Likewise.
2964         * modules/fclose (Depends-on): Likewise.
2965         * modules/fcntl (Depends-on): Likewise.
2966         * modules/fdopendir (Depends-on): Likewise.
2967         * modules/fflush (Depends-on): Likewise.
2968         * modules/floor (Depends-on): Likewise.
2969         * modules/floorf (Depends-on): Likewise.
2970         * modules/floorl (Depends-on): Likewise.
2971         * modules/fnmatch (Depends-on): Likewise.
2972         * modules/fopen (Depends-on): Likewise.
2973         * modules/fprintf-posix (Depends-on): Likewise.
2974         * modules/frexp (Depends-on): Likewise.
2975         * modules/frexp-nolibm (Depends-on): Likewise.
2976         * modules/frexpl (Depends-on): Likewise.
2977         * modules/frexpl-nolibm (Depends-on): Likewise.
2978         * modules/fseek (Depends-on): Likewise.
2979         * modules/fsusage (Depends-on): Likewise.
2980         * modules/ftell (Depends-on): Likewise.
2981         * modules/ftello (Depends-on): Likewise.
2982         * modules/futimens (Depends-on): Likewise.
2983         * modules/getcwd (Depends-on): Likewise.
2984         * modules/getcwd-lgpl (Depends-on): Likewise.
2985         * modules/getdelim (Depends-on): Likewise.
2986         * modules/getdomainname (Depends-on): Likewise.
2987         * modules/getgroups (Depends-on): Likewise.
2988         * modules/gethostname (Depends-on): Likewise.
2989         * modules/getline (Depends-on): Likewise.
2990         * modules/getlogin_r (Depends-on): Likewise.
2991         * modules/getopt-posix (Depends-on): Likewise.
2992         * modules/getpeername (Depends-on): Likewise.
2993         * modules/getsockname (Depends-on): Likewise.
2994         * modules/getsockopt (Depends-on): Likewise.
2995         * modules/getsubopt (Depends-on): Likewise.
2996         * modules/getusershell (Depends-on): Likewise.
2997         * modules/glob (Depends-on): Likewise.
2998         * modules/grantpt (Depends-on): Likewise.
2999         * modules/iconv_open (Depends-on): Likewise.
3000         * modules/iconv_open-utf (Depends-on): Likewise.
3001         * modules/inet_ntop (Depends-on): Likewise.
3002         * modules/inet_pton (Depends-on): Likewise.
3003         * modules/ioctl (Depends-on): Likewise.
3004         * modules/isapipe (Depends-on): Likewise.
3005         * modules/isfinite (Depends-on): Likewise.
3006         * modules/isinf (Depends-on): Likewise.
3007         * modules/lchown (Depends-on): Likewise.
3008         * modules/ldexpl (Depends-on): Likewise.
3009         * modules/link (Depends-on): Likewise.
3010         * modules/linkat (Depends-on): Likewise.
3011         * modules/listen (Depends-on): Likewise.
3012         * modules/logl (Depends-on): Likewise.
3013         * modules/lstat (Depends-on): Likewise.
3014         * modules/mbrlen (Depends-on): Likewise.
3015         * modules/mbrtowc (Depends-on): Likewise.
3016         * modules/mbsinit (Depends-on): Likewise.
3017         * modules/mbsnrtowcs (Depends-on): Likewise.
3018         * modules/mbsrtowcs (Depends-on): Likewise.
3019         * modules/mbtowc (Depends-on): Likewise.
3020         * modules/memcmp (Depends-on): Likewise.
3021         * modules/mkdir (Depends-on): Likewise.
3022         * modules/mkdtemp (Depends-on): Likewise.
3023         * modules/mkfifo (Depends-on): Likewise.
3024         * modules/mkfifoat (Depends-on): Likewise.
3025         * modules/mknod (Depends-on): Likewise.
3026         * modules/mkostemp (Depends-on): Likewise.
3027         * modules/mkostemps (Depends-on): Likewise.
3028         * modules/mkstemp (Depends-on): Likewise.
3029         * modules/mkstemps (Depends-on): Likewise.
3030         * modules/mktime (Depends-on): Likewise.
3031         * modules/nanosleep (Depends-on): Likewise.
3032         * modules/open (Depends-on): Likewise.
3033         * modules/openat (Depends-on): Likewise.
3034         * modules/perror (Depends-on): Likewise.
3035         * modules/poll (Depends-on): Likewise.
3036         * modules/popen (Depends-on): Likewise.
3037         * modules/posix_spawn (Depends-on): Likewise.
3038         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
3039         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
3040         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
3041         * modules/posix_spawnp (Depends-on): Likewise.
3042         * modules/pread (Depends-on): Likewise.
3043         * modules/printf-posix (Depends-on): Likewise.
3044         * modules/ptsname (Depends-on): Likewise.
3045         * modules/putenv (Depends-on): Likewise.
3046         * modules/pwrite (Depends-on): Likewise.
3047         * modules/readline (Depends-on): Likewise.
3048         * modules/readlink (Depends-on): Likewise.
3049         * modules/readlinkat (Depends-on): Likewise.
3050         * modules/recv (Depends-on): Likewise.
3051         * modules/recvfrom (Depends-on): Likewise.
3052         * modules/regex (Depends-on): Likewise.
3053         * modules/remove (Depends-on): Likewise.
3054         * modules/rename (Depends-on): Likewise.
3055         * modules/renameat (Depends-on): Likewise.
3056         * modules/rmdir (Depends-on): Likewise.
3057         * modules/round (Depends-on): Likewise.
3058         * modules/roundf (Depends-on): Likewise.
3059         * modules/roundl (Depends-on): Likewise.
3060         * modules/rpmatch (Depends-on): Likewise.
3061         * modules/select (Depends-on): Likewise.
3062         * modules/send (Depends-on): Likewise.
3063         * modules/sendto (Depends-on): Likewise.
3064         * modules/setenv (Depends-on): Likewise.
3065         * modules/setlocale (Depends-on): Likewise.
3066         * modules/setsockopt (Depends-on): Likewise.
3067         * modules/shutdown (Depends-on): Likewise.
3068         * modules/sigaction (Depends-on): Likewise.
3069         * modules/signbit (Depends-on): Likewise.
3070         * modules/sigprocmask (Depends-on): Likewise.
3071         * modules/sinl (Depends-on): Likewise.
3072         * modules/sleep (Depends-on): Likewise.
3073         * modules/snprintf (Depends-on): Likewise.
3074         * modules/snprintf-posix (Depends-on): Likewise.
3075         * modules/socket (Depends-on): Likewise.
3076         * modules/sprintf-posix (Depends-on): Likewise.
3077         * modules/sqrtl (Depends-on): Likewise.
3078         * modules/stat (Depends-on): Likewise.
3079         * modules/strchrnul (Depends-on): Likewise.
3080         * modules/strdup-posix (Depends-on): Likewise.
3081         * modules/strerror (Depends-on): Likewise.
3082         * modules/strerror_r-posix (Depends-on): Likewise.
3083         * modules/strndup (Depends-on): Likewise.
3084         * modules/strnlen (Depends-on): Likewise.
3085         * modules/strptime (Depends-on): Likewise.
3086         * modules/strsep (Depends-on): Likewise.
3087         * modules/strsignal (Depends-on): Likewise.
3088         * modules/strstr-simple (Depends-on): Likewise.
3089         * modules/strtod (Depends-on): Likewise.
3090         * modules/strtoimax (Depends-on): Likewise.
3091         * modules/strtok_r (Depends-on): Likewise.
3092         * modules/strtoumax (Depends-on): Likewise.
3093         * modules/symlink (Depends-on): Likewise.
3094         * modules/symlinkat (Depends-on): Likewise.
3095         * modules/tanl (Depends-on): Likewise.
3096         * modules/tcgetsid (Depends-on): Likewise.
3097         * modules/tmpfile (Depends-on): Likewise.
3098         * modules/trunc (Depends-on): Likewise.
3099         * modules/truncf (Depends-on): Likewise.
3100         * modules/truncl (Depends-on): Likewise.
3101         * modules/uname (Depends-on): Likewise.
3102         * modules/unlink (Depends-on): Likewise.
3103         * modules/unlockpt (Depends-on): Likewise.
3104         * modules/unsetenv (Depends-on): Likewise.
3105         * modules/usleep (Depends-on): Likewise.
3106         * modules/utimensat (Depends-on): Likewise.
3107         * modules/vasprintf (Depends-on): Likewise.
3108         * modules/vdprintf (Depends-on): Likewise.
3109         * modules/vdprintf-posix (Depends-on): Likewise.
3110         * modules/vfprintf-posix (Depends-on): Likewise.
3111         * modules/vprintf-posix (Depends-on): Likewise.
3112         * modules/vsnprintf (Depends-on): Likewise.
3113         * modules/vsnprintf-posix (Depends-on): Likewise.
3114         * modules/vsprintf-posix (Depends-on): Likewise.
3115         * modules/wcrtomb (Depends-on): Likewise.
3116         * modules/wcscasecmp (Depends-on): Likewise.
3117         * modules/wcscspn (Depends-on): Likewise.
3118         * modules/wcsdup (Depends-on): Likewise.
3119         * modules/wcsncasecmp (Depends-on): Likewise.
3120         * modules/wcsnrtombs (Depends-on): Likewise.
3121         * modules/wcspbrk (Depends-on): Likewise.
3122         * modules/wcsrtombs (Depends-on): Likewise.
3123         * modules/wcsspn (Depends-on): Likewise.
3124         * modules/wcsstr (Depends-on): Likewise.
3125         * modules/wcstok (Depends-on): Likewise.
3126         * modules/wcswidth (Depends-on): Likewise.
3127         * modules/wctob (Depends-on): Likewise.
3128         * modules/wctomb (Depends-on): Likewise.
3129         * modules/wctype (Depends-on): Likewise.
3130         * modules/wcwidth (Depends-on): Likewise.
3131         * modules/write (Depends-on): Likewise.
3132
3133 2011-05-03  Bruno Haible  <bruno@clisp.org>
3134
3135         Support for conditional dependencies.
3136         * doc/gnulib.texi (Module description): Document the syntax of
3137         conditional dependencies.
3138         * gnulib-tool: New option --conditional-dependencies.
3139         (func_usage): Document it.
3140         (cond_dependencies): New variable.
3141         (func_get_automake_snippet_conditional,
3142         func_get_automake_snippet_unconditional): New functions, extracted from
3143         func_get_automake_snippet.
3144         (func_get_automake_snippet): Use them.
3145         (sed_first_32_chars): New variable.
3146         (func_module_shellfunc_name): New function.
3147         (func_module_shellvar_name): New function.
3148         (func_module_conditional_name): New function.
3149         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
3150         func_cond_module_condition): New functions.
3151         (func_modules_transitive_closure): Add support for conditional
3152         dependencies.
3153         (func_emit_lib_Makefile_am): For a conditional module, enclose the
3154         conditional automake snippet in an automake conditional.
3155         (func_emit_autoconf_snippets): Emit shell functions that contain the
3156         code for conditional modules.
3157         (func_import, func_create_testdir): Update specification.
3158
3159 2011-05-03  Eric Blake  <eblake@redhat.com>
3160
3161         test-getaddrinfo: report error information
3162         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
3163
3164 2011-05-03  Jim Meyering  <meyering@redhat.com>
3165
3166         bootstrap: avoid build failure when $GZIP is set
3167         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
3168         program name.  If defined at all, it is supposed to list gzip options.
3169         Reported by Alan Curry in http://debbugs.gnu.org/8609
3170
3171 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
3172
3173         readme-release: new module with release instructions
3174         * modules/readme-release: New module.
3175         * top/README-release: New file, from coreutils, grep, diffutils.
3176         * MODULES.html.sh (Support for maintaining and releasing): Add it.
3177
3178 2011-05-02  Eric Blake  <eblake@redhat.com>
3179
3180         fflush: also replace fclose when fixing fflush
3181         * modules/fflush (Depends-on): Add fclose.
3182         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
3183         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
3184         memstreams with no backing fd.
3185         * doc/posix-functions/fclose.texi (fclose): Document the use of
3186         fflush module to fix the bug.
3187         * tests/test-fclose.c (main): Relax test when fclose is used in
3188         isolation.
3189
3190         fclose: add some tests
3191         * modules/fclose-tests: New test module.
3192         * tests/test-fclose.c: New file.
3193         * doc/posix-functions/fclose.texi (fclose): Document the bug.
3194
3195         fclose: reduced dependencies
3196         * modules/fclose (Depends-on): Switch from fflush/fseeko to
3197         simpler lseek.
3198         * lib/fclose.c (rpl_fclose): Likewise.
3199         Reported by Simon Josefsson.
3200
3201         exit: drop remaining clients
3202         * modules/argmatch (Depends-on): Replace exit with stdlib.
3203         * modules/copy-file (Depends-on): Likewise.
3204         * modules/execute (Depends-on): Likewise.
3205         * modules/exitfail (Depends-on): Likewise.
3206         * modules/obstack (Depends-on): Likewise.
3207         * modules/pagealign_alloc (Depends-on): Likewise.
3208         * modules/pipe-filter-gi (Depends-on): Likewise.
3209         * modules/pipe-filter-ii (Depends-on): Likewise.
3210         * modules/savewd (Depends-on): Likewise.
3211         * modules/spawn-pipe (Depends-on): Likewise.
3212         * modules/wait-process (Depends-on): Likewise.
3213         * modules/xsetenv (Depends-on): Likewise.
3214         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
3215         * modules/git-merge-changelog (Depends-on): Likewise.
3216         * modules/long-options (Depends-on): Likewise.
3217         * modules/pt_chown (Depends-on): Likewise.
3218         * modules/sysexits (Depends-on): Likewise.
3219
3220         freading: relax license from LGPLv3+ to LGPLv2+
3221         * modules/freading (License): Relax LGPL version.
3222
3223 2011-05-02  Bruno Haible  <bruno@clisp.org>
3224
3225         fchdir: Remove unused dependencies.
3226         * modules/fchdir (Depends-on): Remove include_next.
3227
3228 2011-05-02  Bruno Haible  <bruno@clisp.org>
3229
3230         gnulib-tool: Refactor.
3231         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
3232         from func_emit_autoconf_snippets.
3233         (func_emit_autoconf_snippets): Use it.
3234
3235 2011-05-02  Simon Josefsson  <simon@josefsson.org>
3236
3237         * NEWS: Document removal of 'exit'.
3238         * modules/exit: Remove file.
3239
3240 2011-05-01  Bruno Haible  <bruno@clisp.org>
3241
3242         Update DEPENDENCIES.
3243         * DEPENDENCIES (gettext): Recommend the newest release.
3244         Reported by Simon Josefsson.
3245
3246 2011-05-01  Bruno Haible  <bruno@clisp.org>
3247
3248         gnulib-tool: Reduce code duplication.
3249         * gnulib-tool (func_emit_autoconf_snippets): New function.
3250         (func_import, func_create_testdir): Use it.
3251
3252 2011-04-30  Eric Blake  <eblake@redhat.com>
3253
3254         fclose: don't fail on non-seekable input stream
3255         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
3256         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
3257         since fflush is allowed to fail in that case.
3258
3259 2011-04-30  Bruno Haible  <bruno@clisp.org>
3260
3261         dup3: cleanup
3262         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
3263
3264 2011-04-30  Bruno Haible  <bruno@clisp.org>
3265
3266         netdb: Make it work in C++ mode.
3267         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
3268         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
3269         module.
3270         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
3271         gl_MODULE_INDICATOR_FOR_TESTS.
3272         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
3273         * modules/netdb-c++-tests: New file.
3274         * tests/test-netdb-c++.cc: New file.
3275
3276 2011-04-30  Bruno Haible  <bruno@clisp.org>
3277
3278         New modules 'vfscanf', 'vscanf'.
3279         * modules/vfscanf: New file.
3280         * modules/vscanf: New file.
3281         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
3282         here.
3283         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
3284         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
3285
3286 2011-04-30  Bruno Haible  <bruno@clisp.org>
3287
3288         passfd: Add comments.
3289         * lib/passfd.c: Add comments about platforms.
3290
3291 2011-04-30  Bruno Haible  <bruno@clisp.org>
3292
3293         sys_uio: Make <sys/uio.h> self-contained.
3294         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
3295         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
3296
3297 2011-04-30  Bruno Haible  <bruno@clisp.org>
3298
3299         sys_socket: Ensure 'struct iovec' definition.
3300         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
3301         <sys/socket.h>.
3302         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
3303
3304 2011-04-30  Bruno Haible  <bruno@clisp.org>
3305
3306         sys_uio: Protect definition of 'struct iovec'.
3307         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
3308         it as a C struct.
3309
3310 2011-04-30  Bruno Haible  <bruno@clisp.org>
3311
3312         manywarnings: fix indentation
3313         * m4/manywarnings.m4: Indent by 2 spaces consistently.
3314
3315 2011-04-30  Pádraig Brady <P@draigBrady.com>
3316
3317         manywarnings: add -Wno-missing-field-initializers if needed.
3318         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
3319         option if it's needed to allow initialization with { 0, }
3320
3321 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
3322
3323         announce-gen: cosmetic improvement
3324         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
3325
3326 2011-04-29  Jim Meyering  <meyering@redhat.com>
3327
3328         vc-list-files: indent with spaces, not TABs
3329         * build-aux/vc-list-files: Convert leading TABs to spaces,
3330         to match the style of most other files in gnulib.
3331
3332         announce-gen: indent with spaces, not TABs
3333         * build-aux/announce-gen: Convert all TABs to spaces, to match
3334         the style of most other files in gnulib.
3335
3336 2011-04-29  Eric Blake  <eblake@redhat.com>
3337
3338         quotearg: avoid uninitialized variable use
3339         * lib/quotearg.c (quoting_options_from_style): Initialize
3340         remaining fields, and ensure that custom styles are only used via
3341         quoting_options rather than quoting_style.
3342
3343 2011-04-29  Jim Meyering  <meyering@redhat.com>
3344
3345         maint.mk: remove unused VC-tag variable
3346         * top/maint.mk (VC-tag): Remove unused variable.
3347
3348 2011-04-29  Bruno Haible  <bruno@clisp.org>
3349
3350         netdb: fix gai_strerror replacements
3351         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
3352         * modules/netdb: Substitute it.
3353
3354 2011-04-29  Jim Meyering  <meyering@redhat.com>
3355
3356         test-getcwd.c: avoid new set-but-not-used warning
3357         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
3358         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
3359         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
3360         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
3361
3362         test-hash.c: avoid a new shadowing warning
3363         * tests/test-hash.c (main): Don't shadow "dup".
3364
3365 2011-04-28  Eric Blake  <eblake@redhat.com>
3366
3367         getaddrinfo: fix gai_strerror signature
3368         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
3369         and work around mingw with UNICODE defined.
3370         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
3371         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
3372         * modules/netdb (Makefile.am): Substitute it.
3373         * lib/netdb.in.h (gai_strerror): Declare replacement.
3374         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
3375         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
3376         the fix.
3377
3378         getsockopt: avoid compiler warning
3379         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
3380         Reported by Matthias Bolte.
3381
3382         tests: drop unused link dependency
3383         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
3384         * modules/dirent-safer-tests (Makefile.am): Likewise.
3385         * modules/fdopendir-tests (Makefile.am): Likewise.
3386         * modules/mkfifoat-tests (Makefile.am): Likewise.
3387         * modules/openat-safer-tests (Makefile.am): Likewise.
3388         * modules/openat-tests (Makefile.am): Likewise.
3389         * modules/readlinkat-tests (Makefile.am): Likewise.
3390         * modules/symlinkat-tests (Makefile.am): Likewise.
3391         * modules/linkat-tests (Makefile.am): Likewise.
3392         (Depends-on): Switch to filenamecat-lgpl.
3393         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
3394         LIBINTL.
3395         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
3396         * tests/test-linkat.c (main): Don't require xalloc.
3397
3398         hash, mgetgroups: drop xalloc dependency
3399         * lib/hash.c (includes): Adjust includes.
3400         * lib/mgetgroups.c (includes): Likewise.
3401         (xgetgroups): Move...
3402         * lib/xgetgroups.c: ...to new file.
3403         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
3404         * modules/xgetgroups: New file, split from...
3405         * modules/mgetgroups: ...here.
3406         (Depends-on): Add xalloc-oversized.
3407         * modules/hash (Depends-on): Likewise.
3408         * modules/hash-tests (Depends-on): Drop xalloc.
3409         (test_hash_LDADD): Drop unused library.
3410         * tests/test-hash.c (main): Break xalloc dependency.
3411         (includes): Drop unused include.
3412
3413         xalloc-oversized: new module
3414         * modules/xalloc-oversized: New module.
3415         * modules/xalloc (Depends-on): Add it.
3416         * lib/xalloc.h (xalloc_oversized): Move...
3417         * lib/xalloc-oversized.h: ...into new file.
3418
3419         utimecmp: drop dependency on xmalloc
3420         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
3421         due to memory pressure.
3422         * modules/utimecmp (Depends-on): Drop xalloc.
3423
3424 2011-04-27  Eric Blake  <eblake@redhat.com>
3425
3426         getcwd: fix mingw bugs
3427         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
3428         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
3429         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
3430
3431 2011-04-27  Bruno Haible  <bruno@clisp.org>
3432
3433         mkstemps: Ensure declaration on MacOS X 10.5.
3434         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
3435         * doc/glibc-functions/mkstemps.texi: Document header file problem on
3436         MacOS X.
3437
3438 2011-04-27  Bruno Haible  <bruno@clisp.org>
3439
3440         mkstemp: More documentation.
3441         * doc/posix-functions/mkstemp.texi: Document header file problem on
3442         MacOS X.
3443
3444 2011-04-27  Bruno Haible  <bruno@clisp.org>
3445
3446         mkstemp: Tweak configure message when cross-compiling.
3447         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
3448         result as a guess.
3449
3450 2011-04-27  Bruno Haible  <bruno@clisp.org>
3451
3452         clean-temp: Clarify what it does.
3453         * lib/clean-temp.h: Add more comments.
3454         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
3455         module.
3456         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
3457         * doc/glibc-functions/mkstemps.texi: Likewise.
3458         * doc/glibc-functions/mkostemps.texi: Likewise.
3459
3460 2011-04-27  Eric Blake  <eblake@redhat.com>
3461
3462         fchdir: avoid extra chdir and fix test
3463         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
3464         getcwd-lgpl.
3465         * lib/fchdir.c (get_name): Any absolute name will do; it does not
3466         have to be canonical.
3467         (canonicalize_file_name): Drop unused macro.
3468         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
3469
3470         filenamecat-lgpl: fix licence
3471         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
3472         when it was first created.
3473
3474         linkat, renameat: add missing dependency
3475         * modules/linkat (Depends-on): Require getcwd-lgpl.
3476         * modules/renameat (Depends-on): Likewise.
3477
3478         tests: reduce dependencies
3479         * tests/test-linkat.c (main): Use lighter-weight getcwd.
3480         * tests/test-renameat.c (main): Likewise.
3481         * modules/linkat-tests (Depends-on): Relax dependency.
3482         * modules/renameat-tests (Depends-on): Likewise.
3483         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
3484         dependency explicit.
3485
3486         save-cwd: reduce default dependency
3487         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
3488         * lib/save-cwd.c: Update comments.
3489         * NEWS: Document the semantic change.
3490
3491         getcwd: enhance tests
3492         * tests/test-getcwd-lgpl.c: New file, taken from...
3493         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
3494         repeat long path stress tests from m4 probe.
3495         * modules/getcwd-lgpl-tests: New module.
3496         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
3497         * m4/getcwd-abort-bug.m4: Update comment.
3498         * m4/getcwd-path-max.m4: Likewise.
3499
3500         getcwd-lgpl: new module
3501         * modules/getcwd-lgpl: New module.
3502         * lib/getcwd-lgpl.c: New file.
3503         * doc/posix-functions/getcwd.texi (getcwd): Document it.
3504         * MODULES.html.sh (lacking POSIX:2008): Likewise.
3505         * modules/getcwd (configure.ac): Set C witness.
3506         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
3507
3508         getcwd: tweak comments
3509         * m4/getcwd-abort-bug.m4: Fix comments.
3510         * m4/getcwd-path-max.m4: Likewise.
3511         * m4/getcwd.m4: Likewise.
3512
3513 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
3514         and Eric Blake  <eblake@redhat.com>
3515
3516         mkstemp: replace if system version uses wrong permissions
3517         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
3518         read/write mode bits set in file created by mkstemp.
3519         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
3520
3521 2011-04-27  Eric Blake  <eblake@redhat.com>
3522
3523         passfd: avoid compiler warning
3524         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
3525         Reported by Laine Stump.
3526
3527 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
3528
3529         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
3530         required by the NetBSD (and perhaps other 4.4BSD derived) join.
3531
3532 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
3533         and Eric Blake  <eblake@redhat.com>
3534
3535         mkstemp: mention clean-temp module
3536         * lib/mkstemp.c: Add comment.
3537         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
3538
3539 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
3540
3541         inttypes: also provide default values for 32-bit tests
3542         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
3543         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
3544
3545 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
3546
3547         strtoumax: remove dependency on strtoimax
3548         This is like the strtoull change of yesterday.
3549         * modules/strtoumax (Files): Add lib/strtoimax.c.
3550         (Depends-on): Remove strtoimax and add verify.
3551
3552         inttypes-incomplete: new module
3553         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
3554         all but the PRI* and SCN* parts of gl_INTTYPES_H.
3555         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
3556         of gl_INTTYPES_H.
3557         (gl_INTTYPES_H): Rewrite in terms of these new macros.
3558         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
3559         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
3560         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
3561         * modules/strtoumax, modules/xstrtol (Depends-on):
3562         Depend on inttypes-incomplete, not inttypes.
3563         * modules/inttypes-incomplete: New module, containing the contents
3564         of the old modules/inttypes module, except that the Files: section
3565         omits m4/inttypes-pri.m4, and the configure.ac section invokes
3566         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
3567         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
3568         (Depends-on): Depend only on inttypes-incomplete.
3569         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
3570
3571         inttypes: omit now-redundant strtoimax and strtoumax work
3572         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
3573         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
3574
3575         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
3576         This supports apps that need pointers to strtoimax and strtoumax,
3577         and ports to HP-UX 11.00 64.bit, which has macros that expand to
3578         nonexistent functions.  See
3579         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
3580         et seq.
3581         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
3582         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
3583         a macro.
3584         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
3585
3586 2011-04-25  Simon Josefsson  <simon@josefsson.org>
3587
3588         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
3589
3590 2011-04-25  Bruno Haible  <bruno@clisp.org>
3591
3592         strtol, strtoul: Mark modules as obsolete.
3593         * modules/strtol (Status, Notice): New sections.
3594         * modules/strtoul (Status, Notice): New sections.
3595
3596 2011-04-25  Bruno Haible  <bruno@clisp.org>
3597
3598         strtod: Remove check for strtod, unless supporting old platforms.
3599         * modules/strtod-obsolete: New file.
3600         * m4/strtod-obsolete.m4: New file.
3601         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
3602         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
3603         * modules/strtod (Depends-on): Add strtod-obsolete.
3604         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
3605
3606 2011-04-25  Bruno Haible  <bruno@clisp.org>
3607
3608         strcase: Make module obsolete.
3609         * modules/strcase (Status, Notice): New sections.
3610
3611 2011-04-25  Bruno Haible  <bruno@clisp.org>
3612
3613         dup2: Remove check for dup2, unless supporting old obsolete platforms.
3614         * modules/dup2-obsolete: New file.
3615         * m4/dup2-obsolete.m4: New file.
3616         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
3617         gl_FUNC_DUP2_OBSOLETE is not also defined.
3618         * modules/dup2 (Depends-on): Add dup2-obsolete.
3619         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
3620
3621 2011-04-25  Bruno Haible  <bruno@clisp.org>
3622
3623         strnlen: Avoid memchr related link error on old obsolete platforms.
3624         * modules/memchr-obsolete: New file.
3625         * m4/memchr-obsolete.m4: New file.
3626         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
3627         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
3628         * modules/memchr (Depends-on): Add memchr-obsolete.
3629         * modules/strnlen (Depends-on): Likewise.
3630         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
3631
3632 2011-04-25  Jim Meyering  <meyering@redhat.com>
3633
3634         maint.mk: makefile_at_at_check extend and clean up
3635         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
3636         in addition to */Makefile.am.
3637         Exempt legitimate uses of @VAR@ notation, e.g.,
3638         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
3639         Remove obsolete coreutils-specific comment.
3640         Prompted by discussion here:
3641         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
3642
3643 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
3644
3645         strtoul: remove dependency on strtol
3646         This is so that 'configure' need not check for strtol merely because
3647         the application needs strtoul.
3648         * modules/strtoul (Files): Add lib/strtol.c.
3649         (Depends-on): Remove strtol.
3650
3651         strtoull: remove dependency on strtoul
3652         This is like the strtoll change.
3653         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
3654         (Depends-on): Remove strtoul.
3655
3656         strtoll: remove dependency on strtol
3657         This is so that 'configure' need not check for strtol merely because
3658         the application needs strtoll.
3659         * modules/strtoll (Files): Add lib/strtol.c.
3660         (Depends-on): Remove strtol.
3661
3662 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3663
3664         inttypes: Move some configure check to module 'imaxdiv'.
3665         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
3666         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
3667         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
3668
3669 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3670
3671         inttypes: Move some configure check to module 'imaxabs'.
3672         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
3673         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
3674         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
3675
3676 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3677
3678         inttypes: Remove configure tests that are not needed since 2009-12-31.
3679         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
3680         gl_cv_header_working_inttypes_h.
3681
3682 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3683
3684         * modules/strnlen (Depends-on): Remove memchr.
3685         The strnlen implementation doesn't need the memchr module's fixes; see
3686         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
3687
3688         strtol: remove dependency on wchar
3689         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
3690         * modules/strtol (Depends-on): Remove wchar.
3691
3692 2011-04-21  Eric Blake  <eblake@redhat.com>
3693
3694         passfd: fix test regression on Linux
3695         * modules/passfd-tests (configure.ac): Correct socketpair check.
3696
3697         passfd: speed up configure and drop unused code
3698         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
3699         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
3700         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
3701         Instead of probing at configure for unix_scm_rights_bsd44_way,
3702         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
3703         check to a struct member probe.
3704         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
3705         (sendfd, recvfd): Update preprocessor checks.
3706         * modules/passfd (Files): Reflect rename, and drop unused file.
3707         (Depends-on): Drop unused dependency.
3708
3709         passfd: allow compilation on mingw
3710         * modules/sys_socket (Depends-on): Add sys_uio.
3711         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
3712         iovec and a minimal struct msghdr.
3713         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
3714         * tests/test-sys_socket.c (main): Enhance test.
3715         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
3716         guaranteed to provide what we need.
3717         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
3718         * modules/passfd-tests (Depends-on): Add sys_wait.
3719         * tests/test-passfd.c (main): Skip test on mingw, for now.
3720         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
3721         partial 'struct msghdr' implementation.
3722
3723         sys_uio: new module
3724         * modules/sys_uio: New module.
3725         * modules/sys_uio-tests: Likewise.
3726         * lib/sys_uio.in.h: New file.
3727         * m4/sys_uio_h.m4: Likewise.
3728         * tests/test-sys_uio.c: Likewise.
3729         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
3730         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
3731
3732 2011-04-20  Jim Meyering  <meyering@redhat.com>
3733
3734         useless-if-before-free: avoid false-positive
3735         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
3736         disjunct so that it too requires a terminating ";".  Without that,
3737         this script would identify as useless one statement from gcc that
3738         was not:
3739           if (aligned_ptr)
3740             free (((void **) aligned_ptr) [-1]);
3741
3742 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
3743
3744         doc: update users.txt.
3745         * users.txt: Add barcode.
3746
3747 2011-04-19  Bruno Haible  <bruno@clisp.org>
3748
3749         ioctl: Remove link dependency on native Windows.
3750         * lib/fd-hook.h: Renamed from lib/close-hook.h.
3751         (gl_close_fn, gl_ioctl_fn): New types.
3752         (struct fd_hook): Renamed from struct close_hook. Change type of
3753         private_close_fn field. Add private_ioctl_fn field.
3754         (close_hook_fn): Add parameter for primary close method.
3755         (execute_close_hooks, execute_all_close_hooks): Likewise.
3756         (ioctl_hook_fn): New type.
3757         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
3758         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
3759         argument.
3760         (unregister_fd_hook): Renamed from unregister_close_hook.
3761         * lib/fd-hook.c: Renamed from lib/close-hook.c.
3762         Don't include <unistd.h>.
3763         (close): Remove undef.
3764         (anchor): Update.
3765         (execute_close_hooks): Add argument for primary close method.
3766         (execute_all_close_hooks): Likewise.
3767         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
3768         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
3769         argument. Allow each argument to be NULL.
3770         (unregister_fd_hook): Renamed from unregister_close_hook.
3771         * lib/close.c (rpl_close): Pass 'close' function pointer to
3772         execute_all_close_hooks.
3773         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
3774         (primary_ioctl): New function.
3775         (ioctl): Don't call ioctlsocket here. Instead, call
3776         execute_all_ioctl_hooks.
3777         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
3778         close method.
3779         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
3780         (fd_sockets_hook): Renamed from close_sockets_hook.
3781         (gl_sockets_startup, gl_sockets_cleanup): Update.
3782         * modules/fd-hook: Renamed from modules/close-hook. Update.
3783         * modules/close (Depends-on): Add fd-hook, remove close-hook.
3784         * modules/sockets (Depends-on): Likewise.
3785         * modules/ioctl (Depends-on): Add fd-hook.
3786         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
3787         GNULIB_SOCKET.
3788
3789 2011-04-19  Bruno Haible  <bruno@clisp.org>
3790
3791         Move the support of O_NONBLOCK in open() to the 'open' module.
3792         * modules/nonblocking (Depends-on): Remove 'open'.
3793         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
3794         gl_cv_have_open_O_NONBLOCK.
3795         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
3796         O_NONBLOCK support.
3797         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
3798
3799 2011-04-17  Bruno Haible  <bruno@clisp.org>
3800
3801         pipe2: Simplify code.
3802         * lib/pipe2.c (pipe2): Reduce code duplication.
3803
3804 2011-04-17  Bruno Haible  <bruno@clisp.org>
3805
3806         nonblocking: Add comment.
3807         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
3808
3809 2011-04-17  Bruno Haible  <bruno@clisp.org>
3810
3811         nonblocking: Add tests for sockets.
3812         * tests/test-nonblocking-socket.sh: New file.
3813         * tests/test-nonblocking-socket-main.c: New file.
3814         * tests/test-nonblocking-socket-child.c: New file.
3815         * tests/test-nonblocking-socket.h: New file.
3816         * tests/socket-server.h: New file.
3817         * tests/socket-client.h: New file.
3818         * modules/nonblocking-socket-tests: New file.
3819         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
3820
3821 2011-04-17  Bruno Haible  <bruno@clisp.org>
3822
3823         nonblocking: Add tests for pipes.
3824         * tests/test-nonblocking-pipe.sh: New file.
3825         * tests/test-nonblocking-pipe-main.c: New file.
3826         * tests/test-nonblocking-pipe-child.c: New file.
3827         * tests/test-nonblocking-pipe.h: New file.
3828         * tests/test-nonblocking-writer.h: New file.
3829         * tests/test-nonblocking-reader.h: New file.
3830         * tests/test-nonblocking-misc.h: New file.
3831         * modules/nonblocking-pipe-tests: New file.
3832         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
3833
3834 2011-04-16  Bruno Haible  <bruno@clisp.org>
3835
3836         gettext: Clarify the needed programmer actions.
3837         * modules/gettext (Notice): New field.
3838         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
3839
3840 2011-04-16  Bruno Haible  <bruno@clisp.org>
3841
3842         strchrnul: Tweak last commit.
3843         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
3844         bug.
3845         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
3846         as in _GL_FUNCDECL_SYS.
3847         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
3848         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
3849
3850 2011-04-15  Eric Blake  <eblake@redhat.com>
3851
3852         strchrnul: work around cygwin bug
3853         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
3854         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
3855         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
3856         * modules/string (Makefile.am): Substitute it.
3857         * lib/string.in.h (strchrnul): Use it.
3858
3859 2011-04-15  Bruno Haible  <bruno@clisp.org>
3860
3861         Don't require lib/stdio-write.c when only module 'stdio' is used.
3862         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
3863         invocation.
3864         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
3865
3866 2011-04-14  Bruno Haible  <bruno@clisp.org>
3867
3868         Support non-blocking pipe I/O in read() on native Windows.
3869         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
3870         (read): New declaration.
3871         * lib/read.c: New file.
3872         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
3873         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
3874         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
3875         vscanf): New declarations.
3876         * lib/stdio-read.c: New file.
3877         * m4/read.m4: New file.
3878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
3879         REPLACE_READ.
3880         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
3881         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
3882         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
3883         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
3884         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
3885         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
3886         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
3887         * modules/read: New file.
3888         * modules/nonblocking (Files): Add lib/stdio-read.c.
3889         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
3890         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
3891         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
3892         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
3893         * modules/pread (Depends-on): Add read.
3894         * modules/safe-read (Depends-on): Likewise.
3895         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
3896         gets, scanf, vfscanf, vscanf): Verify signatures.
3897         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
3898         problem with non-blocking pipes.
3899         * doc/posix-functions/fgetc.texi: Likewise.
3900         * doc/posix-functions/fgets.texi: Likewise.
3901         * doc/posix-functions/fread.texi: Likewise.
3902         * doc/posix-functions/fscanf.texi: Likewise.
3903         * doc/posix-functions/getc.texi: Likewise.
3904         * doc/posix-functions/getchar.texi: Likewise.
3905         * doc/posix-functions/gets.texi: Likewise.
3906         * doc/posix-functions/scanf.texi: Likewise.
3907         * doc/posix-functions/vfscanf.texi: Likewise.
3908         * doc/posix-functions/vscanf.texi: Likewise.
3909
3910 2011-04-14  Bruno Haible  <bruno@clisp.org>
3911
3912         Support non-blocking pipe I/O in write() on native Windows.
3913         * lib/write.c (rpl_write): Split a write request that failed merely
3914         because the byte count was larger than the pipe buffer's size.
3915         * doc/posix-functions/write.texi: Mention the problem with large byte
3916         counts.
3917
3918 2011-04-14  Bruno Haible  <bruno@clisp.org>
3919
3920         wchar: Ensure that wchar_t gets defined on uClibc.
3921         * lib/wchar.in.h: On uClibc, include <stddef.h>.
3922         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
3923
3924 2011-04-13  Bruno Haible  <bruno@clisp.org>
3925
3926         safe-write, full-read: Avoid unnecessary compilation units.
3927         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
3928         (Depends-on): Remove safe-read. Add ssize_t.
3929         * modules/full-read (Files): Add lib/full-write.c.
3930         (Depends-on): Add full-write.
3931
3932 2011-04-13  Bruno Haible  <bruno@clisp.org>
3933
3934         Support non-blocking pipe I/O and SIGPIPE in pwrite().
3935         * modules/pwrite (Depends-on): Add 'write'.
3936
3937 2011-04-13  Bruno Haible  <bruno@clisp.org>
3938
3939         Support non-blocking pipe I/O in write() on native Windows.
3940         * lib/unistd.in.h (write): Enable replacement also if
3941         GNULIB_UNISTD_H_NONBLOCKING is 1.
3942         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
3943         (rpl_write): When failing to write on a non-blocking pipe, change
3944         errno from ENOSPC to EAGAIN.
3945         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
3946         putchar, puts, vfprintf, vprintf): Enable replacement also if
3947         GNULIB_STDIO_H_NONBLOCKING is 1.
3948         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
3949         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
3950         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
3951         CALL_WITH_SIGPIPE_EMULATION.
3952         (CALL_WITH_SIGPIPE_EMULATION): Use them.
3953         * m4/nonblocking.m4: New file.
3954         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
3955         for non-blocking I/O support.
3956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3957         GNULIB_UNISTD_H_NONBLOCKING.
3958         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
3959         required for non-blocking I/O support.
3960         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
3961         * modules/nonblocking (Files): Add m4/nonblocking.m4,
3962         lib/stdio-write.c, m4/asm-underscore.m4.
3963         (Depends-on): Add stdio, unistd.
3964         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
3965         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
3966         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
3967         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
3968         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
3969         problem with non-blocking pipes.
3970         * doc/posix-functions/fputc.texi: Likewise.
3971         * doc/posix-functions/fputs.texi: Likewise.
3972         * doc/posix-functions/fwrite.texi: Likewise.
3973         * doc/posix-functions/printf.texi: Likewise.
3974         * doc/posix-functions/putc.texi: Likewise.
3975         * doc/posix-functions/putchar.texi: Likewise.
3976         * doc/posix-functions/puts.texi: Likewise.
3977         * doc/posix-functions/vfprintf.texi: Likewise.
3978         * doc/posix-functions/vprintf.texi: Likewise.
3979         * doc/posix-functions/write.texi: Likewise.
3980
3981 2011-04-10  Jim Meyering  <meyering@redhat.com>
3982
3983         maint.mk: prohibit doubled words
3984         Detect them also when they're separated by a newline.
3985         There are 3 ways to customize it:
3986           - disable the test on a per file basis, as usual with rules using
3987             $(VC_LIST_EXCEPT)
3988           - replace the default doubled-word-selecting regexp (affects all files)
3989           - ignore a particular file-vs-doubled-word match
3990         I nearly used that last one to ignore the "is is" match in
3991         coreutils' NEWS file, since the text was "ls -is is ..."
3992         To do that, I would have added this line to cfg.mk:
3993           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
3994         but it would have ignored any "is is" match in NEWS.
3995         Low probability, but still...
3996         Instead, I changed the text, slightly:
3997           -  ls -is is now consistent with ls -lis in ignoring values returned
3998           +  "ls -is" is now consistent with ls -lis in ignoring values returned
3999         * top/maint.mk (prohibit_double_word_RE_): Provide default.
4000         (prohibit_doubled_word_): Define.
4001         (sc_prohibit_doubled_word): New rule.
4002         (sc_prohibit_the_the): Remove.  Subsumed by the above.
4003
4004 2011-04-10  Jim Meyering  <meyering@redhat.com>
4005
4006         maint: fix doubled-word typo in comment
4007         * m4/gethostname.m4: s/is is/it is/
4008         * m4/getdomainname.m4: Likewise.
4009
4010 2011-04-10  Jim Meyering  <meyering@redhat.com>
4011
4012         maint: remove doubled word: s/it it/it/
4013         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
4014
4015 2011-04-10  Jim Meyering  <meyering@redhat.com>
4016
4017         maint.mk: remove useless semicolon and backslash
4018         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
4019         semicolon and backslash.
4020
4021 2011-04-10  Bruno Haible  <bruno@clisp.org>
4022
4023         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
4024         * modules/stdint-tests (Depends-on): Add wchar.
4025
4026 2011-04-10  Jim Meyering  <meyering@redhat.com>
4027
4028         maint: remove doubled words in comments, e.g., s/a a/a/
4029         * lib/strptime.c (day_of_the_week): s/the the/the/
4030         * tests/test-chown.h (test_chown): s/a a/a/
4031
4032         test-chown.h: correct a cast
4033         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
4034         when the destination is a stat.st_gid.
4035
4036 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
4037
4038         getaddrinfo: Fix test for sa_len member.
4039         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
4040         include <sys/types.h> before <sys/socket.h>.
4041
4042 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4043
4044         maint: change "can not" to "cannot"
4045         * doc/posix-functions/iconv.texi (iconv): This one crossed line
4046         boundaries.
4047
4048 2011-04-09  Jim Meyering  <meyering@redhat.com>
4049
4050         maint: change "a a" to "a"
4051         * tests/test-lchown.h (test_lchown): s/a a/a/
4052
4053         maint.mk: prohibit \<the the\>
4054         * top/maint.mk (sc_prohibit_the_the): New rule.
4055
4056         maint: fix "the the" in comment
4057         * lib/count-one-bits.h: s/the the/the/
4058
4059         maint: change "can not" to "cannot"
4060         But do not change the occurrences in maintain.texi or in
4061         build-aux/po/Makefile.in.in, which I presume comes from gettext.
4062         * doc/gnulib-tool.texi: s/can not/cannot/
4063         * doc/posix-functions/accept.texi (accept): Likewise.
4064         * doc/posix-functions/socket.texi (socket): Likewise.
4065         * lib/mbrtowc.c: Likewise.
4066
4067         maint.mk: prohibit use of "can not"
4068         * top/maint.mk (sc_prohibit_can_not): New rule.
4069         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
4070
4071 2011-04-09  Bruno Haible  <bruno@clisp.org>
4072
4073         careadlinkat: Guard against misuse of careadlinkatcwd.
4074         * lib/careadlinkat.c: Include <stdlib.h>.
4075         (careadlinkatcwd): Check that the fd argument is as expected.
4076
4077 2011-04-09  Bruno Haible  <bruno@clisp.org>
4078
4079         careadlinkat: Use common coding style.
4080         * lib/careadlinkat.c: Move gnulib includes after system includes.
4081
4082 2011-04-09  Bruno Haible  <bruno@clisp.org>
4083
4084         careadlinkat: Clarify specification.
4085         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
4086         (careadlinkatcwd): Add comment.
4087         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
4088
4089 2011-04-09  Bruno Haible  <bruno@clisp.org>
4090
4091         areadlinkat: Avoid link error on many platforms.
4092         * modules/areadlinkat (Depends-on): Add areadlink.
4093
4094 2011-04-09  Bruno Haible  <bruno@clisp.org>
4095
4096         allocator, careadlinkat: Fix double-inclusion guard.
4097         * lib/allocator.h: Fix double-inclusion guard.
4098         * lib/careadlinkat.h: Likewise.
4099
4100 2011-04-09  Bruno Haible  <bruno@clisp.org>
4101
4102         relocatable-prog-wrapper: Update after module 'areadlink' changed.
4103         * lib/relocwrapper.c: Update dependencies hierarchy.
4104         * build-aux/install-reloc: Update list of files to be compiled.
4105         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
4106         lib/allocator.[hc].
4107
4108 2011-04-08  Eric Blake  <eblake@redhat.com>
4109
4110         strftime: silence gnulib-tool warning
4111         * modules/strftime-tests (Depends-on): Drop automatic dependency.
4112
4113 2011-04-08  Bruno Haible  <bruno@clisp.org>
4114
4115         verify: Fix syntax error with GCC 4.6 in C++ mode.
4116         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
4117         (HAVE_STATIC_ASSERT): New macro.
4118         (verify_true, verify): Use 'static_assert' if it is supported and
4119         '_Static_assert' is not supported.
4120
4121 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
4122
4123         allocator: New module.
4124         * modules/allocator, lib/allocator.c: New files.
4125         * lib/allocator.h (stdlib_allocator): New decl.
4126         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
4127         Remove.  Do not include <stdlib.h>.
4128         (careadlinkat): Use stdlib_allocator instead of rolling our own.
4129         * modules/careadlinkat (Files): Remove lib/allocator.h.
4130         (Depends-on): Add allocator.
4131
4132         stdlib: let modules use system malloc, realloc
4133         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
4134         if !_GL_USE_STDLIB_ALLOC.
4135         (malloc, realloc): Limit this change to a smaller scope.
4136
4137         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
4138         (malloc, realloc): Don't #undef; no longer needed.
4139         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4140         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4141         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
4142         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4143         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4144         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4145         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4146         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
4147
4148         careadlinkat: rename members to avoid problem
4149         * lib/allocator.h (struct allocator): Rename members from
4150         malloc/realloc to allocate/reallocate, to avoid problems if malloc
4151         and realloc are #define'd.  Reported by Eric Blake in
4152         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
4153         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
4154
4155 2011-04-08  Eric Blake  <eblake@redhat.com>
4156
4157         nonblocking: reduce dependency
4158         * tests/test-nonblocking.c: Only test sockets when in use.
4159         * modules/nonblocking-tests (Depends-on): Drop socket.
4160         (Makefile.am): Link even if sockets are not present.
4161         * modules/pipe2-tests (Makefile.am): Likewise.
4162         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
4163
4164         pipe2: fix O_NONBLOCK support on mingw
4165         * modules/pipe2 (Depends-on): Add nonblocking.
4166         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
4167         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
4168         * tests/test-nonblocking.c (main): Likewise.
4169         * modules/pipe2-tests (Makefile.am): Avoid link failure.
4170
4171         fcntl-h: fix O_ACCMODE on cygwin
4172         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
4173         * lib/fcntl.in.h (O_ACCMODE): Fix it.
4174
4175         pipe-filter: drop O_NONBLOCK workarounds
4176         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
4177         * modules/pipe-filter-ii (Depends-on): Likewise.
4178         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
4179
4180         nonblocking: provide O_NONBLOCK for mingw
4181         * modules/nonblocking (Depends-on): Add open.
4182         (configure.ac): Set new witness macro.
4183         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
4184         * modules/fcntl-h (Makefile.am): Substitute it.
4185         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
4186         nonblocking module is in use.
4187         * lib/nonblocking.c: Adjust portability test.
4188         * lib/open.c (open): Don't let native open see gnulib flag.
4189         * tests/test-fcntl-h.c (main): Enhance test.
4190         * tests/test-open.h (test_open): Likewise.
4191         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
4192
4193         careadlinkat: fix compilation error on mingw
4194         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
4195         within struct allocator.
4196
4197 2011-04-06  Eric Blake  <eblake@redhat.com>
4198
4199         binary-io: relicense under LGPLv2+
4200         * modules/binary-io (License): Relax to LGPLv2+.
4201         Requested for libvirt, and required by pipe2.
4202
4203 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
4204
4205         verify: use _Static_assert if available
4206         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
4207         (verify_true, verify): Use it if available.  This generates better
4208         diagnostics with GCC 4.6.0 and later.
4209
4210 2011-04-05  Bruno Haible  <bruno@clisp.org>
4211
4212         Remove leftover generated .h files after config.status changed.
4213
4214         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
4215         GL_GENERATE_ALLOCA_H.
4216         * modules/alloca-opt (Makefile.am): Remove alloca.h if
4217         GL_GENERATE_ALLOCA_H evaluates to false.
4218
4219         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
4220         GL_GENERATE_ARGZ_H.
4221         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
4222         evaluates to false.
4223
4224         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
4225         GL_GENERATE_BYTESWAP_H.
4226         * modules/byteswap (Makefile.am): Remove byteswap.h if
4227         GL_GENERATE_BYTESWAP_H evaluates to false.
4228
4229         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
4230         GL_GENERATE_ERRNO_H.
4231         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
4232         evaluates to false.
4233
4234         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
4235         GL_GENERATE_FLOAT_H.
4236         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
4237         evaluates to false.
4238
4239         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
4240         GL_GENERATE_FNMATCH_H.
4241         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
4242         GL_GENERATE_FNMATCH_H evaluates to false.
4243
4244         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
4245         GL_GENERATE_GLOB_H.
4246         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
4247         evaluates to false.
4248
4249         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
4250         automake conditional GL_GENERATE_ICONV_H.
4251         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
4252         evaluates to false.
4253
4254         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
4255         GL_GENERATE_NETINET_IN_H.
4256         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
4257         GL_GENERATE_NETINET_IN_H evaluates to false.
4258
4259         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
4260         conditional GL_GENERATE_PTHREAD_H.
4261         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
4262         * modules/pthread (Makefile.am): Remove pthread.h if
4263         GL_GENERATE_PTHREAD_H evaluates to false.
4264
4265         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
4266         GL_GENERATE_SCHED_H.
4267         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
4268         evaluates to false.
4269
4270         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
4271         conditional GL_GENERATE_SELINUX_CONTEXT_H.
4272         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
4273         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
4274
4275         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
4276         GL_GENERATE_STDARG_H.
4277         * modules/stdarg (Makefile.am): Remove stdarg.h if
4278         GL_GENERATE_STDARG_H evaluates to false.
4279
4280         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
4281         GL_GENERATE_STDBOOL_H.
4282         * modules/stdbool (Makefile.am): Remove stdbool.h if
4283         GL_GENERATE_STDBOOL_H evaluates to false.
4284
4285         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
4286         conditional GL_GENERATE_STDDEF_H.
4287         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
4288         * modules/stddef (Makefile.am): Remove stddef.h if
4289         GL_GENERATE_STDDEF_H evaluates to false.
4290
4291         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
4292         GL_GENERATE_STDINT_H.
4293         * modules/stdint (Makefile.am): Remove stdint.h if
4294         GL_GENERATE_STDINT_H evaluates to false.
4295
4296         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
4297         GL_GENERATE_SYSEXITS_H.
4298         * modules/sysexits (Makefile.am): Remove sysexits.h if
4299         GL_GENERATE_SYSEXITS_H evaluates to false.
4300
4301         Reported by Karl Berry and Ralf Wildenhues.
4302
4303 2011-04-05  Bruno Haible  <bruno@clisp.org>
4304
4305         Ensure to rebuild generated .h files when config.status has changed.
4306         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
4307         config.status.
4308         * modules/ctype (Makefile.am): Likewise.
4309         * modules/dirent (Makefile.am): Likewise.
4310         * modules/errno (Makefile.am): Likewise.
4311         * modules/fcntl-h (Makefile.am): Likewise.
4312         * modules/float (Makefile.am): Likewise.
4313         * modules/getopt-posix (Makefile.am): Likewise.
4314         * modules/glob (Makefile.am): Likewise.
4315         * modules/iconv-h (Makefile.am): Likewise.
4316         * modules/inttypes (Makefile.am): Likewise.
4317         * modules/langinfo (Makefile.am): Likewise.
4318         * modules/locale (Makefile.am): Likewise.
4319         * modules/math (Makefile.am): Likewise.
4320         * modules/netdb (Makefile.am): Likewise.
4321         * modules/netinet_in (Makefile.am): Likewise.
4322         * modules/poll-h (Makefile.am): Likewise.
4323         * modules/pthread (Makefile.am): Likewise.
4324         * modules/pty (Makefile.am): Likewise.
4325         * modules/sched (Makefile.am): Likewise.
4326         * modules/search (Makefile.am): Likewise.
4327         * modules/selinux-h (Makefile.am): Likewise.
4328         * modules/signal (Makefile.am): Likewise.
4329         * modules/spawn (Makefile.am): Likewise.
4330         * modules/stdarg (Makefile.am): Likewise.
4331         * modules/stdbool (Makefile.am): Likewise.
4332         * modules/stddef (Makefile.am): Likewise.
4333         * modules/stdint (Makefile.am): Likewise.
4334         * modules/stdio (Makefile.am): Likewise.
4335         * modules/stdlib (Makefile.am): Likewise.
4336         * modules/string (Makefile.am): Likewise.
4337         * modules/strings (Makefile.am): Likewise.
4338         * modules/sys_file (Makefile.am): Likewise.
4339         * modules/sys_ioctl (Makefile.am): Likewise.
4340         * modules/sys_select (Makefile.am): Likewise.
4341         * modules/sys_socket (Makefile.am): Likewise.
4342         * modules/sys_stat (Makefile.am): Likewise.
4343         * modules/sys_time (Makefile.am): Likewise.
4344         * modules/sys_times (Makefile.am): Likewise.
4345         * modules/sys_utsname (Makefile.am): Likewise.
4346         * modules/sys_wait (Makefile.am): Likewise.
4347         * modules/sysexits (Makefile.am): Likewise.
4348         * modules/termios (Makefile.am): Likewise.
4349         * modules/time (Makefile.am): Likewise.
4350         * modules/unistd (Makefile.am): Likewise.
4351         * modules/wchar (Makefile.am): Likewise.
4352         * modules/wctype-h (Makefile.am): Likewise.
4353         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
4354
4355 2011-04-05  Bruno Haible  <bruno@clisp.org>
4356
4357         pipe2: Relicense under LGPLv2+.
4358         * modules/pipe2 (License): Change to LGPLv2+.
4359         Requested by Eric Blake, for libvirt.
4360
4361 2011-04-05  Bruce Korb  <bkorb@gnu.org>
4362
4363         bootstrap: compute gnulib_extra_files after updating build_aux
4364         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
4365         change build_aux or also supply gnulib_extra_files.  Handle correctly.
4366
4367 2011-04-05  Eric Blake  <eblake@redhat.com>
4368
4369         bootstrap: preserve git whitelist item sorting
4370         * build-aux/bootstrap (sort_patterns): New function.
4371         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
4372
4373 2011-04-05  Simon Josefsson  <simon@josefsson.org>
4374
4375         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
4376         sc_space_tab check.
4377
4378 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
4379
4380         areadlink, areadlinkat: rewrite in terms of careadlinkat
4381         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
4382         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
4383         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
4384         (malloc, realloc): Remove #undefs.
4385         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
4386         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
4387         readlink, ssize_t, stdint, unistd.
4388         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
4389         areadlink, stdint.
4390
4391         careadlinkat: new module
4392         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
4393         * modules/careadlinkat: New files, written by me with
4394         a review and feedback from Ben Pfaff in
4395         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
4396
4397 2011-04-01  Bruno Haible  <bruno@clisp.org>
4398
4399         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
4400         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
4401         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
4402         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
4403         Reported by Bruce Korb <bruce.korb@gmail.com>.
4404
4405 2011-04-01  Bruno Haible  <bruno@clisp.org>
4406
4407         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
4408         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
4409         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
4410         * modules/wcpcpy (Depends-on): Add extensions.
4411         * modules/wcpncpy (Depends-on): Likewise.
4412         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
4413         systems.
4414         * doc/posix-functions/wcpncpy.texi: Likewise.
4415         * doc/posix-functions/wcwidth.texi: Likewise.
4416
4417 2011-03-31  Eric Blake  <eblake@redhat.com>
4418
4419         nonblocking: fix mingw test failures
4420         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
4421         non-blocking flag on regular file.
4422         (get_nonblocking_flag): Set errno on invalid fd.
4423         * tests/test-nonblocking.c (main): Avoid test failure on
4424         directories if fchdir is not active.
4425         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
4426
4427 2011-03-31  Bruno Haible  <bruno@clisp.org>
4428
4429         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
4430         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
4431         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
4432         Reported by Simon Josefsson <simon@josefsson.org>.
4433
4434 2011-03-31  Bruno Haible  <bruno@clisp.org>
4435         and Eric Blake  <eblake@redhat.com>
4436
4437         nonblocking: new module
4438         * modules/nonblocking: New module.
4439         * modules/nonblocking-tests: Likewise.
4440         * lib/nonblocking.h: New file.
4441         * lib/nonblocking.c: Likewise.
4442         * tests/test-nonblocking.c: New test.
4443         * lib/ioctl.c (ioctl) [mingw]: Update comment.
4444
4445 2011-03-30  Bruno Haible  <bruno@clisp.org>
4446
4447         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
4448         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
4449         instead of 'printf' format for GCC >= 4.4.
4450         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
4451         (fprintf, printf, vfprintf, vprintf): Declare with
4452         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
4453         the system's vfprintf() function.
4454         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
4455
4456 2011-03-30  Eric Blake  <eblake@redhat.com>
4457
4458         passfd: fix scoping bug
4459         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
4460         before sendmsg/recvmsg.
4461
4462         passfd: standardize coding conventions
4463         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
4464         can be learned at compile time.
4465         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
4466         ifdefs.
4467         (sendfd, recvfd): Follow gnulib code conventions.
4468
4469         passfd: fix incorrect sendmsg arguments
4470         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
4471         incorrect msg_controllen value.
4472         * modules/passfd-tests (Depends-on): Check for alarm.
4473         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
4474         Reported by Bastien ROUCARIES.
4475
4476 2011-03-30  Bruno Haible  <bruno@clisp.org>
4477
4478         c-strcasestr: Relicense under LGPLv2+.
4479         * modules/c-strcasestr (License): Change to LGPLv2+.
4480         Requested by Eric Blake, for libvirt.
4481
4482 2011-03-30  Simon Josefsson  <simon@josefsson.org>
4483
4484         * users.txt: Add libidn2.  Fix libtasn1 link.
4485
4486 2011-03-30  Jim Meyering  <meyering@redhat.com>
4487
4488         tests: readlink* ("",... fails with EINVAL on newer kernels
4489         readlink and readlinkat have typically failed with ENOENT for
4490         the invalid, empty file name,  "".  However, with the advent
4491         of linux-2.6.39, they fail with EINVAL.
4492         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
4493         when operating on the empty file name.
4494         * tests/test-readlink.h (test_readlink): Likewise.
4495
4496 2011-03-29  Bruno Haible  <bruno@clisp.org>
4497
4498         Relicense some modules under LGPLv2+, for libidn2.
4499         * modules/array-mergesort (License): Change to LGPLv2+.
4500         * modules/c-strcaseeq (License): Likewise.
4501         * modules/striconveh (License): Likewise.
4502         * modules/striconveha (License): Likewise.
4503         * modules/uniconv/base (License): Likewise.
4504         * modules/uniconv/u8-conv-from-enc (License): Likewise.
4505         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
4506         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
4507         * modules/unictype/base (License): Likewise.
4508         * modules/unictype/bidiclass-of (License): Likewise.
4509         * modules/unictype/category-M (License): Likewise.
4510         * modules/unictype/category-none (License): Likewise.
4511         * modules/unictype/category-of (License): Likewise.
4512         * modules/unictype/category-test (License): Likewise.
4513         * modules/unictype/category-test-withtable (License): Likewise.
4514         * modules/unictype/combining-class (License): Likewise.
4515         * modules/unictype/joiningtype-of (License): Likewise.
4516         * modules/unictype/scripts (License): Likewise.
4517         * modules/uninorm/base (License): Likewise.
4518         * modules/uninorm/canonical-decomposition (License): Likewise.
4519         * modules/uninorm/composition (License): Likewise.
4520         * modules/uninorm/decompose-internal (License): Likewise.
4521         * modules/uninorm/decomposition-table (License): Likewise.
4522         * modules/uninorm/nfc (License): Likewise.
4523         * modules/uninorm/nfd (License): Likewise.
4524         * modules/uninorm/u32-normalize (License): Likewise.
4525         * modules/unistr/base (License): Likewise.
4526         * modules/unistr/u32-cpy (License): Likewise.
4527         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
4528         * modules/unistr/u32-to-u8 (License): Likewise.
4529         * modules/unistr/u32-uctomb (License): Likewise.
4530         * modules/unistr/u8-check (License): Likewise.
4531         * modules/unistr/u8-mblen (License): Likewise.
4532         * modules/unistr/u8-mbtouc (License): Likewise.
4533         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
4534         * modules/unistr/u8-mbtoucr (License): Likewise.
4535         * modules/unistr/u8-prev (License): Likewise.
4536         * modules/unistr/u8-strlen (License): Likewise.
4537         * modules/unistr/u8-to-u32 (License): Likewise.
4538         * modules/unistr/u8-uctomb (License): Likewise.
4539         * modules/unitypes (License): Likewise.
4540         Requested by Simon Josefsson.
4541
4542 2011-03-29  Simon Josefsson  <simon@josefsson.org>
4543
4544         lib-symbol-visibility: Add a notice.
4545         * modules/lib-symbol-visibility (Notice): New field.
4546
4547 2011-03-29  Bruno Haible  <bruno@clisp.org>
4548
4549         getaddrinfo: Doc fix.
4550         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
4551         section "fixed in Gnulib".
4552
4553 2011-03-28  Simon Josefsson  <simon@josefsson.org>
4554
4555         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
4556         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
4557
4558 2011-03-26  Bruno Haible  <bruno@clisp.org>
4559
4560         unictype/property-byname: Reduce the number of load-time relocations.
4561         * lib/unictype/pr_byname.c: Include <stdlib.h>.
4562         (UC_PROPERTY_INDEX_*): New enumeration values.
4563         (uc_property_byname): Convert an index from the lookup table to an
4564         uc_property_t.
4565         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
4566         values.
4567
4568 2011-03-26  Bruno Haible  <bruno@clisp.org>
4569
4570         unictype/property-byname: Allow omitted word separators and aliases.
4571         * lib/unictype/pr_byname.gperf: Add property names without word
4572         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
4573         for 'space'.
4574
4575 2011-03-26  Bruno Haible  <bruno@clisp.org>
4576
4577         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
4578         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
4579         also hyphens to space.
4580         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
4581         without spaces.
4582         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
4583
4584 2011-03-26  Bruno Haible  <bruno@clisp.org>
4585
4586         unictype/joiningtype-byname: Recognize long names as well.
4587         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
4588         a long name.
4589         * lib/unictype/joiningtype_byname.c: Include <string.h>,
4590         unictype/joiningtype_byname.h.
4591         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
4592         * lib/unictype/joiningtype_byname.gperf: New file.
4593         * modules/unictype/joiningtype-byname (Files): Add
4594         lib/unictype/joiningtype_byname.gperf.
4595         (Depends-on): Add gperf.
4596         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
4597         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
4598         long names.
4599
4600         Tests for module 'unictype/joiningtype-longname'.
4601         * modules/unictype/joiningtype-longname-tests: New file.
4602         * tests/unictype/test-joiningtype_longname.c: New file.
4603
4604         New module 'unictype/joiningtype-longname'.
4605         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
4606         * lib/unictype/joiningtype_longname.c: New file.
4607         * modules/unictype/joiningtype-longname: New file.
4608         * modules/unictype/joiningtype-all (Depends-on): Add
4609         unictype/joiningtype-longname.
4610
4611 2011-03-26  Bruno Haible  <bruno@clisp.org>
4612
4613         unictype/bidiclass-byname: Recognize long names as well.
4614         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
4615         name.
4616         * lib/unictype/bidi_byname.c: Include <string.h>,
4617         unictype/bidi_byname.h.
4618         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
4619         * lib/unictype/bidi_byname.gperf: New file.
4620         * modules/unictype/bidiclass-byname (Files): Add
4621         lib/unictype/bidi_byname.gperf.
4622         (Depends-on): Add gperf.
4623         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
4624         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
4625         long names.
4626
4627         Tests for module 'unictype/bidiclass-longname'.
4628         * modules/unictype/bidiclass-longname-tests: New file.
4629         * tests/unictype/test-bidi_longname.c: New file.
4630
4631         New module 'unictype/bidiclass-longname'.
4632         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
4633         * lib/unictype/bidi_longname.c: New file.
4634         * modules/unictype/bidiclass-longname: New file.
4635         * modules/unictype/bidiclass-all (Depends-on): Add
4636         unictype/bidiclass-longname.
4637
4638 2011-03-26  Bruno Haible  <bruno@clisp.org>
4639
4640         unictype/bidi*: Rename modules.
4641         * modules/unictype/bidiclass-all: Renamed from
4642         modules/unictype/bidicategory-all.
4643         * modules/unictype/bidiclass-name: Renamed from
4644         modules/unictype/bidiclass-name.
4645         (Description): Update.
4646         * modules/unictype/bidiclass-name-tests: Renamed from
4647         modules/unictype/bidicategory-name-tests.
4648         * modules/unictype/bidiclass-byname: Renamed from
4649         modules/unictype/bidicategory-byname.
4650         (Description): Update.
4651         * modules/unictype/bidiclass-byname-tests: Renamed from
4652         modules/unictype/bidicategory-byname-tests.
4653         * modules/unictype/bidiclass-of: Renamed from
4654         modules/unictype/bidicategory-of.
4655         (Description): Update.
4656         * modules/unictype/bidiclass-of-tests: Renamed from
4657         modules/unictype/bidicategory-of-tests.
4658         * modules/unictype/bidiclass-test: Renamed from
4659         modules/unictype/bidicategory-test.
4660         (Description): Update.
4661         * modules/unictype/bidiclass-test-tests: Renamed from
4662         modules/unictype/bidicategory-test-tests.
4663         * modules/unictype/bidicategory-all: New file, a simple redirection.
4664         * modules/unictype/bidicategory-name: Likewise.
4665         * modules/unictype/bidicategory-byname: Likewise.
4666         * modules/unictype/bidicategory-of: Likewise.
4667         * modules/unictype/bidicategory-test: Likewise.
4668         * modules/unictype/property-bidi-* (Dependencies): Update.
4669         * lib/unictype/bidi_*.c: Update comment.
4670
4671 2011-03-26  Bruno Haible  <bruno@clisp.org>
4672
4673         unictype/bidi*: Rename functions, part 2.
4674         * modules/unictype/bidicategory-name (configure.ac): Update required
4675         libunistring version.
4676         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
4677
4678 2011-03-25  Bruno Haible  <bruno@clisp.org>
4679
4680         New module 'unictype/combining-class-all'.
4681         * modules/unictype/combining-class-all: New file.
4682
4683         Tests for module 'unictype/combining-class-byname'.
4684         * modules/unictype/combining-class-byname-tests: New file.
4685         * tests/unictype/test-combiningclass_byname.c: New file.
4686
4687         New module 'unictype/combining-class-byname'.
4688         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
4689         * lib/unictype/combiningclass_byname.c: New file.
4690         * lib/unictype/combiningclass_byname.gperf: New file.
4691         * modules/unictype/combining-class-byname: New file.
4692
4693         Tests for module 'unictype/combining-class-longname'.
4694         * modules/unictype/combining-class-longname-tests: New file.
4695         * tests/unictype/test-combiningclass_longname.c: New file.
4696
4697         New module 'unictype/combining-class-longname'.
4698         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
4699         * lib/unictype/combiningclass_longname.c: New file.
4700         * modules/unictype/combining-class-longname: New file.
4701
4702         Tests for module 'unictype/combining-class-name'.
4703         * modules/unictype/combining-class-name-tests: New file.
4704         * tests/unictype/test-combiningclass_name.c: New file.
4705
4706         New module 'unictype/combining-class-name'.
4707         * lib/unictype.in.h (uc_combining_class_name): New declaration.
4708         * lib/unictype/combiningclass_name.c: New file.
4709         * modules/unictype/combining-class-name: New file.
4710
4711 2011-03-25  Bruno Haible  <bruno@clisp.org>
4712
4713         unictype/combining-class: Rename source files.
4714         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
4715         of unictype/combining.h.
4716         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
4717         Update.
4718         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
4719         * modules/unictype/combining-class (Description): Fix.
4720         (Files, Makefile.am): Update.
4721         * tests/unictype/test-combiningclass.c: Renamed from
4722         tests/unictype/test-combining.c.
4723         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
4724
4725 2011-03-25  Bruno Haible  <bruno@clisp.org>
4726
4727         unictype: Update list of canonical combining classes.
4728         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
4729
4730 2011-03-25  Bruno Haible  <bruno@clisp.org>
4731
4732         unictype/category-byname: Recognize long names as well.
4733         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
4734         a long name.
4735         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
4736         unictype/categ_byname.h.
4737         (UC_CATEGORY_INDEX_*): New enumeration values.
4738         (uc_general_category_byname): Use uc_general_category_lookup and
4739         convert from index to value.
4740         * lib/unictype/categ_byname.gperf: New file.
4741         * modules/unictype/category-byname (Files): Add
4742         lib/unictype/categ_byname.gperf.
4743         (Depends-on): Add gperf.
4744         (Makefile.am): Add rule for generating unictype/categ_byname.h.
4745         * tests/unictype/test-categ_byname.c (main): Test the recognition of
4746         long names.
4747
4748         Tests for module 'unictype/category-longname'.
4749         * modules/unictype/category-longname-tests: New file.
4750         * tests/unictype/test-categ_longname.c: New file.
4751
4752         New module 'unictype/category-longname'.
4753         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
4754         * lib/unictype/categ_longname.c: New file.
4755         * modules/unictype/category-longname: New file.
4756         * modules/unictype/category-all (Depends-on): Add it.
4757
4758 2011-03-25  Bruno Haible  <bruno@clisp.org>
4759
4760         Tests for module 'unictype/category-LC'.
4761         * modules/unictype/category-LC-tests: New file.
4762         * tests/unictype/test-categ_LC.c: New file, automatically generated.
4763
4764         New module 'unictype/category-LC'.
4765         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
4766         (UC_CATEGORY_LC): New declaration.
4767         (UC_CASED_LETTER): New macro.
4768         * lib/gen-uni-tables.c (is_category_LC): New function.
4769         (output_categories): Also handle category LC.
4770         (UC_CATEGORY_MASK_LC): New enumeration value.
4771         (general_category_byname): Also handle category LC.
4772         * lib/unictype/categ_LC.c: New file.
4773         * lib/unictype/categ_LC.h: New file, automatically generated.
4774         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
4775         category LC.
4776         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
4777         * modules/unictype/category-LC: New file.
4778         * modules/unictype/category-byname (Depends-on): Add
4779         unictype/category-LC.
4780         * modules/unictype/category-all (Depends-on): Likewise.
4781
4782 2011-03-25  Eric Blake  <eblake@redhat.com>
4783
4784         xmalloc: revert yesterday's regression
4785         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
4786         realloc's underlying behavior (allowing allocation of zero-size
4787         objects, especially if malloc-gnu is also in use).
4788
4789 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
4790
4791         maint.mk: add missing version to VC-tag
4792         * top/maint.mk: git tag was missing actual tag name; add it.
4793
4794         valgrind: do leak checking, and exit with code 1 on error (not 0)
4795         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
4796         to VALGRIND.
4797
4798 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
4799
4800         posix-modules: say what it does.
4801         * posix-modules: Add a line to the --help output saying what it does.
4802
4803 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
4804
4805         xmalloc: Do not leak if underlying realloc is C99 compatible.
4806         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
4807         This avoids a leak on C99-based systems.  See
4808         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
4809
4810 2011-03-24  Eric Blake  <eblake@redhat.com>
4811
4812         realloc: document portability problem
4813         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
4814         passing 0 size to realloc.
4815
4816 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
4817
4818         doc: update users.txt
4819         * users.txt: Add cvsps, tmpwatch
4820
4821 2011-03-23  Matt Rice  <ratmice@gmail.com>
4822
4823         doc: update users.txt
4824         * users.txt: Add gdb.
4825
4826 2011-03-23  Jim Meyering  <meyering@redhat.com>
4827
4828         doc: update users.txt
4829         Looking through matches up to the following URL (there are still
4830         several more pages), I found several projects that use gnulib:
4831         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
4832         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
4833         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
4834
4835 2011-03-22  Bruno Haible  <bruno@clisp.org>
4836
4837         unictype/bidi*: Rename functions.
4838         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
4839         uc_bidi_class, uc_is_bidi_class): New declarations.
4840         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
4841         uc_bidi_category_byname.
4842         (uc_bidi_category_byname): New function.
4843         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
4844         u_bidi_category_name.
4845         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
4846         (uc_bidi_category_name): New function.
4847         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
4848         uc_bidi_category.
4849         (uc_bidi_category): New function.
4850         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
4851         uc_is_bidi_category. Invoke uc_bidi_class.
4852         (uc_is_bidi_category): New function.
4853         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
4854         instead of uc_bidi_category_byname.
4855         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
4856         instead of uc_bidi_category_name.
4857         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
4858         uc_bidi_category.
4859         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
4860         instead of uc_is_bidi_category.
4861
4862 2011-03-21  Bruno Haible  <bruno@clisp.org>
4863
4864         New module 'unictype/joininggroup-all'.
4865         * modules/unictype/joininggroup-all: New file.
4866
4867         Tests for module 'unictype/joininggroup-of'.
4868         * modules/unictype/joininggroup-of-tests: New file.
4869         * tests/unictype/test-joininggroup_of.c: New file.
4870         * tests/unictype/test-joininggroup_of.h: New file, automatically
4871         generated by gen-uni-tables.
4872
4873         New module 'unictype/joininggroup-of'.
4874         * modules/unictype/joininggroup-of: New file.
4875         * lib/unictype/joininggroup_of.c: New file.
4876         * lib/unictype/joininggroup_of.h: New file, automatically generated by
4877         gen-uni-tables.
4878
4879         Tests for module 'unictype/joininggroup-byname'.
4880         * modules/unictype/joininggroup-byname-tests: New file.
4881         * tests/unictype/test-joininggroup_byname.c: New file.
4882
4883         New module 'unictype/joininggroup-byname'.
4884         * modules/unictype/joininggroup-byname: New file.
4885         * lib/unictype/joininggroup_byname.c: New file.
4886         * lib/unictype/joininggroup_byname.gperf: New file.
4887
4888         Tests for module 'unictype/joininggroup-name'.
4889         * modules/unictype/joininggroup-name-tests: New file.
4890         * tests/unictype/test-joininggroup_name.c: New file.
4891
4892         New module 'unictype/joininggroup-name'.
4893         * modules/unictype/joininggroup-name: New file.
4894         * lib/unictype/joininggroup_name.c: New file.
4895         * lib/unictype/joininggroup_name.h: New file.
4896
4897         New module 'unictype/joiningtype-all'.
4898         * modules/unictype/joiningtype-all: New file.
4899
4900         Tests for module 'unictype/joiningtype-of'.
4901         * modules/unictype/joiningtype-of-tests: New file.
4902         * tests/unictype/test-joiningtype_of.c: New file.
4903         * tests/unictype/test-joiningtype_of.h: New file, automatically
4904         generated by gen-uni-tables.
4905
4906         New module 'unictype/joiningtype-of'.
4907         * modules/unictype/joiningtype-of: New file.
4908         * lib/unictype/joiningtype_of.c: New file.
4909         * lib/unictype/joiningtype_of.h: New file, automatically generated by
4910         gen-uni-tables.
4911
4912         Tests for module 'unictype/joiningtype-byname'.
4913         * modules/unictype/joiningtype-byname-tests: New file.
4914         * tests/unictype/test-joiningtype_byname.c: New file.
4915
4916         New module 'unictype/joiningtype-byname'.
4917         * modules/unictype/joiningtype-byname: New file.
4918         * lib/unictype/joiningtype_byname.c: New file.
4919
4920         Tests for module 'unictype/joiningtype-name'.
4921         * modules/unictype/joiningtype-name-tests: New file.
4922         * tests/unictype/test-joiningtype_name.c: New file.
4923
4924         New module 'unictype/joiningtype-name'.
4925         * modules/unictype/joiningtype-name: New file.
4926         * lib/unictype/joiningtype_name.c: New file.
4927
4928         unictype: Add support for Arabic shaping properties.
4929         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
4930         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
4931         declarations.
4932         (UC_JOINING_GROUP_*): New enumeration values.
4933         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
4934         declarations.
4935         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
4936         (unicode_joining_type): New variable.
4937         (UC_JOINING_GROUP_*): New enumeration values.
4938         (unicode_joining_group): New variable.
4939         (fill_arabicshaping, joining_type_as_c_identifier,
4940         output_joining_type_test, output_joining_type,
4941         joining_group_as_c_identifier, output_joining_group_test,
4942         output_joining_group): New functions.
4943         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
4944         fill_arabicshaping and output_joining_type_test, output_joining_type,
4945         output_joining_group_test, output_joining_group.
4946         Reported by Simon Josefsson.
4947
4948 2011-03-21  Jim Meyering  <meyering@redhat.com>
4949
4950         strftime: fix a bug in yesterday's change
4951         * lib/strftime.c (add): Accommodate width's initial value of -1.
4952         Otherwise, nstrftime would copy uninitialized data into
4953         the result buffer.
4954
4955 2011-03-21  Jim Meyering  <meyering@redhat.com>
4956
4957         tests: add strftime-tests module
4958         * tests/test-strftime.c: New file.
4959         * modules/strftime-tests: New module.
4960
4961 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
4962
4963         strftime: don't assume a byte count fits in 'int'
4964         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
4965         found this problem by static analysis, using gcc -Wstrict-overflow
4966         (GCC 4.5.2, x86-64).  This reported an optimization that depended
4967         on an integer overflow having undefined behavior, but it turns out
4968         that the argument is a size, which might not fit in 'int' anyway,
4969
4970 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
4971
4972         stdio: don't require ignore_value around fwrite
4973
4974         This patch works around libc bug 11959
4975         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
4976         Without this patch, applications must often write
4977         ignore_value (fwrite (...)) even though the ignore_value is
4978         not helpful here.  It's common to write many objects, using
4979         fwrite/printf/etc., and then use ferror to detect output error.
4980
4981         I considered making this patch optional, but decided against it,
4982         because libc is obviously being inconsistent here: there is no
4983         reason libc should insist that user code must inspect fwrite
4984         return's value without also insisting that it inspect printf's,
4985         putchar's, etc.  If user code wants to have a strict style where
4986         all these functions' values are checked (so that ferror need not
4987         be checked), we could add support for that style in a new gnulib
4988         module, but in the meantime it's better to be consistent and to
4989         support common usage.
4990
4991         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
4992         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
4993         that we are compiling in checking mode, and if not C++, and
4994         if not already wrapping fwrite for some other reason.
4995         (fwrite): #define to rpl_fwrite if the latter is defined.
4996
4997 2011-03-20  Bruno Haible  <bruno@clisp.org>
4998
4999         verror: Fix compilation error introduced on 2011-02-13.
5000         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
5001         instead of __attribute__.
5002         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5003
5004 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5005             Bruno Haible  <bruno@clisp.org>
5006
5007         socklen: do not depend on sys_socket
5008         While trying to modify Emacs to use gnulib's socklen module,
5009         I discovered a circular dependency: socklen depends on sys_socket
5010         and vice versa.  Emacs can use socklen, but it does not need
5011         sys_socket because it has its own substitute for sys/socket.h.
5012         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
5013         gl_TYPE_SOCKLEN_T.
5014         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
5015         gl_PREREQ_SYS_H_SOCKET.
5016         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
5017         gl_PREREQ_SYS_H_SOCKET.
5018         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
5019         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
5020         * modules/socklen (Depends-on): Do not depend on sys_socket.
5021         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
5022
5023 2011-03-20  Jim Meyering  <meyering@redhat.com>
5024
5025         maint.mk: sort file names *after* new transformation
5026         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
5027         prefix would have led to an unwarranted failure in GNU parted.
5028         Sort after that transformation.
5029
5030 2011-03-19  Jim Meyering  <meyering@redhat.com>
5031
5032         maint.mk: fix po-file syntax-check rule
5033         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
5034         Patch by Bruno Haible.
5035
5036 2011-03-19  Bruno Haible  <bruno@clisp.org>
5037
5038         socklen: Update comment.
5039         * m4/socklen.m4: Update comment about platforms.
5040
5041 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
5042             Bruno Haible  <bruno@clisp.org>
5043
5044         inet_ntop, inet_pton: Simplify.
5045         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
5046         documented to provide socklen_t and we already depend on sys_socket.
5047         * modules/inet_pton (Depends-on): Likewise.
5048         * lib/arpa_inet.in.h: Adjust comment.
5049
5050 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
5051             Bruno Haible  <bruno@clisp.org>
5052
5053         netdb: Simplify.
5054         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
5055         documented to provide socklen_t and we already depend on sys_socket.
5056         * lib/netdb.in.h: Adjust comment.
5057
5058 2011-03-19  Bruno Haible  <bruno@clisp.org>
5059
5060         sys_socket, netdb: Document problem with socklen_t.
5061         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
5062         platforms.
5063         * doc/posix-headers/netdb.texi: Likewise.
5064
5065 2011-03-18  Eric Blake  <eblake@redhat.com>
5066
5067         maint.mk: let po check work in VPATH build
5068         * top/maint.mk (po_file): Allow cfg.mk override.
5069         (sc_po_check): Allow VPATH use.
5070         Reported by Jiri Denemark.
5071
5072 2011-03-16  Jim Meyering  <meyering@redhat.com>
5073
5074         maint.mk: allow fine-grained syntax-check exclusion via Make variables
5075         Before, you would have had to create one .x-sc_ file per rule in order
5076         to exempt offending files.  Now, you may instead use a Make variable --
5077         usually defined in cfg.mk -- whose name identifies the affected rule.
5078         * top/maint.mk (_sc_excl): Define.
5079         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
5080         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
5081
5082 2011-03-13  Bruno Haible  <bruno@clisp.org>
5083
5084         ignore-value tests: Avoid warnings.
5085         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
5086         empty for gcc < 3.4.
5087
5088 2011-03-13  Bruno Haible  <bruno@clisp.org>
5089
5090         passfd: Fix link error on Solaris.
5091         * modules/passfd (Description): Correct.
5092         (Depends-on): Add socketlib.
5093         (Link): New section.
5094         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
5095
5096 2011-03-13  Bruno Haible  <bruno@clisp.org>
5097
5098         passfd: Fix link error on AIX 5.2.
5099         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
5100
5101 2011-03-13  Bruno Haible  <bruno@clisp.org>
5102
5103         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
5104         * lib/sys_socket.in.h: Include <stddef.h>.
5105         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
5106         CMSG_FIRSTHDR. Remove unused variable.
5107
5108 2011-03-13  Bruno Haible  <bruno@clisp.org>
5109
5110         passfd: Fix compilation error on OpenBSD.
5111         * lib/passfd.c: Include <sys/uio.h>.
5112
5113 2011-03-13  Bruno Haible  <bruno@clisp.org>
5114
5115         passfd test: Fix warnings.
5116         * tests/test-passfd.c: Include <sys/wait.h>.
5117         (main): Fix typo.
5118
5119 2011-03-13  Bruno Haible  <bruno@clisp.org>
5120
5121         passfd module, part 4, tweaks.
5122         * tests/test-passfd.c: Reorder includes.
5123         (main): Fix perror and printf calls.
5124
5125 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5126
5127         passfd module, part 4.
5128         * modules/passfd-tests: New file.
5129         * tests/test-passfd.c: New file.
5130
5131 2011-03-13  Jim Meyering  <meyering@redhat.com>
5132
5133         Makefile: rely on GNU make; derive syntax-check rule names
5134         Rather than requiring that each sc_ rule be listed as a dependent
5135         of "check", use features of GNU make to derive the list.
5136         * Makefile (syntax-check-rules): Define.
5137         (check): Depend on the new variable, not the hard-coded list.
5138
5139 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
5140             Bruno Haible  <bruno@clisp.org>
5141
5142         passfd module, part 3.
5143         * lib/passfd.h (recvfd): Add a flags argument.
5144         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
5145         (recvfd): Add a flags argument.
5146         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
5147         exists.
5148         * modules/passfd (Depends-on): Add cloexec.
5149         Suggested by Eric Blake.
5150
5151 2011-03-13  Bruno Haible  <bruno@clisp.org>
5152
5153         passfd module, part 2, tweaks.
5154         * modules/passfd (Files): Reorder.
5155         (Depends-on): Remove errno.
5156         (Include): Remove <sys/socket.h>, <sys/un.h>.
5157         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
5158         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
5159         specification header. Include <sys/socket.h> always. Don't include
5160         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
5161         (sendfd): Clarify that it sets errno when it fails.
5162         (recvfd): Fix specification.
5163
5164 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5165
5166         passfd module, part 2.
5167         * modules/passfd: New file.
5168         * lib/passfd.h: New file.
5169         * lib/passfd.c: New file.
5170
5171 2011-03-12  Bruno Haible  <bruno@clisp.org>
5172
5173         wcswidth, mbswidth: Avoid integer overflow.
5174         * lib/wcswidth.c: Include <limits.h>.
5175         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
5176         * lib/mbswidth.c: Include <limits.h>.
5177         (mbsnwidth): Avoid 'int' overflow.
5178         Reported by Jim Meyering.
5179
5180 2011-03-12  Bruno Haible  <bruno@clisp.org>
5181
5182         futimens, utimensat: Avoid endless recursion on Solaris 10.
5183         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
5184         Solaris.
5185         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
5186         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
5187
5188 2011-03-11  Jim Meyering  <meyering@redhat.com>
5189
5190         maint.mk: relax a regexp to accommodate other formatting styles
5191         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
5192         between "ngettext" and the following "(".
5193
5194 2011-03-11  Pádraig Brady <P@draigBrady.com>
5195
5196         maint.mk: suppress a false positive warning
5197         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
5198         diagnostics are marked with ngettext.
5199
5200 2011-03-10  Eric Blake  <eblake@redhat.com>
5201
5202         wchar: add explicit dependencies, for Tru64
5203         * modules/mbmemcasecoll (Depends-on): Add wchar.
5204         * modules/mbtowc (Depends-on): Likewise.
5205         * modules/vasnprintf (Depends-on): Likewise.
5206         * modules/unistdio/u-printf-args (Depends-on): Likewise.
5207         * modules/wctomb (Depends-on): Likewise.
5208         Reported by Peter O'Gorman.
5209
5210 2011-03-08  Bruno Haible  <bruno@clisp.org>
5211
5212         passfd module, part 1, tweaks.
5213         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
5214         Improve indentation. Improve AC_MSG_CHECKING messages.
5215         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
5216         gl_SOCKET_FAMILIES.
5217
5218 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5219
5220         passfd module, part 1.
5221         * m4/afunix.m4: New file.
5222         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
5223         sockets.
5224
5225 2011-03-08  Bruno Haible  <bruno@clisp.org>
5226
5227         regex-quote: New API.
5228         * lib/regex-quote.h: Include <stdbool.h>.
5229         (struct regex_quote_spec): New type.
5230         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
5231         New declarations.
5232         (regex_quote_length, regex_quote_copy, regex_quote): Take a
5233         'const struct regex_quote_spec *' argument.
5234         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
5235         (pcre_special): New constant.
5236         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
5237         New functions.
5238         (regex_quote_length, regex_quote_copy, regex_quote): Take a
5239         'const struct regex_quote_spec *' argument.
5240         * modules/regex-quote (Depends-on): Add stdbool.
5241         * tests/test-regex-quote.c (check): Update for new API. Add test for
5242         anchored results.
5243         * NEWS: Mention the API change.
5244         Reported by Reuben Thomas and Eric Blake.
5245
5246 2011-03-06  Bruno Haible  <bruno@clisp.org>
5247
5248         regex-quote: Fix creation of POSIX extended regular expressions.
5249         * lib/regex-quote.c (ere_special): Add grouping and alternation
5250         operators.
5251
5252 2011-03-05  Bruno Haible  <bruno@clisp.org>
5253
5254         doc: Improve doc regarding autopoint vs. gnulib.
5255         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
5256         disable autopoint while running autoreconf.
5257         Suggested by Ralf Wildenhues.
5258
5259 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5260
5261         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
5262         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
5263
5264 2011-03-03  Bruce Korb  <bkorb@gnu.org>
5265
5266         parse-duration: remove xalloc.h dependency
5267         * lib/parse-duration.c (parse_period): handle NULL return from
5268         strdup instead of calling xstrdup().
5269         * modules/parse-duration: remove "xalloc" dependency
5270
5271 2011-03-03  Matthew Booth  <mbooth@redhat.com>
5272
5273         bootstrap: honor m4_base when running aclocal
5274         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
5275
5276 2011-03-02  Jim Meyering  <meyering@redhat.com>
5277
5278         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
5279         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
5280         on request from Matt Booth.
5281
5282 2011-03-01  Eric Blake  <eblake@redhat.com>
5283
5284         test-link: work on Hurd
5285         * tests/test-link.h (test_link): Hurd rejects linking directories
5286         with EISDIR instead of the POSIX-mandated EPERM.
5287
5288 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
5289
5290         stdio: simplify by moving files to printf-posix, sigpipe
5291         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
5292         since this symbol is needed only if printf is replaced.
5293         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
5294         Require gl_ASM_SYMBOL_PREFIX.
5295         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
5296         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
5297         (Depends-on): Add 'raise'.
5298         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
5299         * modules/stdio (Files): Remove lib/stdio-write.c,
5300         m4/asm-underscore.m4.
5301         (Depends-on): Remove 'raise'.
5302
5303         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
5304         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
5305         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
5306         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
5307
5308 2011-02-28  Bruno Haible  <bruno@clisp.org>
5309
5310         localcharset: Assume ANSI C behaviour of free().
5311         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
5312         calling free().
5313         Suggested by Simon Josefsson <simon@josefsson.org>.
5314
5315 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
5316             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
5317             Bruno Haible  <bruno@clisp.org>  (tiny change)
5318
5319         On Cygwin, use /proc file system instead of win32 API.
5320         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
5321         Win32 file names.
5322         (DllMain): Simplify by removing Cygwin specific code.
5323         (find_shared_library_fullname): Use Linux specific implementation also
5324         for Cygwin.
5325         (get_shared_library_fullname): Update accordingly.
5326         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
5327         Win32 file names.
5328         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
5329         Cygwin specific code.
5330
5331 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
5332             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
5333
5334         Fix OpenMP flag detection for various Fortran compilers.
5335         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
5336         OpenMP-conditional compilation construct, to force compile
5337         failure with missing OpenMP flag.
5338         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
5339
5340 2011-02-25  Eric Blake  <eblake@redhat.com>
5341
5342         strstr: expand test coverage
5343         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
5344         compilation.
5345         * tests/test-memmem.c (main): Duplicate tests.
5346         * tests/test-strcasestr.c (main): Likewise.
5347         * tests/test-c-strcasestr.c (main): Likewise.
5348
5349 2011-02-25  Jim Meyering  <meyering@redhat.com>
5350
5351         maint.mk: detect missing-NL-at-EOF, too
5352         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
5353         it also detects when a file lacks a newline at EOF.
5354         (require_exactly_one_NL_at_EOF_): Renamed from
5355         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
5356         since people may well have .x-sc_... file names tied to the
5357         existing name.  Suggested by Eric Blake.
5358
5359 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
5360
5361         dirname: move m4/dos.m4 functionality into lib/dosname.h
5362
5363         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
5364         extracts symbols from it, puts them into config.h; but it's much
5365         easier to use the symbols directly.  filename.h already does this,
5366         but it disagrees with dos.m4 in some respects.  This patch
5367         introduces a different include file dosname.h that packages up
5368         dos.m4, and then later we can work on merging filename.h and
5369         dosname.h.  Applications that need only the easy-to-configure
5370         symbols should consider including dosname.h rather than dirname.h.
5371         * NEWS: Mention incompatible changes.
5372         * m4/dos.m4: Remove.
5373         * lib/dosname.h, modules/dosname: New files.
5374         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
5375         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
5376         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
5377         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
5378         Include dosname.h, not dirname.h.
5379         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
5380         Include dosname.h, for definitions of symbols like ISSLASH
5381         that used to be in config.h.
5382         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
5383         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5384         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5385         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5386         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
5387         * modules/rmdir (Files): Likewise.
5388         * modules/stat (Files): Likewise.
5389         * modules/unlink (Files): Likewise.
5390         * modules/dirname-lgpl (Depends-on): Add dosname.
5391         * modules/lstat (Depends-on): Likewise.
5392         * modules/openat (Depends-on): Likewise.
5393         * modules/rmdir (Depends-on): Likewise.
5394         * modules/savewd (Depends-on): Likewise.
5395         * modules/stat (Depends-on): Likewise.
5396         * modules/unlink (Depends-on): Likewise.
5397         * modules/openat (Depends-on): Remove dirname-lgpl.
5398         * modules/savewd (Depends-on): Likewise.
5399         * tests/test-dirname.c: Do not use removed symbols like
5400         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
5401         the remaining symbols, e.g., ISSLASH ('\\').
5402
5403 2011-02-25  Eric Blake  <eblake@redhat.com>
5404
5405         strstr: revert patches that introduced bug and pessimization
5406         * lib/str-two-way.h: Add another reference.
5407         (two_way_short_needle, two_way_long_needle): Revert changes from
5408         2011-02-24; they pessimize search speed.
5409         (critical_factorization): Partially revert changes from
5410         2010-06-22; they violate the requirement that the left half of the
5411         needle be smaller than the period of the needle.
5412
5413 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5414
5415         filenamecat: remove unnecessary dependency on dirname-lgpl
5416         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
5417         is no direct dependency, just an indirect one via filenamecat-lgpl.
5418
5419         remove: remove unnecessary use of m4/dos.m4
5420         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
5421         * modules/remove (FILES): Remove m4/dos.m4.
5422
5423         * lib/openat-proc.c: Don't include dirname.h; not needed.
5424
5425         backupfile: remove unnecessary use of m4/dos.m4
5426         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
5427         of its symbols are used by the backupfile code.  backupfile.c does
5428         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
5429         for the rare case of programs that want all their backup file
5430         names to live within 8+3 limits, and dos.m4 doesn't address that.
5431         * modules/backupfile (Files): Remove m4/dos.m4.
5432
5433 2011-02-24  Jim Meyering  <meyering@redhat.com>
5434
5435         strstr: fix a bug whereby strstr would mistakenly return NULL
5436         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
5437         in period calculation.
5438         (two_way_long_needle): Likewise.
5439         The original problem was reported by Mike Stump in
5440         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
5441         Ralf Wildenhues provided the short needle and haystack.
5442         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
5443         Add a more involved test to trigger the bug in two_way_long_needle.
5444
5445 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
5446
5447         gnulib-tool: remove use of bold display in help screen
5448         * gnulib-tool (func_usage): Do not use bold display anymore in the
5449         help screen.  That was just meant to be a temporary emphasis for a
5450         backward-incompatible change.
5451
5452 2011-02-23  Bruno Haible  <bruno@clisp.org>
5453
5454         Fix misindentation of preprocessor directives.
5455         * lib/argp-namefrob.h: Reindent preprocessor directives.
5456         * lib/getopt_int.h (struct _getopt_data): Likewise.
5457         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
5458         * lib/vasnprintf.c (decode_long_double): Likewise.
5459         * tests/test-argmatch.c: Insert blank lines, for clarity.
5460         * tests/test-exclude.c: Likewise.
5461
5462 2011-02-22  Bruno Haible  <bruno@clisp.org>
5463
5464         ioctl: Fix for MacOS X in 64-bit mode.
5465         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
5466         value.
5467         Suggested by Eric Blake.
5468         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
5469
5470 2011-02-22  Jim Meyering  <meyering@redhat.com>
5471
5472         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
5473         * Makefile (sc_cpp_indent_check): Don't limit the check to files
5474         in lib/.
5475
5476 2011-02-22  Eric Blake  <eblake@redhat.com>
5477
5478         maint: avoid any CDPATH issue
5479         * Makefile (sc_cpp_indent_check): Anchor cd argument.
5480
5481         maint: adjust cpp indentation for my modules, as well
5482         * Makefile (sc_cpp_indent_check): Add my name.
5483         * lib/fbufmode.c: Filter through cppi.
5484         * lib/fpurge.c: Likewise.
5485         * lib/freadable.c: Likewise.
5486         * lib/freading.c: Likewise.
5487         * lib/fwritable.c: Likewise.
5488         * lib/fwriting.c: Likewise.
5489         * lib/sigaction.c: Likewise.
5490
5491 2011-02-22  Jim Meyering  <meyering@redhat.com>
5492
5493         maint: adjust cpp indentation to reflect nesting depth
5494         I.e., in a block of code that begins with an unnested "#if",
5495         put one space between the "#" in column 1 and following token.
5496         For example,
5497         -#include <sys/vfs.h>
5498         +# include <sys/vfs.h>
5499         Do this only in .c files that are part of a module I maintain.
5500         * lib/linkat.c: Filter through cppi.
5501         * lib/nanosleep.c: Likewise.
5502         * lib/openat.c: Likewise.
5503         * lib/openat-die.c: Likewise.
5504         * lib/dup3.c: Likewise.
5505         * lib/fchownat.c: Likewise.
5506         * lib/flock.c: Likewise.
5507         * lib/fsync.c: Likewise.
5508         * lib/fts.c: Likewise.
5509         * lib/getpass.c: Likewise.
5510         * lib/gettimeofday.c: Likewise.
5511         * lib/userspec.c: Likewise.
5512         * Makefile (sc_cpp_indent_check): New rule, to check this.
5513
5514 2011-02-22  Bruno Haible  <bruno@clisp.org>
5515
5516         New module 'wctomb'.
5517         * lib/stdlib.in.h (wctomb): New declaration.
5518         * lib/wctomb.c: New file.
5519         * lib/wctomb-impl.h: New file.
5520         * m4/wctomb.m4: New file.
5521         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
5522         REPLACE_WCTOMB.
5523         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
5524         REPLACE_WCTOMB.
5525         * modules/wctomb: New file.
5526         * tests/test-stdlib-c++.cc: Test signature of wctomb.
5527         * doc/posix-functions/wctomb.texi: Mention the new module.
5528         * modules/wctob (Depends-on): Add wctomb.
5529
5530 2011-02-22  Bruno Haible  <bruno@clisp.org>
5531
5532         New module 'mbtowc'.
5533         * lib/stdlib.in.h (mbtowc): New declaration.
5534         * lib/mbtowc.c: New file.
5535         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
5536         * m4/mbtowc.m4: New file.
5537         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
5538         REPLACE_MBTOWC.
5539         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
5540         REPLACE_MBTOWC.
5541         * modules/mbtowc: New file.
5542         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
5543         * doc/posix-functions/mbtowc.texi: Mention the new module.
5544         * modules/btowc (Depends-on): Add mbtowc.
5545
5546 2011-02-22  Bruno Haible  <bruno@clisp.org>
5547
5548         wcrtomb: Add more tests for native Windows platforms.
5549         * tests/test-wcrtomb-w32-1.sh: New file.
5550         * tests/test-wcrtomb-w32-2.sh: New file.
5551         * tests/test-wcrtomb-w32-3.sh: New file.
5552         * tests/test-wcrtomb-w32-4.sh: New file.
5553         * tests/test-wcrtomb-w32-5.sh: New file.
5554         * tests/test-wcrtomb-w32.c: New file.
5555         * modules/wcrtomb-tests (Files): Add them.
5556         (Makefile.am): Arrange to run these tests.
5557         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
5558         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
5559
5560 2011-02-20  Bruno Haible  <bruno@clisp.org>
5561
5562         wcrtomb: Enhance test.
5563         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
5564
5565 2011-02-20  Bruno Haible  <bruno@clisp.org>
5566
5567         mbrtowc: Tiny optimization.
5568         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
5569
5570 2011-02-20  Jim Meyering  <meyering@redhat.com>
5571
5572         test-exclude.c: remove unmatched #endif
5573         * tests/test-exclude.c: Remove stray #endif, left over from
5574         the change of a week ago.
5575
5576 2011-02-19  Jim Meyering  <meyering@redhat.com>
5577
5578         git-version-gen: skip "-dirty" check when appropriate
5579         * build-aux/git-version-gen: Don't run any git commands when the
5580         version string comes from .tarball-version.  Prior to this, we
5581         would run git update-index --refresh even from a just-unpacked
5582         tarball directory, and that could affect a .git/ directory in a
5583         parent of the build directory.  Reported by Mike Frysinger.
5584
5585 2011-02-19  Bruno Haible  <bruno@clisp.org>
5586
5587         unictype/property-byname: Reduce the size of the 'data' segment.
5588         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
5589
5590 2011-02-19  Bruno Haible  <bruno@clisp.org>
5591
5592         unictype/scripts: Reduce the size of the 'data' segment.
5593         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
5594         '%pic'.
5595         * lib/unictype/scripts_byname.gperf: Regenerated.
5596
5597 2011-02-19  Bruno Haible  <bruno@clisp.org>
5598
5599         stdint: Update documentation.
5600         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
5601
5602 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
5603
5604         stdint: omit redundant check for wchar.h
5605         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
5606         always tests whether wchar.h exists, so remove the now-redundant test.
5607
5608 2011-02-18  Bruno Haible  <bruno@clisp.org>
5609
5610         stdint: Cut dependency to module 'wchar'.
5611         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
5612         include the necessary prerequisites.
5613         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
5614         * modules/stdint (Depends-on): Remove wchar.
5615         (Makefile.am): Substitute HAVE_WCHAR_H.
5616         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
5617
5618 2011-02-18  Eric Blake  <eblake@redhat.com>
5619
5620         longlong: skip, rather than fail, on cross-compilation
5621         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
5622         when cross-compiling; regression from 2011-02-16.
5623
5624 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
5625
5626         * NEWS: Mention 2011-02-08 change to stdlib.
5627
5628 2011-02-17  Bruno Haible  <bruno@clisp.org>
5629
5630         getloadavg: Add comments about platforms.
5631         * m4/getloadavg.m4: Add comment.
5632         * lib/getloadavg.c: Likewise.
5633
5634 2011-02-17  Bruno Haible  <bruno@clisp.org>
5635
5636         getloadavg: Fix link error on Solaris 2.6.
5637         * modules/getloadavg (Link): New section.
5638         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
5639         linking test-getloadavg.
5640         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
5641         getloadavg.
5642
5643 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
5644
5645         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
5646         It was 'int', but this doesn't match the IRIX 6.5 manual.
5647         Suggested by Bruno Haible in
5648         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
5649
5650 2011-02-17  Bruno Haible  <bruno@clisp.org>
5651
5652         havelib: Fix comments.
5653         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
5654         change.
5655
5656 2011-02-17  Bruno Haible  <bruno@clisp.org>
5657
5658         havelib: Update config.rpath.
5659         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
5660
5661 2011-02-17  Bruno Haible  <bruno@clisp.org>
5662
5663         getloadavg test: Add some plausibility checks.
5664         * tests/test-getloadavg.c (check_avg): Print a warning when the value
5665         is improbable.
5666
5667 2011-02-16  Eric Blake  <eblake@redhat.com>
5668
5669         maintainer-makefile: make syntax-check a no-op from tarballs
5670         * top/maint.mk (no-vc-detected): New rule.
5671         (local-checks-available): Use it to avoid hanging if someone tries
5672         'make syntax-check' from a tarball.  Also append to any non-syntax
5673         checks already defined in cfg.mk.
5674
5675 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
5676
5677         longlong: tune, particularly for common case of c99
5678
5679         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
5680         or running anything if c99, or if unsigned long long int does not
5681         work.  In either case, we know the answer without further tests.
5682         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
5683         it at most once, and use its results for both long long int and
5684         unsigned long long int.  This is more likely to be efficient in
5685         the common case where the program wants to check for both long
5686         long int and unsigned long long int.
5687         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
5688         since the answer is already known.
5689
5690 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
5691
5692         getloadavg: set errno
5693         * lib/getloadavg.c: Set errno when returning -1.  If no other
5694         error number looks appropriate, set it to ENOSYS if the getloadavg
5695         looks like it can't possibly ever work, ENOTSUP otherwise.
5696         Suggested by Bruno Haible in
5697         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
5698
5699         getloadavg: trim unused parts and speed up 'configure'
5700         * NEWS: Document this.
5701         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
5702         always compiled if getloadavg is absent.
5703         Move test code to ...
5704         * tests/test-getloadavg.c: New file, containing previous
5705         contents of test from lib/getloadavg.c.  It also contains
5706         suggestions by Bruno Haible in
5707         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
5708         * modules/getloadavg-tests: New file.
5709         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
5710         Do tests in the same order as they're needed for getloadavg.c.
5711         Omit setgid-related tests that generate symbols KMEM_GROUP,
5712         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
5713         Do only the tests that are needed to see whether the system has
5714         getloadavg, moving the other tests into ...
5715         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
5716         NLIST_NAME_UNION; nobody should be using it.  Do not define
5717         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
5718         relevant, as the user of this module shouldn't care how getloadavg
5719         is implemented.
5720
5721         getloadavg: omit unused var
5722         * lib/getloadavg.c (getloadavg): Omit unused local variable.
5723
5724 2011-02-15  Jim Meyering  <meyering@redhat.com>
5725
5726         doc: update users.txt
5727         * users.txt: Update iwhd's URL.
5728
5729 2011-02-13  Bruno Haible  <bruno@clisp.org>
5730
5731         Consistent macro naming for macros that use GCC __attribute__.
5732         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
5733         _ATTRIBUTE_NONNULL_.
5734         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
5735         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
5736         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
5737         ATTRIBUTE_DEPRECATED.
5738         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
5739         ATTRIBUTE_NORETURN.
5740         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5741         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5742         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5743         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5744         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
5745         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
5746         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
5747         ATTRIBUTE_SENTINEL.
5748         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
5749         ATTRIBUTE_RETURN_CHECK.
5750         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
5751         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
5752         ATTRIBUTE_NORETURN.
5753         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
5754         Reported by Paul Eggert.
5755
5756 2011-02-13  Bruno Haible  <bruno@clisp.org>
5757
5758         Don't interfere with a program's definition of __attribute__.
5759         * lib/argp.h (__attribute__): Remove definition.
5760         (_GL_ATTRIBUTE_FORMAT): New macro.
5761         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
5762         * lib/argp-fmtstream.h (__attribute__): Remove definition.
5763         (_GL_ATTRIBUTE_FORMAT): New macro.
5764         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
5765         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
5766         GCC 3 or newer.
5767         * lib/error.h (__attribute__): Remove definition.
5768         (_GL_ATTRIBUTE_FORMAT): New macro.
5769         (error, error_at_line): Use it.
5770         * lib/hash.h (__attribute__): Remove definition.
5771         (ATTRIBUTE_WUR): Update definition. Define always.
5772         * lib/openat.h (__attribute__): Remove definition.
5773         (ATTRIBUTE_NORETURN): Update definition. Define always.
5774         * lib/sigpipe-die.h (__attribute__): Remove definition.
5775         (ATTRIBUTE_NORETURN): Update definition. Define always.
5776         * lib/vasnprintf.h (__attribute__): Remove definition.
5777         (_GL_ATTRIBUTE_FORMAT): New macro.
5778         (asnprintf, vasnprintf): Use it.
5779         * lib/xalloc.h (__attribute__): Remove definition.
5780         (ATTRIBUTE_NORETURN): Update definition. Define always.
5781         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
5782         * lib/xmemdup0.h (__attribute__): Remove definition.
5783         (ATTRIBUTE_NORETURN): Update definition. Define always.
5784         * lib/xprintf.h (__attribute__): Remove definition.
5785         (_GL_ATTRIBUTE_FORMAT): New macro.
5786         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
5787         * lib/xstrtol.h (__attribute__): Remove definition.
5788         (ATTRIBUTE_NORETURN): Update definition. Define always.
5789         * lib/xvasprintf.h (__attribute__): Remove definition.
5790         (_GL_ATTRIBUTE_FORMAT): New macro.
5791         (xasprintf, xvasprintf): Use it.
5792         * tests/test-argmatch.c (__attribute__): Remove definition.
5793         (ATTRIBUTE_NORETURN): Update definition. Define always.
5794         * tests/test-exclude.c (__attribute__): Remove definition.
5795         (ATTRIBUTE_NORETURN): Update definition. Define always.
5796         Reported by Paul Eggert.
5797
5798 2011-02-13  Bruno Haible  <bruno@clisp.org>
5799
5800         mbrtowc: Add more tests for native Windows platforms.
5801         * tests/test-mbrtowc-w32-1.sh: New file.
5802         * tests/test-mbrtowc-w32-2.sh: New file.
5803         * tests/test-mbrtowc-w32-3.sh: New file.
5804         * tests/test-mbrtowc-w32-4.sh: New file.
5805         * tests/test-mbrtowc-w32-5.sh: New file.
5806         * tests/test-mbrtowc-w32.c: New file.
5807         * modules/mbrtowc-tests (Files): Add them.
5808         (Makefile.am): Arrange to run these tests.
5809         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
5810         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
5811
5812 2011-02-13  Bruno Haible  <bruno@clisp.org>
5813
5814         mbrtowc: Work around native Windows bug.
5815         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
5816         guess when no suitable locale for testing was found.
5817         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
5818
5819 2011-02-13  Bruno Haible  <bruno@clisp.org>
5820
5821         mbsinit: Work around mingw bug.
5822         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
5823         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
5824         Windows.
5825         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
5826
5827 2011-02-13  Bruno Haible  <bruno@clisp.org>
5828
5829         mbsinit: Don't crash for a NULL argument.
5830         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
5831         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
5832
5833 2011-02-13  Bruno Haible  <bruno@clisp.org>
5834
5835         Don't interfere with a program's definition of __attribute__.
5836         * lib/stdio.in.h (__attribute__): Remove definition.
5837         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
5838         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
5839         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
5840         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
5841         * lib/string.in.h (__attribute__): Remove definition.
5842         Reported by Paul Eggert.
5843
5844 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5845
5846         stdlib: don't get in the way of non-GCC __attribute__
5847         See thread starting at
5848         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
5849         Revert previous stdlib change, installing the following instead:
5850         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
5851         to get in the way of a non-GCC compiler that supports __attribute__.
5852         (_GL_ATTRIBUTE_RETURN): New macro.
5853         (_Exit): Use it instead of __attribute__.
5854
5855 2011-02-12  Bruno Haible  <bruno@clisp.org>
5856
5857         quotearg test: Avoid test failure on mingw.
5858         * tests/test-quotearg.sh: Convert the locale identifier from native
5859         Windows syntax to Unix syntax.
5860
5861 2011-02-12  Bruno Haible  <bruno@clisp.org>
5862
5863         setlocale: Prefer gnulib's override over libintl's override.
5864         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
5865         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
5866         GNULIB_defined_setlocale is set.
5867
5868 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5869
5870         stdlib: support non-GCC __attribute__
5871
5872         Fix a serious and tricky problem encountered when attempting to
5873         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
5874         5.5, but it crashed due to memory corruption on Solaris 10 with
5875         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
5876         bits that are otherwise zero.  This tagging is optional inside
5877         Emacs but is preferred and is used when __attribute__ ((__aligned
5878         (8))) works, as it does with both recent-enough GCC and with Sun C
5879         5.11.  However, Sun C 5.11 is not GCC and does not #define
5880         __GNUC__ and __GNUC_MINOR__.
5881
5882         When I added the getloadavg module to Emacs, it brought in
5883         stdlib.in.h, which contained this fragment:
5884
5885            #ifndef __attribute__
5886            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
5887            #  define __attribute__(Spec)   /* empty */
5888            # endif
5889            #endif
5890
5891         When files that include <stdlib.h> were compiled with Sun C 5.11,
5892         the above code disabled __attribute__ ((__aligned (8))), which
5893         caused variables to not be properly aligned, which eventually led
5894         to the pointer corruption mentioned above.  (This was a bit hard
5895         to diagnose, unfortunately.)
5896
5897         Several "#define __attribute__(X) /* empty */" code snippets need
5898         to be eradicated from Gnulib to work with non-GCC compilers that
5899         support __attribute__.  The Autoconf way to do this is to test for
5900         each kind of attribute that we want support for, and selectively
5901         enable that in source code.
5902
5903         Fix this problem just for stdlib.h, by adding a test for the
5904         __noreturn__ attribute, and change stdlib.in.h to use that test
5905         when needed.  This technique can be easily generalized to the
5906         other *.in.h files and attributes, and a similar technique can be
5907         used for *.h and *.c files.  This patch is enough to solve the
5908         problem for Emacs + getloadavg, and I thought I'd publish it for
5909         feedback before undertaking further, similar fixes in other
5910         modules.
5911
5912         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
5913         because it's not needed for stdlib.h.  It merely substitutes the
5914         value directly into stdlib.h.  We may well need to #define it, or
5915         similar symbols, for other modules, but it's nice to also have an
5916         option to not #define it for applications like Emacs that do not
5917         need it.
5918
5919         * lib/stdlib.in.h (__attribute__): Do not #define.
5920         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
5921         be defined only if the _Exit module is also used.
5922         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
5923         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
5924         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
5925         platforms.
5926         * modules/_Exit (Files): Add m4/attribute.m4.
5927         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
5928         * m4/attribute.m4: New file.
5929
5930 2011-02-12  Bruno Haible  <bruno@clisp.org>
5931
5932         wcsrtombs: Work around bug on native Windows.
5933         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
5934         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
5935         instead of len.
5936         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
5937
5938 2011-02-12  Bruno Haible  <bruno@clisp.org>
5939
5940         mbsrtowcs: Work around bug on native Windows.
5941         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
5942         against mingw bug.
5943         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
5944
5945 2011-02-12  Bruno Haible  <bruno@clisp.org>
5946
5947         Avoid setlocale bugs in tests.
5948         * modules/btowc (Dependencies): Add setlocale.
5949         * modules/c-strcase (Dependencies): Likewise.
5950         * modules/mbmemcasecmp (Dependencies): Likewise.
5951         * modules/mbmemcasecoll (Dependencies): Likewise.
5952         * modules/mbrtowc (Dependencies): Likewise.
5953         * modules/mbscasecmp (Dependencies): Likewise.
5954         * modules/mbscasestr (Dependencies): Likewise.
5955         * modules/mbschr (Dependencies): Likewise.
5956         * modules/mbscspn (Dependencies): Likewise.
5957         * modules/mbsinit (Dependencies): Likewise.
5958         * modules/mbsncasecmp (Dependencies): Likewise.
5959         * modules/mbsnrtowcs (Dependencies): Likewise.
5960         * modules/mbspbrk (Dependencies): Likewise.
5961         * modules/mbspcasecmp (Dependencies): Likewise.
5962         * modules/mbsrchr (Dependencies): Likewise.
5963         * modules/mbsrtowcs (Dependencies): Likewise.
5964         * modules/mbsspn (Dependencies): Likewise.
5965         * modules/mbsstr (Dependencies): Likewise.
5966         * modules/nl_langinfo (Dependencies): Likewise.
5967         * modules/quotearg (Dependencies): Likewise.
5968         * modules/unicase/locale-language (Dependencies): Likewise.
5969         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
5970         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
5971         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
5972         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
5973         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
5974         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
5975         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
5976         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
5977         * modules/vasnprintf-posix (Dependencies): Likewise.
5978         * modules/wcrtomb (Dependencies): Likewise.
5979         * modules/wcsnrtombs (Dependencies): Likewise.
5980         * modules/wcsrtombs (Dependencies): Likewise.
5981
5982 2011-02-12  Bruno Haible  <bruno@clisp.org>
5983
5984         setlocale: Workaround native Windows bug.
5985         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
5986         succeeds but sets LC_CTYPE to "C", report a failure.
5987         * tests/test-setlocale2.sh: New file.
5988         * tests/test-setlocale2.c: New file.
5989         * modules/setlocale-tests (Files): Add the new files.
5990         (Makefile.am): Enable test-setlocale2.sh test.
5991         * doc/posix-functions/setlocale.texi: Mention workaround.
5992
5993 2011-02-11  Bruno Haible  <bruno@clisp.org>
5994
5995         Tests for module 'setlocale'.
5996         * modules/setlocale-tests: New file.
5997         * tests/test-setlocale1.sh: New file.
5998         * tests/test-setlocale1.c: New file.
5999
6000         New module 'setlocale'.
6001         * lib/locale.in.h (setlocale): New declaration.
6002         * lib/setlocale.c: New file, based on
6003         gettext/gettext-runtime/intl/setlocale.c.
6004         * m4/setlocale.m4: New file.
6005         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
6006         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
6007         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
6008         REPLACE_SETLOCALE.
6009         * modules/setlocale: New file.
6010         * tests/test-locale-c++.cc: Test the declaration of setlocale.
6011         * doc/posix-functions/setlocale.texi: Mention the new module.
6012
6013 2011-02-11  Bruno Haible  <bruno@clisp.org>
6014
6015         Prepare for locale dependent tests on mingw.
6016         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
6017         because it has the wrong locale encoding.
6018         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
6019         French_France.1252 instead of "fr".
6020         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
6021         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
6022         because it has the wrong locale encoding.
6023         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
6024         native Windows, try Turkish_Turkey.65001.
6025         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
6026         Chinese_China.54936.
6027
6028         Prepare for locale dependent tests on mingw.
6029         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
6030         differently.
6031         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
6032         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
6033         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
6034         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
6035
6036 2011-02-11  Eric Blake  <eblake@redhat.com>
6037
6038         strptime: avoid compiler warnings
6039         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
6040         compiler warnings about dead code.
6041         Reported by Daniel P. Berrange.
6042
6043 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
6044
6045         doc: update users.txt
6046         * users.txt: Add rcs.
6047
6048 2011-02-10  John W. Eaton  <jwe@gnu.org>
6049
6050         doc: update users.txt
6051         * users.txt: Add octave.
6052
6053 2011-02-10  Jim Meyering  <meyering@redhat.com>
6054
6055         doc: update users.txt
6056         * users.txt: Add iwhd.
6057
6058 2011-02-09  Bruno Haible  <bruno@clisp.org>
6059
6060         gnulib-tool: Make copyright notice adjustment more robust.
6061         * gnulib-tool (func_import): In sed_transform_main_lib_file,
6062         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
6063         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
6064         License".
6065         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
6066
6067 2011-02-06  Bruno Haible  <bruno@clisp.org>
6068
6069         New module 'towctrans'.
6070         * modules/towctrans: New file.
6071         * lib/wctype.in.h (towctrans): New declaration.
6072         * lib/towctrans.c: New file.
6073         * lib/towctrans-impl.h: New file.
6074         * m4/towctrans.m4: New file.
6075         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
6076         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
6077         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
6078         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
6079         * doc/posix-functions/towctrans.texi: Mention the new module.
6080
6081 2011-02-06  Bruno Haible  <bruno@clisp.org>
6082
6083         New module 'wctrans'.
6084         * modules/wctrans: New file.
6085         * lib/wctype.in.h (wctrans): New declaration.
6086         * lib/wctrans.c: New file.
6087         * lib/wctrans-impl.h: New file.
6088         * m4/wctrans.m4: New file.
6089         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
6090         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
6091         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
6092         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
6093         * doc/posix-functions/wctrans.texi: Mention the new module.
6094
6095 2011-02-06  Bruno Haible  <bruno@clisp.org>
6096
6097         New module 'iswctype'.
6098         * modules/iswctype: New file.
6099         * lib/wctype.in.h (iswctype): New declaration.
6100         * lib/iswctype.c: New file.
6101         * lib/iswctype-impl.h: New file.
6102         * m4/iswctype.m4: New file.
6103         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
6104         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
6105         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
6106         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
6107         * doc/posix-functions/iswctype.texi: Mention the new module and the
6108         HP-UX 11.00 problem.
6109
6110 2011-02-06  Bruno Haible  <bruno@clisp.org>
6111
6112         New module 'wctype'.
6113         * modules/wctype: Change to represent the wctype() substitute.
6114         * lib/wctype.in.h (wctype): New declaration.
6115         * lib/wctype.c: New file.
6116         * lib/wctype-impl.h: New file.
6117         * m4/wctype.m4: New file.
6118         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
6119         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
6120         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
6121         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
6122         * doc/posix-functions/wctype.texi: Mention the new module and the
6123         HP-UX 11.00 problem.
6124
6125 2011-02-06  Bruno Haible  <bruno@clisp.org>
6126
6127         wctype-h: Ensure wctype_t and wctrans_t are defined.
6128         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
6129         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
6130         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
6131         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
6132         HAVE_WCTRANS_T.
6133         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
6134
6135 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
6136
6137         flock: fix license typo
6138
6139         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
6140         omitted.
6141
6142 2011-02-08  Bruno Haible  <bruno@clisp.org>
6143
6144         Split large sed scripts, for HP-UX sed.
6145         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
6146         to avoid HP-UX limit of 99 commands, in the near future.
6147         * modules/stdlib (Makefile.am): Likewise.
6148         * modules/unistd (Makefile.am): Likewise.
6149         * modules/wchar (Makefile.am): Likewise.
6150         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6151         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
6152         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
6153
6154 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
6155             Bruno Haible  <bruno@clisp.org>
6156
6157         stdlib: improve random_r modularization
6158         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
6159         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
6160         you also need the random_r module to get this material right.
6161         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
6162         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
6163         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
6164
6165 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
6166
6167         stdlib: don't depend on stdint
6168         * lib/stdlib.in.h: Don't include <stdint.h> merely because
6169         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
6170         be independent of whether stdint.h is needed.
6171         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
6172         here, instead of ...
6173         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
6174         struct random_data should be using the random_r module, not just
6175         the stdlib module (which wouldn't make sense: what package needs
6176         just struct random_data without also needing random_r?).
6177         * modules/stdlib (Depends-on): Remove stdint.
6178
6179         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
6180         See the thread rooted at
6181         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
6182         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
6183         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
6184         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
6185         __VMS)); previously it was always included (via fcntl--.h).
6186         (getloadavg): Do not use c_strtod.  Instead, approximate it by
6187         hand; this is good enough for load averages.  Also, do not use
6188         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
6189         flags directly if available and don't bother otherwise.  (Packages
6190         that need the extra reliability should use the modules that define
6191         these flags on older platforms that lack them.)
6192         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
6193         fcntl-safer.
6194
6195 2011-02-08  Jim Meyering  <meyering@redhat.com>
6196
6197         di-set.h, ino-map.h: add multiple-inclusion guard
6198         Technically, the guard is required only for ino-map.h, due to its
6199         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
6200         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
6201         * lib/ino-map.h: Likewise.
6202
6203 2011-02-06  Bruno Haible  <bruno@clisp.org>
6204
6205         iswblank: Ensure declaration on glibc systems.
6206         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
6207         * modules/iswblank (Dependencies): Add 'extensions'.
6208         * doc/posix-functions/iswblank.texi: Document the glibc problem.
6209
6210 2011-02-06  Bruno Haible  <bruno@clisp.org>
6211
6212         New module 'iswblank'.
6213         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
6214         * modules/iswblank: New file.
6215         * modules/wctype-h (Files): Remove lib/iswblank.c.
6216         (Makefile.am): Substitute GNULIB_ISWBLANK.
6217         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
6218         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
6219         (gl_WCTYPE_H_DEFAULTS): New macro.
6220         (gl_WCTYPE_H): Require it. Remove iswblank related code.
6221         * modules/iswblank-tests: New file.
6222         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
6223         * tests/test-wctype-h.c (main): Remove iswblank tests.
6224         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
6225         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
6226         of 'wctype-h'.
6227         * NEWS: Mention the change.
6228         * modules/mbchar (Depends-on): Add iswblank.
6229
6230 2011-02-08  Bruno Haible  <bruno@clisp.org>
6231
6232         di-set tests: Refactor.
6233         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
6234         unnecessary includes.
6235         (ASSERT): Remove macro.
6236         (main): Make C90 compliant by avoiding variable declaration after
6237         statement.
6238         * modules/di-set-tests (Files): Add tests/macros.h.
6239
6240 2011-02-08  Bruno Haible  <bruno@clisp.org>
6241
6242         ino-map tests: Refactor.
6243         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
6244         unnecessary includes.
6245         (ASSERT): Remove macro.
6246         (main): Make C90 compliant by avoiding variable declaration after
6247         statement.
6248         * modules/ino-map-tests (Files): Add tests/macros.h.
6249
6250 2011-02-08  Jim Meyering  <meyering@redhat.com>
6251
6252         di-set: add "const" to a cast
6253         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
6254         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
6255
6256 2011-02-06  Bruno Haible  <bruno@clisp.org>
6257
6258         Rename module 'wctype' to 'wctype-h'.
6259         * modules/wctype-h: Renamed from modules/wctype.
6260         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
6261         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
6262         (Files, Depends-on, Makefile.am): Update.
6263         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
6264         (Files, Makefile.am): Update.
6265         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
6266         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
6267         * doc/posix-headers/wctype.texi: Update.
6268         * doc/posix-functions/iswalnum.texi: Update.
6269         * doc/posix-functions/iswalpha.texi: Update.
6270         * doc/posix-functions/iswblank.texi: Update.
6271         * doc/posix-functions/iswcntrl.texi: Update.
6272         * doc/posix-functions/iswdigit.texi: Update.
6273         * doc/posix-functions/iswgraph.texi: Update.
6274         * doc/posix-functions/iswlower.texi: Update.
6275         * doc/posix-functions/iswprint.texi: Update.
6276         * doc/posix-functions/iswpunct.texi: Update.
6277         * doc/posix-functions/iswspace.texi: Update.
6278         * doc/posix-functions/iswupper.texi: Update.
6279         * doc/posix-functions/iswxdigit.texi: Update.
6280         * doc/posix-functions/towlower.texi: Update.
6281         * doc/posix-functions/towupper.texi: Update.
6282         * NEWS: Mention the change.
6283         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
6284         * modules/mbchar (Dependencies): Likewise.
6285         * modules/mbswidth (Dependencies): Likewise.
6286         * modules/quotearg (Dependencies): Likewise.
6287         * modules/regex (Dependencies): Likewise.
6288         * modules/wcscasecmp (Dependencies): Likewise.
6289         * modules/wcsncasecmp (Dependencies): Likewise.
6290         * modules/wcwidth (Dependencies): Likewise.
6291
6292 2011-02-06  Bruno Haible  <bruno@clisp.org>
6293
6294         New module 'wcswidth'.
6295         * modules/wcswidth: New file.
6296         * lib/wchar.in.h (wcswidth): New declaration.
6297         * lib/wcswidth.c: New file.
6298         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
6299         * m4/wcswidth.m4: New file.
6300         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
6301         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
6302         REPLACE_WCSWIDTH.
6303         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
6304         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
6305         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
6306         * doc/posix-functions/wcswidth.texi: Mention the new module.
6307
6308 2011-02-06  Bruno Haible  <bruno@clisp.org>
6309
6310         New module 'wcstok'.
6311         * modules/wcstok: New file.
6312         * lib/wchar.in.h (wcstok): New declaration.
6313         * lib/wcstok.c: New file.
6314         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
6315         * m4/wcstok.m4: New file.
6316         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
6317         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
6318         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
6319         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
6320         * doc/posix-functions/wcstok.texi: Mention the new module.
6321
6322 2011-02-06  Bruno Haible  <bruno@clisp.org>
6323
6324         New module 'wcsstr'.
6325         * modules/wcsstr: New file.
6326         * lib/wchar.in.h (wcsstr): New declaration.
6327         * lib/wcsstr.c: New file.
6328         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
6329         * m4/wcsstr.m4: New file.
6330         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
6331         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
6332         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
6333         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
6334         * doc/posix-functions/wcsstr.texi: Mention the new module.
6335
6336 2011-02-06  Bruno Haible  <bruno@clisp.org>
6337
6338         New module 'wcspbrk'.
6339         * modules/wcspbrk: New file.
6340         * lib/wchar.in.h (wcspbrk): New declaration.
6341         * lib/wcspbrk.c: New file.
6342         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
6343         * m4/wcspbrk.m4: New file.
6344         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
6345         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
6346         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
6347         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
6348         * doc/posix-functions/wcspbrk.texi: Mention the new module.
6349
6350 2011-02-06  Bruno Haible  <bruno@clisp.org>
6351
6352         New module 'wcsspn'.
6353         * modules/wcsspn: New file.
6354         * lib/wchar.in.h (wcsspn): New declaration.
6355         * lib/wcsspn.c: New file.
6356         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
6357         * m4/wcsspn.m4: New file.
6358         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
6359         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
6360         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
6361         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
6362         * doc/posix-functions/wcsspn.texi: Mention the new module.
6363
6364 2011-02-06  Bruno Haible  <bruno@clisp.org>
6365
6366         New module 'wcscspn'.
6367         * modules/wcscspn: New file.
6368         * lib/wchar.in.h (wcscspn): New declaration.
6369         * lib/wcscspn.c: New file.
6370         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
6371         * m4/wcscspn.m4: New file.
6372         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
6373         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
6374         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
6375         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
6376         * doc/posix-functions/wcscspn.texi: Mention the new module.
6377
6378 2011-02-06  Bruno Haible  <bruno@clisp.org>
6379
6380         New module 'wcsrchr'.
6381         * modules/wcsrchr: New file.
6382         * lib/wchar.in.h (wcsrchr): New declaration.
6383         * lib/wcsrchr.c: New file.
6384         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
6385         * m4/wcsrchr.m4: New file.
6386         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
6387         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
6388         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
6389         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
6390         * doc/posix-functions/wcsrchr.texi: Mention the new module.
6391
6392 2011-02-06  Bruno Haible  <bruno@clisp.org>
6393
6394         New module 'wcschr'.
6395         * modules/wcschr: New file.
6396         * lib/wchar.in.h (wcschr): New declaration.
6397         * lib/wcschr.c: New file.
6398         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
6399         * m4/wcschr.m4: New file.
6400         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
6401         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
6402         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
6403         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
6404         * doc/posix-functions/wcschr.texi: Mention the new module.
6405
6406 2011-02-06  Bruno Haible  <bruno@clisp.org>
6407
6408         New module 'wcsdup'.
6409         * modules/wcsdup: New file.
6410         * lib/wchar.in.h (wcsdup): New declaration.
6411         * lib/wcsdup.c: New file.
6412         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
6413         * m4/wcsdup.m4: New file.
6414         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
6415         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
6416         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
6417         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
6418         * doc/posix-functions/wcsdup.texi: Mention the new module.
6419
6420 2011-02-06  Bruno Haible  <bruno@clisp.org>
6421
6422         New module 'wcsxfrm'.
6423         * modules/wcsxfrm: New file.
6424         * lib/wchar.in.h (wcsxfrm): New declaration.
6425         * lib/wcsxfrm.c: New file.
6426         * lib/wcsxfrm-impl.h: New file.
6427         * m4/wcsxfrm.m4: New file.
6428         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
6429         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
6430         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
6431         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
6432         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
6433
6434 2011-02-06  Bruno Haible  <bruno@clisp.org>
6435
6436         New module 'wcscoll'.
6437         * modules/wcscoll: New file.
6438         * lib/wchar.in.h (wcscoll): New declaration.
6439         * lib/wcscoll.c: New file.
6440         * lib/wcscoll-impl.h: New file.
6441         * m4/wcscoll.m4: New file.
6442         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
6443         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
6444         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
6445         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
6446         * doc/posix-functions/wcscoll.texi: Mention the new module.
6447
6448 2011-02-06  Bruno Haible  <bruno@clisp.org>
6449
6450         New module 'wcsncasecmp'.
6451         * modules/wcsncasecmp: New file.
6452         * lib/wchar.in.h (wcsncasecmp): New declaration.
6453         * lib/wcsncasecmp.c: New file.
6454         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
6455         * m4/wcsncasecmp.m4: New file.
6456         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
6457         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
6458         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
6459         HAVE_WCSNCASECMP.
6460         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
6461         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
6462
6463 2011-02-06  Bruno Haible  <bruno@clisp.org>
6464
6465         New module 'wcscasecmp'.
6466         * modules/wcscasecmp: New file.
6467         * lib/wchar.in.h (wcscasecmp): New declaration.
6468         * lib/wcscasecmp.c: New file.
6469         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
6470         * m4/wcscasecmp.m4: New file.
6471         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
6472         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
6473         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
6474         HAVE_WCSCASECMP.
6475         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
6476         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
6477
6478 2011-02-05  Bruno Haible  <bruno@clisp.org>
6479
6480         New module 'wcsncmp'.
6481         * modules/wcsncmp: New file.
6482         * lib/wchar.in.h (wcsncmp): New declaration.
6483         * lib/wcsncmp.c: New file.
6484         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
6485         * m4/wcsncmp.m4: New file.
6486         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
6487         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
6488         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
6489         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
6490         * doc/posix-functions/wcsncmp.texi: Mention the new module.
6491
6492 2011-02-05  Bruno Haible  <bruno@clisp.org>
6493
6494         New module 'wcscmp'.
6495         * modules/wcscmp: New file.
6496         * lib/wchar.in.h (wcscmp): New declaration.
6497         * lib/wcscmp.c: New file.
6498         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
6499         * m4/wcscmp.m4: New file.
6500         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
6501         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
6502         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
6503         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
6504         * doc/posix-functions/wcscmp.texi: Mention the new module.
6505
6506 2011-02-05  Bruno Haible  <bruno@clisp.org>
6507
6508         New module 'wcsncat'.
6509         * modules/wcsncat: New file.
6510         * lib/wchar.in.h (wcsncat): New declaration.
6511         * lib/wcsncat.c: New file.
6512         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
6513         * m4/wcsncat.m4: New file.
6514         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
6515         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
6516         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
6517         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
6518         * doc/posix-functions/wcsncat.texi: Mention the new module.
6519
6520 2011-02-05  Bruno Haible  <bruno@clisp.org>
6521
6522         New module 'wcscat'.
6523         * modules/wcscat: New file.
6524         * lib/wchar.in.h (wcscat): New declaration.
6525         * lib/wcscat.c: New file.
6526         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
6527         * m4/wcscat.m4: New file.
6528         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
6529         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
6530         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
6531         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
6532         * doc/posix-functions/wcscat.texi: Mention the new module.
6533
6534 2011-02-05  Bruno Haible  <bruno@clisp.org>
6535
6536         New module 'wcpncpy'.
6537         * modules/wcpncpy: New file.
6538         * lib/wchar.in.h (wcpncpy): New declaration.
6539         * lib/wcpncpy.c: New file.
6540         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
6541         * m4/wcpncpy.m4: New file.
6542         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
6543         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
6544         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
6545         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
6546         * doc/posix-functions/wcpncpy.texi: Mention the new module.
6547
6548 2011-02-05  Bruno Haible  <bruno@clisp.org>
6549
6550         New module 'wcsncpy'.
6551         * modules/wcsncpy: New file.
6552         * lib/wchar.in.h (wcsncpy): New declaration.
6553         * lib/wcsncpy.c: New file.
6554         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
6555         * m4/wcsncpy.m4: New file.
6556         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
6557         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
6558         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
6559         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
6560         * doc/posix-functions/wcsncpy.texi: Mention the new module.
6561
6562 2011-02-05  Bruno Haible  <bruno@clisp.org>
6563
6564         New module 'wcpcpy'.
6565         * modules/wcpcpy: New file.
6566         * lib/wchar.in.h (wcpcpy): New declaration.
6567         * lib/wcpcpy.c: New file.
6568         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
6569         * m4/wcpcpy.m4: New file.
6570         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
6571         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
6572         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
6573         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
6574         * doc/posix-functions/wcpcpy.texi: Mention the new module.
6575
6576 2011-02-05  Bruno Haible  <bruno@clisp.org>
6577
6578         New module 'wcscpy'.
6579         * modules/wcscpy: New file.
6580         * lib/wchar.in.h (wcscpy): New declaration.
6581         * lib/wcscpy.c: New file.
6582         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
6583         * m4/wcscpy.m4: New file.
6584         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
6585         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
6586         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
6587         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
6588         * doc/posix-functions/wcscpy.texi: Mention the new module.
6589
6590 2011-02-05  Bruno Haible  <bruno@clisp.org>
6591
6592         New module 'wcsnlen'.
6593         * modules/wcsnlen: New file.
6594         * lib/wchar.in.h (wcsnlen): New declaration.
6595         * lib/wcsnlen.c: New file.
6596         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
6597         * m4/wcsnlen.m4: New file.
6598         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
6599         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
6600         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
6601         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
6602         * doc/posix-functions/wcsnlen.texi: Mention the new module.
6603
6604 2011-02-05  Bruno Haible  <bruno@clisp.org>
6605
6606         New module 'wcslen'.
6607         * modules/wcslen: New file.
6608         * lib/wchar.in.h (wcslen): New declaration.
6609         * lib/wcslen.c: New file.
6610         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
6611         * m4/wcslen.m4: New file.
6612         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
6613         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
6614         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
6615         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
6616         * doc/posix-functions/wcslen.texi: Mention the new module.
6617
6618 2011-02-05  Bruno Haible  <bruno@clisp.org>
6619
6620         New module 'wmemset'.
6621         * modules/wmemset: New file.
6622         * lib/wchar.in.h (wmemset): New declaration.
6623         * lib/wmemset.c: New file.
6624         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
6625         * m4/wmemset.m4: New file.
6626         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
6627         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
6628         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
6629         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
6630         * doc/posix-functions/wmemset.texi: Mention the new module.
6631
6632 2011-02-05  Bruno Haible  <bruno@clisp.org>
6633
6634         New module 'wmemmove'.
6635         * modules/wmemmove: New file.
6636         * lib/wchar.in.h (wmemmove): New declaration.
6637         * lib/wmemmove.c: New file.
6638         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
6639         * m4/wmemmove.m4: New file.
6640         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
6641         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
6642         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
6643         HAVE_WMEMMOVE.
6644         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
6645         * doc/posix-functions/wmemmove.texi: Mention the new module.
6646
6647 2011-02-05  Bruno Haible  <bruno@clisp.org>
6648
6649         New module 'wmemcpy'.
6650         * modules/wmemcpy: New file.
6651         * lib/wchar.in.h (wmemcpy): New declaration.
6652         * lib/wmemcpy.c: New file.
6653         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
6654         * m4/wmemcpy.m4: New file.
6655         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
6656         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
6657         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
6658         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
6659         * doc/posix-functions/wmemcpy.texi: Mention the new module.
6660
6661 2011-02-05  Bruno Haible  <bruno@clisp.org>
6662
6663         New module 'wmemcmp'.
6664         * modules/wmemcmp: New file.
6665         * lib/wchar.in.h (wmemcmp): New declaration.
6666         * lib/wmemcmp.c: New file.
6667         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
6668         * m4/wmemcmp.m4: New file.
6669         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
6670         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
6671         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
6672         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
6673         * doc/posix-functions/wmemcmp.texi: Mention the new module.
6674
6675 2011-02-07  Jim Meyering  <meyering@redhat.com>
6676
6677         di-set, ino-map: new modules, from coreutils
6678         * lib/di-set.c: New file.
6679         * lib/di-set.h: Likewise.
6680         * lib/ino-map.c: Likewise.
6681         * lib/ino-map.h: Likewise.
6682         * modules/di-set: Likewise.
6683         * modules/di-set-tests: Likewise.
6684         * modules/ino-map: Likewise.
6685         * modules/ino-map-tests: Likewise.
6686         * tests/test-di-set.c: Likewise.
6687         * tests/test-ino-map.c: Likewise.
6688
6689 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
6690
6691         getloadavg: merge minor changes from Emacs
6692
6693         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
6694         (getloadavg): Use memset, not bzero.
6695
6696         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
6697         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
6698         clash (bug#86).
6699
6700 2010-11-14  Bruno Haible  <bruno@clisp.org>
6701
6702         Allow multiple gnulib generated replacements to coexist.
6703         * lib/getopt.in.h (struct option): Avoid identical redefinition.
6704         * lib/inttypes.in.h (imaxdiv_t): Likewise.
6705         * lib/langinfo.in.h (nl_item): Likewise.
6706         * lib/math.in.h (_NaN, NAN): Likewise.
6707         * lib/netdb.in.h (struct addrinfo): Likewise.
6708         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
6709         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
6710         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
6711         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
6712         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
6713         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
6714         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
6715         pthread_mutexattr_init, pthread_mutexattr_settype,
6716         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
6717         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
6718         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
6719         pthread_spin_trylock, pthread_spin_unlock): Likewise.
6720         * lib/sched.in.h (struct sched_param): Likewise.
6721         * lib/se-selinux.in.h (security_class_t, security_context_t,
6722         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
6723         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
6724         lsetfilecon, fsetfilecon, security_check_context,
6725         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
6726         Likewise.
6727         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
6728         Likewise.
6729         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
6730         _gl_function_taking_int_returning_void_t, union sigval,
6731         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
6732         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
6733         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
6734         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
6735         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
6736         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
6737         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
6738         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
6739         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
6740         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
6741         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
6742         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
6743         socklen_t, rpl_fd_isset): Likewise.
6744         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
6745         * lib/sys_time.in.h (struct timeval): Likewise.
6746         * lib/sys_times.in.h (struct tms): Likewise.
6747         * lib/sys_utsname.in.h (struct utsname):
6748         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
6749         * lib/unistd.in.h (getpagesize): Likewise.
6750         * lib/wchar.in.h (mbstate_t): Likewise.
6751         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
6752         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
6753         towlower, towupper): Likewise.
6754         Reported by Sam Steingold <sds@gnu.org>.
6755
6756 2011-02-05  Eric Blake  <eblake@redhat.com>
6757
6758         unsetenv: work around Haiku issues
6759         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
6760         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
6761
6762 2010-12-30  Bruce Korb  <bkorb@gnu.org>
6763
6764         libposix: avoid calling error() within libposix
6765         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
6766         is defined.
6767
6768 2011-02-05  Eric Blake  <eblake@redhat.com>
6769
6770         strerror_r-posix: port to cygwin
6771         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
6772         implementation.
6773         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
6774         * tests/test-strerror_r.c (main): Fix test.
6775         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
6776         issue.
6777
6778 2011-02-05  Bruno Haible  <bruno@clisp.org>
6779
6780         New module 'wmemchr'.
6781         * modules/wmemchr: New file.
6782         * lib/wchar.in.h (wmemchr): New declaration.
6783         * lib/wmemchr.c: New file.
6784         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
6785         * m4/wmemchr.m4: New file.
6786         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
6787         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
6788         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
6789         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
6790         * doc/posix-functions/wmemchr.texi: Mention the new module.
6791
6792 2011-02-04  Eric Blake  <eblake@redhat.com>
6793
6794         fdopendir: detect FreeBSD bug
6795         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
6796         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
6797
6798 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
6799
6800         stdbool: do not define HAVE_STDBOOL_H
6801         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
6802         AC_HEADER_STDBOOL.  All uses changed.  Do not define
6803         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
6804         imported from the latest Autoconf git.  It was motivated by Emacs,
6805         which uses gnulib but does not need HAVE_STDBOOL_H.
6806
6807 2011-02-04  Bruno Haible  <bruno@clisp.org>
6808
6809         wcsnrtombs: Prepare for new module wwcsnrtombs.
6810         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
6811         * lib/wcsnrtombs.c: Include it.
6812         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
6813
6814         wcsrtombs: Prepare for new module wwcsrtombs.
6815         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
6816         * lib/wcsrtombs.c: Include it.
6817         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
6818
6819         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
6820         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
6821         * lib/mbsnrtowcs.c: Include it.
6822         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
6823
6824         mbsrtowcs: Prepare for new module mbsrtowwcs.
6825         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
6826         * lib/mbsrtowcs.c: Include it.
6827         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
6828
6829 2011-02-04  Bruno Haible  <bruno@clisp.org>
6830
6831         vasnprintf: Reduce use of malloc for small format strings.
6832         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
6833         (arguments): Add room for the first 7 arguments.
6834         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
6835         (char_directives, u8_directives, u16_directives, u32_directives): Add
6836         room for the first 7 directives.
6837         * lib/printf-parse.c: Include <string.h>.
6838         (PRINTF_PARSE): Change memory handling code so that it uses the first
6839         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
6840         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
6841         Reported by Pádraig Brady <P@draigbrady.com>.
6842
6843 2011-01-31  Eric Blake  <eblake@redhat.com>
6844
6845         dup2: work around Haiku bug
6846         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
6847         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
6848         * doc/posix-functions/dup2.texi (dup2): Document the bug.
6849         * tests/test-dup2.c (main): Enhance test.
6850
6851 2011-01-31  Simon Josefsson  <simon@josefsson.org>
6852
6853         doc: off_t is not available in eglibc 2.11.2 stdio.h.
6854         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
6855         declared by eglibc 2.11.2.
6856         * lib/stdio.in.h: Likewise.
6857
6858 2011-01-31  Eric Blake  <eblake@redhat.com>
6859
6860         ignore-value: add missing test dependency
6861         * tests/test-ignore-value.c: Revert previous change; stdio.h
6862         provides off_t.
6863         * modules/ignore-value-tests (Depends-on): Add missing dependency.
6864
6865 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
6866
6867         mktime: clarify long_int width checking
6868         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
6869         the top level, to make it clearer that the assumption about
6870         long_int width is being checked.  See
6871         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
6872
6873 2011-01-30  Simon Josefsson  <simon@josefsson.org>
6874
6875         ignore-value: Fix self-test.
6876         * tests/test-ignore-value.c: Include sys/types.h for off_t.
6877
6878 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
6879
6880         TYPE_MAXIMUM: avoid theoretically undefined behavior
6881         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
6882         negative number, which the C Standard says has undefined behavior.
6883         In practice this is not a problem, but might as well do it by the book.
6884         Reported by Rich Felker and Eric Blake; see
6885         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
6886         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
6887         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
6888         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6889         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
6890         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6891         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
6892
6893         mktime: #undef mktime before #defining it
6894         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
6895
6896         mktime: systematically normalize tm_isdst comparisons
6897         * lib/mktime.c (isdst_differ): New function.
6898         (__mktime_internal): Use it systematically for all isdst comparisons.
6899         This completes the fix for libc BZ #6723, and removes the need for
6900         normalizing tm_isdst.  See
6901         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
6902         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
6903
6904         mktime: fix some integer overflow issues and sidestep the rest
6905
6906         This was prompted by a bug report by Benjamin Lindner for MinGW
6907         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
6908         His bug is due to signed integer overflow (0 - INT_MIN), and I
6909         I scanned through mktime.c looking for other integer overflow
6910         problems, fixing all the bugs I found.
6911
6912         Although the C Standard says the resulting code is still not safe
6913         in the presence of integer overflow, in practice it should be good
6914         enough for all real-world two's-complement implementations, except
6915         for debugging environments that deliberately trap on integer
6916         overflow (e.g., gcc -ftrapv).
6917
6918         * lib/mktime.c (WRAPV): New macro.
6919         (SHR): Also check that long_int and time_t shift right in the
6920         usual way, before using the fast-but-unportable method.
6921         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
6922         used.  The code already assumed two's complement, so there's
6923         no need to test for alternatives.  All uses removed.
6924         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
6925         the C standard.  Problem reported by Rich Felker in
6926         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
6927         (twos_complement_arithmetic): Also check long_int and time_t.
6928         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
6929         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
6930         (__mktime_internal): Avoid integer overflow with unary subtraction
6931         in two instances where -1 - X is an adequate replacement for -X,
6932         since the calculations are approximate.
6933
6934 2011-01-29  Eric Blake  <eblake@redhat.com>
6935
6936         mktime: avoid infinite loop
6937         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
6938         type; behavior is still undefined but portable to all known targets.
6939         Reported by Rich Felker.
6940
6941 2011-01-29  Simon Josefsson  <simon@josefsson.org>
6942
6943         rename, unlink, same-inode: Relicense.
6944         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
6945         * modules/unlink (License): Likewise.
6946         * modules/same-inode (License): Likewise.
6947
6948 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
6949
6950         mktime: avoid problems on NetBSD 5 / i386
6951         * lib/mktime.c (long_int): New type.  This works around a problem
6952         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
6953         but time_t is 64 bits, and where I expect the existing code is
6954         wrong in some cases.
6955         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
6956         (ydhms_diff): Bring back the compile-time check for wide-enough
6957         year and yday.
6958
6959         mktime: fix misspelling in comment
6960         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
6961         This merges all recent glibc changes of importance.
6962
6963 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6964
6965         move-if-change: cope with concurrent mv of identical file.
6966         * build-aux/move-if-change (CMPPROG): Accept environment
6967         variable as an override for `cmp'.
6968         (usage): Document CMPPROG.
6969         Adjust comparison to drop stdout.  Cope with failure of mv if
6970         the target file exists and is identical to the source, for
6971         parallel builds.
6972         Report from H.J. Lu against binutils in PR binutils/12283.
6973
6974 2011-01-28  Bruce Korb  <bkorb@gnu.org>
6975
6976         * users.txt: Mention sharutils.
6977
6978 2011-01-28  Simon Josefsson  <simon@josefsson.org>
6979
6980         * users.txt: Mention OATH Toolkit.
6981
6982 2011-01-27  Bruno Haible  <bruno@clisp.org>
6983
6984         Prepare for supporting FreeBSD 10.
6985         * build-aux/config.libpath: Remove handling of freebsd1*.
6986
6987 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
6988
6989         Prepare for supporting FreeBSD 10.
6990         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
6991         match FreeBSD 10.0.
6992
6993 2011-01-27  Bruno Haible  <bruno@clisp.org>
6994
6995         vma-iter, get-rusage-as: Add OpenBSD support.
6996         * modules/vma-iter (configure.ac): Test for mquery.
6997         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
6998         * lib/vma-iter.c: Include <sys/mman.h>.
6999         (vma_iterate): Add an implementation based on mquery().
7000         * lib/resource-ext.h (get_rusage_as): Update comments.
7001         * lib/get-rusage-as.c: Likewise.
7002         * lib/get-rusage-data.c: Likewise.
7003
7004 2011-01-26  Karl Berry  <karl@gnu.org>
7005
7006         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
7007         variables to make it easier to override the makeinfo program used.
7008
7009 2011-01-26  Eric Blake  <eblake@redhat.com>
7010
7011         fcntl: work around Haiku F_DUPFD bugs
7012         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
7013         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
7014         cloexec bit on duplication.
7015         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
7016
7017 2011-01-26  Bruno Haible  <bruno@clisp.org>
7018
7019         Enable memory leak tests on AIX.
7020         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
7021         * tests/test-fprintf-posix3.c (main): Likewise.
7022
7023 2011-01-26  Bruno Haible  <bruno@clisp.org>
7024
7025         Tests for module 'get-rusage-data'.
7026         * modules/get-rusage-data-tests: New file.
7027         * tests/test-get-rusage-data.c: New file.
7028
7029         New module 'get-rusage-data'.
7030         * lib/resource-ext.h (get_rusage_data): New declaration.
7031         * lib/get-rusage-data.c: New file.
7032         * modules/get-rusage-data: New file.
7033
7034 2011-01-25  Bruno Haible  <bruno@clisp.org>
7035
7036         get-rusage-as: Allow for easier testing.
7037         * lib/resource-ext.h (get_rusage_as): Add comment.
7038         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
7039         (main): New function for interactive testing.
7040
7041 2011-01-25  Bruno Haible  <bruno@clisp.org>
7042
7043         vma-iter: Treat Haiku like BeOS.
7044         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
7045         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
7046
7047 2011-01-25  Eric Blake  <eblake@redhat.com>
7048
7049         c-stack: fix regression on cygwin when libsigsegv is present
7050         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
7051
7052 2011-01-24  Bruno Haible  <bruno@clisp.org>
7053
7054         vma-iter: Avoid empty intervals.
7055         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
7056         on an empty interval.
7057
7058 2011-01-24  Jim Meyering  <meyering@redhat.com>
7059
7060         u64: remove unnecessary #include
7061         * lib/u64.h: Don't include <stddef.h>.  It was not used.
7062
7063 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7064
7065         Allow the user to avoid the HAVE_RAW_DECL_* macros.
7066         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
7067
7068 2011-01-23  Bruno Haible  <bruno@clisp.org>
7069
7070         New module 'vma-iter'.
7071         * lib/vma-iter.h: New file.
7072         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
7073         * modules/vma-iter: New file.
7074         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
7075         for get_rusage_as_via_iterator.
7076         (vma_iterate_callback): New function.
7077         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
7078         * modules/get-rusage-as (Depends-on): Add vma-iter.
7079
7080 2011-01-23  Bruno Haible  <bruno@clisp.org>
7081
7082         uninorm: Tweak includes.
7083         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
7084         Reported by Jim Meyering.
7085
7086 2011-01-23  Bruno Haible  <bruno@clisp.org>
7087
7088         get-rusage-as: Improve on NetBSD.
7089         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
7090         /proc, like on FreeBSD.
7091
7092 2011-01-23  Jim Meyering  <meyering@redhat.com>
7093
7094         xreadlink.h: remove unnecessary #include
7095         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
7096
7097         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
7098         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
7099
7100 2011-01-23  Bruno Haible  <bruno@clisp.org>
7101
7102         get-rusage-as: Fix bug.
7103         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
7104         original limit when aborting the first loop.
7105
7106 2011-01-23  Bruno Haible  <bruno@clisp.org>
7107
7108         wctype: Ensure valid C syntax.
7109         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
7110         unconditionally, instead of gl_NEXT_HEADERS conditionally.
7111
7112 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
7113
7114         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
7115         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
7116         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
7117         as they are needed only for configure's test case.
7118         This removes two unnecessary symbols from config.h.
7119
7120         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
7121         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
7122         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
7123         AC_CHECK_HEADERS_ONCE on a header that we also invoke
7124         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
7125         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
7126         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
7127         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7128         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7129         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7130         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
7131         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7132         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7133         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7134         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7135         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7136         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
7137         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
7138
7139 2011-01-21  Eric Blake  <eblake@redhat.com>
7140
7141         maintainer-makefile: work with older git for submodule check
7142         * top/maint.mk (public-submodule-commit): Rewrite to avoid
7143         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
7144         Reported by Matthias Bolte.
7145
7146         bootstrap: minor portability fixes
7147         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
7148         (usage): Omit leading capital and trailing . on help phrases, per
7149         GNU Coding Standards.
7150         (check_versions, top level): Prefix messages with script name.
7151
7152 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
7153
7154         bootstrap: support --no-git option
7155         * build-aux/bootstrap: Add --no-git option, to be used when
7156         --gnulib-srcdir points to the exact desired checkout.
7157
7158 2011-01-21  Eric Blake  <eblake@redhat.com>
7159
7160         strerror_r-posix: work with glibc 2.13
7161         * lib/strerror_r.c (strerror_r): Fix return type.
7162
7163 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7164             Bruno Haible  <bruno@clisp.org>
7165
7166         uN_strstr: New unit tests.
7167         * modules/unistr/u8-strstr-tests: New file.
7168         * modules/unistr/u16-strstr-tests: New file.
7169         * modules/unistr/u32-strstr-tests: New file.
7170         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
7171         * tests/unistr/test-u8-strstr.c: New file.
7172         * tests/unistr/test-u16-strstr.c: New file.
7173         * tests/unistr/test-u32-strstr.c: New file.
7174
7175 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7176             Bruno Haible  <bruno@clisp.org>
7177
7178         Make uN_strstr functions O(n) worst-case.
7179         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
7180         16-bit and 32-bit unit cases, use the unibyte algorithm from
7181         lib/mbsstr.c.
7182         * lib/unistr/u8-strstr.c: Include <string.h>.
7183         (UNIT_IS_UINT8_T): New macro.
7184         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
7185         (U_STRLEN, U_STRNLEN): New macros.
7186         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
7187         (U_STRLEN, U_STRNLEN): New macros.
7188         * modules/unistr/u8-strstr (Depends-on): Add strstr.
7189         (configure.ac): Update required libunistring version.
7190         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
7191         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
7192         malloca.
7193         (configure.ac): Update required libunistring version.
7194         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
7195         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
7196         malloca.
7197         (configure.ac): Update required libunistring version.
7198
7199 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7200             Bruno Haible  <bruno@clisp.org>
7201
7202         Prepare for faster uN_strstr functions.
7203         * lib/str-kmp.h: Support definable UNITs.
7204         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
7205         needle_len argument.
7206         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
7207         * lib/mbscasestr.c (mbscasestr): Likewise.
7208
7209 2011-01-21  Pádraig Brady <P@draigBrady.com>
7210
7211         malloca-tests: make faster by unsetting MALLOC_PERTURB_
7212         * tests/test-malloca.c (main): Unset the environment variable
7213         to greatly speed up the test.
7214         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
7215         * modules/malloca-tests: Depend on unsetenv.
7216
7217 2011-01-21  Pádraig Brady <P@draigBrady.com>
7218
7219         ignore-value: remove stdint dependency
7220         * lib/ignore-value.h: Remove <stdint.h>
7221         * modules/ignore-value: Remove stdint dependency.
7222
7223 2011-01-21  Jim Meyering  <meyering@redhat.com>
7224
7225         maint.mk: adjust variable name to be consistent with other gl_ vars
7226         * top/maint.mk (gl_public_submodule_commit): Rename the variable
7227         to be lower case.
7228
7229 2011-01-20  Jim Meyering  <meyering@redhat.com>
7230
7231         maint.mk: make "check" depend on public-submodule-commit by default
7232         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
7233
7234 2011-01-20  Bruno Haible  <bruno@clisp.org>
7235
7236         mbfile, mbiter: Complete change from 2008-12-21.
7237         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
7238         * m4/mbiter.m4 (gl_MBITER): Likewise.
7239
7240 2011-01-20  Jim Meyering  <meyering@redhat.com>
7241
7242         init.sh: insert space between each function name and "()"
7243         * tests/init.sh: Make it a little easier to see that a function's
7244         name is "warn_", and not "warn" when looking at the first part of
7245         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
7246
7247 2011-01-20  Jim Meyering  <meyering@redhat.com>
7248
7249         mountlist: clean up code formatting
7250         * lib/mountlist.c (read_file_system_list): Split a long line,
7251         correct bracing style, use NULL in place of "(struct statfs *)0",
7252         don't parenthesize return value, add spaces around "=" and after
7253         ";-in-for-stmt".
7254
7255 2011-01-14  Markus Duft <mduft@gentoo.org>
7256
7257         mountlist: add support for Interix
7258         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
7259         Apply statvfs to all entries of /dev/fs.
7260         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
7261         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
7262
7263 2011-01-20  Jim Meyering  <meyering@redhat.com>
7264
7265         maint.mk: improve the public-submodule-commit rule
7266         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
7267         to suppress printing of its commands... unless V=1.
7268         Add git submodule's --quiet option to suppress printing of e.g.,
7269         "Entering gnulib" output.
7270         "cd" into $(srcdir) before running git submodule.
7271
7272 2011-01-20  Bruno Haible  <bruno@clisp.org>
7273
7274         include_next: Fix bug introduced on 2011-01-18.
7275         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
7276         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
7277         ac_cv_header_... variable if the second argument is not 'check'.
7278         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
7279         gl_NEXT_HEADERS_INTERNAL.
7280
7281 2011-01-20  Bruno Haible  <bruno@clisp.org>
7282
7283         Allow the user to avoid the GNULIB_TEST_* macros.
7284         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
7285         Suggested by Paul Eggert.
7286
7287 2011-01-14  Jim Meyering  <meyering@redhat.com>
7288
7289         bootstrap: avoid failure when there is no .gitmodules file
7290         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
7291         has been assigned to, even when its value is the empty string.
7292         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
7293         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
7294         Reported by John W. Eaton <jwe@gnu.org>.
7295
7296 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
7297
7298         assume <ctype.h>, ..., <time.h> exist
7299         For years gnulib has been assuming the existence of the headers
7300         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
7301         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
7302         them, since they don't appear to be needed.
7303         * README (Portability guidelines): Document this.
7304         * lib/flock.c: Assume <fcntl.h> exists.
7305         * lib/regex_internal.h: Assume <locale.h> exists.
7306         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
7307         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
7308         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
7309         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
7310         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
7311         * m4/regex.m4 (gl_REGEX): Likewise.
7312         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
7313         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
7314         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
7315         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
7316         * tests/test-argp.c: Likewise.
7317         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
7318
7319         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
7320         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
7321         AA_APPLE_UNIVERSAL_BUILD.  See
7322         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
7323         * NEWS: Document this.
7324
7325 2011-01-19  Eric Blake  <eblake@redhat.com>
7326
7327         c-stack: assume stack overflow if SA_SIGINFO unsupported
7328         * lib/c-stack.c (SIGACTION_WORKS): Rename...
7329         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
7330         sigaction will work.
7331         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
7332         behavior match Linux.
7333         * tests/test-c-stack.c (main): Prefer NULL for pointers.
7334
7335         stdbool-tests: accomodate Haiku
7336         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
7337
7338         binary-io: fix O_TEXT on Haiku
7339         * modules/binary-io (Depends-on): Add fcntl-h.
7340         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
7341         than blindly undefining O_TEXT.
7342         Reported by Scott McCreary.
7343
7344 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
7345
7346         include_next: do not check for standard headers like stddef.h
7347
7348         I found this problem when modifying Emacs to use gnulib.
7349         I noticed that it added HAVE_STDDEF_H to config.h, even though
7350         gnulib always assumes <stddef.h> exists as per README and this
7351         symbol is unnecessary.
7352         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
7353         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
7354         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
7355         faster for headers like stddef.h that are known to exist.
7356         (gl_CHECK_NEXT_HEADERS): Use it.
7357         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
7358         rather than gl_CHECK_NEXT_HEADERS.
7359         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
7360         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
7361
7362 2011-01-18  Eric Blake  <eblake@redhat.com>
7363
7364         ansi-c++-opt: skip C++ dependency style if C++ is unused
7365         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
7366         tests when we know C++ compilation is not desired.
7367         Reported by Scott McCreary.
7368
7369 2011-01-18  Bruno Haible  <bruno@clisp.org>
7370
7371         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
7372         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
7373         (main): Perform test also when getrlimit and setrlimit don't exist or
7374         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
7375         limiting the address space size using setrlimit, compare the address
7376         space size before and after the the test.
7377         * tests/test-dprintf-posix2.c: Likewise.
7378         * tests/test-fprintf-posix3.sh: Update skip messages.
7379         * tests/test-dprintf-posix2.sh: Likewise.
7380         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
7381         * modules/dprintf-posix-tests (Depends-on): Likewise.
7382         Reported by Bruce Korb <bkorb@gnu.org> and
7383         Gary V. Vaughan <gary@gnu.org>.
7384
7385 2011-01-18  Bruno Haible  <bruno@clisp.org>
7386
7387         get-rusage-as: Improvement for Cygwin.
7388         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
7389         areas that are merely reserved.
7390
7391 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
7392
7393         strftime: remove dependencies on multibyte modules
7394
7395         strftime depended on mbrlen, mbsinit, and wchar, but these modules
7396         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
7397         only if __osf__ is defined, and I suspect OSF doesn't need these
7398         other modules.  If my guess is wrong, we'll need to come up with a
7399         variant of strftime that doesn't need the multibyte modules.
7400
7401         I discovered this problem when attempting modify Emacs to use the
7402         strftime module.  With the previous gnulib, this caused Emacs to
7403         need 31 new files, ranging from lib/config.charset to
7404         m4/wint_t.m4.  This was overkill and I expect would be offputting
7405         to the Emacs maintainers.  After this change, only 6 new files are
7406         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
7407         stdbool.m4, and tm_gmtoff.m4.
7408
7409         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
7410         Suggested by Bruno Haible in
7411         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
7412         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
7413         and do not check for wchar.h.
7414         * modules/strftime (Files): Remove m4/mbstate_t.m4.
7415         (Depends-on): Remove mbrlen, mbsinit, wchar.
7416
7417 2011-01-18  Bruno Haible  <bruno@clisp.org>
7418
7419         Tests for module 'get-rusage-as'.
7420         * modules/get-rusage-as-tests: New file.
7421         * tests/test-get-rusage-as.c: New file.
7422
7423         New module 'get-rusage-as'.
7424         * modules/get-rusage-as: New file.
7425         * lib/resource-ext.h: New file.
7426         * lib/get-rusage-as.c: New file.
7427
7428 2011-01-17  Eric Blake  <eblake@redhat.com>
7429
7430         sigaction: relax license from LGPLv3+ to LGPLv2+
7431         * modules/sigaction (License): Relax to LGPLv2+.
7432
7433 2011-01-14  Bruno Haible  <bruno@clisp.org>
7434
7435         filemode: Make function declarations usable in C++ mode.
7436         * lib/filemode.h: Enclose function declarations in extern "C" block.
7437         Reported by John W. Eaton <jwe@gnu.org>.
7438
7439 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
7440
7441         save-cwd: no longer include "xgetcwd.h"
7442         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
7443         This avoids a compilation failure in projects that use save-cwd
7444         without also using the xgetcwd module.
7445
7446 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7447
7448         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
7449         This is so that a program like Emacs, which needs only dtoastr,
7450         does not have to bother with distributing and compiling ftoastr
7451         and ldtoastr.
7452         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
7453         * modules/dtoastr, modules/ldtoastr: New files.
7454         * modules/ftoastr: Now works just for 'float'.
7455         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
7456         (Makefile.am): Remove ftoastr.h (not needed and no effect),
7457         dtoastr.c, ldtoastr.c.
7458
7459 2011-01-11  Jim Meyering  <meyering@redhat.com>
7460
7461         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
7462         There is no need to work around the lack of the fchdir function,
7463         since gnulib can now provide a replacement when required.
7464         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
7465         * modules/save-cwd (Depends-on): Add fchdir.
7466
7467 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7468
7469         openat, save-cwd: avoid xmalloc
7470
7471         This removes a direct (but undocumented) dependency of openat on
7472         xalloc, along with an indirect dependency via save-cwd.  It also
7473         removes a dependency of save-cwd on xgetcwd, and thereby
7474         indirectly on xalloc.  This change causes the openat substitute
7475         to fall back on save_cwd when memory is tight, and for save_cwd to
7476         fail instead of dying when memory is tight, but that's good enough.
7477         Problem and initial idea for fix reported by Bastien Roucaries in
7478         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
7479
7480         * lib/openat-proc.c: Include stdlib.h (for malloc), not
7481         xalloc.h (for xmalloc).
7482         (openat_proc_name): Use malloc, not xmalloc.
7483         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
7484         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
7485
7486         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
7487         This avoids heap allocation for file names whose lengths are in
7488         the range 512..1023, with the upper bound increasing to at most
7489         4031 depending on the platform's PATH_MAX.  (We do not want
7490         pathmax.h here as it might supply a non-constant PATH_MAX.)
7491         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
7492         Perhaps they should be moved to malloca.h?
7493         (OPENAT_BUFFER_SIZE): Use them.
7494
7495 2011-01-10  Bruno Haible  <bruno@clisp.org>
7496
7497         doc: Update users.txt.
7498         * users.txt: Add recutils.
7499
7500 2011-01-09  Karl Berry  <karl@gnu.org>
7501
7502         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
7503
7504         * doc/configmake.texi: New file.
7505         * doc/gnulib.texi: Include it.
7506         * modules/configmake: Move documentation from here.
7507
7508 2011-01-09  Bruno Haible  <bruno@clisp.org>
7509
7510         Update to Unicode 6.0.0.
7511         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
7512         (get_lbp): Update for Unicode 6.0.0.
7513         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
7514         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
7515         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
7516         U+11001, U+11038..U+11046. Remove U+06DE.
7517         (uc_width): Fix bounds of planes.
7518         * tests/uniwidth/test-uc_width2.sh: Same updates as in
7519         lib/uniwidth/width.c.
7520         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
7521         trailing whitespace removed.
7522         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
7523         without comments, but with the original copyright notice.
7524         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
7525         * lib/unicase/ignorable.h: Likewise.
7526         * lib/unicase/tocasefold.h: Likewise.
7527         * lib/unicase/tolower.h: Likewise.
7528         * lib/unicase/totitle.h: Likewise.
7529         * lib/unicase/toupper.h: Likewise.
7530         * lib/unictype/bidi_of.h: Likewise.
7531         * lib/unictype/blocks.h: Likewise.
7532         * lib/unictype/categ_C.h: Likewise.
7533         * lib/unictype/categ_Cn.h: Likewise.
7534         * lib/unictype/categ_L.h: Likewise.
7535         * lib/unictype/categ_Ll.h: Likewise.
7536         * lib/unictype/categ_Lm.h: Likewise.
7537         * lib/unictype/categ_Lo.h: Likewise.
7538         * lib/unictype/categ_Lu.h: Likewise.
7539         * lib/unictype/categ_M.h: Likewise.
7540         * lib/unictype/categ_Mc.h: Likewise.
7541         * lib/unictype/categ_Me.h: Likewise.
7542         * lib/unictype/categ_Mn.h: Likewise.
7543         * lib/unictype/categ_N.h: Likewise.
7544         * lib/unictype/categ_Nd.h: Likewise.
7545         * lib/unictype/categ_No.h: Likewise.
7546         * lib/unictype/categ_P.h: Likewise.
7547         * lib/unictype/categ_Po.h: Likewise.
7548         * lib/unictype/categ_S.h: Likewise.
7549         * lib/unictype/categ_Sc.h: Likewise.
7550         * lib/unictype/categ_Sk.h: Likewise.
7551         * lib/unictype/categ_Sm.h: Likewise.
7552         * lib/unictype/categ_So.h: Likewise.
7553         * lib/unictype/categ_of.h: Likewise.
7554         * lib/unictype/combining.h: Likewise.
7555         * lib/unictype/ctype_alnum.h: Likewise.
7556         * lib/unictype/ctype_alpha.h: Likewise.
7557         * lib/unictype/ctype_graph.h: Likewise.
7558         * lib/unictype/ctype_lower.h: Likewise.
7559         * lib/unictype/ctype_print.h: Likewise.
7560         * lib/unictype/ctype_punct.h: Likewise.
7561         * lib/unictype/ctype_upper.h: Likewise.
7562         * lib/unictype/decdigit.h: Likewise.
7563         * lib/unictype/digit.h: Likewise.
7564         * lib/unictype/numeric.h: Likewise.
7565         * lib/unictype/pr_alphabetic.h: Likewise.
7566         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
7567         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
7568         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
7569         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
7570         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
7571         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
7572         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
7573         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
7574         * lib/unictype/pr_case_ignorable.h: Likewise.
7575         * lib/unictype/pr_cased.h: Likewise.
7576         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
7577         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
7578         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
7579         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
7580         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
7581         * lib/unictype/pr_combining.h: Likewise.
7582         * lib/unictype/pr_composite.h: Likewise.
7583         * lib/unictype/pr_currency_symbol.h: Likewise.
7584         * lib/unictype/pr_decimal_digit.h: Likewise.
7585         * lib/unictype/pr_deprecated.h: Likewise.
7586         * lib/unictype/pr_format_control.h: Likewise.
7587         * lib/unictype/pr_grapheme_base.h: Likewise.
7588         * lib/unictype/pr_grapheme_extend.h: Likewise.
7589         * lib/unictype/pr_grapheme_link.h: Likewise.
7590         * lib/unictype/pr_id_continue.h: Likewise.
7591         * lib/unictype/pr_id_start.h: Likewise.
7592         * lib/unictype/pr_ideographic.h: Likewise.
7593         * lib/unictype/pr_lowercase.h: Likewise.
7594         * lib/unictype/pr_math.h: Likewise.
7595         * lib/unictype/pr_numeric.h: Likewise.
7596         * lib/unictype/pr_other_alphabetic.h: Likewise.
7597         * lib/unictype/pr_other_id_continue.h: Likewise.
7598         * lib/unictype/pr_other_math.h: Likewise.
7599         * lib/unictype/pr_punctuation.h: Likewise.
7600         * lib/unictype/pr_sentence_terminal.h: Likewise.
7601         * lib/unictype/pr_terminal_punctuation.h: Likewise.
7602         * lib/unictype/pr_unassigned_code_value.h: Likewise.
7603         * lib/unictype/pr_unified_ideograph.h: Likewise.
7604         * lib/unictype/pr_uppercase.h: Likewise.
7605         * lib/unictype/pr_xid_continue.h: Likewise.
7606         * lib/unictype/pr_xid_start.h: Likewise.
7607         * lib/unictype/scripts.h: Likewise.
7608         * lib/unictype/scripts_byname.gperf: Likewise.
7609         * lib/unictype/sy_java_ident.h: Likewise.
7610         * lib/unigbrk/gbrkprop.h: Likewise.
7611         * lib/unilbrk/lbrkprop1.h: Likewise.
7612         * lib/unilbrk/lbrkprop2.h: Likewise.
7613         * lib/uninorm/decomposition-table2.h: Likewise.
7614         * lib/uniwbrk/wbrkprop.h: Likewise.
7615         * tests/unicase/test-cased.c: Likewise.
7616         * tests/unicase/test-ignorable.c: Likewise.
7617         * tests/unicase/test-uc_tolower.c: Likewise.
7618         * tests/unicase/test-uc_totitle.c: Likewise.
7619         * tests/unicase/test-uc_toupper.c: Likewise.
7620         * tests/unictype/test-categ_C.c: Likewise.
7621         * tests/unictype/test-categ_Cn.c: Likewise.
7622         * tests/unictype/test-categ_L.c: Likewise.
7623         * tests/unictype/test-categ_Ll.c: Likewise.
7624         * tests/unictype/test-categ_Lm.c: Likewise.
7625         * tests/unictype/test-categ_Lo.c: Likewise.
7626         * tests/unictype/test-categ_Lu.c: Likewise.
7627         * tests/unictype/test-categ_M.c: Likewise.
7628         * tests/unictype/test-categ_Mc.c: Likewise.
7629         * tests/unictype/test-categ_Me.c: Likewise.
7630         * tests/unictype/test-categ_Mn.c: Likewise.
7631         * tests/unictype/test-categ_N.c: Likewise.
7632         * tests/unictype/test-categ_Nd.c: Likewise.
7633         * tests/unictype/test-categ_No.c: Likewise.
7634         * tests/unictype/test-categ_P.c: Likewise.
7635         * tests/unictype/test-categ_Po.c: Likewise.
7636         * tests/unictype/test-categ_S.c: Likewise.
7637         * tests/unictype/test-categ_Sc.c: Likewise.
7638         * tests/unictype/test-categ_Sk.c: Likewise.
7639         * tests/unictype/test-categ_Sm.c: Likewise.
7640         * tests/unictype/test-categ_So.c: Likewise.
7641         * tests/unictype/test-ctype_alnum.c: Likewise.
7642         * tests/unictype/test-ctype_alpha.c: Likewise.
7643         * tests/unictype/test-ctype_graph.c: Likewise.
7644         * tests/unictype/test-ctype_lower.c: Likewise.
7645         * tests/unictype/test-ctype_print.c: Likewise.
7646         * tests/unictype/test-ctype_punct.c: Likewise.
7647         * tests/unictype/test-ctype_upper.c: Likewise.
7648         * tests/unictype/test-decdigit.h: Likewise.
7649         * tests/unictype/test-digit.h: Likewise.
7650         * tests/unictype/test-numeric.h: Likewise.
7651         * tests/unictype/test-pr_alphabetic.c: Likewise.
7652         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
7653         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
7654         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
7655         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
7656         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
7657         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
7658         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
7659         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
7660         * tests/unictype/test-pr_case_ignorable.c: Likewise.
7661         * tests/unictype/test-pr_cased.c: Likewise.
7662         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
7663         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
7664         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
7665         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
7666         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
7667         * tests/unictype/test-pr_combining.c: Likewise.
7668         * tests/unictype/test-pr_composite.c: Likewise.
7669         * tests/unictype/test-pr_currency_symbol.c: Likewise.
7670         * tests/unictype/test-pr_decimal_digit.c: Likewise.
7671         * tests/unictype/test-pr_deprecated.c: Likewise.
7672         * tests/unictype/test-pr_format_control.c: Likewise.
7673         * tests/unictype/test-pr_grapheme_base.c: Likewise.
7674         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
7675         * tests/unictype/test-pr_grapheme_link.c: Likewise.
7676         * tests/unictype/test-pr_id_continue.c: Likewise.
7677         * tests/unictype/test-pr_id_start.c: Likewise.
7678         * tests/unictype/test-pr_ideographic.c: Likewise.
7679         * tests/unictype/test-pr_lowercase.c: Likewise.
7680         * tests/unictype/test-pr_math.c: Likewise.
7681         * tests/unictype/test-pr_numeric.c: Likewise.
7682         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
7683         * tests/unictype/test-pr_other_id_continue.c: Likewise.
7684         * tests/unictype/test-pr_other_math.c: Likewise.
7685         * tests/unictype/test-pr_punctuation.c: Likewise.
7686         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
7687         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
7688         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
7689         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
7690         * tests/unictype/test-pr_uppercase.c: Likewise.
7691         * tests/unictype/test-pr_xid_continue.c: Likewise.
7692         * tests/unictype/test-pr_xid_start.c: Likewise.
7693         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
7694         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
7695         changes.
7696         * lib/unictype/categ_Cc.h: Likewise.
7697         * lib/unictype/categ_Cf.h: Likewise.
7698         * lib/unictype/categ_Co.h: Likewise.
7699         * lib/unictype/categ_Cs.h: Likewise.
7700         * lib/unictype/categ_Lt.h: Likewise.
7701         * lib/unictype/categ_Nl.h: Likewise.
7702         * lib/unictype/categ_Pc.h: Likewise.
7703         * lib/unictype/categ_Pd.h: Likewise.
7704         * lib/unictype/categ_Pe.h: Likewise.
7705         * lib/unictype/categ_Pf.h: Likewise.
7706         * lib/unictype/categ_Pi.h: Likewise.
7707         * lib/unictype/categ_Ps.h: Likewise.
7708         * lib/unictype/categ_Z.h: Likewise.
7709         * lib/unictype/categ_Zl.h: Likewise.
7710         * lib/unictype/categ_Zp.h: Likewise.
7711         * lib/unictype/categ_Zs.h: Likewise.
7712         * lib/unictype/ctype_blank.h: Likewise.
7713         * lib/unictype/ctype_cntrl.h: Likewise.
7714         * lib/unictype/ctype_digit.h: Likewise.
7715         * lib/unictype/ctype_space.h: Likewise.
7716         * lib/unictype/ctype_xdigit.h: Likewise.
7717         * lib/unictype/mirror.h: Likewise.
7718         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
7719         * lib/unictype/pr_bidi_block_separator.h: Likewise.
7720         * lib/unictype/pr_bidi_common_separator.h: Likewise.
7721         * lib/unictype/pr_bidi_control.h: Likewise.
7722         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
7723         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
7724         * lib/unictype/pr_bidi_european_digit.h: Likewise.
7725         * lib/unictype/pr_bidi_pdf.h: Likewise.
7726         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
7727         * lib/unictype/pr_bidi_whitespace.h: Likewise.
7728         * lib/unictype/pr_dash.h: Likewise.
7729         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
7730         * lib/unictype/pr_diacritic.h: Likewise.
7731         * lib/unictype/pr_extender.h: Likewise.
7732         * lib/unictype/pr_hex_digit.h: Likewise.
7733         * lib/unictype/pr_hyphen.h: Likewise.
7734         * lib/unictype/pr_ids_binary_operator.h: Likewise.
7735         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
7736         * lib/unictype/pr_ignorable_control.h: Likewise.
7737         * lib/unictype/pr_iso_control.h: Likewise.
7738         * lib/unictype/pr_join_control.h: Likewise.
7739         * lib/unictype/pr_left_of_pair.h: Likewise.
7740         * lib/unictype/pr_line_separator.h: Likewise.
7741         * lib/unictype/pr_logical_order_exception.h: Likewise.
7742         * lib/unictype/pr_non_break.h: Likewise.
7743         * lib/unictype/pr_not_a_character.h: Likewise.
7744         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
7745         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
7746         * lib/unictype/pr_other_id_start.h: Likewise.
7747         * lib/unictype/pr_other_lowercase.h: Likewise.
7748         * lib/unictype/pr_other_uppercase.h: Likewise.
7749         * lib/unictype/pr_paired_punctuation.h: Likewise.
7750         * lib/unictype/pr_paragraph_separator.h: Likewise.
7751         * lib/unictype/pr_pattern_syntax.h: Likewise.
7752         * lib/unictype/pr_pattern_white_space.h: Likewise.
7753         * lib/unictype/pr_private_use.h: Likewise.
7754         * lib/unictype/pr_quotation_mark.h: Likewise.
7755         * lib/unictype/pr_radical.h: Likewise.
7756         * lib/unictype/pr_soft_dotted.h: Likewise.
7757         * lib/unictype/pr_space.h: Likewise.
7758         * lib/unictype/pr_titlecase.h: Likewise.
7759         * lib/unictype/pr_variation_selector.h: Likewise.
7760         * lib/unictype/pr_white_space.h: Likewise.
7761         * lib/unictype/pr_zero_width.h: Likewise.
7762         * lib/unictype/sy_c_ident.h: Likewise.
7763         * lib/unictype/sy_c_whitespace.h: Likewise.
7764         * lib/unictype/sy_java_whitespace.h: Likewise.
7765         * lib/uninorm/composition-table.gperf: Likewise.
7766         * lib/uninorm/decomposition-table1.h: Likewise.
7767         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
7768         LB8.
7769         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
7770         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
7771         * modules/unictype/*: Bump version number of expected libunistring
7772         version.
7773
7774 2011-01-09  Bruno Haible  <bruno@clisp.org>
7775
7776         Update to Unicode 5.2.0.
7777         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
7778         trailing whitespace removed.
7779
7780 2011-01-09  Bruno Haible  <bruno@clisp.org>
7781
7782         New Unicode character properties, from Unicode 5.2.0.
7783         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
7784         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
7785         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
7786         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
7787         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
7788         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
7789         uc_is_property_cased, uc_is_property_case_ignorable,
7790         uc_is_property_changes_when_lowercased,
7791         uc_is_property_changes_when_uppercased,
7792         uc_is_property_changes_when_titlecased,
7793         uc_is_property_changes_when_casefolded,
7794         uc_is_property_changes_when_casemapped): New declarations.
7795         * lib/unictype/pr_byname.gperf: Add the new properties.
7796         * modules/unictype/property-byname (Depends-on): Depend on the new
7797         properties modules.
7798         * modules/unictype/property-all (Depends-on): Likewise.
7799         * MODULES.html.sh (Unicode string functions): Add
7800         unictype/property-case-ignorable, unictype/property-cased,
7801         unictype/property-changes-when-casefolded,
7802         unictype/property-changes-when-casemapped,
7803         unictype/property-changes-when-lowercased,
7804         unictype/property-changes-when-titlecased,
7805         unictype/property-changes-when-uppercased.
7806
7807         New module 'unictype/property-changes-when-casemapped'.
7808         * modules/unictype/property-changes-when-casemapped: New file.
7809         * lib/unictype/pr_changes_when_casemapped.c: New file.
7810         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
7811         generated by gen-uni-tables.
7812         * modules/unictype/property-changes-when-casemapped-tests: New file.
7813         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
7814         automatically generated by gen-uni-tables.
7815
7816         New module 'unictype/property-changes-when-casefolded'.
7817         * modules/unictype/property-changes-when-casefolded: New file.
7818         * lib/unictype/pr_changes_when_casefolded.c: New file.
7819         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
7820         generated by gen-uni-tables.
7821         * modules/unictype/property-changes-when-casefolded-tests: New file.
7822         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
7823         automatically generated by gen-uni-tables.
7824
7825         New module 'unictype/property-changes-when-titlecased'.
7826         * modules/unictype/property-changes-when-titlecased: New file.
7827         * lib/unictype/pr_changes_when_titlecased.c: New file.
7828         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
7829         generated by gen-uni-tables.
7830         * modules/unictype/property-changes-when-titlecased-tests: New file.
7831         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
7832         automatically generated by gen-uni-tables.
7833
7834         New module 'unictype/property-changes-when-uppercased'.
7835         * modules/unictype/property-changes-when-uppercased: New file.
7836         * lib/unictype/pr_changes_when_uppercased.c: New file.
7837         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
7838         generated by gen-uni-tables.
7839         * modules/unictype/property-changes-when-uppercased-tests: New file.
7840         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
7841         automatically generated by gen-uni-tables.
7842
7843         New module 'unictype/property-changes-when-lowercased'.
7844         * modules/unictype/property-changes-when-lowercased: New file.
7845         * lib/unictype/pr_changes_when_lowercased.c: New file.
7846         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
7847         generated by gen-uni-tables.
7848         * modules/unictype/property-changes-when-lowercased-tests: New file.
7849         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
7850         automatically generated by gen-uni-tables.
7851
7852         New module 'unictype/property-case-ignorable'.
7853         * modules/unictype/property-case-ignorable: New file.
7854         * lib/unictype/pr_case_ignorable.c: New file.
7855         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
7856         by gen-uni-tables.
7857         * modules/unictype/property-case-ignorable-tests: New file.
7858         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
7859         generated by gen-uni-tables.
7860
7861         New module 'unictype/property-cased'.
7862         * modules/unictype/property-cased: New file.
7863         * lib/unictype/pr_cased.c: New file.
7864         * lib/unictype/pr_cased.h: New file, automatically generated by
7865         gen-uni-tables.
7866         * modules/unictype/property-cased-tests: New file.
7867         * tests/unictype/test-pr_cased.c: New file, automatically generated by
7868         gen-uni-tables.
7869
7870 2011-01-09  Bruno Haible  <bruno@clisp.org>
7871
7872         Update to Unicode 5.2.0.
7873         * lib/gen-uni-tables.c (output_predicate, output_category,
7874         output_combclass, output_bidi_category, output_decimal_digit_test,
7875         output_decimal_digit, output_digit_test, output_digit,
7876         output_numeric_test, output_numeric, output_mirror, output_scripts,
7877         output_scripts_byname, output_blocks, output_ident_category): Fix
7878         comment header.
7879         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
7880         get_wbp.
7881         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
7882         items.
7883         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
7884         Changes_When_Lowercased, Changes_When_Uppercased,
7885         Changes_When_Titlecased, Changes_When_Casefolded,
7886         Changes_When_Casemapped.
7887         (is_property_alphabetic, is_property_default_ignorable_code_point):
7888         Update for Unicode 5.2.0.
7889         (is_property_cased, is_property_case_ignorable,
7890         is_property_changes_when_lowercased,
7891         is_property_changes_when_uppercased,
7892         is_property_changes_when_titlecased,
7893         is_property_changes_when_casefolded,
7894         is_property_changes_when_casemapped): New functions.
7895         (output_properties): Output also the properties cased, case_ignorable,
7896         changes_when_lowercased, changes_when_uppercased,
7897         changes_when_titlecased, changes_when_casefolded,
7898         changes_when_casemapped.
7899         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
7900         Unicode TR#11 revision 17 -> 19.
7901         (LBP_CP): New enumeration value.
7902         (LBP_*): Adjust values accordingly.
7903         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
7904         TR#14 revision 22 -> 24.
7905         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
7906         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
7907         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
7908         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
7909         is_WBP_MIDLETTER.
7910         (output_composition_tables): Allow for 24 bits instead of 16 bits in
7911         the code1 and code2 of each composition rule.
7912         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
7913         * lib/unicase/ignorable.h: Likewise.
7914         * lib/unicase/tocasefold.h: Likewise.
7915         * lib/unicase/tolower.h: Likewise.
7916         * lib/unicase/totitle.h: Likewise.
7917         * lib/unicase/toupper.h: Likewise.
7918         * lib/unictype/bidi_of.h: Likewise.
7919         * lib/unictype/blocks.h: Likewise.
7920         * lib/unictype/categ_C.h: Likewise.
7921         * lib/unictype/categ_Cf.h: Likewise.
7922         * lib/unictype/categ_Cn.h: Likewise.
7923         * lib/unictype/categ_L.h: Likewise.
7924         * lib/unictype/categ_Ll.h: Likewise.
7925         * lib/unictype/categ_Lm.h: Likewise.
7926         * lib/unictype/categ_Lo.h: Likewise.
7927         * lib/unictype/categ_Lu.h: Likewise.
7928         * lib/unictype/categ_M.h: Likewise.
7929         * lib/unictype/categ_Mc.h: Likewise.
7930         * lib/unictype/categ_Mn.h: Likewise.
7931         * lib/unictype/categ_N.h: Likewise.
7932         * lib/unictype/categ_Nd.h: Likewise.
7933         * lib/unictype/categ_Nl.h: Likewise.
7934         * lib/unictype/categ_No.h: Likewise.
7935         * lib/unictype/categ_P.h: Likewise.
7936         * lib/unictype/categ_Pd.h: Likewise.
7937         * lib/unictype/categ_Po.h: Likewise.
7938         * lib/unictype/categ_S.h: Likewise.
7939         * lib/unictype/categ_Sc.h: Likewise.
7940         * lib/unictype/categ_So.h: Likewise.
7941         * lib/unictype/categ_of.h: Likewise.
7942         * lib/unictype/combining.h: Likewise.
7943         * lib/unictype/ctype_alnum.h: Likewise.
7944         * lib/unictype/ctype_alpha.h: Likewise.
7945         * lib/unictype/ctype_graph.h: Likewise.
7946         * lib/unictype/ctype_lower.h: Likewise.
7947         * lib/unictype/ctype_print.h: Likewise.
7948         * lib/unictype/ctype_punct.h: Likewise.
7949         * lib/unictype/ctype_upper.h: Likewise.
7950         * lib/unictype/decdigit.h: Likewise.
7951         * lib/unictype/digit.h: Likewise.
7952         * lib/unictype/numeric.h: Likewise.
7953         * lib/unictype/pr_alphabetic.h: Likewise.
7954         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
7955         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
7956         * lib/unictype/pr_bidi_european_digit.h: Likewise.
7957         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
7958         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
7959         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
7960         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
7961         * lib/unictype/pr_combining.h: Likewise.
7962         * lib/unictype/pr_composite.h: Likewise.
7963         * lib/unictype/pr_currency_symbol.h: Likewise.
7964         * lib/unictype/pr_dash.h: Likewise.
7965         * lib/unictype/pr_decimal_digit.h: Likewise.
7966         * lib/unictype/pr_deprecated.h: Likewise.
7967         * lib/unictype/pr_diacritic.h: Likewise.
7968         * lib/unictype/pr_extender.h: Likewise.
7969         * lib/unictype/pr_grapheme_base.h: Likewise.
7970         * lib/unictype/pr_grapheme_extend.h: Likewise.
7971         * lib/unictype/pr_grapheme_link.h: Likewise.
7972         * lib/unictype/pr_id_continue.h: Likewise.
7973         * lib/unictype/pr_id_start.h: Likewise.
7974         * lib/unictype/pr_ideographic.h: Likewise.
7975         * lib/unictype/pr_ignorable_control.h: Likewise.
7976         * lib/unictype/pr_logical_order_exception.h: Likewise.
7977         * lib/unictype/pr_lowercase.h: Likewise.
7978         * lib/unictype/pr_numeric.h: Likewise.
7979         * lib/unictype/pr_other_alphabetic.h: Likewise.
7980         * lib/unictype/pr_punctuation.h: Likewise.
7981         * lib/unictype/pr_sentence_terminal.h: Likewise.
7982         * lib/unictype/pr_terminal_punctuation.h: Likewise.
7983         * lib/unictype/pr_unassigned_code_value.h: Likewise.
7984         * lib/unictype/pr_unified_ideograph.h: Likewise.
7985         * lib/unictype/pr_uppercase.h: Likewise.
7986         * lib/unictype/pr_xid_continue.h: Likewise.
7987         * lib/unictype/pr_xid_start.h: Likewise.
7988         * lib/unictype/pr_zero_width.h: Likewise.
7989         * lib/unictype/scripts.h: Likewise.
7990         * lib/unictype/scripts_byname.gperf: Likewise.
7991         * lib/unictype/sy_java_ident.h: Likewise.
7992         * lib/unigbrk/gbrkprop.h: Likewise.
7993         * lib/unilbrk/lbrkprop1.h: Likewise.
7994         * lib/unilbrk/lbrkprop2.h: Likewise.
7995         * lib/unilbrk/lbrktables.h: Likewise.
7996         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
7997         LBP_CP. Implement rule LB30.
7998         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
7999         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
8000         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
8001         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
8002         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
8003         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
8004         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
8005         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
8006         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
8007         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
8008         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
8009         bits instead of 16 bits in the code1 and code2 of each composition
8010         rule.
8011         (uc_composition): Update for Unicode 5.2.0.
8012         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
8013         * lib/uninorm/decomposition-table2.h: Likewise.
8014         * lib/uniwbrk/wbrkprop.h: Likewise.
8015         * tests/unicase/test-cased.c: Likewise.
8016         * tests/unicase/test-ignorable.c: Likewise.
8017         * tests/unicase/test-uc_tolower.c: Likewise.
8018         * tests/unicase/test-uc_totitle.c: Likewise.
8019         * tests/unicase/test-uc_toupper.c: Likewise.
8020         * tests/unictype/test-categ_C.c: Likewise.
8021         * tests/unictype/test-categ_Cf.c: Likewise.
8022         * tests/unictype/test-categ_Cn.c: Likewise.
8023         * tests/unictype/test-categ_L.c: Likewise.
8024         * tests/unictype/test-categ_Ll.c: Likewise.
8025         * tests/unictype/test-categ_Lm.c: Likewise.
8026         * tests/unictype/test-categ_Lo.c: Likewise.
8027         * tests/unictype/test-categ_Lu.c: Likewise.
8028         * tests/unictype/test-categ_M.c: Likewise.
8029         * tests/unictype/test-categ_Mc.c: Likewise.
8030         * tests/unictype/test-categ_Mn.c: Likewise.
8031         * tests/unictype/test-categ_N.c: Likewise.
8032         * tests/unictype/test-categ_Nd.c: Likewise.
8033         * tests/unictype/test-categ_Nl.c: Likewise.
8034         * tests/unictype/test-categ_No.c: Likewise.
8035         * tests/unictype/test-categ_P.c: Likewise.
8036         * tests/unictype/test-categ_Pd.c: Likewise.
8037         * tests/unictype/test-categ_Po.c: Likewise.
8038         * tests/unictype/test-categ_S.c: Likewise.
8039         * tests/unictype/test-categ_Sc.c: Likewise.
8040         * tests/unictype/test-categ_So.c: Likewise.
8041         * tests/unictype/test-ctype_alnum.c: Likewise.
8042         * tests/unictype/test-ctype_alpha.c: Likewise.
8043         * tests/unictype/test-ctype_graph.c: Likewise.
8044         * tests/unictype/test-ctype_lower.c: Likewise.
8045         * tests/unictype/test-ctype_print.c: Likewise.
8046         * tests/unictype/test-ctype_punct.c: Likewise.
8047         * tests/unictype/test-ctype_upper.c: Likewise.
8048         * tests/unictype/test-decdigit.h: Likewise.
8049         * tests/unictype/test-digit.h: Likewise.
8050         * tests/unictype/test-numeric.h: Likewise.
8051         * tests/unictype/test-pr_alphabetic.c: Likewise.
8052         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
8053         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
8054         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
8055         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
8056         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
8057         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
8058         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
8059         * tests/unictype/test-pr_combining.c: Likewise.
8060         * tests/unictype/test-pr_composite.c: Likewise.
8061         * tests/unictype/test-pr_currency_symbol.c: Likewise.
8062         * tests/unictype/test-pr_dash.c: Likewise.
8063         * tests/unictype/test-pr_decimal_digit.c: Likewise.
8064         * tests/unictype/test-pr_deprecated.c: Likewise.
8065         * tests/unictype/test-pr_diacritic.c: Likewise.
8066         * tests/unictype/test-pr_extender.c: Likewise.
8067         * tests/unictype/test-pr_grapheme_base.c: Likewise.
8068         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
8069         * tests/unictype/test-pr_grapheme_link.c: Likewise.
8070         * tests/unictype/test-pr_id_continue.c: Likewise.
8071         * tests/unictype/test-pr_id_start.c: Likewise.
8072         * tests/unictype/test-pr_ideographic.c: Likewise.
8073         * tests/unictype/test-pr_ignorable_control.c: Likewise.
8074         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
8075         * tests/unictype/test-pr_lowercase.c: Likewise.
8076         * tests/unictype/test-pr_numeric.c: Likewise.
8077         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
8078         * tests/unictype/test-pr_punctuation.c: Likewise.
8079         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
8080         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
8081         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
8082         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
8083         * tests/unictype/test-pr_uppercase.c: Likewise.
8084         * tests/unictype/test-pr_xid_continue.c: Likewise.
8085         * tests/unictype/test-pr_xid_start.c: Likewise.
8086         * tests/unictype/test-pr_zero_width.c: Likewise.
8087         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
8088         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
8089         changed behaviour: line breaking is now disallowed between a letter
8090         or '=' and '('.
8091         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
8092         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
8093         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
8094         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
8095         * tests/uniwidth/test-uc_width2.sh: Same updates as in
8096         lib/uniwidth/width.c.
8097         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
8098         without comments, but with the original copyright notice.
8099         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
8100         changes.
8101         * lib/unictype/categ_Cc.h: Likewise.
8102         * lib/unictype/categ_Co.h: Likewise.
8103         * lib/unictype/categ_Cs.h: Likewise.
8104         * lib/unictype/categ_Lt.h: Likewise.
8105         * lib/unictype/categ_Me.h: Likewise.
8106         * lib/unictype/categ_Pc.h: Likewise.
8107         * lib/unictype/categ_Pe.h: Likewise.
8108         * lib/unictype/categ_Pf.h: Likewise.
8109         * lib/unictype/categ_Pi.h: Likewise.
8110         * lib/unictype/categ_Ps.h: Likewise.
8111         * lib/unictype/categ_Sk.h: Likewise.
8112         * lib/unictype/categ_Sm.h: Likewise.
8113         * lib/unictype/categ_Z.h: Likewise.
8114         * lib/unictype/categ_Zl.h: Likewise.
8115         * lib/unictype/categ_Zp.h: Likewise.
8116         * lib/unictype/categ_Zs.h: Likewise.
8117         * lib/unictype/ctype_blank.h: Likewise.
8118         * lib/unictype/ctype_cntrl.h: Likewise.
8119         * lib/unictype/ctype_digit.h: Likewise.
8120         * lib/unictype/ctype_space.h: Likewise.
8121         * lib/unictype/ctype_xdigit.h: Likewise.
8122         * lib/unictype/mirror.h: Likewise.
8123         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
8124         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
8125         * lib/unictype/pr_bidi_block_separator.h: Likewise.
8126         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
8127         * lib/unictype/pr_bidi_common_separator.h: Likewise.
8128         * lib/unictype/pr_bidi_control.h: Likewise.
8129         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
8130         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
8131         * lib/unictype/pr_bidi_pdf.h: Likewise.
8132         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
8133         * lib/unictype/pr_bidi_whitespace.h: Likewise.
8134         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
8135         * lib/unictype/pr_format_control.h: Likewise.
8136         * lib/unictype/pr_hex_digit.h: Likewise.
8137         * lib/unictype/pr_hyphen.h: Likewise.
8138         * lib/unictype/pr_ids_binary_operator.h: Likewise.
8139         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
8140         * lib/unictype/pr_iso_control.h: Likewise.
8141         * lib/unictype/pr_join_control.h: Likewise.
8142         * lib/unictype/pr_left_of_pair.h: Likewise.
8143         * lib/unictype/pr_line_separator.h: Likewise.
8144         * lib/unictype/pr_math.h: Likewise.
8145         * lib/unictype/pr_non_break.h: Likewise.
8146         * lib/unictype/pr_not_a_character.h: Likewise.
8147         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
8148         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
8149         * lib/unictype/pr_other_id_continue.h: Likewise.
8150         * lib/unictype/pr_other_id_start.h: Likewise.
8151         * lib/unictype/pr_other_lowercase.h: Likewise.
8152         * lib/unictype/pr_other_math.h: Likewise.
8153         * lib/unictype/pr_other_uppercase.h: Likewise.
8154         * lib/unictype/pr_paired_punctuation.h: Likewise.
8155         * lib/unictype/pr_paragraph_separator.h: Likewise.
8156         * lib/unictype/pr_pattern_syntax.h: Likewise.
8157         * lib/unictype/pr_pattern_white_space.h: Likewise.
8158         * lib/unictype/pr_private_use.h: Likewise.
8159         * lib/unictype/pr_quotation_mark.h: Likewise.
8160         * lib/unictype/pr_radical.h: Likewise.
8161         * lib/unictype/pr_soft_dotted.h: Likewise.
8162         * lib/unictype/pr_space.h: Likewise.
8163         * lib/unictype/pr_titlecase.h: Likewise.
8164         * lib/unictype/pr_variation_selector.h: Likewise.
8165         * lib/unictype/pr_white_space.h: Likewise.
8166         * lib/unictype/sy_c_ident.h: Likewise.
8167         * lib/unictype/sy_c_whitespace.h: Likewise.
8168         * lib/unictype/sy_java_whitespace.h: Likewise.
8169         * modules/uni*/*: Bump version number of expected libunistring version.
8170         Reported by Simon Josefsson.
8171
8172 2011-01-09  Karl Heuer  <kwzh@gnu.org>
8173
8174         useless-if-before-free: fix typo in --help and make the internal,
8175         automatic version date update process work once again.
8176         --help output contained a NUL character instead of the
8177         backslash-zero that was intended.  Also, the "must lie within
8178         the first 8 lines" line is on line 9, and hence not getting
8179         automatically updated.
8180         * build-aux/useless-if-before-free: Fix the former by adding a
8181         backslash, and the latter by condensing the three lines of what-it-does
8182         to a single line, leaving one line of slack for the future.
8183
8184 2011-01-09  Bruno Haible  <bruno@clisp.org>
8185
8186         uniwidth/width: Fix width of U+1D173..U+1D17A.
8187         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
8188         symbolic_width, output_width_property_test): New functions.
8189         (main): Invoke output_nonspacing_property, output_width_property_test.
8190         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
8191         U+1D173..U+1D17A.
8192         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
8193         1.
8194         * modules/uniwidth/*: Bump version number of expected libunistring
8195         version.
8196         * modules/unilbrk/*: Likewise.
8197
8198 2011-01-08  Bruno Haible  <bruno@clisp.org>
8199
8200         uninorm tests: Preserve copyright of Unicode data file.
8201         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
8202         Mention modifications.
8203
8204 2011-01-08  Bruno Haible  <bruno@clisp.org>
8205
8206         gen-uni-tables: Prepare for Unicode 5.2.0.
8207         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
8208         (debug_output_lbp, output_lbp): Update.
8209
8210 2011-01-08  Bruno Haible  <bruno@clisp.org>
8211
8212         unilbrk: Clarify gen-uni-tables.c code.
8213         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
8214         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
8215         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
8216
8217 2011-01-07  Bruno Haible  <bruno@clisp.org>
8218
8219         strtod: Restore errno when successfully parsing Infinity or NaN.
8220         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
8221         restore the original errno.
8222
8223 2011-01-07  Bruno Haible  <bruno@clisp.org>
8224
8225         remove test: Avoid failure on HP-UX 11.
8226         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
8227
8228 2011-01-07  Bruno Haible  <bruno@clisp.org>
8229
8230         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
8231         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
8232         error code.
8233
8234 2011-01-07  Pádraig Brady <P@draigBrady.com>
8235
8236         ignore-value: fixup comments, and add Eric Blake
8237         as an author since he rewrote the macros.
8238         * lib/ignore-value.h (ignore_value):  State that
8239         we now support aggregates.  Also specify exactly
8240         when the GCC warn_unused_result feature was added.
8241
8242 2011-01-06  Eric Blake  <eblake@redhat.com>
8243
8244         ignore-value: support aggregate types
8245         * lib/ignore-value.h (ignore_value): Provide separate gcc
8246         definition.
8247         * modules/ignore-value-tests: New test module.
8248         * tests/test-ignore-value.c: New test.
8249
8250         maint.mk: improve sc_prohibit_strcmp regex
8251         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
8252         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
8253         definition of STRNEQ.
8254
8255         signal: work around Haiku issue with SIGBUS
8256         * lib/siglist.h: Add comment.
8257         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
8258         strsignal's favoring of SIGSEGV.
8259         * tests/test-signal.c (main): Avoid test failure.
8260         * doc/posix-headers/signal.texi (signal.h): Document the issue.
8261         Reported by Scott McCreary.
8262
8263         maint.mk: add pre-release check to ensure submodule commits are public
8264         * top/maint.mk (public-submodule-commit): New rule.
8265         (submodule-checks): New variable.
8266         (alpha beta stable): Depend on the variable.
8267
8268 2011-01-05  Pádraig Brady <P@draigBrady.com>
8269         and Jim Meyering  <meyering@redhat.com>
8270
8271         ignore-value: make ignore_value more generic; deprecate ignore_ptr
8272         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
8273         (ATTRIBUTE_DEPRECATED): Define.
8274         (_ignore_case): New function.
8275         (ignore_value): New macro, to replace the old function.
8276         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
8277         * modules/ignore-value (Depends-on): Add stdint.
8278
8279 2011-01-04  Eric Blake  <eblake@redhat.com>
8280
8281         doc: regenerate INSTALL
8282         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
8283         @firstparagraphindent support, now that autoconf dropped it.
8284         (INSTALL_PRELUDE): Reinstate old macro.
8285         * doc/install.texi: Resync from autoconf.
8286         * doc/INSTALL: Reflect recent autoconf update.
8287         * doc/INSTALL.ISO: Likewise.
8288         * doc/INSTALL.UTF-8: Likewise.
8289         Reported by Karl Berry.
8290
8291 2011-01-04  Bruce Korb  <address@hidden>
8292
8293         git-version-gen: avoid a sub-shell
8294         * build-aux/git-version-gen: Redirect stderr in `...` via
8295         "exec 2>...", rather than via an added sub-shell.
8296
8297 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
8298
8299         git-version-gen: use (...) rather than sh -c '...'
8300         * build-aux/git-version-gen: Rather than hard-coding a shell's name
8301         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
8302
8303 2011-01-03  Jim Meyering  <meyering@redhat.com>
8304
8305         git-version-gen: convert leading TABs to spaces
8306         * build-aux/git-version-gen: Expand leading TABs.
8307
8308         git-version-gen: handle failed "git rev-list"
8309         * build-aux/git-version-gen: Rather than leaking a "fatal" error
8310         from git and proceeding as if it had succeeded but printed no SHA1
8311         checksums, suppress the diagnostic and handle the failure.
8312         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
8313
8314         git-version-gen: include command name in one more diagnostic
8315         * build-aux/git-version-gen: When the required .tarball-version file
8316         was missing or unreadable, you might see the diagnostic from "cat",
8317         but no trace of the name of the invoking script.  Now, you still see
8318         the diagnostic from cat, but also get one from "git-version-gen: ".
8319         Inspired by a patch from Bruce Korb.
8320
8321         update-copyright: adjust test to match changed code
8322         * tests/test-update-copyright.sh: Change test's expected output
8323         to match new actual output.
8324
8325 2011-01-02  Bruno Haible  <bruno@clisp.org>
8326
8327         getlogin_r: Avoid test failure on HP-UX 11.
8328         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
8329         ERANGE when the second argument is zero.
8330         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
8331         portability problem.
8332
8333 2011-01-02  Bruce Korb  <bkorb@gnu.org>
8334
8335         * build-aux/update-copyright: doc Simon's changes
8336
8337 2011-01-02  Simon Josefsson  <simon@josefsson.org>
8338
8339         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
8340         environment variable.
8341
8342 2011-01-02  Bruno Haible  <bruno@clisp.org>
8343
8344         unigbrk: Avoid gcc warnings.
8345         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
8346         unused variable.
8347         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
8348         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
8349         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
8350         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
8351         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
8352         Change type of first argument to 'const char *'.
8353         (main): Remove unused variable.
8354         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
8355         type of first argument to 'const char *'.
8356         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
8357         Likewise.
8358         (main): Change type of variable 's'.
8359         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
8360         to 'int'.
8361
8362 2011-01-02  Bruno Haible  <bruno@clisp.org>
8363
8364         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
8365         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
8366         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
8367         bug.
8368         * lib/pwrite.c: Undo 2010-12-31 patch.
8369         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
8370
8371 2011-01-02  Bruno Haible  <bruno@clisp.org>
8372
8373         pread: Fix test whether it works.
8374         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
8375
8376 2011-01-02  Bruno Haible  <bruno@clisp.org>
8377
8378         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
8379         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
8380         ends in "6". Don't require a specific month name. Try also the locale
8381         names found on HP-UX 11 and Solaris 7.
8382
8383 2011-01-02  Bruno Haible  <bruno@clisp.org>
8384
8385         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
8386         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
8387         C linkage.
8388         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
8389
8390 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
8391
8392         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
8393         for consistency, since the "cluster" term is not used elsewhere.
8394         * lib/unigbrk.in.h: Update name.
8395         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
8396         * lib/unigbrk/u16-grapheme-next.c: Update name.
8397         * lib/unigbrk/u16-grapheme-prev.c: Update name.
8398         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
8399         * lib/unigbrk/u32-grapheme-next.c: Update name.
8400         * lib/unigbrk/u32-grapheme-prev.c: Update name.
8401         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
8402         * lib/unigbrk/u8-grapheme-next.c: Update name.
8403         * lib/unigbrk/u8-grapheme-prev.c: Update name.
8404         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
8405         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
8406         Suggested by Bruno Haible.
8407
8408 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
8409
8410         Remove module 'u8-grapheme-len' as too redundant with
8411         'u8-grapheme-next'.
8412         * modules/unigbrk/u8-grapheme-len: Delete file.
8413         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
8414         * lib/unigbrk.in.h: Remove prototype for deleted function.
8415         * lib/unigbrk/u8-grapheme-len.c: Delete file.
8416         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
8417
8418         Remove module 'u16-grapheme-len' as too redundant with
8419         'u16-grapheme-next'.
8420         * modules/unigbrk/u16-grapheme-len: Delete file.
8421         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
8422         * lib/unigbrk.in.h: Remove prototype for deleted function.
8423         * lib/unigbrk/u16-grapheme-len.c: Delete file.
8424         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
8425
8426         Remove module 'u32-grapheme-len' as too redundant with
8427         'u32-grapheme-next'.
8428         * modules/unigbrk/u32-grapheme-len: Delete file.
8429         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
8430         * lib/unigbrk.in.h: Remove prototype for deleted function.
8431         * lib/unigbrk/u32-grapheme-len.c: Delete file.
8432         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
8433
8434         Suggested by Bruno Haible.
8435
8436 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
8437
8438         * unigbrk.in.h: Fix typo: "ben" => "been".
8439         Reported by Bruno Haible.
8440
8441 2011-01-01  Jim Meyering  <meyering@redhat.com>
8442
8443         maint: update almost all copyright ranges to include 2011
8444         Run the new "make update-copyright" rule.
8445
8446 2011-01-01  Jim Meyering  <meyering@redhat.com>
8447
8448         maint: update-copyright: exempt doc/INSTALL*
8449         * Makefile (update-copyright): Also exclude doc/INSTALL*,
8450         since they are generated.  Suggested by Bruno Haible.
8451
8452 2011-01-01  Jim Meyering  <meyering@redhat.com>
8453
8454         maint: refine the update-copyright rule
8455         * Makefile (update-copyright): Also exclude any file that includes
8456         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
8457         code that merely generates the comment.
8458
8459 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
8460
8461         New module 'u8-grapheme-len'.
8462         * modules/unigbrk/u8-grapheme-len: New file.
8463         * modules/unigbrk/u8-grapheme-len-tests: New file.
8464         * lib/unigbrk.in.h: Add prototype for new function.
8465         * lib/unigbrk/u8-grapheme-len.c: New file.
8466         * tests/unigbrk/test-u8-grapheme-len.c: New file.
8467
8468         New module 'u16-grapheme-len'.
8469         * modules/unigbrk/u16-grapheme-len: New file.
8470         * modules/unigbrk/u16-grapheme-len-tests: New file.
8471         * lib/unigbrk.in.h: Add prototype for new function.
8472         * lib/unigbrk/u16-grapheme-len.c: New file.
8473         * tests/unigbrk/test-u16-grapheme-len.c: New file.
8474
8475         New module 'u32-grapheme-len'.
8476         * modules/unigbrk/u32-grapheme-len: New file.
8477         * modules/unigbrk/u32-grapheme-len-tests: New file.
8478         * lib/unigbrk.in.h: Add prototype for new function.
8479         * lib/unigbrk/u32-grapheme-len.c: New file.
8480         * tests/unigbrk/test-u32-grapheme-len.c: New file.
8481
8482         New module 'u8-grapheme-next'.
8483         * modules/unigbrk/u8-grapheme-next: New file.
8484         * modules/unigbrk/u8-grapheme-next-tests: New file.
8485         * lib/unigbrk.in.h: Add prototype for new function.
8486         * lib/unigbrk/u8-grapheme-next.c: New file.
8487         * tests/unigbrk/test-u8-grapheme-next.c: New file.
8488
8489         New module 'u16-grapheme-next'.
8490         * modules/unigbrk/u16-grapheme-next: New file.
8491         * modules/unigbrk/u16-grapheme-next-tests: New file.
8492         * lib/unigbrk.in.h: Add prototype for new function.
8493         * lib/unigbrk/u16-grapheme-next.c: New file.
8494         * tests/unigbrk/test-u16-grapheme-next.c: New file.
8495
8496         New module 'u32-grapheme-next'.
8497         * modules/unigbrk/u32-grapheme-next: New file.
8498         * modules/unigbrk/u32-grapheme-next-tests: New file.
8499         * lib/unigbrk.in.h: Add prototype for new function.
8500         * lib/unigbrk/u32-grapheme-next.c: New file.
8501         * tests/unigbrk/test-u32-grapheme-next.c: New file.
8502
8503         New module 'u8-grapheme-prev'.
8504         * modules/unigbrk/u8-grapheme-prev: New file.
8505         * modules/unigbrk/u8-grapheme-prev-tests: New file.
8506         * lib/unigbrk.in.h: Add prototype for new function.
8507         * lib/unigbrk/u8-grapheme-prev.c: New file.
8508         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
8509
8510         New module 'u16-grapheme-prev'.
8511         * modules/unigbrk/u16-grapheme-prev: New file.
8512         * modules/unigbrk/u16-grapheme-prev-tests: New file.
8513         * lib/unigbrk.in.h: Add prototype for new function.
8514         * lib/unigbrk/u16-grapheme-prev.c: New file.
8515         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
8516
8517         New module 'u32-grapheme-prev'.
8518         * modules/unigbrk/u32-grapheme-prev: New file.
8519         * modules/unigbrk/u32-grapheme-prev-tests: New file.
8520         * lib/unigbrk.in.h: Add prototype for new function.
8521         * lib/unigbrk/u32-grapheme-prev.c: New file.
8522         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
8523
8524         New module 'u8-grapheme-breaks'.
8525         * modules/unigbrk/u8-grapheme-breaks: New file.
8526         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
8527         * lib/unigbrk.in.h: Add prototype for new function.
8528         * lib/unigbrk/u8-grapheme-breaks.c: New file.
8529         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
8530
8531         New module 'u16-grapheme-breaks'.
8532         * modules/unigbrk/u16-grapheme-breaks: New file.
8533         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
8534         * lib/unigbrk.in.h: Add prototype for new function.
8535         * lib/unigbrk/u16-grapheme-breaks.c: New file.
8536         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
8537
8538         New module 'u32-grapheme-breaks'.
8539         * modules/unigbrk/u32-grapheme-breaks: New file.
8540         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
8541         * lib/unigbrk.in.h: Add prototype for new function.
8542         * lib/unigbrk/u32-grapheme-breaks.c: New file.
8543         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
8544
8545         New module 'ulc-grapheme-breaks'.
8546         * modules/unigbrk/ulc-grapheme-breaks: New file.
8547         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
8548         * m4/locale-ar.m4: New file.
8549         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
8550         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
8551         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
8552
8553 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
8554
8555         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
8556         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
8557         modified how this file was generated before I initially submitted
8558         the module, but failed to regenerate it.  This meant that several
8559         of the level2 entries were wrong.
8560         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
8561         Remove the division-by-2 that is folded into the table now that
8562         gbrkprop.h has been regenerated properly.  Now -1 entries are
8563         handled correctly.
8564
8565         New module 'unigbrk/uc-gbrk-prop-tests'.
8566         * modules/unigbrk/uc-gbrk-prop-tests: New file.
8567         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
8568         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
8569         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
8570
8571 2011-01-01  Bruno Haible  <bruno@clisp.org>
8572
8573         Avoid use of hexadecimal escapes.
8574         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
8575         instead of hexadecimal escapes.
8576
8577 2011-01-01  Jim Meyering  <meyering@redhat.com>
8578
8579         maint: new rule to update copyright year ranges
8580         * Makefile (update-copyright): New rule.
8581
8582         maint: indent with TABs in Makefile
8583         * Makefile: Expand leading sequences of spaces to TABs
8584
8585         version-etc: update the copyright year it reports
8586         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
8587
8588 2010-12-31  Bruno Haible  <bruno@clisp.org>
8589
8590         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
8591         * lib/isfinite.c (zerof, zerod, zerol): New variables.
8592         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
8593         zero.
8594
8595 2010-12-31  Bruno Haible  <bruno@clisp.org>
8596
8597         pwrite: Work around HP-UX 11.11 bug.
8598         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
8599         works and set REPLACE_PWRITE if not.
8600         * lib/pwrite.c (pwrite): Add an implementation that uses the system
8601         function.
8602         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
8603
8604 2010-12-31  Bruno Haible  <bruno@clisp.org>
8605
8606         pread: Work around HP-UX 11 bugs.
8607         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
8608         and set REPLACE_PREAD if not.
8609         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
8610
8611 2010-12-31  Eric Blake  <eblake@redhat.com>
8612
8613         nl_langinfo: fix YESEXPR on Irix 6.5
8614         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
8615         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
8616         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
8617         it.
8618
8619 2010-12-31  Bruno Haible  <bruno@clisp.org>
8620
8621         iconv: Document HP-UX 11 bug.
8622         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
8623
8624 2010-12-31  Bruno Haible  <bruno@clisp.org>
8625
8626         ldexpl: Fix link error on HP-UX 11.
8627         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
8628         LDEXPL_LIBM, using $ISNANL_LIBM.
8629
8630 2010-12-31  Eric Blake  <eblake@redhat.com>
8631
8632         ftello: avoid compilation failure with SunStudio c89
8633         * lib/ftello.c (ftello): Use lseek, not llseek.
8634
8635         tests: avoid failing coreutils tests on cygwin
8636         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
8637         (create_exe_shims_): Return 0 when skipping.
8638
8639 2010-12-31  Bruno Haible  <bruno@clisp.org>
8640
8641         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
8642         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
8643
8644 2010-12-31  Bruno Haible  <bruno@clisp.org>
8645
8646         waitpid: Fix link error in C++ mode.
8647         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
8648
8649 2010-12-31  Bruno Haible  <bruno@clisp.org>
8650
8651         isnan: Use GCC built-ins when possible.
8652         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
8653         __builtin_isnan.
8654         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
8655         (isnan): Define using GCC built-ins for GCC >= 4.0.
8656
8657 2010-12-31  Bruno Haible  <bruno@clisp.org>
8658
8659         isnand: Fix mistake.
8660         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
8661         __builtin_isnand.
8662
8663 2010-12-31  Bruno Haible  <bruno@clisp.org>
8664
8665         open: Avoid C++ error on HP-UX 11.
8666         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
8667
8668 2010-12-31  Bruno Haible  <bruno@clisp.org>
8669
8670         time_r: Add missing declarations on HP-UX 11.
8671         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
8672         instead of HAVE_LOCALTIME_R.
8673         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
8674         HAVE_LOCALTIME_R always.
8675         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
8676         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
8677         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
8678         HAVE_LOCALTIME_R.
8679         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
8680         * doc/posix-functions/localtime_r.texi: Likewise.
8681
8682 2010-12-29  Eric Blake  <eblake@redhat.com>
8683
8684         mountlist: tweak previous commit
8685         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
8686         Reported by Paul Eggert.
8687
8688         mountlist: fix local drive detection on cygwin
8689         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
8690         that works for cygwin.
8691
8692 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
8693
8694         ftoastr, snprintf: ftoastr + snprintf module
8695         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
8696         since the snprintf module now should be good enough here.
8697         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
8698         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
8699         and gl_MODULE_INDICATOR([snprintf]), but the former enables
8700         GNULIB_SNPRINTF only for the test directory, and the latter
8701         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
8702         seems to suffice by itself.
8703
8704 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
8705
8706         alloca: one step towards thread-safety
8707         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
8708         need for a static variable.  All callers changed.  This does not
8709         make the alloca replacement thread-safe, but it's one step.
8710
8711         tests: minor indenting change
8712         * tests/init.sh: Sync from coreutils housekeeping patch
8713         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
8714         to keep lines within 80 columns.
8715
8716 2010-12-28  Jim Meyering  <meyering@redhat.com>
8717
8718         regex: don't infloop on persistent failing calloc
8719         * lib/regexec.c (build_trtable): Return failure indication upon
8720         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
8721         In glibc, this was fixed for version 2.13:
8722         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
8723
8724 2010-12-28  Bruno Haible  <bruno@clisp.org>
8725             Paul Eggert <eggert@cs.ucla.edu>
8726
8727         linkat: Make implementation robust against system behaviour variations.
8728         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
8729         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
8730         way, and to -2 if it needs a generic runtime test.
8731         * lib/linkat.c (solaris_optimized_link_immediate,
8732         solaris_optimized_link_follow): New functions.
8733         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
8734         (check_same_link): Use it.
8735
8736 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
8737
8738         New module 'unigbrk/base'.
8739         * modules/unigbrk/base: New file.
8740         * lib/unigbrk.in.h: New file.
8741
8742         New module 'unigbrk/uc-gbrk-prop'.
8743         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
8744         * modules/unigbrk/uc-gbrk-prop: New file.
8745         * lib/unigbrk/gbrkprop.h: New file.
8746         * lib/unigbrk/uc-gbrk-prop.c: New file.
8747
8748         New module 'unigbrk/uc-is-grapheme-break'.
8749         * modules/unigbrk/uc-is-grapheme-break: New file.
8750         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
8751         * lib/unigbrk/uc-is-grapheme-break.c: New file.
8752         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
8753         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
8754         * tests/unigbrk/GraphemeBreakTest.txt: New file.
8755
8756         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
8757
8758 2010-12-27  Bruno Haible  <bruno@clisp.org>
8759
8760         linkat test: Avoid failure on Solaris 11 2010-11.
8761         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
8762
8763 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
8764
8765         utimens: work around glibc rounding bug on more platforms
8766         * lib/utimens.c (fdutimens): Work around rounding bug even if
8767         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
8768         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
8769
8770 2010-12-27  Bruno Haible  <bruno@clisp.org>
8771
8772         select tests: Improve comments.
8773         * tests/test-select.c (do_select): Add comments.
8774
8775 2010-12-27  Bruno Haible  <bruno@clisp.org>
8776
8777         select tests: Safer way of handling timeout.
8778         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
8779         at every invocation.
8780
8781 2010-12-27  Bruno Haible  <bruno@clisp.org>
8782
8783         select tests: Use 'bool' where appropriate.
8784         * tests/test-select.c (connect_to_socket): Change argument type to
8785         'bool'.
8786
8787 2010-12-27  Bruno Haible  <bruno@clisp.org>
8788
8789         select tests: Use existing modules.
8790         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
8791         (configure.ac): Don't test for unistd.h.
8792         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
8793         declared in <unistd.h>.
8794
8795 2010-12-27  Bruno Haible  <bruno@clisp.org>
8796
8797         mbrtowc: Work around a Solaris 7 bug.
8798         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
8799         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
8800         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
8801         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
8802         MBRTOWC_NULL_ARG1_BUG.
8803         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
8804         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
8805         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
8806         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
8807
8808 2010-12-27  Jim Meyering  <meyering@redhat.com>
8809
8810         read-file.c: tweak syntax
8811         * lib/read-file.c (fread_file): Remove space after "*" in function
8812         definitions.
8813
8814 2010-12-27  Bruno Haible  <bruno@clisp.org>
8815
8816         times test: Avoid gcc warnings on OSF/1.
8817         * tests/test-times.c (main): Cast printf arguments from clock_t to
8818         'long int'.
8819
8820 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
8821
8822         utimens: work around glibc rounding bug on older Linux kernels
8823         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
8824         on Linux with a glibc whose utimes might not work, then work
8825         around a longstanding glibc bug involving rounding rather than
8826         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
8827         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
8828
8829 2010-12-26  Bruno Haible  <bruno@clisp.org>
8830
8831         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
8832         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
8833         _GL_CXXALIAS_SYS.
8834         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8835
8836 2010-12-26  Bruno Haible  <bruno@clisp.org>
8837
8838         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
8839         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
8840         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
8841         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
8842         looking for the declaration.
8843         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
8844         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
8845         problem.
8846         * doc/posix-functions/inet_pton.texi: Likewise.
8847
8848 2010-12-26  Bruno Haible  <bruno@clisp.org>
8849
8850         arpa_inet: Use the common idioms with C++ support.
8851         * lib/arpa_inet.in.h: Include c++defs.h.
8852         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
8853         support.
8854         * modules/arpa_inet (Depends-on): Add c++defs.
8855         (Makefile.am): Substitute the contents of c++defs.h.
8856         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
8857         * modules/arpa_inet-c++-tests: New file.
8858         * tests/test-arpa_inet-c++.cc: New file.
8859
8860 2010-12-25  Bruno Haible  <bruno@clisp.org>
8861
8862         Fix more C++ link errors on Solaris 8.
8863         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
8864         $(LIB_EACCESS).
8865         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
8866         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
8867         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
8868         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
8869         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
8870
8871 2010-12-25  Bruno Haible  <bruno@clisp.org>
8872
8873         printf-posix: Fix link error when a non-GCC compiler is used.
8874         * lib/stdio.in.h (printf): When not using GCC, override printf
8875         correctly.
8876         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8877
8878 2010-12-25  Bruno Haible  <bruno@clisp.org>
8879
8880         strerror_r-posix: Update doc.
8881         * doc/posix-functions/strerror_r.texi: Update doc about the return
8882         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
8883
8884 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
8885
8886         utimens: simplify the logic of the previous change
8887         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
8888         This should not affect whether the test succeeds or fails.
8889
8890         utimens: configure better on hosts with NFS clock skew
8891         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
8892         uses the clock of the local host.  It might use the clock of the
8893         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
8894         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
8895
8896 2010-12-25  Bruno Haible  <bruno@clisp.org>
8897
8898         ptsname test: Avoid failure on Solaris.
8899         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
8900         open a pseudo-terminal; don't use BSD-style ptys.
8901         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
8902
8903 2010-12-25  Bruno Haible  <bruno@clisp.org>
8904
8905         ptsname: Avoid ERANGE failure on some systems.
8906         * lib/ptsname.c (buffer): Increase size.
8907
8908 2010-12-25  Bruno Haible  <bruno@clisp.org>
8909
8910         rename, renameat: Avoid test failures at NFS mounted locations.
8911         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
8912         so that subsequent mkdir calls succeed.
8913
8914 2010-12-25  Bruno Haible  <bruno@clisp.org>
8915
8916         iswblank: Fix C++ link error on Solaris 8.
8917         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
8918         _GL_FUNCDECL_SYS.
8919
8920 2010-12-25  Bruno Haible  <bruno@clisp.org>
8921
8922         unistd: Fix C++ link error on Solaris 8.
8923         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
8924
8925 2010-12-25  Bruno Haible  <bruno@clisp.org>
8926
8927         readlink doc: Mention an old glibc bug.
8928         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
8929
8930 2010-12-25  Bruno Haible  <bruno@clisp.org>
8931
8932         fcntl-h: Fix for use of C++ on glibc systems.
8933         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
8934         also on glibc systems in C++ mode.
8935         Reported by Gary V. Vaughan <gary@gnu.org>.
8936
8937 2010-12-25  Bruno Haible  <bruno@clisp.org>
8938
8939         roundl-ieee: Make it work on OSF/1 5.1 with cc.
8940         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
8941
8942 2010-12-25  Bruno Haible  <bruno@clisp.org>
8943
8944         truncl-ieee: Make it work on OSF/1 5.1 with cc.
8945         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
8946         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
8947         test whether truncl works according to ISO C 99 with IEC 60559.
8948         * m4/truncl-ieee.m4: New file.
8949         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
8950         m4/signbit.m4.
8951         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
8952
8953 2010-12-25  Bruno Haible  <bruno@clisp.org>
8954
8955         ceill-ieee: Make it work on OSF/1 5.1 with cc.
8956         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
8957         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
8958         test whether ceill works according to ISO C 99 with IEC 60559.
8959         * m4/ceill-ieee.m4: New file.
8960         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
8961         m4/signbit.m4.
8962         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
8963
8964 2010-12-25  Bruno Haible  <bruno@clisp.org>
8965
8966         Ensure all prerequisites of <wchar.h> are included.
8967         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
8968         before <wchar.h>.
8969         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
8970         gl_MBRLEN_NUL_RETVAL): Likewise.
8971         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
8972         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
8973         AC_FUNC_MBRTOWC): Likewise.
8974         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8975         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
8976         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8977         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
8978         Likewise.
8979         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8980         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
8981         (gl_WCHAR_H): Improve comments.
8982         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
8983
8984 2010-12-25  Bruno Haible  <bruno@clisp.org>
8985
8986         strtok_r: Fix C syntax error in autoconf macro.
8987         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
8988         characters in test program.
8989
8990 2010-12-24  Bruno Haible  <bruno@clisp.org>
8991
8992         ceil, trunc, round: Fix gcc warnings.
8993         * lib/ceil.c (MIN): Undefine before redefining.
8994         * lib/trunc.c (MIN): Likewise.
8995         * lib/round.c (MIN): Likewise.
8996         Include <math.h> first.
8997
8998 2010-12-24  Bruno Haible  <bruno@clisp.org>
8999
9000         select tests: Avoid failures on OSF/1 5.1.
9001         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
9002         failure of closing the last socket; it may fail with ECONNRESET.
9003
9004 2010-12-24  Eric Blake  <eblake@redhat.com>
9005
9006         stdint: avoid HP-UX 10.20 preprocessor bug
9007         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
9008         than #if.
9009         * tests/test-floor2.c (main): Likewise.
9010         Reported by Peter O'Gorman.
9011
9012         pipe: make obsoletion transition easier
9013         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
9014         * modules/pipe (Files): Include revived file.
9015         (Include): Drop reference, to mirror getdate's behavior.
9016
9017 2010-12-24  Bruno Haible  <bruno@clisp.org>
9018
9019         sys_socket: Hide mismatch of declarations on NonStop Kernel.
9020         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
9021         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
9022         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9023
9024 2010-12-24  Bruno Haible  <bruno@clisp.org>
9025
9026         gethostname: Ensure declaration on NonStop Kernel.
9027         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
9028         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9029
9030 2010-12-24  Bruno Haible  <bruno@clisp.org>
9031
9032         sys_select: Ensure all necessary types on NonStop Kernel.
9033         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
9034         include <sys/time.h>.
9035         * doc/posix-headers/sys_select.texi: Mention that it's missing on
9036         NonStop Kernel.
9037         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9038
9039 2010-12-24  Bruno Haible  <bruno@clisp.org>
9040
9041         sys_select: Remove unneeded include.
9042         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
9043         have <sys/select.h>.
9044
9045 2010-12-24  Bruno Haible  <bruno@clisp.org>
9046
9047         gethostname: Provide a fallback for HOST_NAME_MAX.
9048         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
9049         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
9050         instead.
9051         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9052
9053 2010-12-24  Bruno Haible  <bruno@clisp.org>
9054
9055         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
9056         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
9057         (SA_RESTART): Likewise.
9058         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9059
9060 2010-12-24  Bruno Haible  <bruno@clisp.org>
9061
9062         signal: Define NSIG.
9063         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
9064         * tests/test-signal.c (nsig): New variable.
9065         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9066
9067 2010-12-24  Bruno Haible  <bruno@clisp.org>
9068
9069         rename, renameat: Avoid test failures on OSF/1 5.1.
9070         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
9071         alternative error codes.
9072         * tests/test-renameat.c (main): Likewise.
9073
9074 2010-12-24  Bruno Haible  <bruno@clisp.org>
9075
9076         *printf: Detect large precisions bug on Solaris 10/SPARC.
9077         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
9078         by Paul Eggert.
9079         * tests/test-snprintf-posix.h (test_function): Add this test code here
9080         too.
9081         * tests/test-sprintf-posix.h (test_function): Likewise.
9082         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9083         * tests/test-vasprintf-posix.c (test_function): Likewise.
9084         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
9085         around by gnulib.
9086         * doc/posix-functions/printf.texi: Likewise.
9087         * doc/posix-functions/snprintf.texi: Likewise.
9088         * doc/posix-functions/sprintf.texi: Likewise.
9089         * doc/posix-functions/vfprintf.texi: Likewise.
9090         * doc/posix-functions/vprintf.texi: Likewise.
9091         * doc/posix-functions/vsnprintf.texi: Likewise.
9092         * doc/posix-functions/vsprintf.texi: Likewise.
9093         * doc/posix-functions/dprintf.texi: Undo last commit.
9094         * doc/posix-functions/vdprintf.texi: Likewise.
9095
9096 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
9097
9098         tests: port test-fdutimensat.c to Solaris 8
9099         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
9100         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
9101         On Solaris 8, it fails with errno == ENOSYS, because there is no
9102         futimens (so it can't use the fd), and there is no lutimens (so it
9103         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
9104
9105         vsnprintf: make more consistent with snprintf; doc fixes
9106
9107         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
9108         the byte count return problem was promoted from the snprintf-posix
9109         to the snprintf module.
9110         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9111         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
9112         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
9113         * tests/test-snprintf.c (main): Check the byte count returned.
9114         * tests/test-vsnprintf.c (main): Likewise.
9115
9116 2010-12-23  Eric Blake  <eblake@redhat.com>
9117
9118         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
9119         * modules/sigpipe (License): Relax license.
9120
9121 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9122
9123         doc: document Solaris printf bug with large float precisions
9124         * doc/posix-functions/dprintf.texi (dprintf):
9125         * doc/posix-functions/fprintf.texi (fprintf):
9126         * doc/posix-functions/printf.texi (printf):
9127         * doc/posix-functions/snprintf.texi (snprintf):
9128         * doc/posix-functions/sprintf.texi (sprintf):
9129         * doc/posix-functions/vdprintf.texi (vdprintf):
9130         * doc/posix-functions/vfprintf.texi (vfprintf):
9131         * doc/posix-functions/vprintf.texi (vprintf):
9132         * doc/posix-functions/vsnprintf.texi (vsnprintf):
9133         * doc/posix-functions/vsprintf.texi (vsprintf):
9134         Mention that these functions mishandle large floating point
9135         precisions on Solaris 10.  The same bug is also present in Solaris
9136         8, and I assume earlier.  This causes "cd gnulib-tests; make
9137         check" to fail on Solaris 8 (and I assume, later) when building
9138         the latest coreutils, in test-vasprintf-posix's call to
9139         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
9140         the wide flavors (e.g., wprintf) so this patch just updates the
9141         documentation for the narrow ones.
9142
9143         test-posixtm.c: add two tests
9144         * tests/test-posixtm.c: Add two tests, to highlight the
9145         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
9146         around this bug; this is merely to document it.
9147
9148 2010-12-22  Bruno Haible  <bruno@clisp.org>
9149
9150         getlogin_r: Work around portability problem on OSF/1.
9151         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
9152         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
9153         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
9154         test for a truncated result.
9155         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
9156         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
9157         * modules/getlogin_r (Depends-on): Add memchr.
9158         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
9159
9160 2010-12-22  Bruno Haible  <bruno@clisp.org>
9161
9162         ptsname: Avoid test failure on OSF/1 5.1.
9163         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
9164         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
9165         (same_slave): New function.
9166         (main): Use it to compare ptsname's result with the expected file name.
9167
9168 2010-12-22  Bruno Haible  <bruno@clisp.org>
9169
9170         Port extended stdio modules to HP NonStop Kernel.
9171         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
9172         macros.
9173         * lib/fbufmode.c: Update comments.
9174         * lib/fflush.c: Likewise.
9175         * lib/fpurge.c: Likewise.
9176         * lib/freadable.c: Likewise.
9177         * lib/freadahead.c: Likewise.
9178         * lib/freading.c: Likewise.
9179         * lib/freadptr.c: Likewise.
9180         * lib/freadseek.c: Likewise.
9181         * lib/fseeko.c: Likewise.
9182         * lib/fseterr.c: Likewise.
9183         * lib/fwritable.c: Likewise.
9184         * lib/fwriting.c: Likewise.
9185         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9186
9187 2010-12-22  Bruno Haible  <bruno@clisp.org>
9188
9189         ttyname_r: Work around bug on OSF/1 5.1.
9190         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
9191         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
9192         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
9193         present.
9194         * lib/ttyname_r.c (ttyname_r): Update comments.
9195
9196 2010-12-22  Bruno Haible  <bruno@clisp.org>
9197
9198         round: Implement result sign according to IEEE 754.
9199         * lib/round.c (MIN, MINUS_ZERO): New macros.
9200         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
9201         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
9202         * tests/test-round-ieee.c (main): Likewise.
9203         * tests/test-roundl-ieee.c (main): Likewise.
9204
9205         trunc: Implement result sign according to IEEE 754.
9206         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
9207         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
9208         * tests/test-trunc2.c: Include minus-zero.h.
9209         (MINUS_ZERO): New macro.
9210         (trunc_reference): Keep in sync with lib/trunc.c.
9211         * tests/test-truncf2.c: Include minus-zero.h.
9212         (MINUS_ZERO): New macro.
9213         (truncf_reference): Keep in sync with lib/trunc.c.
9214         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
9215         * tests/test-trunc-ieee.c (main): Likewise.
9216         * tests/test-truncl-ieee.c (main): Likewise.
9217
9218         ceil: Implement result sign according to IEEE 754.
9219         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
9220         (FUNC): Return -0.0 for -1 < x < 0.
9221         * tests/test-ceil2.c: Include minus-zero.h.
9222         (MINUS_ZERO): New macro.
9223         (ceil_reference): Keep in sync with lib/ceil.c.
9224         * tests/test-ceilf2.c: Include minus-zero.h.
9225         (MINUS_ZERO): New macro.
9226         (ceilf_reference): Keep in sync with lib/ceil.c.
9227         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
9228         * tests/test-ceil-ieee.c (main): Likewise.
9229         * tests/test-ceill-ieee.c (main): Likewise.
9230
9231         floor: Implement result sign according to IEEE 754.
9232         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
9233         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
9234         * tests/test-floorf2.c (floorf_reference): Likewise.
9235         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
9236         * tests/test-floor-ieee.c (main): Likewise.
9237         * tests/test-floorl-ieee.c (main): Likewise.
9238
9239 2010-12-22  Bruno Haible  <bruno@clisp.org>
9240
9241         getaddrinfo: Update doc.
9242         * doc/posix-functions/gai_strerror.texi: Return type is also different
9243         on AIX and HP-UX.
9244
9245 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9246
9247         getaddrinfo, inet_ntop: Update doc for Solaris.
9248         * doc/posix-functions/gai_strerror.texi: Return type is also an
9249         issue on Solaris 9 and earlier.
9250         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
9251         on Solaris 10 and earlier.
9252
9253 2010-12-21  Bruno Haible  <bruno@clisp.org>
9254
9255         New module 'roundl-ieee'.
9256         * modules/roundl-ieee: New file.
9257         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
9258         test whether roundl works according to ISO C 99 with IEC 60559.
9259         * m4/roundl-ieee.m4: New file.
9260         * modules/roundl-ieee-tests: New file.
9261         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
9262         * tests/test-roundl.c (main): Remove signbit tests.
9263         * modules/roundl-tests (Depends-on): Remove signbit.
9264         * doc/posix-functions/roundl.texi: Mention the new module.
9265
9266 2010-12-21  Bruno Haible  <bruno@clisp.org>
9267
9268         New module 'truncl-ieee'.
9269         * modules/truncl-ieee: New file.
9270         * modules/truncl-ieee-tests: New file.
9271         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
9272         * tests/test-truncl.c (main): Remove signbit tests.
9273         * modules/truncl-tests (Depends-on): Remove signbit.
9274         * doc/posix-functions/truncl.texi: Mention the new module.
9275
9276 2010-12-21  Bruno Haible  <bruno@clisp.org>
9277
9278         New module 'ceill-ieee'.
9279         * modules/ceill-ieee: New file.
9280         * modules/ceill-ieee-tests: New file.
9281         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
9282         * tests/test-ceill.c (main): Remove signbit tests.
9283         * modules/ceill-tests (Depends-on): Remove signbit.
9284         * doc/posix-functions/ceill.texi: Mention the new module.
9285
9286 2010-12-21  Bruno Haible  <bruno@clisp.org>
9287
9288         New module 'floorl-ieee'.
9289         * modules/floorl-ieee: New file.
9290         * modules/floorl-ieee-tests: New file.
9291         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
9292         * tests/test-floorl.c (main): Remove signbit tests.
9293         * modules/floorl-tests (Depends-on): Remove signbit.
9294         * doc/posix-functions/floorl.texi: Mention the new module.
9295
9296 2010-12-21  Bruno Haible  <bruno@clisp.org>
9297
9298         New module 'round-ieee'.
9299         * modules/round-ieee: New file.
9300         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
9301         whether round works according to ISO C 99 with IEC 60559.
9302         * m4/round-ieee.m4: New file.
9303         * modules/round-ieee-tests: New file.
9304         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
9305         * tests/test-round1.c (main): Remove signbit tests.
9306         * modules/round-tests (Depends-on): Remove 'signbit'.
9307         * doc/posix-functions/round.texi: Mention the new module.
9308
9309 2010-12-21  Bruno Haible  <bruno@clisp.org>
9310
9311         New module 'trunc-ieee'.
9312         * modules/trunc-ieee: New file.
9313         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
9314         whether trunc works according to ISO C 99 with IEC 60559.
9315         * m4/trunc-ieee.m4: New file.
9316         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
9317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
9318         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
9319         * modules/trunc-ieee-tests: New file.
9320         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
9321         * tests/test-trunc1.c (main): Remove signbit tests.
9322         * modules/trunc-tests (Depends-on): Remove 'signbit'.
9323         * doc/posix-functions/trunc.texi: Mention the new module.
9324
9325 2010-12-21  Bruno Haible  <bruno@clisp.org>
9326
9327         New module 'ceil-ieee'.
9328         * modules/ceil-ieee: New file.
9329         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
9330         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
9331         ISO C 99 with IEC 60559.
9332         * m4/ceil-ieee.m4: New file.
9333         * modules/ceil (Files): Add lib/ceil.c.
9334         (Depends-on): Add 'float'.
9335         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
9336         * lib/math.in.h (ceil): New declaration.
9337         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
9338         REPLACE_CEIL.
9339         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
9340         * modules/ceil-ieee-tests: New file.
9341         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
9342         * tests/test-math-c++.cc: Check the signature of 'ceil'.
9343         * doc/posix-functions/ceil.texi: Mention the new module.
9344
9345 2010-12-21  Bruno Haible  <bruno@clisp.org>
9346
9347         New module 'floor-ieee'.
9348         * modules/floor-ieee: New file.
9349         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
9350         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
9351         ISO C 99 with IEC 60559.
9352         * m4/floor-ieee.m4: New file.
9353         * modules/floor (Files): Add lib/floor.c.
9354         (Depends-on): Add 'float'.
9355         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
9356         * lib/math.in.h (floor): New declaration.
9357         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
9358         REPLACE_FLOOR.
9359         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
9360         * modules/floor-ieee-tests: New file.
9361         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
9362         * tests/test-math-c++.cc: Check the signature of 'floor'.
9363         * doc/posix-functions/floor.texi: Mention the new module.
9364
9365 2010-12-21  Bruno Haible  <bruno@clisp.org>
9366
9367         New module 'roundf-ieee'.
9368         * modules/roundf-ieee: New file.
9369         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
9370         test whether roundf works according to ISO C 99 with IEC 60559.
9371         * m4/roundf-ieee.m4: New file.
9372         * modules/roundf-ieee-tests: New file.
9373         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
9374         * tests/test-roundf1.c (main): Remove signbit tests.
9375         * modules/roundf-tests (Depends-on): Remove 'signbit'.
9376         * doc/posix-functions/roundf.texi: Mention the new module.
9377
9378 2010-12-21  Bruno Haible  <bruno@clisp.org>
9379
9380         New module 'truncf-ieee'.
9381         * modules/truncf-ieee: New file.
9382         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
9383         test whether truncf works according to ISO C 99 with IEC 60559.
9384         * m4/truncf-ieee.m4: New file.
9385         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
9386         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
9387         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
9388         * modules/truncf-ieee-tests: New file.
9389         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
9390         * tests/test-truncf1.c (main): Remove signbit tests.
9391         * modules/truncf-tests (Depends-on): Remove 'signbit'.
9392         * doc/posix-functions/truncf.texi: Mention the new module.
9393
9394 2010-12-21  Bruno Haible  <bruno@clisp.org>
9395
9396         New module 'ceilf-ieee'.
9397         * modules/ceilf-ieee: New file.
9398         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
9399         test whether ceilf works according to ISO C 99 with IEC 60559.
9400         * m4/ceilf-ieee.m4: New file.
9401         * modules/ceilf-ieee-tests: New file.
9402         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
9403         * tests/test-ceilf1.c (main): Remove signbit tests.
9404         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
9405         * doc/posix-functions/ceilf.texi: Mention the new module.
9406
9407 2010-12-21  Bruno Haible  <bruno@clisp.org>
9408
9409         New module 'floorf-ieee'.
9410         * modules/floorf-ieee: New file.
9411         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
9412         test whether floorf works according to ISO C 99 with IEC 60559.
9413         * m4/floorf-ieee.m4: New file.
9414         * modules/floorf-ieee-tests: New file.
9415         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
9416         * tests/test-floorf1.c (main): Remove signbit tests.
9417         * modules/floorf-tests (Depends-on): Remove 'signbit'.
9418         * doc/posix-functions/floorf.texi: Mention the new module.
9419
9420 2010-12-21  Bruno Haible  <bruno@clisp.org>
9421
9422         Support for minus zero in autoconf macros.
9423         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
9424         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
9425         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
9426         * tests/minus-zero.h: Update comments.
9427
9428 2010-12-21  Bruno Haible  <bruno@clisp.org>
9429
9430         Tests for module 'ceil'.
9431         * modules/ceil-tests: New file.
9432         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
9433         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
9434
9435 2010-12-21  Bruno Haible  <bruno@clisp.org>
9436
9437         Tests for module 'floor'.
9438         * modules/floor-tests: New file.
9439         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
9440         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
9441
9442 2010-12-21  Bruno Haible  <bruno@clisp.org>
9443
9444         math: Fix indentation.
9445         * lib/math.in.h (floorf): Fix indentation.
9446
9447 2010-12-21  Bruno Haible  <bruno@clisp.org>
9448
9449         Fix cross-compilation guesses on Solaris.
9450         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
9451         not match "solaris2.10".
9452         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9453         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
9454         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
9455
9456 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
9457
9458         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
9459         This fixes a problem observed with the latest coreutils snapshot
9460         that caused a test to fail on Solaris 8.  src/csplit.c's call
9461         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
9462         earlier, instead of returning the number of bytes that would have
9463         been generated; this causes csplit to incorrectly report memory
9464         exhaustion.
9465         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
9466         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
9467         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
9468         comments to match.
9469         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
9470         Fix typo in matching older versions of Solaris: "solaris2.10"
9471         is matched by the shell pattern "solaris2.[0-9]*".  This matters
9472         only for guessing while cross-compiling.
9473         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
9474
9475 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
9476
9477         ftoastr: fix comment again
9478         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
9479         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
9480         Also, simplify example a bit by using flags = 0.
9481
9482 2010-12-20  Bruno Haible  <bruno@clisp.org>
9483
9484         round*, trunc*: Update documentation regarding glibc.
9485         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
9486         * doc/posix-functions/round.texi: Likewise.
9487         * doc/posix-functions/roundl.texi: Likewise.
9488         * doc/posix-functions/truncf.texi: Likewise.
9489         * doc/posix-functions/trunc.texi: Likewise.
9490         * doc/posix-functions/truncl.texi: Likewise.
9491
9492 2010-12-20  Bruno Haible  <bruno@clisp.org>
9493
9494         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
9495         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
9496         * doc/posix-functions/round.texi: Likewise.
9497         * doc/posix-functions/roundl.texi: Likewise.
9498
9499 2010-12-20  Bruno Haible  <bruno@clisp.org>
9500
9501         ttyname_r: Add missing declaration on HP-UX 11.
9502         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
9503         HAVE_TTYNAME_R.
9504         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
9505         declared. Set HAVE_TTYNAME_R always.
9506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9507         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
9508         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
9509         HAVE_TTYNAME_R.
9510         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
9511
9512 2010-12-20  Bruno Haible  <bruno@clisp.org>
9513
9514         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
9515         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
9516         * doc/posix-functions/getlogin_r.texi: Likewise.
9517         * tests/test-getlogin.c: Include <errno.h>.
9518         (main): Avoid test failure on HP-UX 11.11.
9519         * tests/test-getlogin_r.c (main): Likewise.
9520
9521 2010-12-20  Bruno Haible  <bruno@clisp.org>
9522
9523         getlogin_r: Add missing declaration on HP-UX 11.
9524         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
9525         declared also when it exists as a function.
9526         * doc/posix-functions/getlogin_r.texi: Document this workaround.
9527
9528 2010-12-20  Bruno Haible  <bruno@clisp.org>
9529
9530         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
9531         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
9532         through wcrtomb.
9533
9534 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9535
9536         ftoastr: fix comment
9537         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
9538         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
9539
9540 2010-12-19  Bruno Haible  <bruno@clisp.org>
9541
9542         isnan: Ensure it is a macro.
9543         * lib/math.in.h (isnan): Define as a macro if not already a macro.
9544         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
9545         Solaris.
9546
9547 2010-12-19  Bruno Haible  <bruno@clisp.org>
9548
9549         ldexpl test: Fix link error on OSF/1 5.1.
9550         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
9551
9552 2010-12-19  Bruno Haible  <bruno@clisp.org>
9553
9554         wctype: Make it work in C++ mode on OSF/1 5.1.
9555         * lib/wctype.in.h (iswblank): Declare but not define here.
9556         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
9557         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
9558         * modules/wctype (Files): Add lib/iswblank.c.
9559
9560 2010-12-19  Bruno Haible  <bruno@clisp.org>
9561
9562         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
9563         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
9564         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
9565
9566 2010-12-19  Bruno Haible  <bruno@clisp.org>
9567
9568         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
9569         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
9570         _POSIX_PII_SOCKET.
9571         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
9572         * doc/posix-functions/recvfrom.texi: Likewise.
9573         * doc/posix-functions/send.texi: Likewise.
9574         * doc/posix-functions/sendto.texi: Likewise.
9575
9576 2010-12-19  Bruno Haible  <bruno@clisp.org>
9577
9578         tcgetsid: Add missing declaration on OSF/1 5.1.
9579         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
9580         HAVE_TCGETSID.
9581         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
9582         Don't set HAVE_TCGETSID.
9583         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
9584         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
9585         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
9586         HAVE_TCGETSID.
9587         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
9588
9589 2010-12-19  Bruno Haible  <bruno@clisp.org>
9590
9591         stdio: Fix problem with popen() declaration on OSF/1 5.1.
9592         * lib/stdio.in.h: During the include_next statement, let recursive
9593         includes of this file include only the system header file.
9594
9595 2010-12-19  Bruno Haible  <bruno@clisp.org>
9596
9597         iconv_open: Fix regression from 2010-12-04.
9598         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
9599         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
9600
9601 2010-12-19  Bruno Haible  <bruno@clisp.org>
9602
9603         stdbool test: Avoid a gcc warning.
9604         * tests/test-stdbool.c (main): Fail if e1 is false.
9605         Reported by Jim Meyering.
9606
9607 2010-12-19  Jim Meyering  <meyering@redhat.com>
9608
9609         setenv: restore to working order
9610         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
9611         mistakenly removed.
9612         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
9613         HAVE_SETENV.
9614         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
9615         HAVE_SETENV.
9616
9617 2010-12-19  Bruno Haible  <bruno@clisp.org>
9618
9619         Document some different function declarations on OSF/1 5.1.
9620         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
9621         * doc/posix-functions/inet_ntop.texi: Likewise.
9622         * doc/posix-functions/gethostname.texi: Likewise.
9623         * lib/unistd.in.h (gethostname): Update comment.
9624
9625 2010-12-19  Bruno Haible  <bruno@clisp.org>
9626
9627         doc: Mention vasprintf-posix module.
9628         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
9629         the 'vasprintf-posix' module.
9630         * doc/glibc-functions/vasprintf.texi: Likewise.
9631
9632 2010-12-19  Bruno Haible  <bruno@clisp.org>
9633
9634         unsetenv: Add missing declaration on OSF/1 5.1.
9635         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
9636         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
9637         Don't set HAVE_UNSETENV. In the test program, set _BSD.
9638         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
9639         not HAVE_UNSETENV.
9640         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
9641         HAVE_UNSETENV.
9642         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
9643
9644 2010-12-19  Bruno Haible  <bruno@clisp.org>
9645
9646         setenv: Add missing declaration on OSF/1 5.1.
9647         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
9648         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
9649         declared. Don't set HAVE_SETENV.
9650         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
9651         not HAVE_SETENV.
9652         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
9653         HAVE_SETENV.
9654         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
9655
9656 2010-12-19  Bruno Haible  <bruno@clisp.org>
9657
9658         nl_langinfo tests: Avoid gcc warning.
9659         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
9660
9661 2010-12-19  Bruno Haible  <bruno@clisp.org>
9662
9663         mknod: Avoid error in C++ mode on OSF/1 with GCC.
9664         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
9665         _GL_CXXALIAS_SYS.
9666
9667 2010-12-19  Bruno Haible  <bruno@clisp.org>
9668
9669         stdbool: Relax test.
9670         * tests/test-stdbool.c (e): Don't require that casts from a variable's
9671         address to 'bool' work in static initializer, for compilers other than
9672         GCC.
9673
9674 2010-12-19  Bruno Haible  <bruno@clisp.org>
9675
9676         ftello: Add missing declaration on OSF/1 5.1.
9677         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
9678         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
9679         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
9680         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
9681         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
9682
9683 2010-12-19  Bruno Haible  <bruno@clisp.org>
9684
9685         fseeko: Add missing declaration on OSF/1 5.1.
9686         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
9687         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
9688         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
9689         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
9690         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
9691
9692 2010-12-19  Bruno Haible  <bruno@clisp.org>
9693
9694         fchdir: Add missing declaration on OSF/1 5.1.
9695         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
9696         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
9697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
9698         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
9699         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
9700
9701 2010-12-19  Bruno Haible  <bruno@clisp.org>
9702
9703         relocatable-prog-wrapper: Separate from relocatable-prog.
9704         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
9705         uninstall-relocwrapper rule here.
9706         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
9707         Reported by Ian Beckwith <ianb@erislabs.net>.
9708
9709 2010-12-19  Bruno Haible  <bruno@clisp.org>
9710
9711         unistr/u8-mbsnlen: Add missing dependency.
9712         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
9713         Reported by Ian Beckwith <ianb@erislabs.net>.
9714
9715 2010-12-19  Bruno Haible  <bruno@clisp.org>
9716
9717         iconv: Make it possible again to use this module without 'iconv-h'.
9718         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
9719         if it is not defined.
9720         Reported by Ian Beckwith <ianb@erislabs.net>.
9721
9722 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9723
9724         acl: port to Solaris 8 when copying from tmpfs to ufs
9725         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
9726         error number.  Problem observed on Solaris 8 with latest
9727         coreutils, with "mv A B", where A is on a tmpfs file system and B
9728         is on a ufs file system.  This caused coreutils' mv/part-symlink
9729         test to fail.
9730
9731         tests: set fail=0 at start
9732         * tests/init.sh (setup_): Move fail=0 initialization here ...
9733         (mktempd_): ... from here, so that tests can rely on fail being
9734         set to 0 initially.  This fixes a problem in coreutils; see:
9735         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
9736
9737 2010-12-18  Bruno Haible  <bruno@clisp.org>
9738
9739         memmem-simple: Stylistic changes.
9740         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
9741         Fix preprocessor directive indentation.
9742
9743 2010-12-15  Pádraig Brady <P@draigBrady.com>
9744
9745         memmem, memmem-simple: reorganize and expand empty needle check
9746         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
9747         functional checks to memmem-simple so that one has a fully functional
9748         memmem by using just this module.
9749         Restrict the performance only check to the memmem module.
9750         Also expand the empty needle check to ensure the correct
9751         pointer is returned, not just a non NULL pointer.
9752         * doc/glibc-functions/memmem.texi: Rearrange the portability
9753         documentation to correlate with the rearranged checks.
9754         Clarify exactly how the memmem and memmem-simple modules
9755         relate to each other.
9756
9757 2010-12-15  Pádraig Brady <P@draigBrady.com>
9758             Bruno Haible  <bruno@clisp.org>
9759
9760         Improve cross-compilation guesses for uClibc.
9761         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
9762         that uClibc does not have the glibc bug.
9763         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
9764         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
9765
9766 2010-12-14  Eric Blake  <eblake@redhat.com>
9767
9768         configmake: provide fallbacks for oldest supported autotools
9769         * m4/configmake.m4: New file.
9770         * modules/configmake (Files): Ship it.
9771         (configure.ac): Use it to guarantee fallbacks.
9772
9773 2010-12-13  Pádraig Brady <P@draigBrady.com>
9774
9775         read-file: Improve handling of large files
9776         * lib/read-file.c (fread_file): Minimize realloc()s
9777         for regular files, and better manage sizes around SIZE_MAX.
9778
9779 2010-12-13  Eric Blake  <eblake@redhat.com>
9780
9781         cloexec, fcntl: relax license
9782         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
9783         consent from all contributors.
9784         * modules/fcntl (License): Likewise.
9785
9786 2010-12-10  Bruno Haible  <bruno@clisp.org>
9787
9788         Tests for module 'pipe-posix'.
9789         * modules/pipe-posix-tests: New file.
9790         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
9791
9792 2010-12-10  Bruno Haible  <bruno@clisp.org>
9793
9794         pipe-posix: Make it work in C++ mode.
9795         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
9796         (pipe): Use common idiom, not a macro definition.
9797         * lib/pipe.c: New file.
9798         * m4/pipe.m4: New file.
9799         * modules/pipe-posix (Description): Enhance.
9800         (Files): Add lib/pipe.c, m4/pipe.m4.
9801         (configure.ac): Invoke gl_FUNC_PIPE.
9802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
9803         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
9804         * tests/test-unistd-c++.cc: Check the signature of pipe.
9805
9806 2010-12-10  Bruno Haible  <bruno@clisp.org>
9807
9808         Rename module 'pipe' to 'spawn-pipe'.
9809         * modules/spawn-pipe: New file, renamed from modules/pipe.
9810         (Files, configure.ac, Makefile.am): Update.
9811         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
9812         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
9813         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
9814         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
9815         "spawn-pipe.h" instead of "pipe.h".
9816         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
9817         to gl_SPAWN_PIPE.
9818         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
9819         (Files, Makefile.am): Update.
9820         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
9821         Update.
9822         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
9823         Include "spawn-pipe.h" instead of "pipe.h".
9824         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
9825         * lib/javacomp.c: Likewise.
9826         * lib/javaversion.c: Likewise.
9827         * lib/pipe-filter-gi.c: Likewise.
9828         * lib/pipe-filter-ii.c: Likewise.
9829         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
9830         * modules/javacomp (Depends-on): Likewise.
9831         * modules/javaversion (Depends-on): Likewise.
9832         * modules/pipe-filter-gi (Depends-on): Likewise.
9833         * modules/pipe-filter-ii (Depends-on): Likewise.
9834         * MODULES.html.sh (Executing programs): Update.
9835         * NEWS: Mention the change.
9836
9837 2010-12-10  Eric Blake  <eblake@redhat.com>
9838
9839         pipe-posix: new module
9840         * modules/pipe-posix: New file.
9841         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
9842         (gl_UNISTD_H): Check for declaration.
9843         * modules/unistd (Makefile.am): Substitute it.
9844         * lib/unistd.in.h (pipe): Provide it for mingw.
9845         * doc/posix-functions/pipe.texi (pipe): Update documentation.
9846         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
9847
9848 2010-12-07  Bruno Haible  <bruno@clisp.org>
9849
9850         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
9851         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
9852         u8_strcmp_gnu.
9853         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
9854
9855 2010-12-06  Bruno Haible  <bruno@clisp.org>
9856
9857         Update internal documentation.
9858         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
9859
9860 2010-12-04  Bruno Haible  <bruno@clisp.org>
9861
9862         Put more information about failed tests into the test return codes.
9863         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
9864         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
9865         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
9866         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9867         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
9868         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
9869         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
9870         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9871         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
9872         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9873         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
9874         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
9875         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
9876         * m4/stdint.m4 (gl_STDINT_H): Likewise.
9877         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
9878         returns a bit mask.
9879         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
9880         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
9881         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
9882         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
9883         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
9884         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
9885         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
9886         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
9887         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9888         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
9889         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
9890         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
9891         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9892         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
9893         * m4/link.m4 (gl_FUNC_LINK): Likewise.
9894         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
9895         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
9896         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
9897         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9898         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
9899         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9900         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9901         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
9902         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
9903         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9904         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
9905         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
9906         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
9907         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
9908         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
9909         gl_PRINTF_PRECISION): Likewise.
9910         * m4/regex.m4 (gl_REGEX): Likewise.
9911         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
9912         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
9913         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
9914         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
9915         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9916         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9917         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
9918         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
9919         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
9920         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9921         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
9922         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
9923         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
9924         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
9925         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
9926         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9927         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
9928         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9929         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9930         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
9931         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
9932         enumerated value.
9933         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
9934
9935 2010-12-04  Bruno Haible  <bruno@clisp.org>
9936
9937         Update for Solaris 11 2010-11.
9938         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
9939         Express, released in November 2010.
9940
9941 2010-12-04  Bruno Haible  <bruno@clisp.org>
9942
9943         nproc: Relax license.
9944         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
9945         and Paul Eggert.
9946         Requested by Ludovic Courtès <ludo@gnu.org>.
9947
9948 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
9949
9950         utimecmp: fine-grained src to nearby coarse-grained dest
9951
9952         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
9953         and the source is on a file system with higher-resolution time
9954         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
9955         not work, and the time stamps are close together, the algorithm to
9956         determine the exact resolution from the read-back mtime was buggy:
9957         it had a "!=" where it should have had an "==".  This bug has been
9958         in the code ever since it was introduced to gnulib.
9959         Problem reported by Dan Jacobson in
9960         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
9961
9962 2010-11-30  Bruno Haible  <bruno@clisp.org>
9963
9964         strerror_r-posix: Fix autoconf test.
9965         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
9966
9967 2010-11-28  Bruno Haible  <bruno@clisp.org>
9968             Paul Eggert  <eggert@cs.ucla.edu>
9969
9970         Tests for module 'getdomainname'.
9971         * modules/getdomainname-tests: New file.
9972         * tests/test-getdomainname.c: New file, based on
9973         tests/test-gethostname.c.
9974
9975 2010-11-28  Bruno Haible  <bruno@clisp.org>
9976             Paul Eggert  <eggert@cs.ucla.edu>
9977
9978         getdomainname: Use the system function when possible.
9979         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
9980         (getdomainname): Replace if needed. Provide the declaration if it is
9981         missing. Don't use _GL_CXXALIAS_SYS_CAST.
9982         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
9983         (getdomainname): When the system has getdomainname, call the system
9984         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
9985         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
9986         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
9987         found in libnsl. Look for the declaration also in <netdb.h>. Replace
9988         the function if its second argument is of type 'int' or if it is found
9989         in libnsl.
9990         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
9991         <sys/systeminfo.h> and sysinfo().
9992         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
9993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9994         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
9995         HAVE_GETDOMAINNAME.
9996         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
9997         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
9998         * doc/glibc-functions/getdomainname.texi: Document the problems with
9999         the getdomainname declaration.
10000
10001 2010-11-28  Bruno Haible  <bruno@clisp.org>
10002
10003         sys_socket: Ensure ss_family field on AIX.
10004         * lib/sys_socket.in.h (ss_family): New macro definition.
10005         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
10006         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
10007         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
10008         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
10009         * modules/sys_socket (Makefile.am): Substitute
10010         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
10011         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
10012
10013 2010-11-27  Bruno Haible  <bruno@clisp.org>
10014
10015         readline: Improve configure output.
10016         * m4/readline.m4 (gl_FUNC_READLINE): Make the
10017         "checking for readline..." result understandable.
10018
10019 2010-11-27  Bruno Haible  <bruno@clisp.org>
10020
10021         *printf-posix: Detect a bug on Solaris 10/x86.
10022         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
10023         for floating-point output.
10024         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
10025         directive.
10026         * tests/test-snprintf-posix.h (test_function): Likewise.
10027         * tests/test-sprintf-posix.h (test_function): Likewise.
10028         * tests/test-vasprintf-posix.c (test_function): Likewise.
10029         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
10030         * doc/posix-functions/printf.texi: Likewise.
10031         * doc/posix-functions/snprintf.texi: Likewise.
10032         * doc/posix-functions/sprintf.texi: Likewise.
10033         * doc/posix-functions/vfprintf.texi: Likewise.
10034         * doc/posix-functions/vprintf.texi: Likewise.
10035         * doc/posix-functions/vsnprintf.texi: Likewise.
10036         * doc/posix-functions/vsprintf.texi: Likewise.
10037         * doc/glibc-functions/obstack_printf.texi: Likewise.
10038         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10039
10040 2010-11-27  Bruno Haible  <bruno@clisp.org>
10041
10042         Fix link error when module libunistring-optional is in use.
10043         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
10044         * modules/striconveha-tests (Makefile.am): Likewise.
10045
10046 2010-11-27  Bruno Haible  <bruno@clisp.org>
10047
10048         regex: Mention link dependencies.
10049         * modules/regex (Link): New section.
10050         * modules/rpmatch (Link): Likewise.
10051         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
10052
10053 2010-11-27  Bruno Haible  <bruno@clisp.org>
10054
10055         ftoastr: Fix compilation error on Solaris.
10056         * lib/ftoastr.c: Include <config.h>.
10057
10058 2010-11-27  Bruno Haible  <bruno@clisp.org>
10059
10060         getloadavg: Update documentation.
10061         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
10062
10063 2010-11-27  Bruno Haible  <bruno@clisp.org>
10064
10065         sys_socket: Fix test whether the functions are declared.
10066         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
10067         not <sys/select.h>.
10068
10069 2010-11-27  Bruno Haible  <bruno@clisp.org>
10070
10071         getpass: Make sure to get system declaration on some platforms.
10072         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
10073         gl_USE_SYSTEM_EXTENSIONS.
10074         * modules/getpass (Depends-on): Add extensions.
10075
10076 2010-11-26  Bruno Haible  <bruno@clisp.org>
10077
10078         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
10079         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
10080         'iconv' module is present.
10081         (ICONV_CONST): New macro.
10082         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
10083         ICONV_CONST.
10084         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
10085         set ICONV_CONST.
10086         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
10087         here.
10088         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
10089         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
10090         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
10091         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
10092         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
10093         present.
10094
10095 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
10096
10097         ftoastr: comment fix
10098         * lib/ftoastr.c: "little" -> "little or no" in comment
10099
10100 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
10101
10102         stdint: port to GCC 4.3 + OSX + Octave
10103         On this platform, stdint.h is buggy and defines int64_t to long
10104         long int.  The replacement defined it to long int, causing
10105         problems with C++ style name mangling.  Instead, trust the system
10106         definition if INT64_MAX is defined, and likewise for the unsigned
10107         variant.   Problem reported by Jarno Rajahalme in
10108         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
10109         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
10110         and don't mess with int64_t and INT64_MAX in this case.
10111         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
10112
10113 2010-11-24  Bruno Haible  <bruno@clisp.org>
10114
10115         doc: Corrections regarding MacOS X 10.4 and 10.5.
10116         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
10117         MacOS X.
10118         Reported by Simon Josefsson.
10119
10120 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
10121
10122         Uninstall ".bin" files installed by relocwrapper.
10123         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
10124         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
10125         unless it is already there.
10126
10127 2010-11-21  Bruno Haible  <bruno@clisp.org>
10128
10129         Update for NetBSD 5.0.
10130         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
10131         NetBSD; the test fails on NetBSD 5.0.
10132         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
10133         about NetBSD.
10134
10135 2010-11-21  Bruno Haible  <bruno@clisp.org>
10136
10137         Update for HP-UX 11.23 and HP-UX 11.31.
10138         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
10139         HP-UX.
10140
10141 2010-11-21  Bruno Haible  <bruno@clisp.org>
10142
10143         Update for MacOS X 10.5.
10144         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
10145         MacOS X; the test fails on MacOS X 10.5.8.
10146         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
10147         about MacOS X.
10148
10149 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
10150
10151         bootstrap: add bootstrap_sync option.
10152         See discussion at
10153         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
10154         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
10155         * build-aux/bootstrap: Accept --bootstrap-sync to update
10156         bootstrap if it is not identical to the local gnulib's
10157         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
10158         enable this by default.  Accept --no-bootstrap-sync to disable
10159         it.
10160
10161 2010-11-20  Bruno Haible  <bruno@clisp.org>
10162
10163         Ensure that <features.h> is included before __GLIBC__ is tested.
10164         * lib/printf-parse.h: Include <features.h>.
10165         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
10166         Reported by Mike Frysinger <vapier@gentoo.org>.
10167
10168         Ensure that <features.h> is included before __GLIBC__ is tested.
10169         * lib/wchar.in.h: Include <features.h>.
10170         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
10171         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
10172         Reported by Mike Frysinger <vapier@gentoo.org>.
10173
10174         Ensure that <features.h> is included before __GLIBC__ is tested.
10175         * lib/arpa_inet.in.h: Include <features.h>.
10176         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
10177         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
10178         Reported by Mike Frysinger <vapier@gentoo.org>.
10179
10180         Ensure that <features.h> is included before __GLIBC__ is tested.
10181         * build-aux/link-warning.h: Include <features.h>.
10182         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
10183         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
10184         Reported by Mike Frysinger <vapier@gentoo.org>.
10185
10186         Ensure that <features.h> is included before __GLIBC__ is tested.
10187         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
10188         Reported by Mike Frysinger <vapier@gentoo.org>.
10189
10190 2010-11-20  Bruno Haible  <bruno@clisp.org>
10191
10192         memmem: Fix autoconf test.
10193         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
10194
10195 2010-11-20  Bruno Haible  <bruno@clisp.org>
10196
10197         Port to uClibc.
10198         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
10199         * lib/fcntl.in.h: Likewise.
10200         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
10201         * lib/mbrtowc.c (mbrtowc): Likewise.
10202         * lib/relocatable.c (find_shared_library_fullname): Likewise.
10203         * lib/strerror_r.c: Likewise.
10204         * lib/unistr/u8-strnlen.c: Likewise.
10205         * lib/vasnprintf.c (decimal_point_char): Likewise.
10206         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
10207         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
10208         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
10209         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
10210         * tests/test-sigaction.c (handler, main): Likewise.
10211         * lib/freading.h: Treat uClibc like a non-glibc platform.
10212         * lib/freading.c: Likewise.
10213         * lib/gettext.h: Likewise.
10214         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
10215         Likewise.
10216         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
10217         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10218         * lib/propername.c (proper_name_utf8): Likewise.
10219         * lib/spawn.in.h: Likewise.
10220         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
10221         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
10222         mem_cd_iconveh_internal): Likewise.
10223         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
10224         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
10225         strstr, strcasestr): Likewise.
10226         * lib/unicodeio.c (unicode_to_mb): Likewise.
10227         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
10228         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
10229         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
10230         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
10231         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
10232         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
10233         * lib/unistr/u8-stpncpy.c: Likewise.
10234         * lib/vasnprintf.c (VASNPRINTF): Likewise.
10235         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
10236         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
10237         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
10238         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
10239         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
10240         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
10241         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
10242         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10243         Likewise.
10244         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10245         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10246         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
10247         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10248         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
10249         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10250         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10251         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
10252         * tests/test-getopt.h (OPTIND_MIN): Likewise.
10253         * tests/test-striconveha.c (main): Likewise.
10254         * tests/test-vasnprintf-posix.c (test_function): Likewise.
10255         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
10256         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
10257         * doc/posix-functions/getline.texi: Likewise.
10258         Reported by Mike Frysinger <vapier@gentoo.org>.
10259
10260 2010-11-20  Bruno Haible  <bruno@clisp.org>
10261
10262         nproc: Fix condition.
10263         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
10264         HAVE_PTHREAD_AFFINITY_NP.
10265
10266 2010-11-20  Bruno Haible  <bruno@clisp.org>
10267
10268         Fix a comment.
10269         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
10270
10271 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
10272
10273         ftoastr: don't assume snprintf
10274         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
10275         Implement a subset of snprintf here, by using sprintf safely.
10276         * modules/ftoastr (Depends-on): Remove snprintf.
10277
10278 2010-11-19  Jim Meyering  <meyering@redhat.com>
10279
10280         test-rename.h: fix compilation failure
10281         * tests/test-rename.h (test_rename): Add omitted "}".
10282
10283 2010-11-17  Jim Meyering  <meyering@redhat.com>
10284
10285         maint.mk: add a URL discussing the no-@acronym policy
10286         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
10287
10288 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10289
10290         ftoastr: depend on snprintf, improve comments
10291         * lib/ftoastr.c: Also mention Loitsch's draft.
10292         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
10293         needed in the current implementation, but it might simplify
10294         speeding up the code later.
10295         * modules/ftoastr: Depend on snprintf; this improves portability.
10296         Suggested by Bruno Haible in the same email.
10297
10298         ftoastr: port to hosts lacking strtof and strtold
10299         Problem reported by Bruno Haible in
10300         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
10301         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
10302         environment and strtold (and presumably strtof) are not available.
10303         * modules/ftoastr (Files): Add m4/c-strtod.m4.
10304         (configure.ac): Require gl_C99_STRTOLD.
10305
10306 2010-11-18  Bruno Haible  <bruno@clisp.org>
10307
10308         c-strtold: Avoid link error on AIX 7.
10309         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
10310         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
10311         (gl_C_STRTOLD): Test whether strtold_l exists.
10312         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
10313
10314 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10315
10316         intprops: new macro INT_BITS_STRLEN_BOUND
10317         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
10318         ftoastr.h.  This exposes an internal of intprops.h that was formerly
10319         not exposed.  Also, it uses a slightly tighter bound than before;
10320         though this makes no practical difference, we might as well be as
10321         tight as we easily can.
10322
10323         ftoastr: new module, for lossless conversion of floats to short strings
10324         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
10325         * modules/ftoastr: New files.
10326
10327 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
10328
10329         bootstrap: port to Solaris sed
10330         * build-aux/bootstrap (get_version): Port to Solaris sed.
10331         See Ralf Wildenhues's note in
10332         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
10333
10334 2010-11-14  Jim Meyering  <meyering@redhat.com>
10335
10336         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
10337         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
10338         and move definition closer to sole use.
10339
10340 2010-11-13  Jim Meyering  <meyering@redhat.com>
10341
10342         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
10343         Now we require at least autoconf-2.59, which means the work-around
10344         is no longer needed.
10345         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
10346         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10347         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
10348         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
10349         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
10350
10351 2010-11-13  Bruno Haible  <bruno@clisp.org>
10352
10353         rename, renameat: Avoid test failures at NFS mounted locations.
10354         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
10355         functions.
10356         (test_rename): Use assert_nonexistent.
10357         * tests/test-rename.c: Include <dirent.h>.
10358         * tests/test-renameat.c: Likewise.
10359         Reported by Gary V. Vaughan <gary@gnu.org>.
10360
10361         rename, renameat: Document Linux bug with NFS
10362         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
10363         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
10364         * doc/posix-functions/renameat.texi: Likewise.
10365         Suggested by Eric Blake.
10366
10367 2010-11-13  Bruno Haible  <bruno@clisp.org>
10368
10369         rename test: Add comments.
10370         * tests/test-rename.h (test_rename): Add structure and comments.
10371
10372 2010-11-13  Eric Blake  <eblake@redhat.com>
10373
10374         maintainer-makefile: cover a few more files
10375         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
10376         scripts generated within C files, for libvirt.
10377
10378 2010-11-13  Bruno Haible  <bruno@clisp.org>
10379
10380         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
10381         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
10382         character, return the number of bytes that belong together, not always
10383         1.
10384         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
10385         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
10386         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
10387         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
10388         number of bytes of an invalid character.
10389         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
10390         (main): Invoke it.
10391         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
10392         results.
10393         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
10394         malformed byte sequences.
10395         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
10396         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
10397         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
10398         Reported by Ben Pfaff and Paolo Bonzini.
10399
10400 2010-11-13  Bruno Haible  <bruno@clisp.org>
10401
10402         openat: Work around glibc bug with fchownat() and empty file names.
10403         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
10404         (gl_FUNC_FCHOWNAT): Invoke it.
10405         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
10406         * doc/posix-functions/fchownat.texi: Document the glibc bug.
10407         Reported by Gary V. Vaughan <gary@gnu.org>.
10408
10409 2010-11-13  Bruno Haible  <bruno@clisp.org>
10410
10411         openat: Ensure autoconf macro ordering.
10412         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
10413         gl_USE_SYSTEM_EXTENSIONS.
10414         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
10415
10416 2010-11-13  Bruno Haible  <bruno@clisp.org>
10417
10418         Update comments.
10419         * lib/unistr/u8-check.c: Update file name in comments.
10420         * lib/unistr/u8-mblen.c: Likewise.
10421         * lib/unistr/u8-prev.c: Likewise.
10422         * lib/unistr/u8-strmblen.c: Likewise.
10423         * lib/unistr/u8-strmbtouc.c: Likewise.
10424
10425 2010-11-13  Jim Meyering  <meyering@redhat.com>
10426
10427         tests: avoid test failure on Solaris 10 due to lack of PATH export
10428         * tests/test-update-copyright.sh: Don't forget to export PATH.
10429
10430         init.sh: ensure that IFS is defined, just in case...
10431         * tests/init.sh (setup_): Ensure that IFS is defined,
10432         so that saving and restoring it works as expected.  This
10433         appears to be useful at least for an old version of dash
10434         from a long time ago (RH 6).  See here for details:
10435         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
10436
10437         maint.mk: tighten "test a == b" check
10438         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
10439         test to files that contain something like #!/bin/sh.
10440         Without this, coreutils would get two false positives in
10441         the comments of C source files.
10442
10443 2010-11-12  Eric Blake  <eblake@redhat.com>
10444
10445         bootstrap: fix typo in previous attempt
10446         * build-aux/bootstrap (buildreq): Correct the grouping.
10447         Reported by Paul Eggert.
10448
10449         maintainer-makefile: prohibit test x == x
10450         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
10451         Based on a report by Matthias Bolte.
10452
10453         bootstrap: allow FreeBSD gzip
10454         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
10455         which has no '.' and goes to stderr.
10456         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
10457         Reported by Matthias Bolte.
10458
10459         maintainer-makefile: check for i18n setup
10460         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
10461         will likely work.
10462
10463 2010-11-12  Bruno Haible  <bruno@clisp.org>
10464
10465         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
10466         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
10467         * lib/nanosleep.c (nanosleep): Likewise.
10468
10469 2010-11-11  Bruno Haible  <bruno@clisp.org>
10470
10471         fcntl-h: Fix for use of C++ on glibc systems.
10472         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
10473         also on glibc systems in C++ mode.
10474         Reported by Gary V. Vaughan <gary@gnu.org>.
10475
10476 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10477
10478         mknod: avoid false failure with dash
10479         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
10480
10481 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
10482
10483         unlink: Fix "is it should" typo in diagnostic.
10484         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
10485         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
10486
10487 2010-11-11  Bruno Haible  <bruno@clisp.org>
10488
10489         Tests for module 'strerror_r-posix'.
10490         * modules/strerror_r-posix-tests: New file.
10491         * tests/test-strerror_r.c: New file.
10492         * tests/test-string-c++.cc: Check the signature of strerror_r.
10493
10494         New module 'strerror_r-posix'.
10495         * lib/string.in.h (strerror_r): New declaration.
10496         * lib/strerror_r.c: New file.
10497         * m4/strerror_r.m4: New file.
10498         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
10499         of strerror_r.
10500         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
10501         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
10502         * modules/strerror_r-posix: New file.
10503         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
10504         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
10505         * doc/posix-functions/strerror_r.texi: Mention the new module and the
10506         portability problems.
10507
10508 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
10509
10510         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
10511         line is also considered for output. Quoted function name in shell
10512         command, so temporary files for functions like MyClass::operator()
10513         are removed correctly without errors.
10514
10515 2010-11-09  Bruno Haible  <bruno@clisp.org>
10516
10517         * doc/posix-functions/strerror.texi: List more failing platforms.
10518
10519         * doc/posix-functions/strerror.texi: Add a comment.
10520
10521 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
10522
10523         fdopendir: fix bug on MacOS X when low on file descriptors
10524
10525         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
10526         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
10527         All callers changed.
10528         (fdopendir): Invoke save_cwd at the top level, not after using
10529         multiple dup() calls to use up file descriptors.  Then retry
10530         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
10531         less than the maximum number of open file descriptors, because
10532         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
10533         on Mac OS X 10.6.4 for tar 1.24
10534         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
10535         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
10536         and for tar 1.25
10537         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
10538
10539 2010-11-07  Bruno Haible  <bruno@clisp.org>
10540
10541         vasnprintf: Support I flag on glibc systems.
10542         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
10543         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
10544         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
10545         snprintf function.
10546         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
10547         glibc systems.
10548         * tests/test-vasnprintf-posix3.c: New file.
10549         * modules/vasnprintf-posix-tests (Files): Add it.
10550         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
10551
10552 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
10553
10554         [html] Fix copy/paste bug: Use unique name for compiler warnings.
10555         * MODULES.html.sh: For compiler warnings, use name
10556         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
10557
10558 2010-11-05  Eric Blake  <eblake@redhat.com>
10559
10560         ceil, floor: avoid spurious failure with icc
10561         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
10562         [denormals-as-zero] when optimizing without -mieee-fp option.
10563         * tests/test-floorf2.c (floorf_reference): Likewise.
10564         * tests/test-ceilf1.c (dummy): New function.
10565         (main): Use it to outsmart icc's optimization.
10566         * tests/test-floorf1.c (dummy, main): Likewise.
10567
10568         tests: require working signbit
10569         * modules/ceilf-tests (Depends-on): Add signbit.
10570         * modules/ceill-tests (Depends-on): Likewise.
10571         * modules/floorf-tests (Depends-on): Likewise.
10572         * modules/floorl-tests (Depends-on): Likewise.
10573         * modules/round-tests (Depends-on): Likewise.
10574         * modules/roundf-tests (Depends-on): Likewise.
10575         * modules/roundl-tests (Depends-on): Likewise.
10576         * modules/trunc-tests (Depends-on): Likewise.
10577         * modules/truncf-tests (Depends-on): Likewise.
10578         * modules/truncl-tests (Depends-on): Likewise.
10579
10580         strtod: work around icc bug
10581         * lib/strtod.c (minus_zero): Define to working value.
10582         (strtod): Use it to avoid icc bug.
10583
10584         copysign: enhance tests
10585         * modules/copysign-tests (Files): Add minus-zero.h.
10586         * tests/test-copysign.c (main): Also test zeros.
10587
10588 2010-11-04  Eric Blake  <eblake@redhat.com>
10589
10590         ceil, floor, round, trunc: enhance tests of -0
10591         * tests/test-ceilf1.c (main): Ensure correct sign of result.
10592         * tests/test-ceill.c (main): Likewise.
10593         * tests/test-floorf1.c (main): Likewise.
10594         * tests/test-floorl.c (main): Likewise.
10595         * tests/test-round1.c (main): Likewise.
10596         * tests/test-roundf1.c (main): Likewise.
10597         * tests/test-roundl.c (main): Likewise.
10598         * tests/test-trunc1.c (main): Likewise.
10599         * tests/test-truncf1.c (main): Likewise.
10600         * tests/test-truncl.c (main): Likewise.
10601
10602 2010-11-04  Eric Blake  <eblake@redhat.com>
10603
10604         frexp, tests: work around ICC bug with -zero
10605         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
10606         works with more compilers.
10607         * tests/minus-zero.h: New file.
10608         * modules/ceilf-tests (Files): Include it.
10609         * modules/ceill-tests (Files): Likewise.
10610         * modules/floorf-tests (Files): Likewise.
10611         * modules/floorl-tests (Files): Likewise.
10612         * modules/frexp-nolibm-tests (Files): Likewise.
10613         * modules/frexp-tests (Files): Likewise.
10614         * modules/frexpl-nolibm-tests (Files): Likewise.
10615         * modules/frexpl-tests (Files): Likewise.
10616         * modules/isnan-tests (Files): Likewise.
10617         * modules/isnand-nolibm-tests (Files): Likewise.
10618         * modules/isnand-tests (Files): Likewise.
10619         * modules/isnanf-nolibm-tests (Files): Likewise.
10620         * modules/isnanf-tests (Files): Likewise.
10621         * modules/isnanl-nolibm-tests (Files): Likewise.
10622         * modules/isnanl-tests (Files): Likewise.
10623         * modules/round-tests (Files): Likewise.
10624         * modules/roundf-tests (Files): Likewise.
10625         * modules/roundl-tests (Files): Likewise.
10626         * modules/ldexpl-tests (Files): Likewise.
10627         * modules/signbit-tests (Files): Likewise.
10628         * modules/snprintf-posix-tests (Files): Likewise.
10629         * modules/sprintf-posix-tests (Files): Likewise.
10630         * modules/strtod-tests (Files): Likewise.
10631         * modules/trunc-tests (Files): Likewise.
10632         * modules/truncf-tests (Files): Likewise.
10633         * modules/truncl-tests (Files): Likewise.
10634         * modules/vsnprintf-posix-tests (Files): Likewise.
10635         * modules/vsprintf-posix-tests (Files): Likewise.
10636         * modules/vasnprintf-posix-tests (Files): Likewise.
10637         * modules/vasprintf-posix-tests (Files): Likewise.
10638         * tests/test-ceilf1.c (main): Use it.
10639         * tests/test-ceill.c (main): Likewise.
10640         * tests/test-floorf1.c (main): Likewise.
10641         * tests/test-floorl.c (main): Likewise.
10642         * tests/test-frexp.c (main): Likewise.
10643         * tests/test-frexpl.c (main): Likewise.
10644         * tests/test-isnan.c (main): Likewise.
10645         * tests/test-isnand.h (main): Likewise.
10646         * tests/test-isnanf.h (main): Likewise.
10647         * tests/test-isnanl.h (main): Likewise.
10648         * tests/test-ldexpl.c (main): Likewise.
10649         * tests/test-round.c (main): Likewise.
10650         * tests/test-roundf.c (main): Likewise.
10651         * tests/test-roundl.c (main): Likewise.
10652         * tests/test-signbit.c (test_signbitf, test_signbitd)
10653         (test_signbitl): Likewise.
10654         * tests/test-snprintf-posix.h (test_function): Likewise.
10655         * tests/test-sprintf-posix.h (test_function): Likewise.
10656         * tests/test-strtod.c (main): Likewise.
10657         * tests/test-trunc1.c (main): Likewise.
10658         * tests/test-truncf1.c (main): Likewise.
10659         * tests/test-truncl.c (main): Likewise.
10660
10661         isnanl: work around icc bug
10662         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
10663
10664 2010-11-03  Eric Blake  <eblake@redhat.com>
10665
10666         tests: fix compiler warnings
10667         * tests/test-getopt.h (test_getopt): Fix condition.
10668         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10669         * tests/test-pipe2.c (main): Likewise.
10670         * tests/test-quotearg-simple.c (main): Avoid icc warning.
10671
10672         utimens: fix broken m4 test
10673         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
10674
10675 2010-10-28  Bruno Haible  <bruno@clisp.org>
10676
10677         posix_spawn*, getdtablesize: Relax license.
10678         * modules/posix_spawn (License): Change to LGPLv2+.
10679         * modules/posix_spawnp (License): Likewise.
10680         * modules/posix_spawn-internal (License): Likewise.
10681         * modules/posix_spawnattr_init (License): Likewise.
10682         * modules/posix_spawnattr_getflags (License): Likewise.
10683         * modules/posix_spawnattr_setflags (License): Likewise.
10684         * modules/posix_spawnattr_getpgroup (License): Likewise.
10685         * modules/posix_spawnattr_setpgroup (License): Likewise.
10686         * modules/posix_spawnattr_getschedparam (License): Likewise.
10687         * modules/posix_spawnattr_setschedparam (License): Likewise.
10688         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
10689         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
10690         * modules/posix_spawnattr_getsigdefault (License): Likewise.
10691         * modules/posix_spawnattr_setsigdefault (License): Likewise.
10692         * modules/posix_spawnattr_getsigmask (License): Likewise.
10693         * modules/posix_spawnattr_setsigmask (License): Likewise.
10694         * modules/posix_spawnattr_destroy (License): Likewise.
10695         * modules/posix_spawn_file_actions_init (License): Likewise.
10696         * modules/posix_spawn_file_actions_addclose (License): Likewise.
10697         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
10698         * modules/posix_spawn_file_actions_addopen (License): Likewise.
10699         * modules/posix_spawn_file_actions_destroy (License): Likewise.
10700         * modules/getdtablesize (License): Likewise.
10701         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
10702
10703 2010-10-26  Bruno Haible  <bruno@clisp.org>
10704
10705         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
10706         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
10707         Cygwin and mingw.
10708         Suggested by Eric Blake.
10709
10710 2010-10-26  Bruno Haible  <bruno@clisp.org>
10711
10712         stdio: Work around compilation error due to renameat() on Solaris 10.
10713         * lib/stdio.in.h: Include <unistd.h> on Solaris.
10714         * lib/renameat.c: Don't include <unistd.h> here.
10715         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
10716         Reported by Paul Eggert and Eric Blake.
10717
10718 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
10719
10720         renameat: port to Solaris 10, which declares renameat in unistd.h
10721
10722         * lib/renameat.c: Include unistd.h before stdio.h, because
10723         Solaris 10 declares renameat in unistd.h.  Problem encountered
10724         when building GNU tar 1.24 on Solaris 10.
10725
10726 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10727
10728         fdopendir: fix C89 compilation
10729         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
10730         compilers.
10731
10732 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
10733
10734         inttostr: simplify by removing unnecessary redundancy
10735         * lib/anytostr.c: Don't include verify.h.
10736         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
10737         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
10738         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
10739         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
10740         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
10741         Likewise.
10742         * modules/inttostr (Depends-on): Remove 'verify'.
10743
10744 2010-10-23  Bruno Haible  <bruno@clisp.org>
10745
10746         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
10747         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
10748         Reported by Eric Blake.
10749
10750 2010-10-23  Bruno Haible  <bruno@clisp.org>
10751
10752         Tests: Fix LOCALE_JA on MirBSD 10.
10753         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
10754         to an UTF-8 locale.
10755         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
10756         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10757         Reported by Eric Blake.
10758
10759 2010-10-21  Bruno Haible  <bruno@clisp.org>
10760
10761         nl_langinfo test: Avoid test failure on NetBSD 5.
10762         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
10763         Reported by Eric Blake.
10764
10765 2010-10-21  Eric Blake  <eblake@redhat.com>
10766
10767         c-stack: work around libsigsegv 2.8 bug
10768         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
10769         overflow on at least PowerPC64.
10770
10771 2010-10-17  Bruno Haible  <bruno@clisp.org>
10772
10773         userspec: Drop redundant file.
10774         * modules/userspec (Files): Remove lib/inttostr.h.
10775
10776 2010-10-17  Bruno Haible  <bruno@clisp.org>
10777
10778         nl_langinfo tests: Silence some warnings.
10779         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
10780         Reported by Jim Meyering.
10781
10782 2010-10-17  Bruno Haible  <bruno@clisp.org>
10783
10784         Make use of GCC's attribute __alloc_size__.
10785         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
10786         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
10787         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
10788         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
10789         __alloc_size__.
10790         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
10791         Suggested by Jim Meyering.
10792
10793 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
10794
10795         bootstrap: anchor .gitignore entries.
10796         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
10797         with...
10798         (insert_vc_ignore): ... this new function, which prepends `/' to
10799         all .gitignore entries before passing them to
10800         insert_sorted_if_absent.
10801
10802 2010-10-16  Bruno Haible  <bruno@clisp.org>
10803
10804         nextafter: Fix configure check.
10805         * modules/nextafter (configure.ac): Correct expected prototype.
10806
10807 2010-10-16  Bruno Haible  <bruno@clisp.org>
10808
10809         termios: Update documentation.
10810         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
10811
10812 2010-10-16  Bruno Haible  <bruno@clisp.org>
10813
10814         tests: Make them compile with TinyCC.
10815         * tests/test-strstr.c (main): Remove parentheses around array
10816         initializer.
10817
10818 2010-10-15  Eric Blake  <eblake@redhat.com>
10819
10820         ignore-value: make header idempotent
10821         * lib/ignore-value.h: Add double-inclusion guards.
10822         Reported by Stefan Berger.
10823
10824 2010-10-15  Jim Meyering  <meyering@redhat.com>
10825
10826         GNUmakefile: handle "stable" target, not "major"
10827         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
10828         lists in maint.mk and announce-gen.  Without this, "make stable"
10829         would fail to ensure that $(VERSION) is up to date.
10830
10831 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
10832
10833         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
10834         & co.
10835
10836 2010-10-14  Bruno Haible  <bruno@clisp.org>
10837
10838         vasnprintf: Don't set errno to 0.
10839         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
10840         block that sets it to 0.
10841         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
10842
10843 2010-10-14  Bruno Haible  <bruno@clisp.org>
10844
10845         socketlib: Fix.
10846         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
10847         gl_PREREQ_SYS_H_WINSOCK2.
10848         Reported by Ian Beckwith <ianb@erislabs.net>.
10849
10850 2010-10-13  Jim Meyering  <meyering@redhat.com>
10851
10852         test-select-stdin.c: avoid warn_unused_result warnings
10853         * tests/test-select-stdin.c: Include "macros.h".
10854         ASSERT that read and fflush succeed.
10855
10856 2010-10-13  Jim Meyering  <meyering@redhat.com>
10857
10858         git-version-gen: do require git-VC'd files in cwd
10859         * build-aux/git-version-gen: Reject a git version string
10860         if there are no commits associated with the current directory.
10861         This avoids an unlikely false-positive (unrelated dir whose parent
10862         repository also contains a tag matching v*), as pointed out
10863         by Giuseppe Scrivano in
10864         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
10865
10866 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10867
10868         argv-iter: omit nonconforming declaration
10869         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
10870         enum arg_iter_err declaration, which doesn't conform to C99.
10871         Solaris 10 cc warns about this.
10872
10873 2010-10-13  Eric Blake  <eblake@redhat.com>
10874
10875         termios: fix compilation on mingw
10876         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
10877         (gl_TERMIOS_H): Adjust it on mingw.
10878         * modules/termios (Makefile.am): Substitute new key.
10879         * lib/termios.in.h (includes): Make include_next conditional.
10880         * doc/posix-headers/termios.texi (termios.h): Update
10881         documentation.
10882         Reported by Daniel P. Berrange.
10883
10884 2010-10-13  Jim Meyering  <meyering@redhat.com>
10885
10886         git-version-gen: don't require that .git/ be in the current dir
10887         * build-aux/git-version-gen: Adjust this script so that it works
10888         when run from any working directory beneath the top-level .git/-
10889         containing directory.  Inspired by a patch from Giuseppe Scrivano,
10890         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
10891
10892         test-select: avoid warn_unused_result warnings
10893         * tests/test-select.c: Include "macros.h".
10894         ASSERT that each call to read, write, and pipe succeeds.
10895         While not technically required, also check each "close".
10896         * modules/select-tests (Files): Add tests/macros.h.
10897
10898         test-symlinkat: remove declaration of unused local
10899         * tests/test-symlinkat.c (main): Remove unused local, "buf".
10900
10901         test-inttostr: avoid shadowing warnings
10902         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
10903         and use malloc rather than the stack for the same reason as
10904         mentioned in the comment justifying the other allocation.
10905
10906 2010-10-11  Bruno Haible  <bruno@clisp.org>
10907
10908         stdlib: Allow multiple gnulib generated replacements to coexist.
10909         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
10910         Reported by Sam Steingold <sds@gnu.org>.
10911
10912 2010-10-11  Jim Meyering  <meyering@redhat.com>
10913
10914         fix a documentation typo
10915         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
10916
10917 2010-10-11  Eric Blake  <eblake@redhat.com>
10918
10919         futimens: work around Solaris 11 bug
10920         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
10921         * tests/test-futimens.h (test_futimens): Enhance, rather than
10922         weaken test.
10923         * doc/posix-functions/futimens.texi (futimens): Document the bug.
10924
10925 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
10926
10927         Indentation.
10928         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
10929         higher-level operators more to the left.
10930
10931 2010-10-11  Jim Meyering  <meyering@redhat.com>
10932
10933         test-futimens: avoid unwarranted test failure on Solaris 5.11
10934         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
10935         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
10936         because it tries to dereference the NULL name argument.
10937
10938 2010-10-11  Bruno Haible  <bruno@clisp.org>
10939
10940         Indentation.
10941         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
10942         indentation.
10943
10944 2010-10-11  Jim Meyering  <meyering@redhat.com>
10945
10946         spawn.in.h: make indentation consistent with parentheses
10947         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
10948         Make indentation consistent with parentheses.
10949
10950 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
10951
10952         Fix mismatched parens in previous commit
10953         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
10954         parens.
10955
10956 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10957
10958         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
10959
10960         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
10961         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
10962         * lib/malloca.c: Include "verify.h".
10963         (verify1): Remove, replacing with a verify call.
10964         * lib/relocwrapper.c (verify1): Likewise.
10965         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
10966         Likewise.
10967         * modules/malloca (Depends-on): Add 'verify'.
10968         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
10969         * modules/vasnprintf (Depends-on): Add 'verify'.
10970         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
10971         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
10972         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
10973         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
10974         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
10975         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
10976         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
10977
10978         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
10979
10980         Formerly the style was sometimes 2*X - 1, because the C standard
10981         was wrongly thought to disallow ?: in integral constant expressions.
10982         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
10983         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
10984         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
10985         * lib/stdint.in.h (_verify_intmax_size): Likewise.
10986         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
10987         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
10988         verify that time_t cannot be floating.
10989
10990 2010-10-08  Eric Blake  <eblake@redhat.com>
10991
10992         time: enforce recent POSIX ruling that time_t is integral
10993         * lib/time.in.h (__time_t_must_be_integral): Detect any
10994         problematic systems, allowing the rest of gnulib to assume POSIX.
10995
10996 2010-10-08  Jim Meyering  <meyering@redhat.com>
10997
10998         fdopendir: fix a bug on systems lacking openat and /proc support
10999         OpenBSD 4.7 is one such system.  The most noticeable effect was
11000         failure of any application making nontrivial use of fts: rm, du,
11001         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
11002           ./rm: traversal failed: `a': Bad file descriptor
11003         Debugging that, you see that even though FD 6 was closed just
11004         prior to the opendir call in fd_clone_opendir, its resulting
11005         dir->dd_fd was 8, rather than the expected value of 6:
11006
11007         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
11008         93                close (fd);
11009         (gdb) n
11010         94                dir = fd_clone_opendir (dupfd);
11011         (gdb) n
11012         95                saved_errno = errno;
11013         (gdb) p dir->dd_fd
11014         $11 = 8
11015
11016         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
11017         The problem is that on OpenBSD, fd_clone_opendir has to resort
11018         to using the old-style save/restore CWD mechanism, due to its
11019         lack of openat/proc support, and *that* would steal the FD (6)
11020         that opendir was supposed to use.
11021
11022         The fix is to squirrel away the desired FD so that save_cwd uses a
11023         different one, and then free the dest FD right before calling opendir.
11024         That guarantees opendir will use the required file descriptor.
11025
11026         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
11027
11028 2010-10-08  Bruno Haible  <bruno@clisp.org>
11029
11030         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
11031         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
11032
11033 2010-10-08  Bruno Haible  <bruno@clisp.org>
11034
11035         nanosleep: Make replacement POSIX compliant.
11036         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
11037         is out of range.
11038         Reported by Jim Meyering.
11039
11040 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11041
11042         bootstrap: add hook for altering gnulib.mk, for Bison
11043         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
11044         the Bison bootstrapping process can rewrite file names and variables
11045         in this file before later parts of 'bootstrap' use the file.
11046         Bison wants to include lib/gnulib.mk from the top-level makefile,
11047         so it needs the file names in this file to be relative to the top
11048         level, not relative to lib; plus it needs variable names to be
11049         rewritten.
11050         (slurp): Use the new function.
11051
11052         bootstrap: reformat for readability
11053         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
11054
11055 2010-10-08  Eric Blake  <eblake@redhat.com>
11056
11057         docs: update cygwin progress
11058         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
11059         1.7.7.
11060         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
11061         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
11062         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
11063         * doc/posix-functions/carg.texi (carg): Likewise.
11064         * doc/posix-functions/cargf.texi (cargf): Likewise.
11065         * doc/posix-functions/casin.texi (casin): Likewise.
11066         * doc/posix-functions/casinf.texi (casinf): Likewise.
11067         * doc/posix-functions/casinh.texi (casinh): Likewise.
11068         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
11069         * doc/posix-functions/catan.texi (catan): Likewise.
11070         * doc/posix-functions/catanf.texi (catanf): Likewise.
11071         * doc/posix-functions/catanh.texi (catanh): Likewise.
11072         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
11073         * doc/posix-functions/ccos.texi (ccos): Likewise.
11074         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
11075         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
11076         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
11077         * doc/posix-functions/cexp.texi (cexp): Likewise.
11078         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
11079         * doc/posix-functions/cimag.texi (cimag): Likewise.
11080         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
11081         * doc/posix-functions/clog.texi (clog): Likewise.
11082         * doc/posix-functions/clogf.texi (clogf): Likewise.
11083         * doc/posix-functions/conj.texi (conj): Likewise.
11084         * doc/posix-functions/conjf.texi (conjf): Likewise.
11085         * doc/posix-functions/cpow.texi (cpow): Likewise.
11086         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
11087         * doc/posix-functions/cproj.texi (cproj): Likewise.
11088         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
11089         * doc/posix-functions/creal.texi (creal): Likewise.
11090         * doc/posix-functions/crealf.texi (crealf): Likewise.
11091         * doc/posix-functions/csin.texi (csin): Likewise.
11092         * doc/posix-functions/csinf.texi (csinf): Likewise.
11093         * doc/posix-functions/csinh.texi (csinh): Likewise.
11094         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
11095         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
11096         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
11097         * doc/posix-functions/ctan.texi (ctan): Likewise.
11098         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
11099         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
11100         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
11101         * doc/posix-headers/complex.texi (complex.h): Likewise.
11102
11103 2010-10-07  Jim Meyering  <meyering@redhat.com>
11104
11105         parse-datetime: avoid compilation failure on OpenBSD 4.7
11106         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
11107         This works around a compilation failure on OpenBSD 4.7:
11108         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
11109
11110 2010-10-07  Eric Blake  <eblake@redhat.com>
11111
11112         docs: update cygwin progress
11113         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
11114         1.7.6.
11115         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
11116         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
11117         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
11118         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
11119         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
11120         Likewise.
11121         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
11122         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
11123         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
11124         Likewise.
11125         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
11126         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
11127         Likewise.
11128         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
11129         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
11130         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
11131         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
11132         Likewise.
11133         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
11134         Likewise.
11135         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
11136
11137         docs: update parse-datetime history
11138         * doc/parse-datetime.texi (Authors of parse_datetime): Better
11139         documentation of this function's history and alternatives.
11140
11141         cygwin: use more robust version check
11142         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
11143         exclude an eventual cygwin 1.9.1.
11144         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11145         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
11146         (gl_FUNC_STRCASESTR): Likewise.
11147         Reported by Bruno Haible.
11148
11149 2010-10-06  Bruno Haible  <bruno@clisp.org>
11150
11151         string, sys_select: Avoid #including large headers unless necessary.
11152         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
11153         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
11154         OSF/1, BeOS, Haiku.
11155         Reported by Jim Meyering.
11156
11157 2010-10-05  Eric Blake  <eblake@redhat.com>
11158
11159         memmem, strstr, strcasestr: fix bug with long periodic needle
11160         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
11161         periodic needle having false positive.
11162         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
11163         and cygwin 1.7.7.
11164         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
11165         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
11166         (gl_FUNC_STRCASESTR): Likewise.
11167         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11168         * tests/test-memmem.c (main): Expose the bug.
11169         * tests/test-strcasestr.c (main): Likewise.
11170         * tests/test-strstr.c (main): Likewise.
11171         * tests/test-c-strcasestr.c (main): Likewise.
11172         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
11173         * doc/posix-functions/strstr.texi (strstr): Likewise.
11174         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
11175         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
11176
11177 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11178
11179         parse-datetime: do some more renaming
11180         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
11181         parse_datetime, not get_date.  Mention the renaming.
11182         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
11183         in comments.
11184         * m4/bison.m4: Likewise.
11185
11186 2010-10-05  Eric Blake  <eblake@redhat.com>
11187
11188         parse-datetime: better name than get_date
11189         * NEWS: Reword the deprecation notice.
11190         * modules/get_date: Rename to modules/parse-datetime.
11191         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
11192         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
11193         * lib/get_date.y: Rename to lib/parse-datetime.y.
11194         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
11195         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
11196         * doc/getdate.texi: Provide fallback wrapper.
11197         * lib/getdate.h: Move guts, and wrap...
11198         * lib/parse-datetime.h: ...new file.
11199         * lib/parse-datetime.y (get_date): Rename...
11200         (parse_datetime): ...to this.
11201         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
11202         (gl_PARSE_DATETIME): ...to this.
11203         * doc/posix-functions/getdate.texi (get_date): Provide fallback
11204         documentation.
11205         * modules/getdate (Files): Provide fallback docs and header.
11206         (Notice, Depends-on): Update references.
11207         * tests/test-parse-datetime.c: Likewise.
11208         * DEPENDENCIES: Likewise.
11209         * MODULES.html.sh (Date and time <time.h>): Likewise.
11210         * doc/parse-datetime.texi (Date input formats)
11211         (Authors of parse_datetime): Likewise.
11212         * modules/parse-datetime (Files, configure.ac, Makefile.am)
11213         (Include): Likewise.
11214         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
11215         * gnulib-tool: Likewise.
11216         * m4/bison.m4 (gl_BISON): Likewise.
11217         Suggested by Bruno Haible.
11218
11219 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11220
11221         more ports to Solaris tr, which needs [] around ranges
11222         * gnulib-tool: Solaris tr needs [] around ranges.
11223         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
11224         * tests/test-pipe-filter-gi1.c (main): Likewise.
11225         * tests/test-pipe-filter-ii1.c (main): Likewise.
11226
11227 2010-10-05  Eric Blake  <eblake@redhat.com>
11228
11229         bootstrap: fix Solaris regression
11230         * build-aux/bootstrap (check_versions): Solaris tr still needs []
11231         around ranges.
11232         Reported by Pádraig Brady.
11233
11234         bootstrap: work with pkg-config
11235         * build-aux/bootstrap (check_versions): Also transliterate - in
11236         prerequisite name.
11237         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
11238         prerequisites that were already found, to avoid confusion.
11239         Reported by Justin Clift.
11240
11241         faccessat: remove unused wrappers
11242         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
11243         presence of these wrappers dragged in -lgen on Solaris.
11244         Reported by Clemens Brogi; fix suggested by Paul Eggert.
11245
11246 2010-10-05  Jim Meyering  <meyering@redhat.com>
11247
11248         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
11249         * Makefile (sc_pragma_columns): New syntax-check rule.
11250
11251 2010-10-04  Bruno Haible  <bruno@clisp.org>
11252
11253         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
11254         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
11255         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
11256         Reported by Bruce Korb and Eric Blake.
11257
11258 2010-10-04  Bruno Haible  <bruno@clisp.org>
11259
11260         threadlib: Make option --with-libpth-prefix work.
11261         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
11262         use $LIBPTH, not just -lpth.
11263
11264 2010-10-04  Bruno Haible  <bruno@clisp.org>
11265
11266         Avoid line length limitation from HP NonStop system header files.
11267         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
11268         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
11269         * lib/ctype.in.h: Likewise.
11270         * lib/dirent.in.h: Likewise.
11271         * lib/errno.in.h: Likewise.
11272         * lib/fcntl.in.h: Likewise.
11273         * lib/float.in.h: Likewise.
11274         * lib/getopt.in.h: Likewise.
11275         * lib/iconv.in.h: Likewise.
11276         * lib/inttypes.in.h: Likewise.
11277         * lib/langinfo.in.h: Likewise.
11278         * lib/locale.in.h: Likewise.
11279         * lib/math.in.h: Likewise.
11280         * lib/netdb.in.h: Likewise.
11281         * lib/netinet_in.in.h: Likewise.
11282         * lib/poll.in.h: Likewise.
11283         * lib/pthread.in.h: Likewise.
11284         * lib/pty.in.h: Likewise.
11285         * lib/sched.in.h: Likewise.
11286         * lib/se-selinux.in.h: Likewise.
11287         * lib/search.in.h: Likewise.
11288         * lib/signal.in.h: Likewise.
11289         * lib/spawn.in.h: Likewise.
11290         * lib/stdarg.in.h: Likewise.
11291         * lib/stddef.in.h: Likewise.
11292         * lib/stdint.in.h: Likewise.
11293         * lib/stdio.in.h: Likewise.
11294         * lib/stdlib.in.h: Likewise.
11295         * lib/string.in.h: Likewise.
11296         * lib/strings.in.h: Likewise.
11297         * lib/sys_file.in.h: Likewise.
11298         * lib/sys_ioctl.in.h: Likewise.
11299         * lib/sys_select.in.h: Likewise.
11300         * lib/sys_socket.in.h: Likewise.
11301         * lib/sys_stat.in.h: Likewise.
11302         * lib/sys_time.in.h: Likewise.
11303         * lib/sys_times.in.h: Likewise.
11304         * lib/sys_utsname.in.h: Likewise.
11305         * lib/sys_wait.in.h: Likewise.
11306         * lib/sysexits.in.h: Likewise.
11307         * lib/termios.in.h: Likewise.
11308         * lib/time.in.h: Likewise.
11309         * lib/unistd.in.h: Likewise.
11310         * lib/wchar.in.h: Likewise.
11311         * lib/wctype.in.h: Likewise.
11312         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
11313         * modules/ctype (Makefile.am): Likewise.
11314         * modules/dirent (Makefile.am): Likewise.
11315         * modules/errno (Makefile.am): Likewise.
11316         * modules/fcntl-h (Makefile.am): Likewise.
11317         * modules/float (Makefile.am): Likewise.
11318         * modules/getopt-posix (Makefile.am): Likewise.
11319         * modules/iconv-h (Makefile.am): Likewise.
11320         * modules/inttypes (Makefile.am): Likewise.
11321         * modules/langinfo (Makefile.am): Likewise.
11322         * modules/locale (Makefile.am): Likewise.
11323         * modules/math (Makefile.am): Likewise.
11324         * modules/netdb (Makefile.am): Likewise.
11325         * modules/netinet_in (Makefile.am): Likewise.
11326         * modules/poll-h (Makefile.am): Likewise.
11327         * modules/pthread (Makefile.am): Likewise.
11328         * modules/pty (Makefile.am): Likewise.
11329         * modules/sched (Makefile.am): Likewise.
11330         * modules/search (Makefile.am): Likewise.
11331         * modules/selinux-h (Makefile.am): Likewise.
11332         * modules/signal (Makefile.am): Likewise.
11333         * modules/spawn (Makefile.am): Likewise.
11334         * modules/stdarg (Makefile.am): Likewise.
11335         * modules/stddef (Makefile.am): Likewise.
11336         * modules/stdint (Makefile.am): Likewise.
11337         * modules/stdio (Makefile.am): Likewise.
11338         * modules/stdlib (Makefile.am): Likewise.
11339         * modules/string (Makefile.am): Likewise.
11340         * modules/strings (Makefile.am): Likewise.
11341         * modules/sys_file (Makefile.am): Likewise.
11342         * modules/sys_ioctl (Makefile.am): Likewise.
11343         * modules/sys_select (Makefile.am): Likewise.
11344         * modules/sys_socket (Makefile.am): Likewise.
11345         * modules/sys_stat (Makefile.am): Likewise.
11346         * modules/sys_time (Makefile.am): Likewise.
11347         * modules/sys_times (Makefile.am): Likewise.
11348         * modules/sys_utsname (Makefile.am): Likewise.
11349         * modules/sys_wait (Makefile.am): Likewise.
11350         * modules/sysexits (Makefile.am): Likewise.
11351         * modules/termios (Makefile.am): Likewise.
11352         * modules/time (Makefile.am): Likewise.
11353         * modules/unistd (Makefile.am): Likewise.
11354         * modules/wchar (Makefile.am): Likewise.
11355         * modules/wctype (Makefile.am): Likewise.
11356
11357 2010-10-04  Bruno Haible  <bruno@clisp.org>
11358
11359         read-file tests: Avoid a test failure on NonStop Kernel.
11360         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
11361         a regular file.
11362         Reported by Joachim Schmitz <schmitz@hp.com>.
11363
11364 2010-10-03  Bruno Haible  <bruno@clisp.org>
11365
11366         gnulib-tool: Fixes for --create-testdir with --libtool.
11367         * gnulib-tool (func_get_automake_snippet): Don't augment
11368         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
11369         an executable.
11370         (func_create_testdir): Handle module 'alloca' like func_import.
11371         Reported by Bruce Korb <bruce.korb@gmail.com>.
11372
11373 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11374
11375         Avoid some lines longer than 80 characters.
11376         * lib/stdint.in.h: Break long comment lines.
11377         * lib/math.in.h: Likewise.
11378         (_GL_NUM_UINT_WORDS): New macro, for readability.
11379         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
11380         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
11381         * lib/stdlib.in.h: Likewise.
11382         * lib/spawn.in.h: Likewise.
11383         * lib/sys_socket.in.h: Update an URL.
11384         * lib/sys_stat.in.h: Break long line.
11385
11386 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
11387
11388         Improve pmccabe2html.
11389         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
11390         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
11391         when the sources change. Remove the line in the HTML about "Used
11392         ranges" (which implied that there might be other unused ranges),
11393         rename "Resume" to "Summary" (easier to understand for more users).
11394         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
11395         styles, and some unnecessary blank lines.
11396
11397 2010-10-03  Bruno Haible  <bruno@clisp.org>
11398             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11399
11400         acl: Add support for ACLs on NonStop Kernel.
11401         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
11402         Check whether the function aclsort() exists.
11403         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
11404         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
11405         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
11406         (acl_nontrivial [HAVE_ACLSORT]: New function.
11407         (file_has_acl): Implement for NonStop Kernel.
11408         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
11409         (qset_acl): Implement for NonStop Kernel.
11410         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
11411         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
11412         (main): Implement for NonStop Kernel.
11413         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
11414         Kernel. Handle this flavor.
11415         * tests/test-set-mode-acl.sh: Likewise.
11416         * tests/test-copy-acl.sh: Likewise.
11417         * tests/test-copy-file.sh: Likewise.
11418
11419 2010-10-03  Bruno Haible  <bruno@clisp.org>
11420
11421         Info about ACLs on NonStop Kernel.
11422         * doc/acl-resources.txt: Add info about NonStop Kernel.
11423         References by Joachim Schmitz <schmitz@hp.com>.
11424
11425 2010-10-02  Bruno Haible  <bruno@clisp.org>
11426
11427         Define missing EDQUOT on NonStop Kernel.
11428         * lib/errno.in.h (EDQUOT): Assign a value if missing.
11429         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
11430         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
11431         missing.
11432         * doc/posix-headers/errno.texi: Mention the NSK bug.
11433         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
11434         Reported by Joachim Schmitz <schmitz@hp.com>.
11435
11436 2010-10-02  Bruno Haible  <bruno@clisp.org>
11437
11438         Update doc for POSIX:2008.
11439         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
11440         Update URL of POSIX specification.
11441
11442 2010-10-02  Bruno Haible  <bruno@clisp.org>
11443
11444         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
11445         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
11446         from gnulib, not from Automake.
11447
11448 2010-10-02  Bruno Haible  <bruno@clisp.org>
11449
11450         New module 'system-posix'.
11451         * modules/system-posix: New file.
11452         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
11453         module is present.
11454         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
11455         GNULIB_SYSTEM_POSIX.
11456         * modules/stdlib (Depends-on): Remove sys_wait.
11457         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
11458         * doc/posix-functions/system.texi: Mention the new module.
11459         * doc/posix-headers/stdlib.texi: Likewise.
11460         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
11461         define test_sys_wait_macros to a no-op.
11462         Reported by Sam Steingold <sds@gnu.org>.
11463
11464 2010-09-30  Bruno Haible  <bruno@clisp.org>
11465
11466         More renaming from 'getdate' to 'get_date'.
11467         * doc/get_date.texi: Renamed from doc/getdate.texi.
11468         * modules/get_date (Files): Update.
11469         * MODULES.html.sh (Date and time <time.h>): Update.
11470         * DEPENDENCIES: Update.
11471         * gnulib-tool: Update comment.
11472         * m4/bison.m4 (gl_BISON): Likewise.
11473         * m4/get_date.m4 (gl_GET_DATE): Likewise.
11474
11475 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
11476
11477         bootstrap: support ACLOCAL_FLAGS during aclocal
11478         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
11479         can add additional -I dir for third-party .m4 files.
11480
11481 2010-09-30  Eric Blake  <eblake@redhat.com>
11482
11483         bootstrap: use glibtoolize on MacOS
11484         * build-aux/bootstrap (check_versions): Convert libtool into
11485         libtoolize.
11486         (tool search): Move libtool check earlier, and look for
11487         glibtoolize for MacOS.
11488         (gnulib_tool_options): Auto-add --libtool when appropriate.
11489         Reported by Justin Clift.
11490
11491         poll: fix typo that broke test on MacOS
11492         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
11493         Reported by Justin Clift.
11494
11495         getdate: rename to get_date
11496         Note: getdate.h is not renamed, to minimize client impact.
11497         * modules/getdate: Mark obsolete.  Move old contents...
11498         * modules/get_date: ...to new module name.
11499         * modules/getdate-tests: Move...
11500         * modules/get_date-tests: ...here.
11501         * m4/getdate.m4: Move...
11502         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
11503         * lib/getdate.y: Move...
11504         * lib/get_date.y: ...here.
11505         * tests/test-getdate.c: Move...
11506         * tests/test-get_date.c: ...here.
11507         * doc/posix-functions/getdate.texi (getdate): Update name.
11508         * NEWS: Mention the change.
11509
11510 2010-09-29  Bruno Haible  <bruno@clisp.org>
11511
11512         Separate the module 'waitpid' from the module 'sys_wait'.
11513         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
11514         present.
11515         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
11516         gl_MODULE_INDICATOR_FOR_TESTS.
11517         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
11518         * modules/sys_wait (Depends-on): Remove waitpid.
11519         (Makefile.am): Substitute GNULIB_WAITPID.
11520         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
11521         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
11522         signature only if the 'waitpid' module is present.
11523         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
11524         * NEWS: Mention the change.
11525         * modules/grantpt (Depends-on): Add waitpid.
11526         * modules/wait-process (Depends-on): Likewise.
11527
11528 2010-09-29  Bruno Haible  <bruno@clisp.org>
11529
11530         More tests for module 'sys_wait'.
11531         * modules/sys_wait-c++-tests: New file.
11532         * tests/test-sys_wait-c++.cc: New file.
11533         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
11534         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
11535
11536 2010-09-29  Bruno Haible  <bruno@clisp.org>
11537
11538         New module 'waitpid'.
11539         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
11540         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
11541         Don't include <process.h>.
11542         (waitpid): Declare only, using modern idiom.
11543         * m4/waitpid.m4: New file.
11544         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
11545         * modules/waitpid: New file.
11546         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
11547         (Makefile.am): Update.
11548         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
11549
11550 2010-09-28  Bruno Haible  <bruno@clisp.org>
11551
11552         poll: Assume ANSI C.
11553         * lib/poll.c (poll): Use an ANSI C declaration.
11554
11555 2010-09-28  Bruno Haible  <bruno@clisp.org>
11556
11557         poll-h: Create poll.h on all platforms.
11558         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
11559         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
11560         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
11561         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
11562         (gl_REPLACE_POLL_H): Don't set POLL_H.
11563         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
11564         * modules/poll-h (Depends-on): Add include_next.
11565         (Makefile.am): Create poll.h unconditionally. Substitute also
11566         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
11567
11568 2010-09-28  Bruno Haible  <bruno@clisp.org>
11569
11570         Tests for module 'poll-h'.
11571         * modules/poll-h-c++-tests: New file.
11572         * tests/test-poll-h-c++.cc: New file.
11573
11574         Tests for module 'poll-h'.
11575         * modules/poll-h-tests: New file.
11576         * tests/test-poll-h.c: New file.
11577
11578 2010-09-28  Bruno Haible  <bruno@clisp.org>
11579
11580         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
11581         * modules/poll-h (Depends-on): Add 'extensions'.
11582
11583 2010-09-28  Bruno Haible  <bruno@clisp.org>
11584
11585         New module 'poll-h'.
11586         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
11587         (poll): Use modern idiom.
11588         * modules/poll-h: New file.
11589         * modules/poll (Files): Remove lib/poll.in.h.
11590         (Depends-on): Add poll-h.
11591         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
11592         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
11593         * m4/poll_h.m4: New file.
11594         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
11595         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
11596         and invoke gl_REPLACE_POLL_H.
11597         * lib/poll.c: Use common idiom.
11598         * tests/test-poll.c: Likewise.
11599         * doc/posix-headers/poll.texi: Mention the poll-h module.
11600         Suggested by Eric Blake.
11601
11602 2010-09-26  Bruno Haible  <bruno@clisp.org>
11603
11604         sys_wait: Implement WSTOPSIG.
11605         * lib/sys_wait.in.h (WSTOPSIG): New macro.
11606         Reported by Simon Josefsson.
11607
11608 2010-09-26  Simon Josefsson  <simon@josefsson.org>
11609
11610         stdlib, sys_wait: Avoid compilation error on mingw.
11611         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
11612
11613 2010-09-26  Bruno Haible  <bruno@clisp.org>
11614
11615         stdlib tests: Avoid code duplication.
11616         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
11617         * modules/sys_wait-tests (Files): Likewise.
11618         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
11619         * tests/test-stdlib.c: Include test-sys_wait.h.
11620         (main): Invoke test_sys_wait_macros.
11621         * tests/test-sys_wait.c: Include test-sys_wait.h.
11622         (main): Invoke test_sys_wait_macros.
11623
11624 2010-09-25  Simon Josefsson  <simon@josefsson.org>
11625
11626         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
11627         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
11628         sure Windows sockets are working before calling getaddrinfo.
11629         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
11630         * doc/gnulib.texi (Windows sockets): Fix typo.
11631
11632 2010-09-25  Bruno Haible  <bruno@clisp.org>
11633
11634         Tests for module 'regex-quote'.
11635         * modules/regex-quote-tests: New file.
11636         * tests/test-regex-quote.c: New file.
11637
11638         New module 'regex-quote'.
11639         * lib/regex-quote.h: New file.
11640         * lib/regex-quote.c: New file.
11641         * modules/regex-quote: New file.
11642         Suggested by Reuben Thomas <rrt@sc3d.org>.
11643
11644 2010-09-24  Bruno Haible  <bruno@clisp.org>
11645
11646         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
11647         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
11648
11649 2010-09-23  Bruno Haible  <bruno@clisp.org>
11650
11651         setenv: Relax license.
11652         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
11653         Blake.
11654         Requested by Eric Blake.
11655
11656 2010-09-22  Bruno Haible  <bruno@clisp.org>
11657
11658         termios: Relax license.
11659         * modules/termios (License): Change to LGPLv2+.
11660         Requested by Eric Blake.
11661
11662 2010-09-22  Bruno Haible  <bruno@clisp.org>
11663
11664         threadlib: Allow the package to change the default to 'no'.
11665         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
11666         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
11667         Reported by Paul Eggert.
11668
11669 2010-09-22  Pádraig Brady  <P@draigbrady.com>
11670             Bruno Haible  <bruno@clisp.org>
11671
11672         Fix endless loop in mbmemcasecoll.
11673         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
11674         byte.
11675         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
11676
11677 2010-09-22  Bruno Haible  <bruno@clisp.org>
11678
11679         Tests for module 'memcoll'.
11680         * modules/memcoll-tests: New file.
11681         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
11682
11683         memcoll, xmemcoll: Clarify size vs. length.
11684         * modules/memcoll.c (memcoll0): Clarify specification.
11685         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
11686         passed to collate_error.
11687
11688 2010-09-22  Bruno Haible  <bruno@clisp.org>
11689
11690         Tests for module 'memcasecmp'.
11691         * modules/memcasecmp-tests: New file.
11692         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
11693
11694 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11695
11696         * lib/pthread.in.h: Add split double-inclusion guard, and include
11697         system <pthread.h> if there is one.  Use @@-style as in other
11698         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
11699         pthread.h doesn't.
11700         (pthread_mutexattr_destroy, pthread_mutexattr_init):
11701         (pthread_mutexattr_settype, pthread_mutex_trylock):
11702         New static inline functions, if there's no system <pthread.h>.
11703         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
11704         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
11705         Approximate with mutexes if the system lacks spinlocks, as in
11706         MacOS.
11707         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
11708         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
11709         @@-style.  Check for spinlocks separately.
11710         (gl_PTHREAD_DEFAULTS): New macro.
11711         * modules/pthread: Redo to use a more typical style for in.h files.
11712
11713 2010-09-21  Eric Blake  <eblake@redhat.com>
11714
11715         net_if: enhance tests
11716         * tests/test-net_if.c (main): Move signature checks earlier.
11717         Print failures to stderr.
11718         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
11719         Document the bug that we do not yet fix.
11720
11721 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
11722
11723         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
11724         about gnulib, not GSS.
11725
11726 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
11727
11728         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
11729         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
11730         for Emacs.
11731         * build-aux/pmccabe2html: Make Makefile.am example code more
11732         cut-and-paste friendly.
11733
11734 2010-09-21  Simon Josefsson  <simon@josefsson.org>
11735
11736         * tests/test-net_if.c: New file.
11737         * modules/net_if-tests: New file.
11738
11739 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11740
11741         pthread: add pthread_spin_destroy
11742         * lib/pthread.in.h (pthread_spin_destroy): New function.
11743
11744 2010-09-19  Bruno Haible  <bruno@clisp.org>
11745
11746         gnulib-tool: Fix --help output.
11747         * gnulib-tool (func_usage): Fix help message.
11748         Reported by Reuben Thomas <rrt@sc3d.org>.
11749
11750 2010-09-18  Jim Meyering  <meyering@redhat.com>
11751
11752         maint.mk: avoid unexpanded \n in two diagnostics
11753         * top/maint.mk (sc_prohibit_always_true_header_tests):
11754         Don't use a literal \n in a halt=... assignment.  It would not be
11755         expanded, and the two \n bytes would appear in the diagnostic output
11756         rather than the desired newline.  Use halt=$$(printf ... instead.
11757         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
11758
11759 2010-09-18  Bruno Haible  <bruno@clisp.org>
11760
11761         netinet_in: Doc tweak.
11762         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
11763         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11764
11765 2010-09-18  Jim Meyering  <meyering@redhat.com>
11766
11767         init.sh: correct an outdated comment
11768         * tests/init.sh (create_exe_shims_):  s/function/alias/
11769
11770         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
11771         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
11772         a file named "*.exe" is removed between the glob expansion and the
11773         processing of that oddly named file.
11774
11775 2010-09-17  Eric Blake  <eblake@redhat.com>
11776
11777         mirbsd: add some more support
11778         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
11779         in BSD family.
11780         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
11781         devices as OpenBSD.
11782         * m4/host-os.m4 (mirbsd): Add MirBSD.
11783
11784         tests: fix unportable assumption on sys/wait.h
11785         * tests/test-sys_wait.c (main): Relax test.
11786         * tests/test-stdlib.c (main): Likewise.
11787
11788         init.sh: accomodate directory with no .exes
11789         * tests/init.sh: Accomodate directory containing only scripts.
11790
11791         tests: avoid compiler warning
11792         * tests/test-stdlib.c (main): Use the variable.
11793
11794         fdutimens, fdutimensat: update signature, again
11795         * lib/utimens.h (gl_futimens): Delete, and move signature...
11796         (fdutimens): ...here.
11797         (fdutimensat): Rearrange signature.
11798         (lutimensat): Rename variable for clarity.
11799         * lib/fdutimensat.c (fdutimensat): Update signature.
11800         * lib/utimens.c (fdutimens): Likewise.
11801         (gl_futimens): Delete.
11802         (utimens, lutimens): Update callers.
11803         * lib/futimens.c (futimens): Likewise.
11804         * tests/test-fdutimensat.c: Likewise.
11805         * tests/test-utimens.c: Likewise.
11806         * tests/test-futimens.h: Update comment.
11807         * NEWS: Mention this.
11808         Suggested by Paul Eggert.
11809
11810 2010-09-17  Bruno Haible  <bruno@clisp.org>
11811
11812         Take over the maintenance of some older macros from Autoconf.
11813         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
11814         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
11815         GNU Autoconf.
11816         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
11817         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
11818
11819 2010-09-17  Eric Blake  <eblake@redhat.com>
11820
11821         fdutimensat: drop atflag validation
11822         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
11823         with valid fd, to close a race scenario where futimens is
11824         unsupported and FILE was replaced by a symlink.
11825         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
11826         accordingly.
11827         Suggested by Paul Eggert.
11828
11829 2010-09-16  Bruno Haible  <bruno@clisp.org>
11830
11831         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
11832         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
11833
11834 2010-09-16  Bruno Haible  <bruno@clisp.org>
11835
11836         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
11837         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
11838         login_tty exists.
11839         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11840
11841 2010-09-16  Bruno Haible  <bruno@clisp.org>
11842
11843         login_tty: Make the replacement code work on BSD systems.
11844         * lib/login_tty.c: Include <sys/ioctl.h>.
11845         (login_tty): Use ioctl TIOCSCTTY when available.
11846         * modules/login_tty (Depends-on): Add sys_ioctl.
11847         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11848
11849 2010-09-16  Bruno Haible  <bruno@clisp.org>
11850
11851         login_tty: Stricter unit test.
11852         * modules/login_tty-tests (Depends-on): Add tcgetsid.
11853         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
11854         and tcgetsid() after login_tty.
11855         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11856
11857 2010-09-16  Bruno Haible  <bruno@clisp.org>
11858
11859         New module 'tcgetsid'.
11860         * lib/tcgetsid.c: New file.
11861         * m4/tcgetsid.m4: New file.
11862         * modules/tcgetsid: New file.
11863         * modules/termios (Depends-on): Add c++defs, warn-on-use.
11864         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
11865         GNULIB_TCGETSID, HAVE_TCGETSID.
11866         * lib/termios.in.h: Include <sys/types.h>.
11867         (tcgetsid): New declaration.
11868         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
11869         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
11870         * doc/posix-functions/tcgetsid.texi: Mention the new module.
11871         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
11872
11873 2010-09-16  Bruno Haible  <bruno@clisp.org>
11874
11875         Tests for module 'termios'.
11876         * modules/termios-c++-tests: New file.
11877         * modules/termios-tests: New file.
11878         * tests/test-termios-c++.cc: New file.
11879         * tests/test-termios.c: New file.
11880
11881         New module 'termios'.
11882         * modules/termios: New file.
11883         * lib/termios.in.h: New file.
11884         * m4/termios_h.m4: New file.
11885         * doc/posix-headers/termios.texi: Mention the new module.
11886
11887 2010-09-16  Eric Blake  <eblake@redhat.com>
11888
11889         fdutimensat: add an atflag parameter
11890         * lib/fdutimensat.c (fdutimensat): Add new parameter.
11891         * lib/utimens.h (fdutimensat): Update prototype.
11892         * tests/test-fdutimensat.c: Adjust test to match.
11893         * NEWS: Document the change.
11894         Suggested by Paul Eggert.
11895
11896 2010-09-16  Bruno Haible  <bruno@clisp.org>
11897
11898         Fix typos in comments.
11899         * lib/striconveh.h: Fix typo in comment.
11900         * lib/login_tty.c (login_tty): Likewise.
11901
11902 2010-09-15  Bruno Haible  <bruno@clisp.org>
11903
11904         stdlib: clarify MirBSD WEXITSTATUS bug
11905         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
11906         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
11907
11908 2010-09-15  Eric Blake  <eblake@redhat.com>
11909
11910         stdlib: work around MirBSD WEXITSTATUS bug
11911         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
11912         * modules/stdlib (Depends-on): Add sys_wait.
11913         * tests/test-sys_wait.c (main): Enhance test.
11914         * tests/test-stdlib.c (main): Likewise.
11915         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
11916
11917         docs: mention MacOS issue with WEXITSTATUS(constant)
11918         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
11919         issue.
11920         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
11921
11922         strnlen: add tests
11923         * modules/strnlen-tests: New file.
11924         * tests/test-strnlen.c: Likewise.
11925
11926 2010-09-14  Bruno Haible  <bruno@clisp.org>
11927
11928         unistr/base: Avoid link errors when module 'libunistring' is also used.
11929         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
11930         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
11931         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
11932         Declare also when HAVE_LIBUNISTRING is set.
11933         Reported by Pádraig Brady <P@draigbrady.com>.
11934
11935 2010-09-14  Eric Blake  <eblake@redhat.com>
11936
11937         test-rawmemchr: make more robust
11938         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
11939         (Depends-on, configure.ac): Add needed prerequisites to use it.
11940         * modules/memchr-tests (Files, Depends-on, configure.ac):
11941         Likewise, to avoid implicit reliance on memchr module prereqs.
11942         * tests/test-memchr.c (main): Ensure proper masking.
11943         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
11944         reads.
11945
11946         memchr: detect glibc Alpha bug
11947         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
11948         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
11949         Alpha.
11950         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
11951         * tests/test-memchr.c (main): Enhance test.
11952         Reported by Nelson H. F. Beebe.
11953
11954 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11955
11956         fts, getcwd, glob: audit for dirfd returning -1
11957         * lib/fts.c (opendir): Remove #define; no longer used.
11958         (opendirat): New arg PDIR_FD.  All callers changed.
11959         (fts_build, _opendir2): Use new opendirat to avoid the need for
11960         dirfd, or for checking whether dirfd returns a negative value.
11961         Don't use opendir; always use openat followed by fdopendir.
11962         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
11963         it.
11964         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
11965         returns -1 here.
11966         * modules/fts (Depends-on): Remove dirfd.
11967         * modules/getcwd (Depends-on): Likewise.
11968
11969 2010-09-13  Eric Blake  <eblake@redhat.com>
11970
11971         float: fix broken MirBSD header
11972         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
11973         * doc/posix-headers/float.texi (float.h): Document it.
11974
11975 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11976
11977         fts: use O_NOFOLLOW to avoid race condition when opening a directory
11978         * lib/fts.c (opendirat): New arg extra_flags.
11979         (__opendir2): Use it to avoid following symlinks when opening
11980         a directory, if symlinks are not supposed to be followed.  See
11981         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
11982
11983         fdopendir: preserve argument fd before returning
11984         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
11985         (fdopendir_with_dup, fd_clone_opendir): New static functions.
11986         (fdopendir): Use them, arranging for FD to be open to the same
11987         directory that it was when it started.  (It might be temporarily
11988         closed while fdopendir is running, so this not thread- or
11989         signal-safe.)  Be careful to do the right thing even when file
11990         descriptors are scarce and dup fails with errno == EMFILE.  See
11991         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
11992
11993 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
11994
11995         regex: Pass the system regex if its only problem is 32-bit regoff_t.
11996         * NEWS: Document change.
11997         * m4/regex.m4: Disable test for regoff_t size.
11998
11999 2010-09-13  Jim Meyering  <meyering@redhat.com>
12000
12001         fts: don't operate on an invalid file descriptor after failed dup
12002         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
12003         negative file descriptor.
12004
12005 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12006
12007         savedir: add streamsavedir, deprecate fdsavedir
12008         * NEWS: Mention deprecation of fdsavedir.
12009         * lib/savedir.c (streamsavedir): New extern function, whose name
12010         ends in "savedir" to be consistent with the others.  This differs
12011         from savedirstream in that it doesn't close its argument.  The
12012         next version of GNU tar will use this instead of fdsavedir, to
12013         avoid some race conditions and conserve file descriptors.
12014         (savedirstream): Reimplement as a wrapper around streamsavedir.
12015         (fdsavedir): Add a comment deprecating this function.  As far as
12016         I know, only GNU tar used it, and GNU tar doesn't need it any more.
12017         * lib/savedir.h (streamsavedir): New decl.
12018         (fdsavedir): Add a comment deprecating this.
12019
12020 2010-09-10  Bruno Haible  <bruno@clisp.org>
12021
12022         langinfo: Fix last commit.
12023         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
12024         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
12025         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12026
12027 2010-09-10  Bruno Haible  <bruno@clisp.org>
12028
12029         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
12030         * lib/progreloc.c (O_EXEC): Define fallback.
12031
12032 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12033
12034         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
12035         * NEWS: Document recent changes to fcntl-h.
12036         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
12037         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
12038         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
12039         Similarly for O_SEARCH; this last was already true, but not documented.
12040         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
12041         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
12042         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
12043         Likewise.
12044         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
12045         is zero, not whether it is defined.
12046         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
12047         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
12048         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
12049
12050 2010-09-10  Bruno Haible  <bruno@clisp.org>
12051
12052         langinfo, nl_langinfo: Fix for IRIX 5.3.
12053         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
12054         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
12055         HAVE_LANGINFO_YESEXPR.
12056         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
12057         HAVE_LANGINFO_YESEXPR.
12058         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
12059         HAVE_LANGINFO_T_FMT_AMPM is 0.
12060         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
12061         HAVE_LANGINFO_YESEXPR is 0.
12062         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
12063         NOEXPR.
12064         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
12065         * doc/posix-functions/nl_langinfo.texi: Likewise.
12066         Reported by Eric Blake.
12067
12068 2010-09-10  Bruno Haible  <bruno@clisp.org>
12069
12070         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
12071         * doc/glibc-functions/login_tty.texi: Mention the include file problem
12072         on FreeBSD 8.0 and OpenBSD 4.6.
12073         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
12074         * m4/pty_h.m4 (gl_PTY_H): Likewise.
12075         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
12076         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
12077         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
12078         ac_includes_default.
12079         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12080
12081 2010-09-09  Eric Blake  <eblake@redhat.com>
12082
12083         strsignal: work around NetBSD bug
12084         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
12085         * lib/string.in.h (includes): Likewise.
12086         * doc/posix-functions/strsignal.texi (strsignal): Document the
12087         bug.
12088         Reported by Nelson H. F. Beebe.
12089
12090         gnulib-tool: work with NetBSD /bin/sh
12091         * gnulib-tool (func_cache_var, func_cache_lookup_module)
12092         (func_get_description, func_get_comment, func_get_status)
12093         (func_get_notice, func_get_applicability, func_get_filelist)
12094         (func_get_dependencies, func_get_autoconf_early_snippet)
12095         (func_get_autoconf_snippet, func_get_automake_snippet)
12096         (func_get_include_directive, func_get_link_directive)
12097         (func_get_license, func_get_maintainer, func_import): Avoid
12098         shell syntax errors from parsing syntax extensions.
12099
12100 2010-09-09  Bruno Haible  <bruno@clisp.org>
12101
12102         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
12103         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
12104         a reliable way to determine whether the 'alias' command works.
12105
12106 2010-09-08  Jim Meyering  <meyering@redhat.com>
12107
12108         init.sh: penalize a set-x-impaired shell; don't disqualify it
12109         * tests/init.sh: Too many shells corrupt application stderr when
12110         you set -x, so we can't afford to disqualify them, since at least
12111         on Irix-6.5, that would disqualify all bourne shells.
12112         Instead, use a two-pass approach.
12113         On the first pass, try to find a shell that meets the stricter
12114         condition that set -x does not corrupt stderr.
12115         If no shell meets the stricter condition, retest each candidate
12116         shell, but without that extra condition.  Finally, when
12117         VERBOSE=yes is requested and set -x might cause trouble, simply
12118         issue a warning and refrain from enabling debug output.
12119
12120 2010-09-08  Eric Blake  <eblake@redhat.com>
12121
12122         unsetenv: fix OpenBSD bug
12123         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
12124         * doc/posix-functions/unsetenv.texi (unsetenv): Update
12125         documentation.
12126         Reported by Jim Meyering.
12127
12128         strtod: work around IRIX 6.5 bug
12129         * lib/strtod.c (strtod): Reparse number on shorter string if
12130         exponent parse was invalid.
12131         * tests/test-strtod.c (main): Add check for "0x1p 2".
12132         Reported by Tom G. Christensen.
12133
12134         getopt: optimize previous patch
12135         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
12136         empty variable.  Speed up awk script.
12137         Reported by Paolo Bonzini.
12138
12139 2010-09-08  Jim Meyering  <meyering@redhat.com>
12140
12141         test.sh: disqualify shells for which set -x corrupts stderr
12142         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
12143         and OpenBSD 4.7.  They make it so with "set -x", environment settings
12144         appear in stderr output.  For example, this command:
12145             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
12146         prints "P=1" on those two systems:
12147
12148 2010-09-08  Bruno Haible  <bruno@clisp.org>
12149
12150         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
12151         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
12152         commands, because some shells ignore redirections when there is an
12153         error in the command lookup.
12154         Reported by Eric Blake.
12155
12156 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
12157
12158         * lib/regex.h: Fix a mention of `regex_compile' (should be
12159         `re_compile_pattern').
12160         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
12161         (re_set_registers): Correct name of parameter in comment.
12162
12163         * doc/regex.texi: Add documentation for missing syntax flags.
12164         Remove commented-out documentation of defunct syntax option
12165         RE_NO_EMPTY_ALTS.
12166         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
12167         Add documentation of re_set_registers.
12168         Document trick to re-use a pattern buffer by setting fastmap manually.
12169         Update documentation of struct re_pattern_buffer per public members.
12170         Uncomment documentation of equivalence class operators and
12171         collating symbol operators, since they are now implemented,
12172         Explain leftmost-longest matching in relation to alternatives.
12173         Tidy documentation of substring matching.
12174         Remove POSIX documentation, which is done better in
12175         glibc, and refer the reader there. Keep BSD API documentation, as
12176         that is not readily available elsewhere.
12177
12178 2010-09-07  Eric Blake  <eblake@redhat.com>
12179
12180         getopt: handle POSIXLY_CORRECT set but not exported
12181         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
12182         export state of POSIXLY_CORRECT, due to bash set -o posix.
12183         Reported by Dustin J. Mitchell.
12184
12185 2010-09-05  Bruno Haible  <bruno@clisp.org>
12186
12187         gnulib-tool: Highlight the changed options.
12188         * gnulib-tool (func_usage): Display the --import, --add-import,
12189         --remove-import explanations in bold font.
12190
12191 2010-09-06  Karl Berry  <karl@gnu.org>
12192
12193         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
12194
12195 2010-09-05  Bruno Haible  <bruno@clisp.org>
12196
12197         uniwidth/width: Update comment.
12198         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
12199         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
12200
12201 2010-09-05  Bruno Haible  <bruno@clisp.org>
12202
12203         isinf, isnan: Relax license.
12204         * modules/isinf (License): Change from GPL to LGPL, with consent from
12205         Ben Pfaff.
12206         * modules/isnan (License): Likewise.
12207         Requested by Ludovic Courtès.
12208
12209 2010-09-04  Bruno Haible  <bruno@clisp.org>
12210
12211         gnulib-tool: Help migration from --import to --add-import or --update.
12212         * gnulib-tool: Emit a verbose error message when --import is used
12213         without any module name.
12214
12215 2010-09-04  Bruno Haible  <bruno@clisp.org>
12216
12217         Update doc about gnulib-tool.
12218         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
12219         'gnulib-tool --update' in more detail.
12220         Reported by Eric Blake.
12221
12222 2010-09-04  Bruno Haible  <bruno@clisp.org>
12223
12224         gnulib-tool: Change --import. New options --add/remove-import.
12225         * gnulib-tool: New options --add-import, --remove-import.
12226         (func_usage): Document them.
12227         (have_associative): Define always.
12228         (func_import): In import mode, don't merge the specified settings with
12229         the cached settings. Implement remove-import mode.
12230         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
12231         Explain when to use them versus --import.
12232         (Simple update): Use --add-import instead of --import.
12233         * NEWS: Mention the change.
12234
12235 2010-09-04  Bruno Haible  <bruno@clisp.org>
12236
12237         * doc/gnulib-tool.texi (Initial import): Update paragraph about
12238         separate gnulib.mk.
12239
12240 2010-09-04  Bruno Haible  <bruno@clisp.org>
12241
12242         gnulib-tool: Don't talk about CVS any more.
12243         * gnulib-tool (func_usage, func_import): Write "version control"
12244         instead of CVS.
12245
12246 2010-09-04  Jim Meyering  <meyering@redhat.com>
12247
12248         maint.mk: avoid obscure sc_copyright_check failure in coreutils
12249         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
12250         false positives (whose names may be ill-chosen) when searching
12251         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
12252         would cause a false-positive.
12253
12254         avoid coreutils "make distcheck" failure
12255         Coreutils tests with an absolute build directory name that contains
12256         a space.  Not quoting this directory name caused a failure.
12257         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
12258         * tests/test-vc-list-files-cvs.sh: Likewise.
12259
12260 2010-09-04  Bruno Haible  <bruno@clisp.org>
12261
12262         gnulib-tool: Avoid error when run in a package without Makefile.am.
12263         * gnulib-tool: When collecting the m4dirs in a package that does not
12264         have a Makefile.am, eliminate those directories that contain no
12265         gnulib-cache.m4. Fix expression that counts these directories.
12266
12267 2010-09-04  Bruno Haible  <bruno@clisp.org>
12268
12269         update-copyright test: Improve output when perl is missing or too old.
12270         * tests/test-update-copyright.sh: Move test of Perl version down after
12271         the test whether Perl exists. Provide an explanation relating Perl's
12272         error message to Automake's SKIP: message.
12273
12274 2010-09-04  Bruno Haible  <bruno@clisp.org>
12275
12276         Don't augment PATH in TESTS_ENVIRONMENT.
12277         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
12278         set abs_aux_dir instead of augmenting PATH.
12279         * modules/vc-list-files-tests (Makefile.am): Likewise.
12280         * tests/test-update-copyright.sh: Augment PATH here.
12281         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
12282         path_prepend_.
12283         * tests/test-vc-list-files-git.sh: Likewise.
12284
12285 2010-09-04  Jim Meyering  <meyering@redhat.com>
12286
12287         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
12288         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
12289
12290 2010-09-04  Bruno Haible  <bruno@clisp.org>
12291
12292         strdup: Fix compilation error in C++ mode.
12293         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
12294         the macro.
12295
12296 2010-09-04  Bruno Haible  <bruno@clisp.org>
12297
12298         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
12299         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
12300         macro into a function.
12301         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12302
12303 2010-09-04  Bruno Haible  <bruno@clisp.org>
12304
12305         Set PATH_SEPARATOR the same way autoconf does.
12306         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
12307         the value of PATH_SEPARATOR the same way autoconf-generated configure
12308         scripts do.
12309         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
12310         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
12311
12312 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12313
12314         Set PATH_SEPARATOR the same way autoconf does.
12315         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
12316         the same way autoconf-generated configure scripts do.
12317         * posix-modules: Likewise.
12318
12319 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12320
12321         hash: fix safe_hasher const typo
12322         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
12323         const; otherwise, there is a type error later.
12324
12325 2010-09-02  Jim Meyering  <meyering@redhat.com>
12326
12327         test-update-copyright.sh: require perl 5.8.0
12328         * tests/test-update-copyright.sh: Require 5.8.0,
12329         which Tom G. Christensen has confirmed is adequate,
12330         while 5.6.1 is not.
12331
12332 2010-09-02  Eric Blake  <eblake@redhat.com>
12333
12334         tests: init.sh improvements for re-exec'ing with zsh
12335         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
12336         -vx through shell re-exec.
12337         Reported by Tom G. Christensen.
12338
12339         wctype: fix typo in previous commit
12340         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
12341         Reported by Ludovic Courtès.
12342
12343 2010-09-02  Jim Meyering  <meyering@redhat.com>
12344
12345         test-update-copyright.sh: skip test if Perl is too old
12346         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
12347         Reported by Tom G. Christensen.
12348
12349 2010-09-02  Bruno Haible  <bruno@clisp.org>
12350
12351         wctype: Avoid compilation error on IRIX 6.5.30.
12352         * lib/wctype.in.h (iswblank): Declare with a replacement if
12353         REPLACE_ISWBLANK is set.
12354         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
12355         declared. Set REPLACE_ISWBLANK.
12356         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
12357         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
12358         * doc/posix-headers/wctype.texi: Likewise.
12359         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12360
12361 2010-09-01  Bruno Haible  <bruno@clisp.org>
12362
12363         New module 'socketlib'.
12364         * modules/socketlib: New file.
12365         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
12366         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
12367         * modules/sockets (Depends-on): Add socketlib.
12368         Suggested by Sam Steingold <sds@gnu.org>.
12369
12370 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12371
12372         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
12373
12374         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
12375         when one needs search access to a directory but not read access.
12376         On systems where it is available, it works in some cases where
12377         O_RDONLY does not, namely on directories that are searchable but
12378         not readable, and which need only to be searchable.  If O_SEARCH
12379         is not available, fall back to the traditional method of using
12380         O_RDONLY.
12381
12382         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
12383         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
12384         when opening a directory that needs only to be searchable.
12385         * lib/chdir-safer.c (chdir_no_follow): Likewise.
12386         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
12387         * lib/openat-proc.c (openat_proc_name): Likewise.
12388         * lib/openat.c (openat_needs_fchdir): Likewise.
12389         * lib/save-cwd.c (save_cwd): Likewise.
12390         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
12391
12392 2010-08-28  Bruno Haible  <bruno@clisp.org>
12393
12394         New module 'host-cpu-c-abi'.
12395         * modules/host-cpu-c-abi: New file.
12396         * m4/host-cpu-c-abi.m4: New file, based on part of
12397         clisp/src/m4/general.m4.
12398         Requested by Sam Steingold <sds@gnu.org>.
12399
12400 2010-08-31  Eric Blake  <eblake@redhat.com>
12401         and Jim Meyering  <meyering@redhat.com>
12402
12403         hash: factor, and guard against misbehaving hasher function
12404         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
12405         of table->hasher's return value.  Also protect against a hash value
12406         so large that adding it to table->bucket results in a NULL pointer.
12407         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
12408         Use it in place of open-coded check-and-abort.
12409
12410 2010-08-30  Bruno Haible  <bruno@clisp.org>
12411
12412         hash: silence spurious clang warning
12413         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
12414         Reported by Eric Blake.
12415
12416 2010-08-30  Eric Blake  <eblake@redhat.com>
12417
12418         strstr, memmem, strcasestr: avoid leaked shell message
12419         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
12420         FreeBSD.
12421         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
12422         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
12423
12424         tests: silence clang warning
12425         * tests/test-malloca.c (do_allocation): Avoid dead store.
12426
12427 2010-08-29  Bruno Haible  <bruno@clisp.org>
12428
12429         gettext: Fix recent mistake.
12430         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
12431
12432 2010-08-29  Bruno Haible  <bruno@clisp.org>
12433
12434         selinux-h: Offer a --without-selinux option.
12435         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
12436         --without-selinux was specified, skip all tests and define
12437         HAVE_SELINUX_SELINUX_H to 0.
12438         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
12439         set LIB_SELINUX to empty.
12440         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
12441         gl_LIBSELINUX. If --without-selinux was specified, replace
12442         selinux/context.h.
12443         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
12444
12445 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12446             Bruno Haible  <bruno@clisp.org>
12447
12448         Make the module 'realloc-gnu' work again on AIX and OSF/1.
12449         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
12450         of HAVE_REALLOC.
12451         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
12452         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
12453         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
12454         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
12455
12456 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12457             Bruno Haible  <bruno@clisp.org>
12458
12459         Make the module 'calloc-gnu' work again on AIX and OSF/1.
12460         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
12461         HAVE_CALLOC.
12462         * lib/xmalloc.c: Update accordingly.
12463         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
12464         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
12465         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
12466
12467 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12468             Bruno Haible  <bruno@clisp.org>
12469
12470         Make the module 'malloc-gnu' work again on AIX and OSF/1.
12471         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
12472         HAVE_MALLOC.
12473         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
12474         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
12475         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
12476
12477 2010-08-29  Bruno Haible  <bruno@clisp.org>
12478
12479         Update modules list.
12480         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
12481         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
12482         (String handling <string.h>): Add astrxfrm.
12483         (File system functions): Add readlinkat.
12484
12485 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12486
12487         Tests for module 'realloc-gnu'.
12488         * modules/realloc-gnu-tests: New file.
12489         * tests/test-realloc-gnu.c: New file.
12490
12491         Tests for module 'calloc-gnu'.
12492         * modules/calloc-gnu-tests: New file.
12493         * tests/test-calloc-gnu.c: New file.
12494
12495         Tests for module 'malloc-gnu'.
12496         * modules/malloc-gnu-tests: New file.
12497         * tests/test-malloc-gnu.c: New file.
12498
12499 2010-08-28  Bruno Haible  <bruno@clisp.org>
12500
12501         Rename module 'realloc' -> 'realloc-gnu'.
12502         * modules/realloc-gnu: New file, copied from modules/realloc.
12503         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
12504         obsolete.
12505         * modules/mgetgroups (Depends-on): Update.
12506         * doc/posix-functions/realloc.texi: Update.
12507         * NEWS: Mention the change.
12508
12509         Rename module 'calloc' -> 'calloc-gnu'.
12510         * modules/calloc-gnu: New file, copied from modules/calloc.
12511         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
12512         obsolete.
12513         * doc/posix-functions/calloc.texi: Update.
12514         * NEWS: Mention the change.
12515
12516         Rename module 'malloc' -> 'malloc-gnu'.
12517         * modules/malloc-gnu: New file, copied from modules/malloc.
12518         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
12519         obsolete.
12520         * modules/argp (Depends-on): Update.
12521         * modules/regex (Depends-on): Update.
12522         * doc/posix-functions/malloc.texi: Update.
12523         * NEWS: Mention the change.
12524
12525 2010-08-28  Eric Blake  <eblake@redhat.com>
12526
12527         pread, pwrite: add missing dependency
12528         * modules/pread (Depends-on): Add extensions.
12529         * modules/pwrite (Depends-on): Likewise.
12530
12531 2010-08-28  Bruno Haible  <bruno@clisp.org>
12532
12533         unistr/u*-strchr: Fix tests dependencies.
12534         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
12535         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
12536         Reported by Ian Beckwith <ianb@erislabs.net>.
12537
12538 2010-08-28  Bruno Haible  <bruno@clisp.org>
12539
12540         read-file: Don't occupy too much unused memory.
12541         * lib/read-file.c (fread_file): Shrink the buffer at the end.
12542
12543 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
12544             Eric Blake  <eblake@redhat.com>
12545             Bruno Haible  <bruno@clisp.org>
12546
12547         read-file: Avoid memory reallocations with regular files.
12548         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
12549         (fread_file): With regular files, use the remaining length as the
12550         initial buffer size.  Check against overflow.
12551         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
12552         sys_stat.
12553
12554 2010-08-28  Bruno Haible  <bruno@clisp.org>
12555
12556         ftello: Relax license.
12557         * modules/ftello (License): Relax to LGPLv2+.
12558         Reported by Eric Blake.
12559
12560 2010-08-28  Bruno Haible  <bruno@clisp.org>
12561
12562         Avoid relocwrapper link errors due to gnulib replacement functions.
12563         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
12564         function.
12565         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12566
12567 2010-08-28  Bruno Haible  <bruno@clisp.org>
12568
12569         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
12570         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
12571         defined.
12572         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
12573         Suggested by Eric Blake.
12574
12575 2010-08-28  Bruno Haible  <bruno@clisp.org>
12576
12577         sys_socket, netdb: Ensure socklen_t gets defined.
12578         * modules/sys_socket (Depends-on): Add socklen.
12579         * modules/netdb (Depends-on): Likewise.
12580         * modules/getaddrinfo (Depends-on): Remove socklen.
12581         * modules/getsockopt (Depends-on): Likewise.
12582         * modules/setsockopt (Depends-on): Likewise.
12583         * tests/test-sys_socket.c: Check that socklen_t is defined.
12584         * tests/test-netdb.c: Likewise.
12585         * m4/socklen.m4: Update comments.
12586         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12587
12588 2010-08-27  Eric Blake  <eblake@redhat.com>
12589
12590         login_tty: add missing dependency
12591         * modules/login_tty (Depends-on): Add pty.
12592
12593 2010-08-26  Eric Blake  <eblake@redhat.com>
12594
12595         lib-symbol-versions: fix m4 quoting
12596         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
12597         format for AC_LINK_IFELSE.
12598
12599         glob: fix compile test
12600         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
12601
12602         btowc: fix missing file
12603         * modules/btowc (Files): Also ship locale-fr.m4.
12604
12605         lseek: fix link test
12606         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
12607         AC_LINK_IFELSE.
12608
12609         include_next: silence autoconf 2.68 warning
12610         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
12611         AC_COMPILE_IFELSE as special.
12612         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
12613         autoconf < 2.68.
12614
12615         acl: fix compilation test
12616         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
12617         AC_COMPILE_IFELSE.
12618
12619 2010-08-26  Bruno Haible  <bruno@clisp.org>
12620
12621         Modernize AC_TRY_RUN invocations.
12622         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
12623         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
12624         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
12625         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
12626         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
12627         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
12628         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
12629         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
12630         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
12631         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
12632         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
12633         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
12634         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
12635         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
12636         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
12637         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
12638         gl_MBRLEN_NUL_RETVAL): Likewise.
12639         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
12640         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
12641         Likewise.
12642         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12643         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
12644         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
12645         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
12646         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
12647         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
12648         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
12649         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
12650         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
12651         Likewise.
12652         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
12653         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
12654         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
12655         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
12656         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12657         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
12658         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
12659         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
12660         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12661         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12662
12663 2010-08-26  Bruno Haible  <bruno@clisp.org>
12664
12665         Modernize AC_TRY_LINK invocations.
12666         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
12667         AC_TRY_LINK.
12668         * m4/argp.m4 (gl_ARGP): Likewise.
12669         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
12670         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12671         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
12672         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
12673         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
12674         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
12675         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
12676         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
12677         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
12678         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
12679         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
12680         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
12681         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
12682         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
12683         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
12684         * m4/hostent.m4 (gl_HOSTENT): Likewise.
12685         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
12686         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
12687         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
12688         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
12689         Likewise.
12690         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
12691         Likewise.
12692         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
12693         Likewise.
12694         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
12695         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
12696         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
12697         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
12698         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
12699         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
12700         * m4/servent.m4 (gl_SERVENT): Likewise.
12701         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
12702         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
12703         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
12704         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
12705         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
12706         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12707         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12708         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12709         * modules/tsearch-tests (configure.ac): Likewise.
12710
12711 2010-08-26  Bruno Haible  <bruno@clisp.org>
12712
12713         Modernize AC_TRY_COMPILE invocations.
12714         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
12715         AC_TRY_COMPILE.
12716         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
12717         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
12718         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
12719         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
12720         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
12721         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
12722         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
12723         * m4/lock.m4 (gl_LOCK): Likewise.
12724         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
12725         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
12726         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
12727         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
12728         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
12729         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
12730         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
12731         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
12732         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
12733         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
12734         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
12735         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
12736         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
12737         extraneous semicolon.
12738
12739 2010-08-26  Jim Meyering  <meyering@redhat.com>
12740
12741         stat-time: relax license LGPL
12742         * modules/stat-time (License): Change from GPL to LGPL,
12743         with consent from all contributors, for use in libguile.
12744         Requested by Ludovic Courtès.
12745
12746 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
12747
12748         poll: return immediately on POLLHUP.
12749         * lib/poll.c (poll): Always set timeout before wait_timeout is
12750         computed.
12751
12752 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12753
12754         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
12755         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
12756         rmdir ("dir/.//"), unlinkat.
12757
12758 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12759
12760         stdbool: avoid spurious failure with modern xlc
12761         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
12762
12763 2010-08-24  Bruno Haible  <bruno@clisp.org>
12764
12765         getloadavg: simplify code
12766         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
12767         gl_have_func. Update comments.
12768
12769 2010-08-24  Eric Blake  <eblake@redhat.com>
12770
12771         getloadavg: don't define SVR4 on cygwin
12772         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
12773         only define SVR4 when -lkvm is required.
12774         Reported by Yaakov Selkowitz.
12775
12776 2010-08-24  Bruno Haible  <bruno@clisp.org>
12777
12778         priv-set: fix comment
12779         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
12780
12781 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12782
12783         priv-set: fix comments
12784         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
12785         to match code, as suggested by David Bartley in:
12786         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
12787
12788 2010-08-23  Eric Blake  <eblake@redhat.com>
12789
12790         stdbool: avoid rejecting clang
12791         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
12792         * tests/test-stdbool.c: Enable more tests if using the system
12793         <stdbool.h> instead of the gnulib replacement.
12794         (main): Move xlc bug test to a runtime test for all compilers.
12795         Reported by Anders Kaseorg.
12796
12797         argz: fix shell quoting issue
12798         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
12799         Reported by Charles Wilson.
12800
12801 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
12802             Erik Faye-Lund <kusmabite@gmail.com>
12803
12804         poll, select: handle ERROR_BROKEN_PIPE.
12805         * lib/poll.c (win32_compute_revents): Return POLLHUP when
12806         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
12807         * lib/select.c (win32_compute_revents): Do not mark a pipe
12808         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
12809
12810 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
12811
12812         fts: allow compilation with C++
12813         * lib/fts_.h: Specify extern "C" linkage with C++.
12814
12815 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12816
12817         Fix gnulib-tool sed script de-commentation for AIX sed.
12818         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
12819         sed.
12820
12821 2010-08-17  Eric Blake  <eblake@redhat.com>
12822
12823         test-stddef: test for (some) offsetof bugs
12824         * tests/test-stddef.c: Enhance test to ensure correct type of
12825         offsetof.
12826         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
12827         that we are not fixing at this time.
12828
12829 2010-08-15  Bruno Haible  <bruno@clisp.org>
12830
12831         stpncpy: Allow stpncpy to be defined as a macro.
12832         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
12833         if it's already correctly declared.
12834         * lib/string.in.h (stpncpy): Undefine before redefining.
12835         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
12836
12837 2010-08-14  Bruno Haible  <bruno@clisp.org>
12838
12839         Rename module 'memxfrm' to 'amemxfrm'.
12840         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
12841         (amemxfrm): Renamed from memxfrm.
12842         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
12843         (amemxfrm): Renamed from memxfrm.
12844         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
12845         * NEWS: Mention the change.
12846         * MODULES.html.sh (String handling <string.h>): Update.
12847         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
12848         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
12849         * lib/unicase/u16-casexfrm.c: Likewise.
12850         * lib/unicase/u32-casexfrm.c: Likewise.
12851         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
12852         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
12853         * lib/uninorm/u16-normxfrm.c: Likewise.
12854         * lib/uninorm/u32-normxfrm.c: Likewise.
12855         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
12856         memxfrm.
12857         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
12858         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
12859         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
12860         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
12861         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
12862         Suggested by Paul Eggert.
12863
12864 2010-08-14  Bruno Haible  <bruno@clisp.org>
12865
12866         Tests for module 'astrxfrm'.
12867         * modules/astrxfrm-tests: New file.
12868         * tests/test-astrxfrm.c: New file.
12869
12870         New module 'astrxfrm'.
12871         * lib/astrxfrm.h: New file.
12872         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
12873         * modules/astrxfrm: New file.
12874
12875 2010-08-14  Reuben Thomas <rrt@sc3d.org>
12876
12877         regex: Tweak doc.
12878         * doc/regex.texi (Overview): Don't mention regex.c.
12879         (GNU Regular Expression Compiling): Likewise.
12880         (Match-end-of-line Operator): Mention 'not_eol'.
12881
12882 2010-08-14  Brian Gough  <bjg@gnu.org>
12883             Bruno Haible  <bruno@clisp.org>
12884
12885         git-merge-changelog: add doc relating to use with bzr and hg.
12886         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
12887
12888 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
12889
12890         pthread: fix pthread.h creation for srcdir != builddir
12891         * modules/pthread (Makefile.am): Fix the rule to work also in a
12892         non-srcdir build.
12893
12894 2010-08-13  Karl Berry  <karl@gnu.org>
12895
12896         * doc/regex.texi (Predefined Syntaxes): @smallexample.
12897         * doc/posix-*/*: force line break before @url of POSIX
12898         specifications.
12899         Suggested by Werner Lemberg.
12900
12901 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12902
12903         strtod: fix const diagnostic
12904         * lib/strtod.c (strtod): Don't assign const char * to char *,
12905         as this elicits a warning from GCC when warnings are enabled.
12906
12907 2010-08-10  Pádraig Brady <P@draigbrady.com>
12908         and Eric Blake  <eblake@redhat.com>
12909
12910         copy-acl: ignore ENOTSUP on HP-UX
12911         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
12912         so that it is available for HP-UX.
12913         * lib/copy-acl.c (qcopy_acl): Use it.
12914         Reported by Patrick M. Callahan.
12915
12916 2010-08-10  Eric Blake  <eblake@redhat.com>
12917
12918         open, chown: relax license
12919         * modules/open (License): Change to LGPLv2+, with consent by all
12920         authors, for use in augeas.
12921         * modules/chown (License): Likewise.
12922         * modules/lchown (Likewise): Likewise.
12923         Requested by Adam Stokes.
12924
12925 2010-08-09  Karl Berry  <karl@gnu.org>
12926
12927         * build-aux/ar-lib: new file, import from Automake.
12928         * config/srclist.txt: autocheck for updates.
12929
12930 2010-08-09  Eric Blake  <eblake@redhat.com>
12931
12932         readlinkat: adjust client modules
12933         * modules/areadlinkat (Depends-on): Use readlinkat, not
12934         symlinkat.
12935         * modules/areadlinkat-with-size (Depends-on): Likewise.
12936
12937         mknod: be more vocal about danger of running tests as root
12938         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
12939         root, since that is just asking for problems.
12940         Suggested by Bruno Haible, based on a report by Rainer Tammer.
12941
12942         readlinkat: split into its own module
12943         * modules/symlinkat: Split readlinkat...
12944         * modules/readlinkat: ...into separate module.
12945         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
12946         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
12947         * lib/symlinkat.c (readlinkat): Move...
12948         * lib/readlinkat.c: ...into new file.
12949         * modules/symlinkat-tests: Split readlinkat test...
12950         * modules/readlinkat-tests: ...into separate module.
12951         * tests/test-symlinkat.c: Split...
12952         * tests/test-readlinkat.c: ...into new file.
12953         * NEWS: Document the split.
12954         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12955         * lib/unistd.in.h (readlinkat): Likewise.
12956         Suggested by Bruno Haible.
12957
12958 2010-08-08  Bruno Haible  <bruno@clisp.org>
12959
12960         memxfrm: Speed up.
12961         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
12962         that usually only one call to strxfrm is necessary for each string
12963         part.
12964         Reported by Paul Eggert <eggert@cs.ucla.edu>.
12965
12966 2010-08-07  Karl Berry  <karl@gnu.org>
12967
12968         * doc/posix-headers/limits.texi,
12969         * doc/posix-functions/malloc.texi,
12970         * doc/posix-functions/strsignal.texi: missing @item.
12971         * doc/ld-version-script.texi: spurious leading i.
12972         * doc/regex.texi (Interval Operators): no commas inside @var.
12973
12974 2010-08-01  Bruno Haible  <bruno@clisp.org>
12975
12976         Integrate the regex documentation.
12977         * doc/gnulib.texi: Define 'cn' index.
12978         (Regular expressions): New a chapter that includes regex.texi and
12979         regexprops-generic.texi.
12980         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
12981         syntax.
12982
12983         Whitespace cleanup.
12984         * doc/regex.texi: Remove trailing spaces.
12985
12986         Add regex documentation.
12987         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
12988         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
12989         Written by Kathy A. Hargreaves and Karl Berry.
12990
12991 2010-08-01  Bruno Haible  <bruno@clisp.org>
12992
12993         link: Update documentation.
12994         * doc/posix-functions/link.texi: Update regarding Solaris.
12995
12996 2010-07-31  Bruno Haible  <bruno@clisp.org>
12997
12998         Update modules list.
12999         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
13000         (String handling <string.h>): Add memcmp2, memxfrm.
13001         (Container data structures): Add xlist, xsublist, xoset.
13002         (Core language properties): Add alignof, unused-parameter.
13003         (Process control, Numeric conversion functions <stdlib.h>): Renamed
13004         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
13005         (Unibyte characters <ctype.h>): New section.
13006         (String handling <string.h>): New section.
13007         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
13008         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
13009         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
13010         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
13011         tan, tanh, tanl, y0, y1, yn.
13012         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
13013         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
13014         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
13015         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
13016         unlockpt, vdprintf, vdprintf-posix.
13017         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
13018         (File system functions): Add concat-filename, sys_file, sys_ioctl,
13019         xconcat-filename.
13020         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
13021         getdtablesize, pipe2, pipe2-safer.
13022         (Security): New section.
13023         (Networking functions): Add accept4.
13024         (Signal handling): Add sigpipe.
13025         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
13026         mbmemcasecoll.
13027         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
13028         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
13029         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
13030         pipe-filter-ii.
13031         (Misc): Add argp-version-etc, login_tty, parse-duration.
13032
13033 2010-07-31  Bruno Haible  <bruno@clisp.org>
13034
13035         Improve doc in MODULES.html.
13036         * modules/linkat (Description): Add the word "function".
13037         * modules/mkfifo (Description): Likewise.
13038         * modules/mknod (Description): Likewise.
13039         * modules/remove (Description): Likewise.
13040         * modules/renameat (Description): Likewise.
13041         * modules/stat (Description): Likewise.
13042         * modules/symlink (Description): Likewise.
13043         * modules/unlink (Description): Likewise.
13044
13045 2010-07-31  Bruno Haible  <bruno@clisp.org>
13046
13047         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
13048         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
13049         option --enable/disable-c++ instead of --enable/disable-cxx.
13050         * NEWS: Mention the change.
13051
13052 2010-07-31  Bruno Haible  <bruno@clisp.org>
13053
13054         readlink, areadlink: Relax test a bit.
13055         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
13056         alternative to ENOTDIR.
13057         * tests/test-areadlink.h (test_areadlink): Likewise.
13058         Reported by Rainer Tammer.
13059
13060 2010-07-31  Bruno Haible  <bruno@clisp.org>
13061
13062         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
13063         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
13064         character, perform the search using U_STRCHR.
13065         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
13066         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
13067         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
13068         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
13069         Suggested by Paolo Bonzini.
13070
13071 2010-07-31  Bruno Haible  <bruno@clisp.org>
13072
13073         unistr/u*-strstr: Fix dependencies.
13074         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
13075         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
13076         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
13077
13078 2010-07-31  Bruno Haible  <bruno@clisp.org>
13079
13080         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
13081         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
13082         the beginning of the loop.
13083         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
13084         cases in 'switch' statement.
13085
13086         unistr/u8-strchr: Fix several bugs.
13087         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
13088         the string. When not found, return NULL, not a pointer near the end.
13089
13090         More tests for unistr/u8-strchr.
13091         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
13092         that the function does not read past the first occurrence of the byte
13093         being searched.
13094         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
13095         * tests/unistr/test-u16-strchr.c (main): New function.
13096         * tests/unistr/test-u32-strchr.c (main): New function.
13097
13098 2010-07-31  Bruno Haible  <bruno@clisp.org>
13099
13100         posix-modules: Ignore backup files of documentation files.
13101         * posix-modules: grep only through files named *.texi.
13102
13103 2010-07-31  Bruno Haible  <bruno@clisp.org>
13104
13105         symlinkat: Fix documentation.
13106         * doc/posix-functions/readlinkat.texi: Fix module name.
13107
13108 2010-07-31  Bruno Haible  <bruno@clisp.org>
13109
13110         fchownat: Replace also when chown has the trailing slash bug.
13111         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
13112         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
13113         introduced on 2010-04-10.
13114         Reported by Rainer Tammer.
13115
13116 2010-07-31  Bruno Haible  <bruno@clisp.org>
13117
13118         linkat: Work around AIX 7.1 bug.
13119         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
13120         whether linkat handles trailing slash correctly. If not, replace linkat
13121         and define LINKAT_TRAILING_SLASH_BUG.
13122         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
13123         check whether (fd1,file1) points to a directory if file1 or file2 ends
13124         in a slash. Code taken from lib/link.c.
13125         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
13126         Reported by Rainer Tammer.
13127
13128 2010-07-31  Bruno Haible  <bruno@clisp.org>
13129
13130         Correctly determine whether pow is available in libc on AIX 7 with xlc.
13131         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
13132         This disables an xlc optimization that was causing wrong test results.
13133         Reported by Rainer Tammer.
13134
13135 2010-07-31  Bruno Haible  <bruno@clisp.org>
13136
13137         iconv: Work around AIX 6.1..7.1 bug.
13138         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
13139         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
13140         cross-compiling, guess no on all versions of AIX.
13141         Reported by Rainer Tammer.
13142
13143 2010-07-31  Bruno Haible  <bruno@clisp.org>
13144
13145         readlink: Relax test a bit.
13146         * tests/test-readlink.h (test_readlink): Allow different errno value
13147         when readlink is called with a file name that ends in / and refers to
13148         a file.
13149         Suggested by Eric Blake.
13150         Reported by Rainer Tammer.
13151
13152 2010-07-31  Bruno Haible  <bruno@clisp.org>
13153
13154         copysign: Does not require -lm on glibc systems.
13155         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
13156         gl_COMMON_DOUBLE_MATHFUNC.
13157         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
13158
13159 2010-07-31  Bruno Haible  <bruno@clisp.org>
13160
13161         duplocale: Work around AIX 7.1 bug.
13162         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
13163         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
13164         * lib/duplocale.c (rpl_duplocale): Update comment.
13165         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
13166         Reported by Rainer Tammer.
13167
13168 2010-07-30  Bruno Haible  <bruno@clisp.org>
13169
13170         dirfd: Avoid link error on AIX 7.1.
13171         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
13172         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
13173         exist, set REPLACE_DIRFD.
13174         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
13175         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
13176         * doc/posix-functions/dirfd.texi: Update.
13177         Reported by Rainer Tammer.
13178
13179 2010-07-30  Eric Blake  <eblake@redhat.com>
13180
13181         strtod: next round of AIX fixes
13182         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
13183         exponent.
13184         * tests/test-strtod.c (main): Enhance tests.
13185         * doc/posix-functions/strtod.texi (strtod): Document next bug.
13186         Reported by Rainer Tammer.
13187
13188         futimens: fix configure check
13189         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
13190         Reported by Bruno Haible.
13191
13192 2010-07-30  Bruno Haible  <bruno@clisp.org>
13193
13194         getline: Update regarding AIX.
13195         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
13196         Reported by Rainer Tammer.
13197
13198 2010-07-30  Bruno Haible  <bruno@clisp.org>
13199
13200         wcwidth: Drop replacement on AIX 7.
13201         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
13202         AIX 7.
13203         Reported by Rainer Tammer.
13204
13205 2010-07-30  Bruno Haible  <bruno@clisp.org>
13206
13207         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
13208         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
13209         a 'char *'.
13210         Reported by Rainer Tammer.
13211
13212 2010-07-30  Bruno Haible  <bruno@clisp.org>
13213
13214         unlink: Update regarding AIX.
13215         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
13216         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
13217         Reported by Rainer Tammer.
13218
13219 2010-07-30  Bruno Haible  <bruno@clisp.org>
13220
13221         symlink: Update regarding AIX.
13222         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
13223         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
13224         Reported by Rainer Tammer.
13225
13226 2010-07-30  Bruno Haible  <bruno@clisp.org>
13227
13228         strndup: Update regarding AIX.
13229         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
13230         AIX 7.
13231         Reported by Rainer Tammer.
13232
13233 2010-07-30  Bruno Haible  <bruno@clisp.org>
13234
13235         stat: Update regarding AIX.
13236         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
13237         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
13238         Reported by Rainer Tammer.
13239
13240 2010-07-30  Bruno Haible  <bruno@clisp.org>
13241
13242         truncl: Fix autoconf test.
13243         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
13244         whether truncl works.
13245         Reported by Rainer Tammer.
13246
13247 2010-07-30  Bruno Haible  <bruno@clisp.org>
13248
13249         round: Update regarding AIX.
13250         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
13251         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
13252         Reported by Rainer Tammer.
13253
13254 2010-07-30  Bruno Haible  <bruno@clisp.org>
13255
13256         rename: Update regarding AIX.
13257         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
13258         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
13259         Reported by Rainer Tammer.
13260
13261 2010-07-30  Bruno Haible  <bruno@clisp.org>
13262
13263         printf.m4: Update regarding AIX.
13264         * m4/printf.m4: Update comments regarding AIX.
13265         Reported by Rainer Tammer.
13266
13267 2010-07-30  Bruno Haible  <bruno@clisp.org>
13268
13269         iconv: Update regarding AIX.
13270         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
13271         AIX 7.
13272         Reported by Rainer Tammer.
13273
13274 2010-07-30  Bruno Haible  <bruno@clisp.org>
13275
13276         getopt: Update regarding AIX.
13277         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
13278         no on AIX.
13279         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
13280         Reported by Rainer Tammer.
13281
13282 2010-07-30  Bruno Haible  <bruno@clisp.org>
13283
13284         ldexpl; Update regarding AIX.
13285         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
13286         on AIX 7.
13287         Reported by Rainer Tammer.
13288
13289 2010-07-30  Bruno Haible  <bruno@clisp.org>
13290
13291         frexpl: Update regarding AIX.
13292         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
13293         on AIX 7.
13294         Reported by Rainer Tammer.
13295
13296 2010-07-30  Bruno Haible  <bruno@clisp.org>
13297
13298         open, fopen: Update regarding AIX.
13299         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
13300         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
13301         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
13302         * doc/posix-functions/fopen.texi: Likewise.
13303         Reported by Rainer Tammer.
13304
13305 2010-07-30  Bruno Haible  <bruno@clisp.org>
13306
13307         chown: Update doc regarding AIX.
13308         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
13309         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
13310         Reported by Rainer Tammer.
13311
13312 2010-07-30  Eric Blake  <eblake@redhat.com>
13313
13314         strtod: fix bug in replacement function on AIX
13315         * lib/strtod.c (strtod): Special case broken "0x" parse in
13316         underlying strtod.
13317         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
13318         * doc/posix-functions/strtod.texi (strtod): Likewise.
13319         Reported by Rainer Tammer.
13320
13321 2010-07-30  Bruno Haible  <bruno@clisp.org>
13322
13323         mbrlen: Fix cross-compilation guess for AIX.
13324         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
13325         guess. Leftover from 2008-12-22.
13326
13327 2010-07-30  Bruno Haible  <bruno@clisp.org>
13328
13329         mbrtowc: Fix cross-compilation guess for AIX.
13330         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
13331         guess. Leftover from 2008-12-21.
13332
13333 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
13334
13335         init.sh: work around trap limitation of some shells
13336         * tests/init.sh (setup_): Move exit trap outside of shell function.
13337
13338 2010-07-29  Eric Blake  <eblake@redhat.com>
13339
13340         strtod: aid debugging
13341         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
13342         understanding why strtod is rejected.
13343
13344 2010-07-28  Bruno Haible  <bruno@clisp.org>
13345
13346         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
13347         * lib/unistr/u8-chr.c: Include <string.h>.
13348         * tests/unistr/test-u8-chr.c: Likewise.
13349         * tests/unistr/test-u16-chr.c: Likewise.
13350         * tests/unistr/test-u32-chr.c: Likewise.
13351         * tests/unistr/test-u8-strchr.c: Likewise.
13352         * tests/unistr/test-u16-strchr.c: Likewise.
13353         * tests/unistr/test-u32-strchr.c: Likewise.
13354         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
13355         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
13356         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
13357         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
13358
13359 2010-07-28  Bruno Haible  <bruno@clisp.org>
13360
13361         Use spaces for indentation, not tabs.
13362         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
13363
13364 2010-07-27  Bruno Haible  <bruno@clisp.org>
13365
13366         mbspcasecmp: Fix function specification.
13367         * lib/string.in.h (mbspcasecmp): Fix specification comment.
13368         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
13369         Reported by Eric Blake <eblake@redhat.com>.
13370
13371 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
13372
13373         timespec: use cast and not conditional, as truncation isn't possible
13374         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
13375         instead of a conditional.  Comment about the situation in more detail.
13376         This undoes most of the 2009-10-29 patch.
13377
13378 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
13379
13380         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
13381         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
13382         * lib/unistr/u8-strchr.c: Likewise.
13383         * modules/unistr/u8-chr: Depend on memchr.
13384
13385         unistr/u*-strchr: add tests
13386         * modules/unistr/u8-strchr-tests: New file.
13387         * modules/unistr/u16-strchr-tests: New file.
13388         * modules/unistr/u32-strchr-tests: New file.
13389         * tests/unistr/test-strchr.h: New file.
13390         * tests/unistr/test-u8-strchr.c: New file.
13391         * tests/unistr/test-u16-strchr.c: New file.
13392         * tests/unistr/test-u32-strchr.c: New file.
13393
13394         unistr/u*-chr: test multibyte sequences more
13395         * tests/unistr/test-chr.h: Do complete testing of the characters in the
13396         test vector.
13397         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
13398         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
13399         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
13400
13401         unistr/u*-chr: test multibyte sequences
13402         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
13403
13404         unistr/u*-chr: prepare for multibyte tests
13405         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
13406         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
13407         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
13408         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
13409         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
13410         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
13411
13412 2010-07-18  Bruno Haible  <bruno@clisp.org>
13413
13414         unistr/u8-strchr: Optimize non-ASCII argument case.
13415         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
13416         because the first byte often matches anyway.
13417         Reported by Pádraig Brady <P@draigbrady.com>.
13418
13419 2010-07-15  Karl Berry  <karl@gnu.org>
13420
13421         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
13422
13423 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
13424
13425         getcwd: on Solaris, work better if ancestors are inaccessible
13426         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
13427         buffer and size, try again with a large buffer.  This works better
13428         on Solaris, since its getcwd succeeds even if the path to the root
13429         is inaccessible, and this is helpful in common cases such as .zfs
13430         hidden directories.  Problem reported by J Chapman Flack in
13431         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
13432         Use system getcwd if it's declared, not merely if it's partly
13433         working; use the partly-working test only to avoid needless effort
13434         if the system getcwd fails.
13435         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
13436         comment that was already obsolete and is now even more obsolete.
13437         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
13438         now might call strdup.
13439
13440 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
13441
13442         pthread: Add enough so that coreutils/src/sort.c compiles.
13443         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
13444         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
13445         gnulib. Include <sched.h> and <time.h>, as per POSIX.
13446         Include <sys/types.h>, in case it defines pthread_t.
13447         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
13448         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
13449         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
13450         (pthread_rwlockattr_t, pthread_spinlock_t):
13451         New typedefs, if HAVE_PTHREAD_T is not defined.
13452         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
13453         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
13454         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
13455         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
13456         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
13457         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
13458         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
13459         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
13460         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
13461         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
13462         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
13463         New macros.
13464         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
13465         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
13466         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
13467         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
13468         (pthread_spin_unlock): New dummy functions.
13469         (pthread_create): Return EAGAIN; don't set errno.
13470         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
13471         require AC_C_INLINE.
13472         * modules/pthread (Depends-on): Add sched, time.
13473         (pthread.h): Use AM_V_GEN.
13474
13475 2010-07-13  Bruno Haible  <bruno@clisp.org>
13476
13477         striconveh: Don't malloc memory if the result buffer is sufficient.
13478         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
13479         buffer if its size is sufficient.
13480         Reported by Ludovic Courtès <ludo@gnu.org>.
13481
13482 2010-07-13  Bruno Haible  <bruno@clisp.org>
13483
13484         strtod: Add safety check.
13485         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
13486
13487 2010-07-12  Bruno Haible  <bruno@clisp.org>
13488
13489         Unify tests that set gl_cv_func_ldexpl_no_libm.
13490         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
13491         gl_FUNC_LDEXPL.
13492         (gl_FUNC_LDEXPL): Invoke it.
13493         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13494
13495 2010-07-12  Bruno Haible  <bruno@clisp.org>
13496
13497         Unify tests that set gl_cv_func_ldexp_no_libm.
13498         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
13499         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
13500         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
13501         (configure.ac): Simply invoke gl_FUNC_LDEXP.
13502         * modules/strtod (Files): Add m4/ldexp.m4.
13503
13504 2010-07-12  Bruno Haible  <bruno@clisp.org>
13505
13506         Unify tests that set gl_cv_func_frexpl_no_libm.
13507         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
13508         gl_FUNC_FREXPL_NO_LIBM.
13509         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
13510         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13511
13512 2010-07-12  Bruno Haible  <bruno@clisp.org>
13513
13514         Unify tests that set gl_cv_func_frexp_no_libm.
13515         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
13516         gl_FUNC_FREXP_NO_LIBM.
13517         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
13518         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
13519
13520 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
13521
13522         memcoll: clarify sizes versus lengths, document better, and tweak perf
13523         * lib/memcoll.c (strcoll_loop, memcoll0):
13524         Improve quality of descriptive comments.  Name variables
13525         consistently as to whether they are lengths (which do not include
13526         terminating null) versus sizes (which do).
13527         * lib/xmemcoll.c (xmemcoll0): Likewise.
13528         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
13529         returned when s1size == 0; this is easier to compile and saves
13530         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
13531
13532 2010-07-12  Bruno Haible  <bruno@clisp.org>
13533
13534         Tests for module '_Exit'.
13535         * modules/_Exit-tests: New file.
13536         * tests/test-_Exit.sh: New file.
13537         * tests/test-_Exit.c: New file.
13538
13539         New module '_Exit'.
13540         * lib/stdlib.in.h (__attribute__): New macro.
13541         (_Exit): New declaration.
13542         * lib/_Exit.c: New file.
13543         * m4/_Exit.m4: New file.
13544         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
13545         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
13546         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
13547         * modules/_Exit: New file.
13548         * tests/test-stdlib-c++.cc (_Exit): Check signature.
13549         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
13550
13551 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
13552
13553         strtod: make it more-accurate typically, and don't require libm
13554         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
13555         Include limits.h.  Don't include string.h.
13556         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
13557         (locale_isspace): New function, so that no casts are needed to
13558         check whether *s is a space.
13559         (ldexp): Provide an unused dummy if not available.
13560         (scale_radix_exp, parse_number, underlying_strtod): New functions.
13561         (strtod): Use them.  This implementation prefers to use the
13562         underlying strtod if available, falling back on our own code
13563         only to fix known bugs.  This is more likely to produce an
13564         accurate result.  Also, it avoids the use of libm functions.
13565         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
13566         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
13567         was absent, but it caused a test failure with coreutils.
13568         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
13569         with libm.
13570         * modules/strtod (Makefile.am, Link): libm is no longer needed.
13571         * modules/strtod-tests (Makefile.am): Likewise.
13572
13573 2010-07-11  Pádraig Brady  <P@draigBrady.com>
13574             Bruno Haible  <bruno@clisp.org>
13575
13576         unistr/u8-strchr: Optimize ASCII argument case.
13577         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
13578
13579 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13580
13581         (x)memcoll: minor tweaks
13582         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
13583         is after the type that it qualifies.
13584         (memcoll0): Likewise.
13585         * lib/memcoll.h (memcoll0): Likewise.
13586         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
13587         * lib/xmemcoll.h (xmemcoll0): Likewise.
13588         * lib/memcoll.c (memcoll0): Correct the comment.  This function
13589         differs from memcoll in that the NUL byte is part of the argument.
13590         Omit the abort-checks, as performance is a real issue here.  Plus,
13591         the checks were wrong anyway (an off-by-one error).  Omit local
13592         variable 'diff', as it's a bit clearer that way.
13593         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
13594         no longer needed.
13595
13596 2010-07-08  Chen Guo <chenguo4@yahoo.com>
13597
13598         (x)memcoll: speedup when input is known to be NUL delimited
13599         * lib/memcoll.c: Include stdlib.
13600         (memcoll0): New function.
13601         (strcoll_loop): New function, refactored for use in both memcoll
13602         and memcoll0.
13603         * lib/memcoll.h (memcoll0): Add prototype.
13604         * lib/xmemcoll.c (xmemcoll0): New function.
13605         (collate_error): New function, refactored for use in both xmemcoll
13606         and xmemcoll0.
13607         * lib/xmemcoll.h (xmemcoll0): Add prototype.
13608         * m4/memcoll.m4: add inline invocation.
13609
13610 2010-07-06  Pádraig Brady  <P@draigBrady.com>
13611
13612         * build-aux/bootstrap: Remove any local translations
13613         from the translation project synchronization directory,
13614         so that local only translations are not distributed.
13615
13616 2010-07-04  Bruno Haible  <bruno@clisp.org>
13617
13618         fsusage: Clarify which code applies to which platforms.
13619         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
13620         platform.
13621         * lib/fsusage.c (get_fs_usage): Likewise.
13622
13623 2010-07-04  Bruno Haible  <bruno@clisp.org>
13624
13625         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
13626         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
13627         Reported by Martin Lambers <marlam@marlam.de>.
13628
13629 2010-07-04  Jim Meyering  <meyering@redhat.com>
13630
13631         hash: once again explicitly disallow insertion of NULL
13632         * lib/hash.c (hash_insert0): Reinstate just-removed test:
13633         inserting a NULL pointer cannot work with these functions.
13634         Add a comment with details.
13635         This reverts part of the 2010-07-01 commit, 5bef1a35
13636         "hash: extend module to deal with non-pointer keys".
13637
13638 2010-07-01  Bruno Haible  <bruno@clisp.org>
13639
13640         stdbool: Update doc.
13641         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
13642         Info from Christian Weisgerber <naddy@mips.inka.de>.
13643
13644 2010-07-01  Jim Meyering  <meyering@redhat.com>
13645
13646         hash: extend module to deal with non-pointer keys
13647         * lib/hash.c (hash_insert0): New interface, much like hash_insert
13648         but that allows insertion of non-pointer entries.
13649         Do not disallow an ENTRY value of NULL.
13650         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
13651         * lib/hash.h (hash_insert0): Declare.
13652
13653 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
13654
13655         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
13656         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
13657         not present (i.e. with autoconf 2.59 and when using gettextize, not
13658         gnulib), require AC_GNU_SOURCE instead.
13659
13660 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
13661
13662         idpriv-drop: Fix tests.
13663         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
13664         not to the test-idpriv-droptemp program.
13665
13666 2010-06-29  Bruno Haible  <bruno@clisp.org>
13667
13668         string: Fix syntax error with g++ 2.96.
13669         * lib/string.in.h (__pure__): Remove definition.
13670         (_GL_ATTRIBUTE_PURE): New macro.
13671         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
13672         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
13673         Reported by Christian Weisgerber <naddy@mips.inka.de>.
13674
13675 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
13676
13677         unitypes: Fix bug introduced on 2010-05-18.
13678         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
13679
13680 2010-06-22  Eric Blake  <eblake@redhat.com>
13681
13682         memmem: slight optimization
13683         * lib/str-two-way.h (critical_factorization): Update comments.
13684         Reduce work during factorization phase.
13685         Reported by Carlos Bueno <carlos@bueno.org>.
13686
13687 2010-06-21  Bruno Haible  <bruno@clisp.org>
13688
13689         Fix HAVE_CALLOC_POSIX misnomer.
13690         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
13691         !HAVE_CALLOC_POSIX.
13692         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
13693         HAVE_CALLOC_POSIX.
13694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
13695         instead of HAVE_CALLOC_POSIX.
13696         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
13697         HAVE_CALLOC_POSIX.
13698
13699         Use modern idiom for calloc() replacement.
13700         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
13701         AC_FUNC_CALLOC.
13702         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
13703         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
13704         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
13705         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
13706         (gl_REPLACE_CALLOC): New macro.
13707
13708 2010-06-21  Bruno Haible  <bruno@clisp.org>
13709
13710         Fix HAVE_REALLOC_POSIX misnomer.
13711         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
13712         !HAVE_REALLOC_POSIX.
13713         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
13714         HAVE_REALLOC_POSIX.
13715         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
13716         instead of HAVE_REALLOC_POSIX.
13717         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
13718         HAVE_REALLOC_POSIX.
13719
13720         Use modern idiom for realloc() replacement.
13721         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
13722         AC_FUNC_REALLOC.
13723         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
13724         Autoconf's AC_FUNC_REALLOC.
13725         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
13726         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
13727         (gl_REPLACE_REALLOC): New macro.
13728         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
13729
13730 2010-06-21  Bruno Haible  <bruno@clisp.org>
13731
13732         Fix HAVE_MALLOC_POSIX misnomer.
13733         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
13734         !HAVE_MALLOC_POSIX.
13735         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
13736         HAVE_MALLOC_POSIX.
13737         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
13738         instead of HAVE_MALLOC_POSIX.
13739         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
13740         HAVE_MALLOC_POSIX.
13741
13742         Use modern idiom for malloc() replacement.
13743         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
13744         AC_FUNC_MALLOC.
13745         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
13746         Autoconf's AC_FUNC_MALLOC.
13747         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
13748         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
13749         (gl_REPLACE_MALLOC): New macro.
13750         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
13751
13752 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
13753
13754         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
13755         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
13756         This macro takes 3 arguments, not 4.
13757
13758 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
13759
13760         ipv6: fix detection under mingw
13761         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
13762         in6_addr.
13763
13764 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
13765
13766         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
13767         that strtod() works when cross-compiling to a glibc version known
13768         to work.
13769
13770 2010-06-15  Bruno Haible  <bruno@clisp.org>
13771
13772         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
13773
13774 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
13775
13776         select: Correct timeout.
13777         * lib/select.c (rpl_select): Compute wait_timeout correctly.
13778
13779 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
13780
13781         git-version-gen: init shell var to avoid env var influence
13782         * build-aux/git-version-gen (v): Init shell var to empty.
13783
13784 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
13785
13786         priv-set: Don't assume that priv.h exists merely because getppriv does.
13787         See Jan Andersen's bug report about AIX 5L in
13788         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
13789         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
13790         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
13791         * lib/priv-set.h: Likewise.
13792         * tests/test-priv-set.c: Likewise.
13793
13794 2010-06-13  Bruno Haible  <bruno@clisp.org>
13795
13796         relocatable: Make it easier to test whether to install wrappers.
13797         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
13798         RELOCATABLE_VIA_WRAPPER.
13799
13800 2010-06-13  Bruno Haible  <bruno@clisp.org>
13801
13802         gnulib-tool: Display specified modules and dependencies differently.
13803         * gnulib-tool (func_show_module_list): New function.
13804         (func_import, func_create_testdir): Invoke it.
13805         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
13806
13807 2010-06-13  Bruno Haible  <bruno@clisp.org>
13808
13809         gnulib-tool: Align code of func_import and func_create_testdir.
13810         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
13811         specified_modules.
13812
13813 2010-06-12  Jim Meyering  <meyering@redhat.com>
13814
13815         test-inttostr: avoid spurious failure on Solaris 9
13816         * tests/test-inttostr.c (main): Skip the test when snprintf fails
13817         to accept "%ju".  Reported by Bruno Haible.
13818
13819 2010-06-11  Jim Meyering  <meyering@redhat.com>
13820
13821         test-sys_socket: mark variables as used more readably
13822         * tests/test-sys_socket.c (main): Mark otherwise unused variables
13823         as "used" explicitly via (void) statement casts.  This is more
13824         readable than using them in an artificial return expression.
13825         Suggestion from Bruno Haible.
13826
13827 2010-06-11  Bruno Haible  <bruno@clisp.org>
13828
13829         Avoid some more warnings from "gcc -Wwrite-strings".
13830         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
13831         to 'const char *'.
13832         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
13833         * tests/test-c-strcasestr.c (main): Likewise.
13834         * tests/test-mbscasestr1.c (main): Likewise.
13835         * tests/test-mbscasestr2.c (main): Likewise.
13836         * tests/test-memmem.c (main): Likewise.
13837         * tests/test-strstr.c (main): Likewise.
13838         * tests/test-strcasestr.c (main): Likewise.
13839
13840 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13841
13842         init.sh: change framework_failure_ to fail with status 99, not 1
13843         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
13844         automake's parallel-tests rule that this is an unexpected failure,
13845         even if the test is listed in XFAIL_TESTS.
13846
13847 2010-06-11  Jim Meyering  <meyering@redhat.com>
13848
13849         test-inttostr: avoid warnings about 4-6KB literal strings
13850         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
13851         Include "macros.h", for its definition of ASSERT.
13852         (CK): s/assert/ASSERT/
13853         * modules/inttostr-tests (Files): Add macros.h.
13854
13855         init.sh: don't use $ME_ or skip_ before they are defined
13856         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
13857         their first uses.  Also hoist their companions: warn_, fail_,
13858         framework_failure_, $stderr_fileno.  Prompted by a patch from
13859         Stefano Lattarini.
13860
13861         test-sys_socket: avoid set-but-not-used warnings from gcc
13862         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
13863         avoid warning about set-but-not-used variables.
13864
13865         test-xvasprintf: avoid 'const' discard warnings
13866         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
13867         "const" when assigning from literal strings.
13868         (test_xasprintf): Add "void" in function argument list to placate
13869         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
13870
13871         tests: avoid compilation warnings in argmatch and exclude tests...
13872         in packages that define ARGMATCH_DIE_DECL, like coreutils.
13873         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
13874         Since it always exits, declare with the "noreturn" attribute.
13875         * tests/test-argmatch.c: Likewise.
13876
13877         tests: avoid 'const' discard warnings in mbsstr tests
13878         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
13879         * tests/test-mbsstr2.c (main): Likewise.
13880
13881         test-verify: avoid warning from gcc's -Wmissing-declarations
13882         * tests/test-verify.c (function): Declare to be static.
13883
13884         test-inttostr.c: include <string.h> for use of strcmp
13885         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
13886
13887         test-linkat: avoid failed assertion on "other" architectures
13888         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
13889         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
13890         sparc: https://bugs.launchpad.net/bugs/591968
13891
13892 2010-06-11  Jim Meyering  <meyering@redhat.com>
13893
13894         printf.m4: avoid autoconf's "Expanded Before Required" warning
13895         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
13896         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
13897         autoconf warning.
13898
13899 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
13900
13901         Replacement header templates are now named with ".in", not "_".
13902         * doc/gnulib-intro.texi: Correct.
13903
13904 2010-06-10  Jim Meyering  <meyering@redhat.com>
13905
13906         inttostr-tests: depend on snprintf, not snprintf-posix
13907         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
13908         snprintf-posix, to avoid this aclocal failure:
13909           missing file gnulib-tests/vasnprintf.c
13910           configure.ac:45: error: expected source file, required through \
13911           AC_LIBSOURCES, not found
13912
13913 2010-06-10  Jim Meyering  <meyering@redhat.com>
13914
13915         inttostr: add a new function, inttostr, and tests
13916         The namesake function was not available.  The existence of the
13917         template file, inttostr.c makes its addition nontrivial.
13918         * lib/anytostr.c: Rename from inttostr.c.
13919         (anytostr): Rename from inttostr.
13920         * lib/inttostr.c: New file.
13921         * modules/inttostr (Files): Add anytostr.c.
13922         (Makefile.am): Set lib_SOURCES instead of ...
13923         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
13924         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
13925         * lib/offtostr.c: Likewise.
13926         * lib/uinttostr.c: Likewise.
13927         * lib/umaxtostr.c: Likewise.
13928         * modules/inttostr-tests: New file.
13929         * tests/test-inttostr.c: New file.  Test these functions.
13930
13931 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
13932             Bruno Haible  <bruno@clisp.org>
13933
13934         Add "Extending Gnulib" chapter to manual.
13935         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
13936         chapter.
13937         (Extending Gnulib): New chapter.
13938         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
13939         chapter.
13940
13941 2010-06-09  Bruno Haible  <bruno@clisp.org>
13942
13943         Avoid relocwrapper link errors due to gnulib replacement functions.
13944         * lib/areadlink.c: Use the system's malloc, realloc functions.
13945         (areadlink): Set errno to ENOMEM explicitly.
13946         * modules/areadlink (Depends-on): Remove malloc-posix.
13947         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13948
13949 2010-06-09  Bruno Haible  <bruno@clisp.org>
13950
13951         Avoid relocwrapper link errors due to gnulib replacement functions.
13952         * lib/canonicalize-lgpl.c: Use the system's malloc function.
13953         * lib/malloca.c: Likewise.
13954         * lib/relocatable.c: Likewise.
13955         * lib/progreloc.c: Use the system's malloc, sprintf functions.
13956         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
13957         * lib/setenv.c: Use the system's malloc, realloc functions.
13958         * lib/strerror.c: Use the system's sprintf function.
13959         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13960
13961 2010-06-04  Bruno Haible  <bruno@clisp.org>
13962
13963         Prefer documented low-level autoconf macro names.
13964         * m4/lib-link.m4: Use m4_translit instead of translit.
13965         * m4/environ.m4: Likewise.
13966         * m4/mathfunc.m4: Likewise.
13967         * m4/onceonly.m4: Likewise.
13968         * m4/stdint.m4: Likewise.
13969         Suggested by Eric Blake.
13970
13971 2010-06-04  Martin Lambers  <marlam@marlam.de>
13972             Bruno Haible  <bruno@clisp.org>
13973
13974         havelib: Allow library names with '+' characters.
13975         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
13976         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
13977
13978 2010-06-09  Bruno Haible  <bruno@clisp.org>
13979
13980         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
13981         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
13982         realloc failed.
13983
13984 2010-06-08  Peter Simons  <simons@cryp.to>
13985
13986         maint.mk: make the news-check rule more configurable
13987         * top/maint.mk (news-check-lines-spec): New variable.
13988         (news-check): Use "sed -n 1,10p" in place of "head".
13989
13990 2010-06-07  Jim Meyering  <meyering@redhat.com>
13991
13992         do-release-commit-and-tag: fix typo in --help
13993         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
13994
13995         regex: avoid new dead-code warning with gcc-4.6.0
13996         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
13997         if-block containing a while-loop.  It's been unused for at least
13998         5 years.
13999
14000 2010-06-05  Bruno Haible  <bruno@clisp.org>
14001
14002         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
14003         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
14004
14005 2010-06-04  Bruno Haible  <bruno@clisp.org>
14006
14007         Update to GNU gettext 0.18.1.
14008         * modules/gettext (configure.ac): Require gettext infrastructure from
14009         version 0.18.1.
14010
14011 2010-06-03  Bruno Haible  <bruno@clisp.org>
14012
14013         Don't use AC_LIBOBJ with file names in subdirectories.
14014         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
14015         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
14016         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
14017         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
14018         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
14019         gl_LIBUNISTRING_LIBSOURCE.
14020         (Makefile.am): Augment lib_SOURCES here, conditionally.
14021         * NEWS: Drop requirement for Automake option 'subdir-objects'.
14022
14023 2010-06-03  Bruno Haible  <bruno@clisp.org>
14024
14025         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
14026         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
14027         expansion does not end with a newline.
14028         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
14029         unnecessary newline.
14030
14031 2010-06-03  Bruno Haible  <bruno@clisp.org>
14032
14033         Reduce dependencies.
14034         * tests/test-quotearg.h: New file, extracted from
14035         tests/test-quotearg.c.
14036         * tests/test-quotearg-simple.c: New file, extracted from
14037         tests/test-quotearg.c.
14038         * tests/test-quotearg.c: Don't include <ctype.h>.
14039         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
14040         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
14041         use_quote_double_quotes, use_quotearg_colon): Moved to
14042         tests/test-quotearg.h.
14043         (results_g, flag_results, custom_quotes, custom_results): Moved
14044         to tests/test-quotearg-simple.c.
14045         (main): Moved the part that does not depend on gettext to
14046         tests/test-quotearg-simple.c. Return 77 if the test cannot be
14047         performed.
14048         * modules/quotearg-simple: New file.
14049         * modules/quotearg-simple-tests: New file.
14050         * modules/quotearg (Depends-on): Add quotearg-simple.
14051         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
14052         (Files): Add tests/test-quotearg.h.
14053         Reported by Paolo Bonzini.
14054
14055 2010-06-03  Bruno Haible  <bruno@clisp.org>
14056
14057         Reduce dependencies.
14058         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
14059
14060 2010-06-03  Bruno Haible  <bruno@clisp.org>
14061
14062         time: Undefine more broken macros.
14063         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
14064         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
14065         Reported by Eric Blake.
14066
14067 2010-06-03  Bruno Haible  <bruno@clisp.org>
14068
14069         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
14070         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
14071         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
14072         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
14073         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
14074         Reported by Ludovic Courtès <ludo@gnu.org>.
14075
14076 2010-06-02  Eric Blake  <eblake@redhat.com>
14077
14078         time: work with mingw + pthreads-win32 library
14079         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
14080         if timespec is defined only in pthread.h.
14081         * modules/time (Makefile.am): Substitute it.
14082         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
14083         <pthread.h>, when needed.
14084         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
14085         from the library.
14086
14087 2010-05-31  Bruno Haible  <bruno@clisp.org>
14088
14089         Avoid expanding two macros in the wrong order.
14090         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
14091         gl_LIBUNISTRING if it is defined.
14092         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
14093         autoconf >= 2.64.
14094         Reported by Ludovic Courtès <ludo@gnu.org>.
14095
14096 2010-05-27  Jim Meyering  <meyering@redhat.com>
14097
14098         maint.mk: also prohibit "#undef" of always-defined symbols
14099         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
14100         Allow more than one space before the symbol name.
14101         (sc_prohibit_always-defined_macros): Use grep's -E, now that
14102         the regexp uses alternation.
14103
14104 2010-05-26  Eric Blake  <eblake@redhat.com>
14105
14106         maint.mk: avoid echo -e
14107         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
14108         Convert all uses of echo -* to printf.
14109         Reported by Matthias Bolte.
14110
14111 2010-05-25  Bruno Haible  <bruno@clisp.org>
14112
14113         Update to GNU gettext 0.18, part 2.
14114         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
14115         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
14116
14117 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14118
14119         Add missing include in test-pwrite.c.
14120         * tests/test-pwrite.c: Include string.h, for strcmp.
14121
14122 2010-05-24  Bruno Haible  <bruno@clisp.org>
14123
14124         * NEWS: Mention requirement for Automake option 'subdir-objects'.
14125
14126 2010-05-24  Bruno Haible  <bruno@clisp.org>
14127
14128         Don't use conversion with transliteration in u{8,16,32}_strcoll.
14129         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
14130         iconveh_error argument.
14131         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
14132         U_STRCONV_TO_LOCALE.
14133         * lib/unistr/u16-strcoll.c: Likewise.
14134         * lib/unistr/u32-strcoll.c: Likewise.
14135         * modules/unistr/u8-strcoll (Depends-on): Add
14136         uniconv/u8-strconv-to-enc, localcharset. Remove
14137         uniconv/u8-strconv-to-locale.
14138         (configure.ac): Bump version number.
14139         * modules/unistr/u16-strcoll (Depends-on): Add
14140         uniconv/u16-strconv-to-enc, localcharset. Remove
14141         uniconv/u16-strconv-to-locale.
14142         (configure.ac): Bump version number.
14143         * modules/unistr/u32-strcoll (Depends-on): Add
14144         uniconv/u32-strconv-to-enc, localcharset. Remove
14145         uniconv/u32-strconv-to-locale.
14146         (configure.ac): Bump version number.
14147
14148 2010-05-24  Bruno Haible  <bruno@clisp.org>
14149
14150         Avoid a test failure on NetBSD 5.0.
14151         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
14152         an iconv() bug.
14153
14154 2010-05-24  Bruno Haible  <bruno@clisp.org>
14155
14156         Adjust #include directive style.
14157         * modules/regex (Includes): Recommend to write <regex.h>.
14158
14159 2010-05-24  Bruno Haible  <bruno@clisp.org>
14160
14161         regex: Don't require alloca.
14162         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
14163         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
14164         only inside if (0).
14165
14166 2010-05-23  Jim Meyering  <meyering@redhat.com>
14167
14168         test-renameat.c: include <sys/stat.h>
14169         * tests/test-renameat.c: Include <sys/stat.h>; required for
14170         definition of S_IS* macros.
14171
14172 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
14173
14174         Update maintainer documentation for 'relocatable-prog' module.
14175         * doc/relocatable-maint.texi: Update.
14176         Comments by Bruno Haible.
14177
14178 2010-05-23  Bruno Haible  <bruno@clisp.org>
14179
14180         git-merge-changelog: Enable --split-merged-entry by default.
14181         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
14182         (usage): Don't mention this option any more.
14183         Reported by Ralf Wildenhues.
14184
14185 2010-05-23  Jim Meyering  <meyering@redhat.com>
14186
14187         test-pwrite: do not leave behind a test file named "out"
14188         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
14189         The trivial-looking use of init.sh is really necessary.
14190         It ensures that the temporary file, "out", is created in
14191         a temporary directory, and removed upon termination.
14192         * tests/test-pwrite.sh: Re-add file.
14193         * modules/pwrite-tests: Reference it.
14194
14195 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14196
14197         Fix output redirection buglet in init.sh.
14198         * tests/init.sh: Fix redirection of stderr.
14199
14200 2010-05-20  Simon Josefsson  <simon@josefsson.org>
14201
14202         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
14203
14204 2010-05-17  Simon Josefsson  <simon@josefsson.org>
14205
14206         * modules/valgrind-tests: New file.
14207         * m4/valgrind-tests.m4: New file.
14208         * doc/valgrind-tests.texi: New file.
14209         * doc/gnulib.texi (Running self-tests under valgrind): New
14210         section.
14211
14212 2010-05-19  Bruno Haible  <bruno@clisp.org>
14213
14214         Clean up dead code in recent commit.
14215         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
14216         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
14217         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
14218         Suggested by Paolo Bonzini.
14219
14220 2010-05-19  Bruno Haible  <bruno@clisp.org>
14221
14222         Avoid valgrind error reports from libunistring.
14223         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
14224         * modules/libunistring (Files): Add it.
14225         * modules/libunistring-optional (Files): Likewise.
14226
14227 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
14228             Bruno Haible  <bruno@clisp.org>
14229
14230         New module 'libunistring-optional'.
14231         * modules/libunistring-optional: New file.
14232         * m4/libunistring-base.m4: New file.
14233         * m4/libunistring-optional.m4: New file.
14234         * lib/unicase.in.h: Renamed from lib/unicase.h.
14235         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
14236         * lib/unictype.in.h: Renamed from lib/unictype.h.
14237         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
14238         * lib/uniname.in.h: Renamed from lib/uniname.h.
14239         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
14240         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
14241         * lib/unistr.in.h: Renamed from lib/unistr.h.
14242         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
14243         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
14244         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
14245         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
14246         gl_LIBUNISTRING. If the library was found, determine the installed
14247         version and set LIBUNISTRING_VERSION.
14248         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
14249         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
14250         handle a configuration option --with-included-libunistring.
14251         * modules/libunistring (Files): Add m4/absolute-header.m4.
14252         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
14253         Add m4/libunistring-base.m4.
14254         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14255         (Makefile.am): Build unicase.h from unicase.in.h.
14256         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
14257         Add m4/libunistring-base.m4.
14258         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14259         (Makefile.am): Build uniconv.h from uniconv.in.h.
14260         * modules/unictype/base (Files): Use unictype.in.h instead of
14261         unictype.h. Add m4/libunistring-base.m4.
14262         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14263         (Makefile.am): Build unictype.h from unictype.in.h.
14264         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
14265         Add m4/libunistring-base.m4.
14266         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14267         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
14268         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
14269         Add m4/libunistring-base.m4.
14270         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14271         (Makefile.am): Build uniname.h from uniname.in.h.
14272         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
14273         Add m4/libunistring-base.m4.
14274         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14275         (Makefile.am): Build uninorm.h from uninorm.in.h.
14276         * modules/unistdio/base (Files): Use unistdio.in.h instead of
14277         unistdio.h. Add m4/libunistring-base.m4.
14278         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14279         (Makefile.am): Build unistdio.h from unistdio.in.h.
14280         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
14281         Add m4/libunistring-base.m4.
14282         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14283         (Makefile.am): Build unistr.h from unistr.in.h.
14284         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
14285         Add m4/libunistring-base.m4.
14286         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14287         (Makefile.am): Build unitypes.h from unitypes.in.h.
14288         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
14289         Add m4/libunistring-base.m4.
14290         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14291         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
14292         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
14293         uniwidth.h. Add m4/libunistring-base.m4.
14294         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14295         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
14296         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
14297         instead of augmenting lib_SOURCES.
14298         * modules/unicase/empty-suffix-context: Likewise.
14299         * modules/unicase/locale-language: Likewise.
14300         * modules/unicase/tolower: Likewise.
14301         * modules/unicase/totitle: Likewise.
14302         * modules/unicase/toupper: Likewise.
14303         * modules/unicase/u8-casecmp: Likewise.
14304         * modules/unicase/u8-casecoll: Likewise.
14305         * modules/unicase/u8-casefold: Likewise.
14306         * modules/unicase/u8-casexfrm: Likewise.
14307         * modules/unicase/u8-ct-casefold: Likewise.
14308         * modules/unicase/u8-ct-tolower: Likewise.
14309         * modules/unicase/u8-ct-totitle: Likewise.
14310         * modules/unicase/u8-ct-toupper: Likewise.
14311         * modules/unicase/u8-is-cased: Likewise.
14312         * modules/unicase/u8-is-casefolded: Likewise.
14313         * modules/unicase/u8-is-lowercase: Likewise.
14314         * modules/unicase/u8-is-titlecase: Likewise.
14315         * modules/unicase/u8-is-uppercase: Likewise.
14316         * modules/unicase/u8-prefix-context: Likewise.
14317         * modules/unicase/u8-suffix-context: Likewise.
14318         * modules/unicase/u8-tolower: Likewise.
14319         * modules/unicase/u8-totitle: Likewise.
14320         * modules/unicase/u8-toupper: Likewise.
14321         * modules/unicase/u16-casecmp: Likewise.
14322         * modules/unicase/u16-casecoll: Likewise.
14323         * modules/unicase/u16-casefold: Likewise.
14324         * modules/unicase/u16-casexfrm: Likewise.
14325         * modules/unicase/u16-ct-casefold: Likewise.
14326         * modules/unicase/u16-ct-tolower: Likewise.
14327         * modules/unicase/u16-ct-totitle: Likewise.
14328         * modules/unicase/u16-ct-toupper: Likewise.
14329         * modules/unicase/u16-is-cased: Likewise.
14330         * modules/unicase/u16-is-casefolded: Likewise.
14331         * modules/unicase/u16-is-lowercase: Likewise.
14332         * modules/unicase/u16-is-titlecase: Likewise.
14333         * modules/unicase/u16-is-uppercase: Likewise.
14334         * modules/unicase/u16-prefix-context: Likewise.
14335         * modules/unicase/u16-suffix-context: Likewise.
14336         * modules/unicase/u16-tolower: Likewise.
14337         * modules/unicase/u16-totitle: Likewise.
14338         * modules/unicase/u16-toupper: Likewise.
14339         * modules/unicase/u32-casecmp: Likewise.
14340         * modules/unicase/u32-casecoll: Likewise.
14341         * modules/unicase/u32-casefold: Likewise.
14342         * modules/unicase/u32-casexfrm: Likewise.
14343         * modules/unicase/u32-ct-casefold: Likewise.
14344         * modules/unicase/u32-ct-tolower: Likewise.
14345         * modules/unicase/u32-ct-totitle: Likewise.
14346         * modules/unicase/u32-ct-toupper: Likewise.
14347         * modules/unicase/u32-is-cased: Likewise.
14348         * modules/unicase/u32-is-casefolded: Likewise.
14349         * modules/unicase/u32-is-lowercase: Likewise.
14350         * modules/unicase/u32-is-titlecase: Likewise.
14351         * modules/unicase/u32-is-uppercase: Likewise.
14352         * modules/unicase/u32-prefix-context: Likewise.
14353         * modules/unicase/u32-suffix-context: Likewise.
14354         * modules/unicase/u32-tolower: Likewise.
14355         * modules/unicase/u32-totitle: Likewise.
14356         * modules/unicase/u32-toupper: Likewise.
14357         * modules/unicase/ulc-casecmp: Likewise.
14358         * modules/unicase/ulc-casecoll: Likewise.
14359         * modules/unicase/ulc-casexfrm: Likewise.
14360         * modules/uniconv/u8-conv-from-enc: Likewise.
14361         * modules/uniconv/u8-conv-to-enc: Likewise.
14362         * modules/uniconv/u8-strconv-from-enc: Likewise.
14363         * modules/uniconv/u8-strconv-from-locale: Likewise.
14364         * modules/uniconv/u8-strconv-to-enc: Likewise.
14365         * modules/uniconv/u8-strconv-to-locale: Likewise.
14366         * modules/uniconv/u16-conv-from-enc: Likewise.
14367         * modules/uniconv/u16-conv-to-enc: Likewise.
14368         * modules/uniconv/u16-strconv-from-enc: Likewise.
14369         * modules/uniconv/u16-strconv-from-locale: Likewise.
14370         * modules/uniconv/u16-strconv-to-enc: Likewise.
14371         * modules/uniconv/u16-strconv-to-locale: Likewise.
14372         * modules/uniconv/u32-conv-from-enc: Likewise.
14373         * modules/uniconv/u32-conv-to-enc: Likewise.
14374         * modules/uniconv/u32-strconv-from-enc: Likewise.
14375         * modules/uniconv/u32-strconv-from-locale: Likewise.
14376         * modules/uniconv/u32-strconv-to-enc: Likewise.
14377         * modules/uniconv/u32-strconv-to-locale: Likewise.
14378         * modules/unictype/bidicategory-byname: Likewise.
14379         * modules/unictype/bidicategory-name: Likewise.
14380         * modules/unictype/bidicategory-of: Likewise.
14381         * modules/unictype/bidicategory-test: Likewise.
14382         * modules/unictype/block-list: Likewise.
14383         * modules/unictype/block-test: Likewise.
14384         * modules/unictype/category-C: Likewise.
14385         * modules/unictype/category-Cc: Likewise.
14386         * modules/unictype/category-Cf: Likewise.
14387         * modules/unictype/category-Cn: Likewise.
14388         * modules/unictype/category-Co: Likewise.
14389         * modules/unictype/category-Cs: Likewise.
14390         * modules/unictype/category-L: Likewise.
14391         * modules/unictype/category-Ll: Likewise.
14392         * modules/unictype/category-Lm: Likewise.
14393         * modules/unictype/category-Lo: Likewise.
14394         * modules/unictype/category-Lt: Likewise.
14395         * modules/unictype/category-Lu: Likewise.
14396         * modules/unictype/category-M: Likewise.
14397         * modules/unictype/category-Mc: Likewise.
14398         * modules/unictype/category-Me: Likewise.
14399         * modules/unictype/category-Mn: Likewise.
14400         * modules/unictype/category-N: Likewise.
14401         * modules/unictype/category-Nd: Likewise.
14402         * modules/unictype/category-Nl: Likewise.
14403         * modules/unictype/category-No: Likewise.
14404         * modules/unictype/category-P: Likewise.
14405         * modules/unictype/category-Pc: Likewise.
14406         * modules/unictype/category-Pd: Likewise.
14407         * modules/unictype/category-Pe: Likewise.
14408         * modules/unictype/category-Pf: Likewise.
14409         * modules/unictype/category-Pi: Likewise.
14410         * modules/unictype/category-Po: Likewise.
14411         * modules/unictype/category-Ps: Likewise.
14412         * modules/unictype/category-S: Likewise.
14413         * modules/unictype/category-Sc: Likewise.
14414         * modules/unictype/category-Sk: Likewise.
14415         * modules/unictype/category-Sm: Likewise.
14416         * modules/unictype/category-So: Likewise.
14417         * modules/unictype/category-Z: Likewise.
14418         * modules/unictype/category-Zl: Likewise.
14419         * modules/unictype/category-Zp: Likewise.
14420         * modules/unictype/category-Zs: Likewise.
14421         * modules/unictype/category-and: Likewise.
14422         * modules/unictype/category-and-not: Likewise.
14423         * modules/unictype/category-byname: Likewise.
14424         * modules/unictype/category-name: Likewise.
14425         * modules/unictype/category-none: Likewise.
14426         * modules/unictype/category-of: Likewise.
14427         * modules/unictype/category-or: Likewise.
14428         * modules/unictype/category-test: Likewise.
14429         * modules/unictype/combining-class: Likewise.
14430         * modules/unictype/ctype-alnum: Likewise.
14431         * modules/unictype/ctype-alpha: Likewise.
14432         * modules/unictype/ctype-blank: Likewise.
14433         * modules/unictype/ctype-cntrl: Likewise.
14434         * modules/unictype/ctype-digit: Likewise.
14435         * modules/unictype/ctype-graph: Likewise.
14436         * modules/unictype/ctype-lower: Likewise.
14437         * modules/unictype/ctype-print: Likewise.
14438         * modules/unictype/ctype-punct: Likewise.
14439         * modules/unictype/ctype-space: Likewise.
14440         * modules/unictype/ctype-upper: Likewise.
14441         * modules/unictype/ctype-xdigit: Likewise.
14442         * modules/unictype/decimal-digit: Likewise.
14443         * modules/unictype/digit: Likewise.
14444         * modules/unictype/mirror: Likewise.
14445         * modules/unictype/numeric: Likewise.
14446         * modules/unictype/property-alphabetic: Likewise.
14447         * modules/unictype/property-ascii-hex-digit: Likewise.
14448         * modules/unictype/property-bidi-arabic-digit: Likewise.
14449         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
14450         * modules/unictype/property-bidi-block-separator: Likewise.
14451         * modules/unictype/property-bidi-boundary-neutral: Likewise.
14452         * modules/unictype/property-bidi-common-separator: Likewise.
14453         * modules/unictype/property-bidi-control: Likewise.
14454         * modules/unictype/property-bidi-embedding-or-override: Likewise.
14455         * modules/unictype/property-bidi-eur-num-separator: Likewise.
14456         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
14457         * modules/unictype/property-bidi-european-digit: Likewise.
14458         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
14459         * modules/unictype/property-bidi-left-to-right: Likewise.
14460         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
14461         * modules/unictype/property-bidi-other-neutral: Likewise.
14462         * modules/unictype/property-bidi-pdf: Likewise.
14463         * modules/unictype/property-bidi-segment-separator: Likewise.
14464         * modules/unictype/property-bidi-whitespace: Likewise.
14465         * modules/unictype/property-byname: Likewise.
14466         * modules/unictype/property-combining: Likewise.
14467         * modules/unictype/property-composite: Likewise.
14468         * modules/unictype/property-currency-symbol: Likewise.
14469         * modules/unictype/property-dash: Likewise.
14470         * modules/unictype/property-decimal-digit: Likewise.
14471         * modules/unictype/property-default-ignorable-code-point: Likewise.
14472         * modules/unictype/property-deprecated: Likewise.
14473         * modules/unictype/property-diacritic: Likewise.
14474         * modules/unictype/property-extender: Likewise.
14475         * modules/unictype/property-format-control: Likewise.
14476         * modules/unictype/property-grapheme-base: Likewise.
14477         * modules/unictype/property-grapheme-extend: Likewise.
14478         * modules/unictype/property-grapheme-link: Likewise.
14479         * modules/unictype/property-hex-digit: Likewise.
14480         * modules/unictype/property-hyphen: Likewise.
14481         * modules/unictype/property-id-continue: Likewise.
14482         * modules/unictype/property-id-start: Likewise.
14483         * modules/unictype/property-ideographic: Likewise.
14484         * modules/unictype/property-ids-binary-operator: Likewise.
14485         * modules/unictype/property-ids-trinary-operator: Likewise.
14486         * modules/unictype/property-ignorable-control: Likewise.
14487         * modules/unictype/property-iso-control: Likewise.
14488         * modules/unictype/property-join-control: Likewise.
14489         * modules/unictype/property-left-of-pair: Likewise.
14490         * modules/unictype/property-line-separator: Likewise.
14491         * modules/unictype/property-logical-order-exception: Likewise.
14492         * modules/unictype/property-lowercase: Likewise.
14493         * modules/unictype/property-math: Likewise.
14494         * modules/unictype/property-non-break: Likewise.
14495         * modules/unictype/property-not-a-character: Likewise.
14496         * modules/unictype/property-numeric: Likewise.
14497         * modules/unictype/property-other-alphabetic: Likewise.
14498         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
14499         * modules/unictype/property-other-grapheme-extend: Likewise.
14500         * modules/unictype/property-other-id-continue: Likewise.
14501         * modules/unictype/property-other-id-start: Likewise.
14502         * modules/unictype/property-other-lowercase: Likewise.
14503         * modules/unictype/property-other-math: Likewise.
14504         * modules/unictype/property-other-uppercase: Likewise.
14505         * modules/unictype/property-paired-punctuation: Likewise.
14506         * modules/unictype/property-paragraph-separator: Likewise.
14507         * modules/unictype/property-pattern-syntax: Likewise.
14508         * modules/unictype/property-pattern-white-space: Likewise.
14509         * modules/unictype/property-private-use: Likewise.
14510         * modules/unictype/property-punctuation: Likewise.
14511         * modules/unictype/property-quotation-mark: Likewise.
14512         * modules/unictype/property-radical: Likewise.
14513         * modules/unictype/property-sentence-terminal: Likewise.
14514         * modules/unictype/property-soft-dotted: Likewise.
14515         * modules/unictype/property-space: Likewise.
14516         * modules/unictype/property-terminal-punctuation: Likewise.
14517         * modules/unictype/property-test: Likewise.
14518         * modules/unictype/property-titlecase: Likewise.
14519         * modules/unictype/property-unassigned-code-value: Likewise.
14520         * modules/unictype/property-unified-ideograph: Likewise.
14521         * modules/unictype/property-uppercase: Likewise.
14522         * modules/unictype/property-variation-selector: Likewise.
14523         * modules/unictype/property-white-space: Likewise.
14524         * modules/unictype/property-xid-continue: Likewise.
14525         * modules/unictype/property-xid-start: Likewise.
14526         * modules/unictype/property-zero-width: Likewise.
14527         * modules/unictype/scripts: Likewise.
14528         * modules/unictype/syntax-c-ident: Likewise.
14529         * modules/unictype/syntax-c-whitespace: Likewise.
14530         * modules/unictype/syntax-java-ident: Likewise.
14531         * modules/unictype/syntax-java-whitespace: Likewise.
14532         * modules/unilbrk/u8-possible-linebreaks: Likewise.
14533         * modules/unilbrk/u8-width-linebreaks: Likewise.
14534         * modules/unilbrk/u16-possible-linebreaks: Likewise.
14535         * modules/unilbrk/u16-width-linebreaks: Likewise.
14536         * modules/unilbrk/u32-possible-linebreaks: Likewise.
14537         * modules/unilbrk/u32-width-linebreaks: Likewise.
14538         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
14539         * modules/unilbrk/ulc-width-linebreaks: Likewise.
14540         * modules/uniname/uniname: Likewise.
14541         * modules/uninorm/canonical-decomposition: Likewise.
14542         * modules/uninorm/composition: Likewise.
14543         * modules/uninorm/decomposing-form: Likewise.
14544         * modules/uninorm/decomposition: Likewise.
14545         * modules/uninorm/filter: Likewise.
14546         * modules/uninorm/nfc: Likewise.
14547         * modules/uninorm/nfd: Likewise.
14548         * modules/uninorm/nfkc: Likewise.
14549         * modules/uninorm/nfkd: Likewise.
14550         * modules/uninorm/u8-normalize: Likewise.
14551         * modules/uninorm/u8-normcmp: Likewise.
14552         * modules/uninorm/u8-normcoll: Likewise.
14553         * modules/uninorm/u8-normxfrm: Likewise.
14554         * modules/uninorm/u16-normalize: Likewise.
14555         * modules/uninorm/u16-normcmp: Likewise.
14556         * modules/uninorm/u16-normcoll: Likewise.
14557         * modules/uninorm/u16-normxfrm: Likewise.
14558         * modules/uninorm/u32-normalize: Likewise.
14559         * modules/uninorm/u32-normcmp: Likewise.
14560         * modules/uninorm/u32-normcoll: Likewise.
14561         * modules/uninorm/u32-normxfrm: Likewise.
14562         * modules/unistdio/u8-asnprintf: Likewise.
14563         * modules/unistdio/u8-asprintf: Likewise.
14564         * modules/unistdio/u8-snprintf: Likewise.
14565         * modules/unistdio/u8-sprintf: Likewise.
14566         * modules/unistdio/u8-u8-asnprintf: Likewise.
14567         * modules/unistdio/u8-u8-asprintf: Likewise.
14568         * modules/unistdio/u8-u8-snprintf: Likewise.
14569         * modules/unistdio/u8-u8-sprintf: Likewise.
14570         * modules/unistdio/u8-u8-vasnprintf: Likewise.
14571         * modules/unistdio/u8-u8-vasprintf: Likewise.
14572         * modules/unistdio/u8-u8-vsnprintf: Likewise.
14573         * modules/unistdio/u8-u8-vsprintf: Likewise.
14574         * modules/unistdio/u8-vasnprintf: Likewise.
14575         * modules/unistdio/u8-vasprintf: Likewise.
14576         * modules/unistdio/u8-vsnprintf: Likewise.
14577         * modules/unistdio/u8-vsprintf: Likewise.
14578         * modules/unistdio/u16-asnprintf: Likewise.
14579         * modules/unistdio/u16-asprintf: Likewise.
14580         * modules/unistdio/u16-snprintf: Likewise.
14581         * modules/unistdio/u16-sprintf: Likewise.
14582         * modules/unistdio/u16-u16-asnprintf: Likewise.
14583         * modules/unistdio/u16-u16-asprintf: Likewise.
14584         * modules/unistdio/u16-u16-snprintf: Likewise.
14585         * modules/unistdio/u16-u16-sprintf: Likewise.
14586         * modules/unistdio/u16-u16-vasnprintf: Likewise.
14587         * modules/unistdio/u16-u16-vasprintf: Likewise.
14588         * modules/unistdio/u16-u16-vsnprintf: Likewise.
14589         * modules/unistdio/u16-u16-vsprintf: Likewise.
14590         * modules/unistdio/u16-vasnprintf: Likewise.
14591         * modules/unistdio/u16-vasprintf: Likewise.
14592         * modules/unistdio/u16-vsnprintf: Likewise.
14593         * modules/unistdio/u16-vsprintf: Likewise.
14594         * modules/unistdio/u32-asnprintf: Likewise.
14595         * modules/unistdio/u32-asprintf: Likewise.
14596         * modules/unistdio/u32-snprintf: Likewise.
14597         * modules/unistdio/u32-sprintf: Likewise.
14598         * modules/unistdio/u32-u32-asnprintf: Likewise.
14599         * modules/unistdio/u32-u32-asprintf: Likewise.
14600         * modules/unistdio/u32-u32-snprintf: Likewise.
14601         * modules/unistdio/u32-u32-sprintf: Likewise.
14602         * modules/unistdio/u32-u32-vasnprintf: Likewise.
14603         * modules/unistdio/u32-u32-vasprintf: Likewise.
14604         * modules/unistdio/u32-u32-vsnprintf: Likewise.
14605         * modules/unistdio/u32-u32-vsprintf: Likewise.
14606         * modules/unistdio/u32-vasnprintf: Likewise.
14607         * modules/unistdio/u32-vasprintf: Likewise.
14608         * modules/unistdio/u32-vsnprintf: Likewise.
14609         * modules/unistdio/u32-vsprintf: Likewise.
14610         * modules/unistdio/ulc-asnprintf: Likewise.
14611         * modules/unistdio/ulc-asprintf: Likewise.
14612         * modules/unistdio/ulc-fprintf: Likewise.
14613         * modules/unistdio/ulc-snprintf: Likewise.
14614         * modules/unistdio/ulc-sprintf: Likewise.
14615         * modules/unistdio/ulc-vasnprintf: Likewise.
14616         * modules/unistdio/ulc-vasprintf: Likewise.
14617         * modules/unistdio/ulc-vfprintf: Likewise.
14618         * modules/unistdio/ulc-vsnprintf: Likewise.
14619         * modules/unistdio/ulc-vsprintf: Likewise.
14620         * modules/unistr/u8-check: Likewise.
14621         * modules/unistr/u8-chr: Likewise.
14622         * modules/unistr/u8-cmp: Likewise.
14623         * modules/unistr/u8-cmp2: Likewise.
14624         * modules/unistr/u8-cpy: Likewise.
14625         * modules/unistr/u8-cpy-alloc: Likewise.
14626         * modules/unistr/u8-endswith: Likewise.
14627         * modules/unistr/u8-mblen: Likewise.
14628         * modules/unistr/u8-mbsnlen: Likewise.
14629         * modules/unistr/u8-mbtouc: Likewise.
14630         * modules/unistr/u8-mbtouc-unsafe: Likewise.
14631         * modules/unistr/u8-mbtoucr: Likewise.
14632         * modules/unistr/u8-move: Likewise.
14633         * modules/unistr/u8-next: Likewise.
14634         * modules/unistr/u8-prev: Likewise.
14635         * modules/unistr/u8-set: Likewise.
14636         * modules/unistr/u8-startswith: Likewise.
14637         * modules/unistr/u8-stpcpy: Likewise.
14638         * modules/unistr/u8-stpncpy: Likewise.
14639         * modules/unistr/u8-strcat: Likewise.
14640         * modules/unistr/u8-strchr: Likewise.
14641         * modules/unistr/u8-strcmp: Likewise.
14642         * modules/unistr/u8-strcoll: Likewise.
14643         * modules/unistr/u8-strcpy: Likewise.
14644         * modules/unistr/u8-strcspn: Likewise.
14645         * modules/unistr/u8-strdup: Likewise.
14646         * modules/unistr/u8-strlen: Likewise.
14647         * modules/unistr/u8-strmblen: Likewise.
14648         * modules/unistr/u8-strmbtouc: Likewise.
14649         * modules/unistr/u8-strncat: Likewise.
14650         * modules/unistr/u8-strncmp: Likewise.
14651         * modules/unistr/u8-strncpy: Likewise.
14652         * modules/unistr/u8-strnlen: Likewise.
14653         * modules/unistr/u8-strpbrk: Likewise.
14654         * modules/unistr/u8-strrchr: Likewise.
14655         * modules/unistr/u8-strspn: Likewise.
14656         * modules/unistr/u8-strstr: Likewise.
14657         * modules/unistr/u8-strtok: Likewise.
14658         * modules/unistr/u8-to-u16: Likewise.
14659         * modules/unistr/u8-to-u32: Likewise.
14660         * modules/unistr/u8-uctomb: Likewise.
14661         * modules/unistr/u16-check: Likewise.
14662         * modules/unistr/u16-chr: Likewise.
14663         * modules/unistr/u16-cmp: Likewise.
14664         * modules/unistr/u16-cmp2: Likewise.
14665         * modules/unistr/u16-cpy: Likewise.
14666         * modules/unistr/u16-cpy-alloc: Likewise.
14667         * modules/unistr/u16-endswith: Likewise.
14668         * modules/unistr/u16-mblen: Likewise.
14669         * modules/unistr/u16-mbsnlen: Likewise.
14670         * modules/unistr/u16-mbtouc: Likewise.
14671         * modules/unistr/u16-mbtouc-unsafe: Likewise.
14672         * modules/unistr/u16-mbtoucr: Likewise.
14673         * modules/unistr/u16-move: Likewise.
14674         * modules/unistr/u16-next: Likewise.
14675         * modules/unistr/u16-prev: Likewise.
14676         * modules/unistr/u16-set: Likewise.
14677         * modules/unistr/u16-startswith: Likewise.
14678         * modules/unistr/u16-stpcpy: Likewise.
14679         * modules/unistr/u16-stpncpy: Likewise.
14680         * modules/unistr/u16-strcat: Likewise.
14681         * modules/unistr/u16-strchr: Likewise.
14682         * modules/unistr/u16-strcmp: Likewise.
14683         * modules/unistr/u16-strcoll: Likewise.
14684         * modules/unistr/u16-strcpy: Likewise.
14685         * modules/unistr/u16-strcspn: Likewise.
14686         * modules/unistr/u16-strdup: Likewise.
14687         * modules/unistr/u16-strlen: Likewise.
14688         * modules/unistr/u16-strmblen: Likewise.
14689         * modules/unistr/u16-strmbtouc: Likewise.
14690         * modules/unistr/u16-strncat: Likewise.
14691         * modules/unistr/u16-strncmp: Likewise.
14692         * modules/unistr/u16-strncpy: Likewise.
14693         * modules/unistr/u16-strnlen: Likewise.
14694         * modules/unistr/u16-strpbrk: Likewise.
14695         * modules/unistr/u16-strrchr: Likewise.
14696         * modules/unistr/u16-strspn: Likewise.
14697         * modules/unistr/u16-strstr: Likewise.
14698         * modules/unistr/u16-strtok: Likewise.
14699         * modules/unistr/u16-to-u32: Likewise.
14700         * modules/unistr/u16-to-u8: Likewise.
14701         * modules/unistr/u16-uctomb: Likewise.
14702         * modules/unistr/u32-check: Likewise.
14703         * modules/unistr/u32-chr: Likewise.
14704         * modules/unistr/u32-cmp: Likewise.
14705         * modules/unistr/u32-cmp2: Likewise.
14706         * modules/unistr/u32-cpy: Likewise.
14707         * modules/unistr/u32-cpy-alloc: Likewise.
14708         * modules/unistr/u32-endswith: Likewise.
14709         * modules/unistr/u32-mblen: Likewise.
14710         * modules/unistr/u32-mbsnlen: Likewise.
14711         * modules/unistr/u32-mbtouc: Likewise.
14712         * modules/unistr/u32-mbtouc-unsafe: Likewise.
14713         * modules/unistr/u32-mbtoucr: Likewise.
14714         * modules/unistr/u32-move: Likewise.
14715         * modules/unistr/u32-next: Likewise.
14716         * modules/unistr/u32-prev: Likewise.
14717         * modules/unistr/u32-set: Likewise.
14718         * modules/unistr/u32-startswith: Likewise.
14719         * modules/unistr/u32-stpcpy: Likewise.
14720         * modules/unistr/u32-stpncpy: Likewise.
14721         * modules/unistr/u32-strcat: Likewise.
14722         * modules/unistr/u32-strchr: Likewise.
14723         * modules/unistr/u32-strcmp: Likewise.
14724         * modules/unistr/u32-strcoll: Likewise.
14725         * modules/unistr/u32-strcpy: Likewise.
14726         * modules/unistr/u32-strcspn: Likewise.
14727         * modules/unistr/u32-strdup: Likewise.
14728         * modules/unistr/u32-strlen: Likewise.
14729         * modules/unistr/u32-strmblen: Likewise.
14730         * modules/unistr/u32-strmbtouc: Likewise.
14731         * modules/unistr/u32-strncat: Likewise.
14732         * modules/unistr/u32-strncmp: Likewise.
14733         * modules/unistr/u32-strncpy: Likewise.
14734         * modules/unistr/u32-strnlen: Likewise.
14735         * modules/unistr/u32-strpbrk: Likewise.
14736         * modules/unistr/u32-strrchr: Likewise.
14737         * modules/unistr/u32-strspn: Likewise.
14738         * modules/unistr/u32-strstr: Likewise.
14739         * modules/unistr/u32-strtok: Likewise.
14740         * modules/unistr/u32-to-u16: Likewise.
14741         * modules/unistr/u32-to-u8: Likewise.
14742         * modules/unistr/u32-uctomb: Likewise.
14743         * modules/uniwbrk/u8-wordbreaks: Likewise.
14744         * modules/uniwbrk/u16-wordbreaks: Likewise.
14745         * modules/uniwbrk/u32-wordbreaks: Likewise.
14746         * modules/uniwbrk/ulc-wordbreaks: Likewise.
14747         * modules/uniwbrk/wordbreak-property: Likewise.
14748         * modules/uniwidth/u8-strwidth: Likewise.
14749         * modules/uniwidth/u8-width: Likewise.
14750         * modules/uniwidth/u16-strwidth: Likewise.
14751         * modules/uniwidth/u16-width: Likewise.
14752         * modules/uniwidth/u32-strwidth: Likewise.
14753         * modules/uniwidth/u32-width: Likewise.
14754         * modules/uniwidth/width: Likewise.
14755         * modules/unicase/cased-tests (Makefile.am): Link all test programs
14756         with $(LIBUNISTRING).
14757         * modules/unicase/ignorable-tests: Likewise.
14758         * modules/unicase/locale-language-tests: Likewise.
14759         * modules/unicase/tolower-tests: Likewise.
14760         * modules/unicase/totitle-tests: Likewise.
14761         * modules/unicase/toupper-tests: Likewise.
14762         * modules/unicase/u8-casecmp-tests: Likewise.
14763         * modules/unicase/u8-casecoll-tests: Likewise.
14764         * modules/unicase/u8-casefold-tests: Likewise.
14765         * modules/unicase/u8-is-cased-tests: Likewise.
14766         * modules/unicase/u8-is-casefolded-tests: Likewise.
14767         * modules/unicase/u8-is-lowercase-tests: Likewise.
14768         * modules/unicase/u8-is-titlecase-tests: Likewise.
14769         * modules/unicase/u8-is-uppercase-tests: Likewise.
14770         * modules/unicase/u8-tolower-tests: Likewise.
14771         * modules/unicase/u8-totitle-tests: Likewise.
14772         * modules/unicase/u8-toupper-tests: Likewise.
14773         * modules/unicase/u16-casecmp-tests: Likewise.
14774         * modules/unicase/u16-casecoll-tests: Likewise.
14775         * modules/unicase/u16-casefold-tests: Likewise.
14776         * modules/unicase/u16-is-cased-tests: Likewise.
14777         * modules/unicase/u16-is-casefolded-tests: Likewise.
14778         * modules/unicase/u16-is-lowercase-tests: Likewise.
14779         * modules/unicase/u16-is-titlecase-tests: Likewise.
14780         * modules/unicase/u16-is-uppercase-tests: Likewise.
14781         * modules/unicase/u16-tolower-tests: Likewise.
14782         * modules/unicase/u16-totitle-tests: Likewise.
14783         * modules/unicase/u16-toupper-tests: Likewise.
14784         * modules/unicase/u32-casecmp-tests: Likewise.
14785         * modules/unicase/u32-casecoll-tests: Likewise.
14786         * modules/unicase/u32-casefold-tests: Likewise.
14787         * modules/unicase/u32-is-cased-tests: Likewise.
14788         * modules/unicase/u32-is-casefolded-tests: Likewise.
14789         * modules/unicase/u32-is-lowercase-tests: Likewise.
14790         * modules/unicase/u32-is-titlecase-tests: Likewise.
14791         * modules/unicase/u32-is-uppercase-tests: Likewise.
14792         * modules/unicase/u32-tolower-tests: Likewise.
14793         * modules/unicase/u32-totitle-tests: Likewise.
14794         * modules/unicase/u32-toupper-tests: Likewise.
14795         * modules/unicase/ulc-casecmp-tests: Likewise.
14796         * modules/unicase/ulc-casecoll-tests: Likewise.
14797         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
14798         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
14799         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
14800         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
14801         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
14802         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
14803         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
14804         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
14805         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
14806         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
14807         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
14808         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
14809         * modules/unictype/bidicategory-byname-tests: Likewise.
14810         * modules/unictype/bidicategory-name-tests: Likewise.
14811         * modules/unictype/bidicategory-of-tests: Likewise.
14812         * modules/unictype/bidicategory-test-tests: Likewise.
14813         * modules/unictype/block-list-tests: Likewise.
14814         * modules/unictype/block-of-tests: Likewise.
14815         * modules/unictype/block-test-tests: Likewise.
14816         * modules/unictype/category-C-tests: Likewise.
14817         * modules/unictype/category-Cc-tests: Likewise.
14818         * modules/unictype/category-Cf-tests: Likewise.
14819         * modules/unictype/category-Cn-tests: Likewise.
14820         * modules/unictype/category-Co-tests: Likewise.
14821         * modules/unictype/category-Cs-tests: Likewise.
14822         * modules/unictype/category-L-tests: Likewise.
14823         * modules/unictype/category-Ll-tests: Likewise.
14824         * modules/unictype/category-Lm-tests: Likewise.
14825         * modules/unictype/category-Lo-tests: Likewise.
14826         * modules/unictype/category-Lt-tests: Likewise.
14827         * modules/unictype/category-Lu-tests: Likewise.
14828         * modules/unictype/category-M-tests: Likewise.
14829         * modules/unictype/category-Mc-tests: Likewise.
14830         * modules/unictype/category-Me-tests: Likewise.
14831         * modules/unictype/category-Mn-tests: Likewise.
14832         * modules/unictype/category-N-tests: Likewise.
14833         * modules/unictype/category-Nd-tests: Likewise.
14834         * modules/unictype/category-Nl-tests: Likewise.
14835         * modules/unictype/category-No-tests: Likewise.
14836         * modules/unictype/category-P-tests: Likewise.
14837         * modules/unictype/category-Pc-tests: Likewise.
14838         * modules/unictype/category-Pd-tests: Likewise.
14839         * modules/unictype/category-Pe-tests: Likewise.
14840         * modules/unictype/category-Pf-tests: Likewise.
14841         * modules/unictype/category-Pi-tests: Likewise.
14842         * modules/unictype/category-Po-tests: Likewise.
14843         * modules/unictype/category-Ps-tests: Likewise.
14844         * modules/unictype/category-S-tests: Likewise.
14845         * modules/unictype/category-Sc-tests: Likewise.
14846         * modules/unictype/category-Sk-tests: Likewise.
14847         * modules/unictype/category-Sm-tests: Likewise.
14848         * modules/unictype/category-So-tests: Likewise.
14849         * modules/unictype/category-Z-tests: Likewise.
14850         * modules/unictype/category-Zl-tests: Likewise.
14851         * modules/unictype/category-Zp-tests: Likewise.
14852         * modules/unictype/category-Zs-tests: Likewise.
14853         * modules/unictype/category-and-not-tests: Likewise.
14854         * modules/unictype/category-and-tests: Likewise.
14855         * modules/unictype/category-byname-tests: Likewise.
14856         * modules/unictype/category-name-tests: Likewise.
14857         * modules/unictype/category-none-tests: Likewise.
14858         * modules/unictype/category-of-tests: Likewise.
14859         * modules/unictype/category-or-tests: Likewise.
14860         * modules/unictype/category-test-withtable-tests: Likewise.
14861         * modules/unictype/combining-class-tests: Likewise.
14862         * modules/unictype/ctype-alnum-tests: Likewise.
14863         * modules/unictype/ctype-alpha-tests: Likewise.
14864         * modules/unictype/ctype-blank-tests: Likewise.
14865         * modules/unictype/ctype-cntrl-tests: Likewise.
14866         * modules/unictype/ctype-digit-tests: Likewise.
14867         * modules/unictype/ctype-graph-tests: Likewise.
14868         * modules/unictype/ctype-lower-tests: Likewise.
14869         * modules/unictype/ctype-print-tests: Likewise.
14870         * modules/unictype/ctype-punct-tests: Likewise.
14871         * modules/unictype/ctype-space-tests: Likewise.
14872         * modules/unictype/ctype-upper-tests: Likewise.
14873         * modules/unictype/ctype-xdigit-tests: Likewise.
14874         * modules/unictype/decimal-digit-tests: Likewise.
14875         * modules/unictype/digit-tests: Likewise.
14876         * modules/unictype/mirror-tests: Likewise.
14877         * modules/unictype/numeric-tests: Likewise.
14878         * modules/unictype/property-alphabetic-tests: Likewise.
14879         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
14880         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
14881         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
14882         * modules/unictype/property-bidi-block-separator-tests: Likewise.
14883         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
14884         * modules/unictype/property-bidi-common-separator-tests: Likewise.
14885         * modules/unictype/property-bidi-control-tests: Likewise.
14886         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
14887         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
14888         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
14889         * modules/unictype/property-bidi-european-digit-tests: Likewise.
14890         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
14891         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
14892         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
14893         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
14894         * modules/unictype/property-bidi-pdf-tests: Likewise.
14895         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
14896         * modules/unictype/property-bidi-whitespace-tests: Likewise.
14897         * modules/unictype/property-byname-tests: Likewise.
14898         * modules/unictype/property-combining-tests: Likewise.
14899         * modules/unictype/property-composite-tests: Likewise.
14900         * modules/unictype/property-currency-symbol-tests: Likewise.
14901         * modules/unictype/property-dash-tests: Likewise.
14902         * modules/unictype/property-decimal-digit-tests: Likewise.
14903         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
14904         * modules/unictype/property-deprecated-tests: Likewise.
14905         * modules/unictype/property-diacritic-tests: Likewise.
14906         * modules/unictype/property-extender-tests: Likewise.
14907         * modules/unictype/property-format-control-tests: Likewise.
14908         * modules/unictype/property-grapheme-base-tests: Likewise.
14909         * modules/unictype/property-grapheme-extend-tests: Likewise.
14910         * modules/unictype/property-grapheme-link-tests: Likewise.
14911         * modules/unictype/property-hex-digit-tests: Likewise.
14912         * modules/unictype/property-hyphen-tests: Likewise.
14913         * modules/unictype/property-id-continue-tests: Likewise.
14914         * modules/unictype/property-id-start-tests: Likewise.
14915         * modules/unictype/property-ideographic-tests: Likewise.
14916         * modules/unictype/property-ids-binary-operator-tests: Likewise.
14917         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
14918         * modules/unictype/property-ignorable-control-tests: Likewise.
14919         * modules/unictype/property-iso-control-tests: Likewise.
14920         * modules/unictype/property-join-control-tests: Likewise.
14921         * modules/unictype/property-left-of-pair-tests: Likewise.
14922         * modules/unictype/property-line-separator-tests: Likewise.
14923         * modules/unictype/property-logical-order-exception-tests: Likewise.
14924         * modules/unictype/property-lowercase-tests: Likewise.
14925         * modules/unictype/property-math-tests: Likewise.
14926         * modules/unictype/property-non-break-tests: Likewise.
14927         * modules/unictype/property-not-a-character-tests: Likewise.
14928         * modules/unictype/property-numeric-tests: Likewise.
14929         * modules/unictype/property-other-alphabetic-tests: Likewise.
14930         * modules/unictype/property-other-default-ignorable-code-point-tests:
14931         Likewise.
14932         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
14933         * modules/unictype/property-other-id-continue-tests: Likewise.
14934         * modules/unictype/property-other-id-start-tests: Likewise.
14935         * modules/unictype/property-other-lowercase-tests: Likewise.
14936         * modules/unictype/property-other-math-tests: Likewise.
14937         * modules/unictype/property-other-uppercase-tests: Likewise.
14938         * modules/unictype/property-paired-punctuation-tests: Likewise.
14939         * modules/unictype/property-paragraph-separator-tests: Likewise.
14940         * modules/unictype/property-pattern-syntax-tests: Likewise.
14941         * modules/unictype/property-pattern-white-space-tests: Likewise.
14942         * modules/unictype/property-private-use-tests: Likewise.
14943         * modules/unictype/property-punctuation-tests: Likewise.
14944         * modules/unictype/property-quotation-mark-tests: Likewise.
14945         * modules/unictype/property-radical-tests: Likewise.
14946         * modules/unictype/property-sentence-terminal-tests: Likewise.
14947         * modules/unictype/property-soft-dotted-tests: Likewise.
14948         * modules/unictype/property-space-tests: Likewise.
14949         * modules/unictype/property-terminal-punctuation-tests: Likewise.
14950         * modules/unictype/property-test-tests: Likewise.
14951         * modules/unictype/property-titlecase-tests: Likewise.
14952         * modules/unictype/property-unassigned-code-value-tests: Likewise.
14953         * modules/unictype/property-unified-ideograph-tests: Likewise.
14954         * modules/unictype/property-uppercase-tests: Likewise.
14955         * modules/unictype/property-variation-selector-tests: Likewise.
14956         * modules/unictype/property-white-space-tests: Likewise.
14957         * modules/unictype/property-xid-continue-tests: Likewise.
14958         * modules/unictype/property-xid-start-tests: Likewise.
14959         * modules/unictype/property-zero-width-tests: Likewise.
14960         * modules/unictype/scripts-tests: Likewise.
14961         * modules/unictype/syntax-c-ident-tests: Likewise.
14962         * modules/unictype/syntax-c-whitespace-tests: Likewise.
14963         * modules/unictype/syntax-java-ident-tests: Likewise.
14964         * modules/unictype/syntax-java-whitespace-tests: Likewise.
14965         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
14966         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
14967         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
14968         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
14969         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
14970         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
14971         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
14972         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
14973         * modules/uniname/uniname-tests: Likewise.
14974         * modules/uninorm/canonical-decomposition-tests: Likewise.
14975         * modules/uninorm/compat-decomposition-tests: Likewise.
14976         * modules/uninorm/composition-tests: Likewise.
14977         * modules/uninorm/decomposing-form-tests: Likewise.
14978         * modules/uninorm/decomposition-tests: Likewise.
14979         * modules/uninorm/filter-tests: Likewise.
14980         * modules/uninorm/nfc-tests: Likewise.
14981         * modules/uninorm/nfd-tests: Likewise.
14982         * modules/uninorm/nfkc-tests: Likewise.
14983         * modules/uninorm/nfkd-tests: Likewise.
14984         * modules/uninorm/u8-normcmp-tests: Likewise.
14985         * modules/uninorm/u8-normcoll-tests: Likewise.
14986         * modules/uninorm/u16-normcmp-tests: Likewise.
14987         * modules/uninorm/u16-normcoll-tests: Likewise.
14988         * modules/uninorm/u32-normcmp-tests: Likewise.
14989         * modules/uninorm/u32-normcoll-tests: Likewise.
14990         * modules/unistdio/u8-asnprintf-tests: Likewise.
14991         * modules/unistdio/u8-vasnprintf-tests: Likewise.
14992         * modules/unistdio/u8-vasprintf-tests: Likewise.
14993         * modules/unistdio/u8-vsnprintf-tests: Likewise.
14994         * modules/unistdio/u8-vsprintf-tests: Likewise.
14995         * modules/unistdio/u16-asnprintf-tests: Likewise.
14996         * modules/unistdio/u16-vasnprintf-tests: Likewise.
14997         * modules/unistdio/u16-vasprintf-tests: Likewise.
14998         * modules/unistdio/u16-vsnprintf-tests: Likewise.
14999         * modules/unistdio/u16-vsprintf-tests: Likewise.
15000         * modules/unistdio/u32-asnprintf-tests: Likewise.
15001         * modules/unistdio/u32-vasnprintf-tests: Likewise.
15002         * modules/unistdio/u32-vasprintf-tests: Likewise.
15003         * modules/unistdio/u32-vsnprintf-tests: Likewise.
15004         * modules/unistdio/u32-vsprintf-tests: Likewise.
15005         * modules/unistdio/ulc-asnprintf-tests: Likewise.
15006         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
15007         * modules/unistdio/ulc-vasprintf-tests: Likewise.
15008         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
15009         * modules/unistdio/ulc-vsprintf-tests: Likewise.
15010         * modules/unistr/u8-check-tests: Likewise.
15011         * modules/unistr/u8-chr-tests: Likewise.
15012         * modules/unistr/u8-cmp-tests: Likewise.
15013         * modules/unistr/u8-cmp2-tests: Likewise.
15014         * modules/unistr/u8-cpy-alloc-tests: Likewise.
15015         * modules/unistr/u8-cpy-tests: Likewise.
15016         * modules/unistr/u8-mblen-tests: Likewise.
15017         * modules/unistr/u8-mbsnlen-tests: Likewise.
15018         * modules/unistr/u8-mbtouc-tests: Likewise.
15019         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
15020         * modules/unistr/u8-mbtoucr-tests: Likewise.
15021         * modules/unistr/u8-move-tests: Likewise.
15022         * modules/unistr/u8-next-tests: Likewise.
15023         * modules/unistr/u8-prev-tests: Likewise.
15024         * modules/unistr/u8-set-tests: Likewise.
15025         * modules/unistr/u8-stpcpy-tests: Likewise.
15026         * modules/unistr/u8-stpncpy-tests: Likewise.
15027         * modules/unistr/u8-strcat-tests: Likewise.
15028         * modules/unistr/u8-strcmp-tests: Likewise.
15029         * modules/unistr/u8-strcoll-tests: Likewise.
15030         * modules/unistr/u8-strcpy-tests: Likewise.
15031         * modules/unistr/u8-strdup-tests: Likewise.
15032         * modules/unistr/u8-strlen-tests: Likewise.
15033         * modules/unistr/u8-strmblen-tests: Likewise.
15034         * modules/unistr/u8-strmbtouc-tests: Likewise.
15035         * modules/unistr/u8-strncat-tests: Likewise.
15036         * modules/unistr/u8-strncmp-tests: Likewise.
15037         * modules/unistr/u8-strncpy-tests: Likewise.
15038         * modules/unistr/u8-strnlen-tests: Likewise.
15039         * modules/unistr/u8-to-u16-tests: Likewise.
15040         * modules/unistr/u8-to-u32-tests: Likewise.
15041         * modules/unistr/u8-uctomb-tests: Likewise.
15042         * modules/unistr/u16-check-tests: Likewise.
15043         * modules/unistr/u16-chr-tests: Likewise.
15044         * modules/unistr/u16-cmp-tests: Likewise.
15045         * modules/unistr/u16-cmp2-tests: Likewise.
15046         * modules/unistr/u16-cpy-alloc-tests: Likewise.
15047         * modules/unistr/u16-cpy-tests: Likewise.
15048         * modules/unistr/u16-mblen-tests: Likewise.
15049         * modules/unistr/u16-mbsnlen-tests: Likewise.
15050         * modules/unistr/u16-mbtouc-tests: Likewise.
15051         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
15052         * modules/unistr/u16-mbtoucr-tests: Likewise.
15053         * modules/unistr/u16-move-tests: Likewise.
15054         * modules/unistr/u16-next-tests: Likewise.
15055         * modules/unistr/u16-prev-tests: Likewise.
15056         * modules/unistr/u16-set-tests: Likewise.
15057         * modules/unistr/u16-stpcpy-tests: Likewise.
15058         * modules/unistr/u16-stpncpy-tests: Likewise.
15059         * modules/unistr/u16-strcat-tests: Likewise.
15060         * modules/unistr/u16-strcmp-tests: Likewise.
15061         * modules/unistr/u16-strcoll-tests: Likewise.
15062         * modules/unistr/u16-strcpy-tests: Likewise.
15063         * modules/unistr/u16-strdup-tests: Likewise.
15064         * modules/unistr/u16-strlen-tests: Likewise.
15065         * modules/unistr/u16-strmblen-tests: Likewise.
15066         * modules/unistr/u16-strmbtouc-tests: Likewise.
15067         * modules/unistr/u16-strncat-tests: Likewise.
15068         * modules/unistr/u16-strncmp-tests: Likewise.
15069         * modules/unistr/u16-strncpy-tests: Likewise.
15070         * modules/unistr/u16-strnlen-tests: Likewise.
15071         * modules/unistr/u16-to-u32-tests: Likewise.
15072         * modules/unistr/u16-to-u8-tests: Likewise.
15073         * modules/unistr/u16-uctomb-tests: Likewise.
15074         * modules/unistr/u32-check-tests: Likewise.
15075         * modules/unistr/u32-chr-tests: Likewise.
15076         * modules/unistr/u32-cmp-tests: Likewise.
15077         * modules/unistr/u32-cmp2-tests: Likewise.
15078         * modules/unistr/u32-cpy-alloc-tests: Likewise.
15079         * modules/unistr/u32-cpy-tests: Likewise.
15080         * modules/unistr/u32-mblen-tests: Likewise.
15081         * modules/unistr/u32-mbsnlen-tests: Likewise.
15082         * modules/unistr/u32-mbtouc-tests: Likewise.
15083         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
15084         * modules/unistr/u32-mbtoucr-tests: Likewise.
15085         * modules/unistr/u32-move-tests: Likewise.
15086         * modules/unistr/u32-next-tests: Likewise.
15087         * modules/unistr/u32-prev-tests: Likewise.
15088         * modules/unistr/u32-set-tests: Likewise.
15089         * modules/unistr/u32-stpcpy-tests: Likewise.
15090         * modules/unistr/u32-stpncpy-tests: Likewise.
15091         * modules/unistr/u32-strcat-tests: Likewise.
15092         * modules/unistr/u32-strcmp-tests: Likewise.
15093         * modules/unistr/u32-strcoll-tests: Likewise.
15094         * modules/unistr/u32-strcpy-tests: Likewise.
15095         * modules/unistr/u32-strdup-tests: Likewise.
15096         * modules/unistr/u32-strlen-tests: Likewise.
15097         * modules/unistr/u32-strmblen-tests: Likewise.
15098         * modules/unistr/u32-strmbtouc-tests: Likewise.
15099         * modules/unistr/u32-strncat-tests: Likewise.
15100         * modules/unistr/u32-strncmp-tests: Likewise.
15101         * modules/unistr/u32-strncpy-tests: Likewise.
15102         * modules/unistr/u32-strnlen-tests: Likewise.
15103         * modules/unistr/u32-to-u16-tests: Likewise.
15104         * modules/unistr/u32-to-u8-tests: Likewise.
15105         * modules/unistr/u32-uctomb-tests: Likewise.
15106         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
15107         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
15108         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
15109         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
15110         * modules/uniwidth/u8-strwidth-tests: Likewise.
15111         * modules/uniwidth/u8-width-tests: Likewise.
15112         * modules/uniwidth/u16-strwidth-tests: Likewise.
15113         * modules/uniwidth/u16-width-tests: Likewise.
15114         * modules/uniwidth/u32-strwidth-tests: Likewise.
15115         * modules/uniwidth/u32-width-tests: Likewise.
15116         * modules/uniwidth/width-tests: Likewise.
15117
15118 2010-05-18  Richard Jones  <rjones@redhat.com>
15119
15120         doc: users.txt: list hivex
15121         * users.txt: Add hivex.
15122
15123 2010-05-18  Richard Jones  <rjones@redhat.com>
15124
15125         doc: users.txt: list febootstrap
15126         * users.txt: Add febootstrap.
15127
15128 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
15129
15130         bootstrap: fix an error when gnulib is not used as a git submodule
15131         * build-aux/bootstrap (gnulib_path): If its length is zero then
15132         assign "gnulib" to it.
15133         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
15134
15135 2010-05-16  Bruno Haible  <bruno@clisp.org>
15136
15137         Avoid autoconf warnings about AM_ICONV.
15138         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
15139         2.64.
15140
15141 2010-05-16  Bruno Haible  <bruno@clisp.org>
15142
15143         absolute-header: Make the macro usable in more situations.
15144         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
15145         from gl_ABSOLUTE_HEADER.
15146         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
15147
15148 2010-05-16  James Youngman  <jay@gnu.org>
15149
15150         doc: update users.txt
15151         * users.txt: Add CSSC.
15152
15153 2010-05-16  Jim Meyering  <meyering@redhat.com>
15154
15155         init.sh: fix an error in the previous change; add more comments
15156         * tests/init.sh: Compare exit code in loop against 9, not 2.
15157         Patch by Bruno Haible.
15158         Make the two tests more similar by adding an empty "then" clause.
15159         Add comments.
15160
15161         init.sh: avoid unnecessary shell re-exec
15162         * tests/init.sh: Improve the re-exec-required check to first test the
15163         current shell.  If it passes the test, do not search for a shell that
15164         does pass, and do not re-exec.  This test is particularly contorted to
15165         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
15166         of $(...) evokes a syntax error and causes immediate shell exit with
15167         status 2.  Bruno Haible reported that the re-exec made it impossible
15168         to single-step through any init.sh-using script.
15169
15170 2010-05-16  Bruno Haible  <bruno@clisp.org>
15171
15172         Fix collision between gnulib's and libintl's printf replacements.
15173         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
15174         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
15175         (printf): When using GNU C, map the __printf__ function to rpl_printf
15176         via __asm__. When not using GNU C, define rpl_printf instead of
15177         __printf__.
15178         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
15179         commit.
15180         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
15181         commit.
15182         * m4/asm-underscore.m4: New file.
15183         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
15184         * modules/stdio (Files): Add m4/asm-underscore.m4.
15185         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
15186         Reported by Ben Pfaff.
15187
15188 2010-05-16  Bruno Haible  <bruno@clisp.org>
15189
15190         verify: Avoid skipping the test on openSUSE 11.0.
15191         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
15192
15193 2010-05-13  Bruno Haible  <bruno@clisp.org>
15194
15195         Avoid useless warnings from G++.
15196         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
15197         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
15198         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15199
15200 2010-05-11  Jim Meyering  <meyering@redhat.com>
15201
15202         maint.mk: tweak preceding change
15203         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
15204         regexps tighter by anchoring at EOL, and make the new group "shy"
15205         for slightly decreased overhead.
15206
15207 2010-05-11  Eric Blake  <eblake@redhat.com>
15208
15209         maint.mk: gnulib doesn't guarantee NSIG
15210         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
15211
15212 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
15213
15214         test-pwrite.c: Remove unused variable declaration.
15215         * tests/test-pwrite.c (main): Remove read_buf declaration.
15216
15217         Remove useless test-pwrite.sh file.
15218         * tests/test-pwrite.sh: Delete file.
15219         * modules/pwrite-tests: Remove references.
15220         Reported by Bruno Haible.
15221
15222 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
15223
15224         init.sh: fix a typo
15225         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
15226
15227 2010-05-10  Jim Meyering  <meyering@redhat.com>
15228
15229         maint.mk: avoid using a temporary file in the always-defined-macros check
15230         * top/maint.mk (.re-defmac): Remove rule.
15231         (gl_trap_): Remove definition.
15232         (sc_prohibit_always-defined_macros): Rewrite not to create and
15233         depend on a temporary file.  Instead, depend on GNU grep's ability
15234         to read a list of regular expressions from stdin when given "-f -".
15235
15236 2010-05-09  Bruno Haible  <bruno@clisp.org>
15237
15238         Update to GNU gettext 0.18, part 1.
15239         * m4/gettext.m4: Update to GNU gettext 0.18.
15240         * m4/intl.m4: Likewise.
15241         * m4/po.m4: Likewise.
15242         * modules/gettext (Files): Add m4/fcntl-o.m4.
15243         (configure.ac): Require gettext infrastructure from version 0.18.
15244
15245 2010-05-09  Jim Meyering  <meyering@redhat.com>
15246
15247         init.sh: enable MALLOC_PERTURB_
15248         * tests/init.sh: Enable glibc's malloc-perturbing option.
15249
15250         maint.mk: improve sc_cross_check_PATH_usage_in_tests
15251         With my recent change in init.sh from the two-line form:
15252             -#   : ${srcdir=.}
15253             -#   . "$srcdir/init.sh"; path_prepend_ .
15254             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
15255         I noticed that using the one-line form would cause this test
15256         to fail with a false-positive, or to stop working altogether,
15257         depending on whether help-version changed or all the tests did.
15258         * top/maint.mk (_hv_regex): Remove this definition.
15259         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
15260         (_hv_regex_strong): Use a stronger regex to check for conformance.
15261         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
15262         Give a separate diagnostic for lack of conforming use.
15263
15264         maint.mk: prohibit definition of symbols defined by gnulib
15265         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
15266         definition of symbols defined by gnulib.
15267
15268 2010-05-09  Bruno Haible  <bruno@clisp.org>
15269
15270         acl: Avoid test failure on Cygwin-hosted mingw.
15271         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
15272
15273 2010-05-09  Bruno Haible  <bruno@clisp.org>
15274
15275         error: Use system's fcntl function.
15276         * lib/error.c (fcntl): Undefine.
15277
15278 2010-05-09  Jim Meyering  <meyering@redhat.com>
15279
15280         verify: adjust formatting to be more consistent
15281         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
15282         argument-list '('s, and after one comma.
15283
15284 2010-05-09  Bruno Haible  <bruno@clisp.org>
15285
15286         error: More reliable output on mingw.
15287         * lib/error.c: Include <windows.h>.
15288         (is_open): New function.
15289         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
15290         defined.
15291
15292 2010-05-09  Bruno Haible  <bruno@clisp.org>
15293
15294         vasnprintf: Fix syntax errors in libintl build on mingw.
15295         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
15296         pad_ourselves and prec_ourselves after use.
15297
15298 2010-05-08  Bruno Haible  <bruno@clisp.org>
15299
15300         * lib/config.charset: Update comments for Cygwin 1.7.
15301         * lib/localcharset.c: Likewise.
15302
15303 2010-05-07  Jim Meyering  <meyering@redhat.com>
15304
15305         init.sh: improve comments
15306         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
15307         . "${srcdir=.}/init.sh"; path_prepend_ .
15308         Add a note about path_prepend_ and the alternative of using
15309         TESTS_ENVIRONMENT.
15310
15311 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
15312
15313         exclude: Unescape hashed patterns in wildcard mode.
15314         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
15315         to the hash list.
15316         * tests/test-exclude8.sh: New test case.
15317         * modules/exclude-tests: Add new test.
15318
15319 2010-05-05  Eric Blake  <eblake@redhat.com>
15320
15321         verify: automate tests
15322         * modules/verify-tests: New module.
15323         * tests/test-verify.sh: New file.
15324         * tests/test-verify.c: Guard each negative test with a unique id.
15325         Also avoid warning about unused left hand of comma expressions.
15326
15327 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15328
15329         Further improvements to verify.h, suggested by Eric Blake.
15330         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
15331         the GL_* versions, to avoid collision with OpenGL.
15332         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
15333         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
15334         than testing merely whether it's defined.
15335
15336         Modify verify.h to pacify gcc -Wredundant_decls.
15337         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
15338         These use the prefix "GL_" since they're likely to be useful elsewhere.
15339         We may need to break them out into a different .h file.
15340         (__COUNTER__): Define to 0 if the compiler doesn't support it.
15341         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
15342         of verify_function__.
15343
15344 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
15345
15346         Tests for module pwrite.
15347         * modules/pwrite-tests: New file.
15348         * tests/test-pwrite.sh: New file.
15349         * tests/test-pwrite.c: New file.
15350
15351         New module pwrite.
15352         * lib/unistd.in.h (pwrite): New declaration.
15353         * lib/pwrite.c: New file, from glibc with modifications.
15354         * m4/pwrite.m4: New file.
15355         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
15356         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
15357         REPLACE_PWRITE.
15358         * modules/pwrite: New file.
15359         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
15360         REPLACE_PWRITE.
15361         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
15362         * doc/posix-functions/pwrite.texi: Mention the new module.
15363
15364 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
15365
15366         pread: Update documentation.
15367         * doc/posix-functions/pread.texi: Mention the 'pread' module.
15368
15369 2010-05-04  Eric Blake  <eblake@redhat.com>
15370
15371         docs: update cygwin progress
15372         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
15373         this bug.
15374         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
15375         Added in cygwin 1.7.2.
15376         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
15377         Likewise.
15378         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
15379         Likewise.
15380         * doc/glibc-functions/dup3.texi (dup3): Likewise.
15381         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
15382         * doc/glibc-functions/accept4.texi (accept4): Likewise.
15383         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
15384         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
15385         Mention nproc module.
15386         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
15387         bug in cygwin 1.7.5 addition.
15388         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
15389         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
15390         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
15391         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
15392         1.7.5.
15393         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
15394         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
15395         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
15396         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
15397         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
15398         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
15399         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
15400         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
15401         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
15402         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
15403         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
15404         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
15405         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
15406         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
15407         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
15408         Likewise.
15409         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
15410         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
15411         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
15412         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
15413         Likewise.
15414         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
15415         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
15416         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
15417         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
15418         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
15419         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
15420         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
15421         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
15422         Likewise.
15423         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
15424         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
15425         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
15426         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
15427         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
15428         Likewise.
15429         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
15430         Likewise.
15431         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
15432         Likewise.
15433         * doc/glibc-functions/xdrrec_endofrecord.texi
15434         (xdrrec_endofrecord): Likewise.
15435         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
15436         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
15437         Likewise.
15438         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
15439         Likewise.
15440
15441 2010-05-04  Jim Meyering  <meyering@redhat.com>
15442
15443         gendocs.sh: make its "-s FILE" option more useful
15444         * build-aux/gendocs.sh: When honoring the -s FILE option, update
15445         $PACKAGE to reflect the probably-different basename of "FILE".
15446
15447 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
15448
15449         bootstrap: don't ignore download_po_files failure
15450         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
15451         failure.
15452
15453 2010-05-03  Jim Meyering  <meyering@redhat.com>
15454
15455         maint.mk: allow to pass options to gendocs.sh
15456         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
15457         (gendocs_options_): New overridable variable.
15458
15459         gnu-web-doc-update: don't ignore configure or build failure
15460         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
15461
15462         announce-gen: backslash-escape '@'s in --help output
15463         * build-aux/announce-gen: Fix syntax errors.
15464
15465         maint.mk, announce-gen: allow project-specific announcement mail headers
15466         * top/maint.mk (translation_project_): Define default.
15467         (announcement_Cc_, announcement_mail_headers_): Likewise.
15468         (announcement): Invoke announce-gen with new --mail-headers option.
15469         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
15470
15471         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
15472         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
15473         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
15474         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
15475         line in the "err2" output file when running "make check" in verbose
15476         mode (i.e., with set -x enabled).
15477
15478 2010-05-03  Bruno Haible  <bruno@clisp.org>
15479
15480         wctob: Fix for weird platforms.
15481         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
15482         argument value.
15483
15484 2010-05-03  Jim Meyering  <meyering@redhat.com>
15485
15486         maint.mk: prohibit unwarranted use of <strings.h>
15487         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
15488         strings.h in a file that does not also use strcasecmp, strncasecmp,
15489         ffs or ffsll.
15490
15491         maint.mk: remove obsolete comments
15492         * top/maint.mk: Remove stale, commented-out rules.
15493
15494 2010-05-02  Bruno Haible  <bruno@clisp.org>
15495
15496         wcwidth: Declare also when it's aliased.
15497         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
15498         macro.
15499
15500 2010-05-02  Bruno Haible  <bruno@clisp.org>
15501
15502         Fix regression from 2010-04-25.
15503         * gnulib-tool (func_modules_transitive_closure): Check the status of
15504         all modules, not only of the tests that are of the form foo-tests where
15505         foo is a module.
15506
15507 2010-05-02  Bruno Haible  <bruno@clisp.org>
15508
15509         wctob: Work around nasty Cygwin 1.7.2 bug.
15510         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
15511         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
15512
15513 2010-05-01  Bruno Haible  <bruno@clisp.org>
15514
15515         fpurge: Sharper test.
15516         * tests/test-fpurge.c (main): Add one more ftell check.
15517         * modules/fpurge-tests (Depends-on): Add ftell.
15518         Suggested by Eric Blake.
15519
15520 2010-05-01  Bruno Haible  <bruno@clisp.org>
15521
15522         ftello: Another test.
15523         * tests/test-ftello3.c: New file.
15524         * modules/ftello-tests (Files): Add it.
15525         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
15526         MOSTLYCLEANFILES.
15527
15528         ftell: Another test.
15529         * tests/test-ftell3.c: New file.
15530         * modules/ftell-tests (Files): Add it.
15531         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
15532         MOSTLYCLEANFILES.
15533
15534 2010-05-01  Bruno Haible  <bruno@clisp.org>
15535
15536         ftell, ftello: Work around Solaris bug.
15537         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
15538         * lib/ftello.c: Include stdio-impl.h.
15539         (ftello): On Solaris, when _IOWRT is set, compute the result without
15540         looking at _IOREAD.
15541         * modules/ftello (Files): Add lib/stdio-impl.h.
15542         * doc/posix-functions/ftell.texi: Mention Solaris bug.
15543         * doc/posix-functions/ftello.texi: Likewise.
15544         Reported by Eric Blake.
15545
15546 2010-05-01  Bruno Haible  <bruno@clisp.org>
15547
15548         freading: Adapt to special meaning of _IOREAD flag on Solaris.
15549         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
15550         the _IOWRT flag is also set.
15551
15552 2010-05-01  Bruno Haible  <bruno@clisp.org>
15553
15554         Fix doc about a HP-UX stdio bug.
15555         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
15556         * doc/posix-functions/ftello.texi: Likewise.
15557
15558 2010-05-01  Bruno Haible  <bruno@clisp.org>
15559
15560         lseek test: Fix failure on Solaris.
15561         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
15562         output.
15563
15564 2010-04-30  Jim Meyering  <meyering@redhat.com>
15565
15566         bootstrap: don't ignore failure to generate po*/Makevars
15567         * build-aux/bootstrap (with_gettext): Don't ignore failure
15568         to create po/Makevars or runtime-po/Makevars.
15569
15570 2010-04-29  Eric Blake  <eblake@redhat.com>
15571
15572         headers: relax license to LGPLv2+
15573         * modules/fcntl-h (License): Relax license.
15574         * modules/getopt-posix (License): Likewise.
15575         * modules/locale (License): Likewise.
15576         * modules/math (License): Likewise.
15577         * modules/pty (License): Likewise.
15578         * modules/sched (License): Likewise.
15579         * modules/search (License): Likewise.
15580         * modules/spawn (License): Likewise.
15581         * modules/stdarg (License): Likewise.
15582         * modules/sysexits (License): Likewise.
15583
15584 2010-04-29  Jim Meyering  <meyering@redhat.com>
15585
15586         inttypes: relax license to LGPLv2+
15587         * modules/inttypes (License): Relax license.
15588
15589 2010-04-29  Simon Josefsson  <simon@josefsson.org>
15590
15591         * top/maint.mk (indent): Run twice to produce idempotent results.
15592
15593 2010-04-28  Bruno Haible  <bruno@clisp.org>
15594
15595         getdate: Generate getdate.c in the source directory.
15596         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
15597         MOSTLYCLEANFILES.
15598         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
15599
15600 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
15601
15602         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
15603         is not declared as a const *; avoid warnings in that case.
15604
15605 2010-04-28  Eric Blake  <eblake@redhat.com>
15606
15607         canonicalize-lgpl: avoid compiler warning
15608         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
15609         declaration' / 'extraneous semicolon' warning with some compilers.
15610         Reported by Andreas Gruenbacher.
15611
15612 2010-04-28  Jim Meyering  <meyering@redhat.com>
15613
15614         init.sh: ensure a more reliable exit status when exiting via trap
15615         * tests/init.sh (setup_): Don't rely on $? in signal handler.
15616         Inspired by patches from Dmitry V. Levin.
15617         Also trap on signal 3 (SIGQUIT).
15618
15619 2010-04-27  Bruno Haible  <bruno@clisp.org>
15620
15621         Update doc about utimes().
15622         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
15623         'utimens' module.
15624         Reported by Andreas Gruenbacher <agruen@suse.de>.
15625
15626 2010-04-27  Eric Blake  <eblake@redhat.com>
15627
15628         full-read, full-write: relax license
15629         * modules/full-read (License): Drop to LGPLv2+.
15630         * modules/full-write (License): Likewise.
15631         * modules/safe-read (License): Likewise.
15632         * modules/safe-write (License): Likewise.
15633
15634         pthread: mention library for linking
15635         * modules/pthread (Link): Mention $(LIB_PTHREAD).
15636
15637 2010-04-27  Jim Meyering  <meyering@redhat.com>
15638
15639         maint.mk: fix a bug introduced in last change
15640         * top/maint.mk (gl_assured_headers_): Now that all names are on
15641         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
15642         is not anchored to end of word, it should be adequate.
15643
15644         maint.mk: avoid side-effect in latest syntax-check
15645         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
15646         to run commands via $(shell...), and hence to incur cost only when
15647         the new rule is actually run.
15648
15649         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
15650         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
15651         and use that to create a regexp used to detect all #if HAVE_..._H uses.
15652         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
15653         (gl_assured_headers_, az_, AZ_): Define.
15654         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
15655
15656 2010-04-26  Jim Meyering  <jim@meyering.net>
15657             Bruno Haible  <bruno@clisp.org>
15658
15659         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
15660         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
15661         Prompted by an exchange with Gilles Espinasse.
15662
15663 2010-04-26  Jim Meyering  <meyering@redhat.com>
15664
15665         git-version-gen: aesthetic tweak
15666         * build-aux/git-version-gen: Use "$nl" rather than a literal,
15667         so that the command remains on a single line.
15668
15669 2010-04-26  Eric Blake  <eblake@redhat.com>
15670
15671         git-version-gen: allow use on EBCDIC hosts
15672         * build-aux/git-version-gen (dirty): Use literal rather than tying
15673         ourselves to ascii.
15674         Reported by Steve Goetze.
15675
15676 2010-04-25  Bruno Haible  <bruno@clisp.org>
15677
15678         netdb: Add support for GNULIB_POSIXCHECK.
15679         * lib/netdb.in.h: Include warn-on-use.h.
15680         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
15681         functions are used when GNULIB_POSIXCHECK is defined and the
15682         getaddrinfo module is not in use.
15683         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
15684         freeaddrinfo, gai_strerror, getnameinfo are declared.
15685         * modules/netdb (Depends-on): Add warn-on-use.
15686         (Makefile.am): Include warn-on-use.h in netdb.h.
15687
15688 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
15689
15690         build: avoid "make check" failure without .git/ directory
15691         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
15692         there is no .git/ directory.
15693
15694 2010-04-25  Bruno Haible  <bruno@clisp.org>
15695
15696         ptsname: Fix misuse of ttyname_r.
15697         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
15698         of errno.
15699
15700 2010-04-25  Bruno Haible  <bruno@clisp.org>
15701
15702         ttyname_r: Make it work on Solaris 10.
15703         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
15704         if the system function has the POSIX declaration. Test whether the
15705         function fails if the buffer is less than 128 bytes large.
15706         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
15707         system's ttyname_r function. Provide a reasonably large buffer.
15708         * modules/ttyname_r (Depends-on): Add extensions.
15709         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
15710
15711 2010-04-25  Bruno Haible  <bruno@clisp.org>
15712
15713         Use the 'extensions' module for some more functions on Solaris.
15714         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
15715         module.
15716         * doc/posix-functions/ctime_r.texi: Likewise.
15717         * doc/posix-functions/getgrgid_r.texi: Likewise.
15718         * doc/posix-functions/getgrnam_r.texi: Likewise.
15719         * doc/posix-functions/getpwnam_r.texi: Likewise.
15720         * doc/posix-functions/getpwuid_r.texi: Likewise.
15721         * doc/posix-functions/readdir_r.texi: Likewise.
15722         * doc/posix-functions/sigwait.texi: Likewise.
15723         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
15724         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
15725
15726 2010-04-25  Bruno Haible  <bruno@clisp.org>
15727
15728         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
15729         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
15730         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
15731         * lib/ttyname_r.c: Include <limits.h>.
15732         (ttyname_r): Define using the system's ttyname_r function, if it exists
15733         and not on Solaris.
15734         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
15735         set.
15736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
15737         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
15738         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
15739         Reported by Simon Josefsson.
15740
15741 2010-04-25  Bruno Haible  <bruno@clisp.org>
15742
15743         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
15744         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
15745         * doc/posix-functions/ctime_r.texi: Likewise.
15746         * doc/posix-functions/getgrgid_r.texi: Likewise.
15747         * doc/posix-functions/getgrnam_r.texi: Likewise.
15748         * doc/posix-functions/getlogin_r.texi: Likewise.
15749         * doc/posix-functions/getpwnam_r.texi: Likewise.
15750         * doc/posix-functions/getpwuid_r.texi: Likewise.
15751         * doc/posix-functions/readdir_r.texi: Likewise.
15752         * doc/posix-functions/sigwait.texi: Likewise.
15753         * doc/posix-functions/ttyname_r.texi: Likewise.
15754         Reported by Simon Josefsson.
15755
15756 2010-04-25  Bruno Haible  <bruno@clisp.org>
15757
15758         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
15759         * gnulib-tool (func_usage): Document that --with-*-tests options apply
15760         also to --create-testdir.
15761         (func_acceptable): Don't consider the status of *-tests modules here.
15762         (func_modules_transitive_closure): Consider it here, before including a
15763         test module.
15764         (func_import, func_create_testdir): Set inc_all_direct_tests,
15765         inc_all_indirect_tests.
15766         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
15767         --create-testdir and --create-megatestdir.
15768
15769 2010-04-25  Bruno Haible  <bruno@clisp.org>
15770
15771         gnulib-tool: Add --without-*-tests options.
15772         * gnulib-tool (func_usage): Document the --without-*-tests options.
15773         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
15774         excl_unportable_tests): New variables.
15775         Fail if they are specified with --import or --update.
15776         (func_acceptable): Respect the excl_*_tests variables.
15777         (func_import): Set the excl_*_tests variables to empty.
15778
15779 2010-04-25  Simon Josefsson  <simon@josefsson.org>
15780             Bruno Haible  <bruno@clisp.org>
15781
15782         Work around a MacOS X 10.4 bug with openpty.
15783         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
15784         * tests/test-openpty.c (main): Close the master side explicitly.
15785
15786 2010-04-25  Bruno Haible  <bruno@clisp.org>
15787
15788         strnlen: Fix a C++ test error on MacOS X and Solaris.
15789         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
15790         the function is not declared.
15791         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
15792         Simon Josefsson.
15793
15794 2010-04-24  Bruno Haible  <bruno@clisp.org>
15795
15796         Avoid a gcc warning.
15797         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
15798         of correct type for %08lx directive.
15799         Reported by Eric Blake.
15800
15801 2010-04-24  Bruno Haible  <bruno@clisp.org>
15802
15803         vasnprintf: Correct errno value in case of out-of-memory.
15804         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
15805         or sprintf. Use the errno value from SNPRINTF or sprintf.
15806         Reported by Ian Beckwith <ianb@erislabs.net>.
15807
15808 2010-04-24  Bruno Haible  <bruno@clisp.org>
15809
15810         ansi-c++-opt: Find correct compiler when cross-compiling.
15811         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
15812         AC_CHECK_PROGS.
15813         Reported by Simon Josefsson.
15814
15815 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
15816
15817         vc-list-files: Add support for subversion
15818         * build-aux/vc-list-files: Use "svn list" to generate the list of
15819         files controlled by subversion.
15820
15821 2010-04-23  Jim Meyering  <meyering@redhat.com>
15822
15823         vc-list-files tests: convert to use init.sh
15824         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
15825         path_prepend_.
15826         Use Exit, not exit.
15827         Use skip_ rather than open coding it.
15828         Remove trap set-up and compare definitions.
15829         * tests/test-vc-list-files-git.sh: Likewise.
15830         * modules/vc-list-files-tests (Files): Add tests/init.sh.
15831
15832 2010-04-22  Simon Josefsson  <simon@josefsson.org>
15833
15834         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
15835         backup files.
15836
15837 2010-04-21  Simon Josefsson  <simon@josefsson.org>
15838
15839         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
15840
15841 2010-04-20  Eric Blake  <eblake@redhat.com>
15842
15843         tests: be robust to ignored SIGPIPE
15844         * tests/test-select-in.sh: Consume all output.
15845         * tests/test-lseek.sh: Check correct exit status, while avoiding
15846         EPIPE.
15847
15848 2010-04-20  Simon Josefsson  <simon@josefsson.org>
15849             Bruno Haible  <bruno@clisp.org>
15850
15851         visibility: Don't use -fvisibility if it leads to a warning.
15852         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
15853         yes, don't pretend that visibility works if it leads to a warning.
15854         Reported by Mike Gran <spk121@yahoo.com>.
15855
15856 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
15857
15858         * build-aux/bootstrap: Use "git -h" for testing for supported options
15859         instead of "git --help".  The short-form option only shows a summary,
15860         and doesn't layout the full man page.  Grep for the full option name
15861         in the summary, too.
15862
15863 2010-04-19  Bruno Haible  <bruno@clisp.org>
15864
15865         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
15866         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
15867         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
15868         mention of RELOCATABLE_STRIP.
15869         Reported by Sylvain Beucler <beuc@beuc.net>.
15870
15871 2010-04-19  Bruno Haible  <bruno@clisp.org>
15872
15873         * lib/diffseq.h: Fix typo in comment.
15874         Reported by Eric Blake.
15875
15876 2010-04-19  Bruno Haible  <bruno@clisp.org>
15877
15878         ioctl: Move autoconf macro to a .m4 file.
15879         * m4/ioctl.m4: New file, extracted from modules/ioctl.
15880         * modules/ioctl (Files): Add it.
15881         (configure.ac): Simply invoke gl_FUNC_IOCTL.
15882         Reported by Ian Beckwith <ianb@erislabs.net>.
15883
15884 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
15885             Bruno Haible  <bruno@clisp.org>
15886
15887         diffseq: Accommodate use-case with abstract arrays.
15888         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
15889         is not defined.
15890         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
15891         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
15892
15893 2010-04-18  Bruno Haible  <bruno@clisp.org>
15894
15895         * doc/posix-headers/stdbool.texi: More precise wording.
15896
15897 2010-04-17  Jim Meyering  <meyering@redhat.com>
15898
15899         maint.mk: use gnu-style indentation in an embedded perl script
15900         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
15901         Rename variable: s/two/last_two_bytes/
15902
15903 2010-04-16  Eric Blake  <eblake@redhat.com>
15904
15905         test-stdbool: skip test that fails with Solaris CC
15906         * tests/test-stdbool.c (f): Skip test that causes compilation
15907         error under buggy C++ compiler.
15908         * lib/stdbool.in.h: Document the limitation.
15909         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
15910
15911         setenv: allow compilation with C++
15912         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
15913         register keyword.
15914
15915         stdint: allow test to pass with C++
15916         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
15917
15918         getopt: allow compilation with C++
15919         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
15920         struct.
15921         * lib/getopt.c (_getopt_internal_r): Use correct type.
15922         Reported by Dagobert Michelson, via Joel E. Denny.
15923
15924 2010-04-16  Bruno Haible  <bruno@clisp.org>
15925
15926         Override netdb.h always.
15927         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
15928         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
15929         Reported by Ludovic Courtès <ludo@gnu.org>.
15930
15931 2010-04-15  Bruno Haible  <bruno@clisp.org>
15932
15933         openpty: Fix mistake from 2010-03-21.
15934         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
15935         Reported by Simon Josefsson.
15936
15937 2010-04-15  Eric Blake  <eblake@redhat.com>
15938
15939         test-forkpty: fix expected signature
15940         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
15941         Reported by Simon Josefsson.
15942
15943 2010-04-15  Jim Meyering  <meyering@redhat.com>
15944
15945         maint.mk: texinfo_suffix_re_: correct the default regexp
15946         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
15947
15948         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
15949         make it configurable via texinfo_suffix_re_.
15950
15951 2010-04-14  Eric Blake  <eblake@redhat.com>
15952
15953         strtok_r: relax license to LGPLv2+
15954         * modules/strtok_r (License): Relax license.
15955         Reported by Matthias Bolte.
15956
15957 2010-04-14  Simon Josefsson  <simon@josefsson.org>
15958
15959         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
15960         version 1.4.4 by default instead of requiring the libgcrypt
15961         version used during build.  This makes it possible to use the
15962         application with older but still binary compatible libgcrypt
15963         versions.
15964
15965 2010-04-13  Eric Blake  <eblake@redhat.com>
15966
15967         getopt-gnu: match recent glibc fixes and posix ruling
15968         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
15969         '+' handling, when requesting extensions.
15970         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
15971         'W;' handling.
15972         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
15973         * doc/posix-functions/getopt.texi (getopt): Document this.
15974         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15975         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15976         Likewise.
15977
15978         getopt: merge bug fixes from glibc
15979         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
15980         diagnostics.  Honor '+:' correctly.  Reject ';'.
15981
15982         getopt-posix: detect MacOS bug
15983         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
15984         optind when missing a required argument.
15985         * doc/posix-functions/getopt.texi (getopt): Document the bug.
15986         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15987         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15988         Likewise.
15989
15990         getopt-posix: avoid spurious failure on Solaris
15991         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
15992         an indicator that setting optind=1 is sufficient for reset.
15993
15994         getopt-posix: avoid spurious failure on FreeBSD
15995         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
15996         in POSIX mode, since the m4 test uses it.
15997
15998         gnulib-tool: silence warning on BSD sh
15999         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
16000
16001 2010-04-13  Jim Meyering  <meyering@redhat.com>
16002
16003         doc: users.txt: GNU patch now uses gnulib
16004         * users.txt: Add patch.
16005
16006 2010-04-12  Jim Meyering  <meyering@redhat.com>
16007
16008         maint.mk: generate more concise timing data for syntax-check rules
16009         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
16010         " done" from each line that reports a syntax-check test duration.
16011
16012 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
16013
16014         git-version-gen: use "git update-index..." rather than "git status"
16015         * build-aux/git-version-gen: Use git update-index --refresh, not
16016         "git status".  With some versions of git, "git status" would fail
16017         to update the index and result in an unwarranted "-dirty" suffix.
16018
16019 2010-04-11  Jim Meyering  <meyering@redhat.com>
16020
16021         openat: correct formatting (no semantic change)
16022         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
16023         Suggested by Bruno Haible.
16024
16025 2010-04-11  Bruno Haible  <bruno@clisp.org>
16026
16027         Stricter declaration checking in testdirs.
16028         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16029         If for_tests is true, augment AM_CPPFLAGS to define
16030         GNULIB_STRICT_CHECKING.
16031         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
16032         GNULIB_STRICT_CHECKING is defined, verify that the function is
16033         declared.
16034
16035 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
16036             Bruno Haible  <bruno@clisp.org>
16037
16038         libunistring: Improve configure output.
16039         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
16040         Don't say "consider installing GNU libunistring" when checking again
16041         with libiconv.
16042
16043 2010-04-11  Bruno Haible  <bruno@clisp.org>
16044
16045         libunistring: Correct value of $LTLIBUNISTRING.
16046         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
16047         correct the value of $LTLIBUNISTRING.
16048
16049 2010-04-11  Bruno Haible  <bruno@clisp.org>
16050
16051         havelib: Add static libraries to LIBS in the right order.
16052         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
16053         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
16054
16055 2010-04-11  Bruno Haible  <bruno@clisp.org>
16056
16057         libunistring: Detect libunistring also when it depends on libiconv.
16058         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
16059         the second AC_LIB_HAVE_LINKFLAGS invocation.
16060
16061 2010-04-11  James Youngman  <jay@gnu.org>
16062
16063         close-stream: declare local scalars to be "const"
16064         * lib/close-stream.c (close_stream): Make boolean variables const
16065         to document the fact that we set but do not change them.
16066
16067 2010-04-11  Bruno Haible  <bruno@clisp.org>
16068
16069         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
16070
16071 2010-04-11  Jim Meyering  <meyering@redhat.com>
16072
16073         maint.mk: don't include dist-check.mk
16074         * top/maint.mk: Remove bogus include directive.
16075
16076         maint.mk: improve empty-line-at-EOF check
16077         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
16078         solution, rather than tail+Perl-based one.  The latter would read
16079         a few kilobytes from the end of each file, and did not handle empty
16080         files properly.
16081
16082         maint.mk: print the elapsed time for each syntax-check rule
16083         * top/maint.mk (sc_m_rules_): Save start time in a file.
16084         (sc_z_rules_): New rules: remove temp file and print elapsed time.
16085         (local-check): Interpose the .z rules
16086
16087 2010-04-11  Jim Meyering  <meyering@redhat.com>
16088
16089         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
16090         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
16091         empty file with one that ends in an empty line.
16092
16093 2010-04-10  Bruno Haible  <bruno@clisp.org>
16094
16095         mkdir: Make it work on mingw64.
16096         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
16097         * lib/mkdir.c: Update comment.
16098         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
16099
16100 2010-04-10  Bruno Haible  <bruno@clisp.org>
16101
16102         Don't override improved macro from newer autoconf.
16103         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
16104         autoconf >= 2.62.
16105         Reported by Joel E. Denny <jdenny@clemson.edu>.
16106
16107 2010-04-10  Jim Meyering  <meyering@redhat.com>
16108
16109         maint.mk: new syntax-check rule: prohibit empty lines at end of file
16110         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
16111
16112         maint.mk: correct a diagnostic
16113         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
16114         in diagnostic; now use $prohibit.
16115
16116 2010-04-10  Bruno Haible  <address@hidden>
16117
16118         fchownat: Fix a C++ test error on Solaris 8.
16119         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
16120         the function does not exist.
16121
16122 2010-04-10  Bruno Haible  <bruno@clisp.org>
16123
16124         vasnprintf: Add more tests.
16125         * tests/test-vasnprintf-posix.c: Include <errno.h>.
16126         (test_function): Test converting an invalid wide string.
16127
16128         vasnprintf: Correct handling of unconvertible wide string arguments.
16129         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
16130         VASNPRINTF.
16131         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
16132         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
16133         smaller than the expected maximum need for the directive. Set errno to
16134         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
16135         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
16136         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
16137         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
16138         * modules/vasnprintf (Files): Add m4/printf.m4.
16139         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16140
16141 2010-04-10  Bruno Haible  <bruno@clisp.org>
16142
16143         vasnprintf: Fix crash in %ls directive.
16144         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
16145         string is passed as argument to %ls, with no precision and no width.
16146         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16147
16148 2010-04-10  Bruno Haible  <bruno@clisp.org>
16149
16150         vasnprintf: Fix multiple test failures on mingw.
16151         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
16152         _snprintf, or snwprintf, not _snwprintf.
16153
16154 2010-04-10  Bruno Haible  <bruno@clisp.org>
16155
16156         write: Fix a C++ test error on mingw.
16157         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
16158
16159 2010-04-10  Bruno Haible  <bruno@clisp.org>
16160
16161         vasnprintf test: Reduce code duplication.
16162         * tests/test-vasnprintf.c (test_function): New function, extracted from
16163         test_vasnprintf.
16164         (test_vasnprintf, test_asnprintf): Invoke it.
16165
16166 2010-04-10  Bruno Haible  <bruno@clisp.org>
16167
16168         strnlen: Fix warning in C++ mode on MacOS X.
16169         * lib/string.in.h (strnlen): Use the modern idiom.
16170         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
16171         defining strnlen as a macro already in <config.h>.
16172         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16173         REPLACE_STRNLEN.
16174         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
16175         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16176
16177 2010-04-08  James Youngman  <jay@gnu.org>
16178
16179         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
16180         the example.
16181
16182 2010-04-09  Jim Meyering  <meyering@redhat.com>
16183
16184         maint.mk: print better diagnostic when there is no $(_hv_file)
16185         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
16186         announce that when $(_hv_file) (aka help-version) does not exist.
16187
16188         init.sh: run tr in the "C" locale to avoid multibyte interpretation
16189         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
16190         not try to interpret its random input bytes.  Jarno Rajahalme reported
16191         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
16192         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
16193         (mktempd_): Likewise, just in case.
16194
16195         ftruncate: add two years to projected module removal date: 2012
16196         * m4/ftruncate.m4: Adjust comments.
16197
16198         ftruncate: mark module as obsolete; even MinGW provides it, now
16199         * modules/ftruncate (Status): Obsolete.
16200         (Notice): Say that.
16201         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
16202         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
16203
16204 2010-04-08  Bruno Haible  <bruno@clisp.org>
16205
16206         Fix side effects from tests-related modules.
16207         * modules/dprintf-posix (Comment): New section.
16208         * modules/fprintf-posix (Comment): Likewise.
16209         * modules/obstack-printf-posix (Comment): Likewise.
16210         * modules/printf-posix (Comment): Likewise.
16211         * modules/snprintf-posix (Comment): Likewise.
16212         * modules/sprintf-posix (Comment): Likewise.
16213         * modules/vasnprintf-posix (Comment): Likewise.
16214         * modules/vasprintf-posix (Comment): Likewise.
16215         * modules/vdprintf-posix (Comment): Likewise.
16216         * modules/vfprintf-posix (Comment): Likewise.
16217         * modules/vprintf-posix (Comment): Likewise.
16218         * modules/vsnprintf-posix (Comment): Likewise.
16219         * modules/vsprintf-posix (Comment): Likewise.
16220         * modules/xprintf-posix (Comment): Likewise.
16221         * modules/xvasprintf-posix (Comment): Likewise.
16222         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
16223         * modules/floorf-tests (Depends-on): Likewise.
16224         * modules/round-tests (Depends-on): Likewise.
16225         * modules/roundf-tests (Depends-on): Likewise.
16226         * modules/trunc-tests (Depends-on): Likewise.
16227         * modules/truncf-tests (Depends-on): Likewise.
16228         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
16229         'fprintf-posix' module is not present.
16230         * tests/test-floorf2.c (check): Likewise.
16231         * tests/test-trunc2.c (check): Likewise.
16232         * tests/test-truncf2.c (check): Likewise.
16233         * tests/test-round2.c (equal): Likewise.
16234         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16235
16236 2010-04-07  Karl Berry  <karl@gnu.org>
16237
16238         * config/srclist.txt,
16239         * config/srclistvars.sh,
16240         * config/srclist-update: doc fixes.
16241
16242 2010-04-07  Jim Meyering  <meyering@redhat.com>
16243
16244         maint.mk: add a PATH crosschecking syntax-check rule
16245         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
16246         Useful if you use a test like the one in help-version (coreutils,
16247         diffutils, grep, gzip) that ensures $(VERSION) matches what is
16248         printed by prog --version.
16249
16250 2010-04-06  Bruno Haible  <bruno@clisp.org>
16251
16252         Fix link error on mingw.
16253         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
16254         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
16255
16256 2010-04-06  Bruno Haible  <bruno@clisp.org>
16257
16258         Assume rmdir exists.
16259         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
16260
16261 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
16262
16263         doc: update users.txt
16264         * users.txt: Add gcal.
16265
16266 2010-04-06  Jim Meyering  <meyering@redhat.com>
16267
16268         init.sh: simply unset TMPDIR rather than risking env -i
16269         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
16270         although it probably works fine on all Unix-based systems, some
16271         systems (Cygwin?) cannot tolerate a totally cleared environment.
16272         Suggestion from Eric Blake.
16273
16274 2010-04-06  Jim Meyering  <meyering@redhat.com>
16275
16276         init.sh: portability fix: use env's POSIX-specified -i option not -u
16277         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
16278         than unportable env -u.  Solaris 5.11's env lacks support for -u.
16279
16280 2010-04-05  Bruno Haible  <bruno@clisp.org>
16281
16282         btowc: Work around Cygwin 1.7.2 bug.
16283         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
16284         does not map NUL to 0.
16285         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
16286
16287 2010-04-05  Bruno Haible  <bruno@clisp.org>
16288
16289         Make the multithread modules work on Cygwin 1.7.2.
16290         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
16291         imported symbols can be declared weak, so that it returns "no" on
16292         Cygwin 1.7.2.
16293
16294 2010-04-05  Bruno Haible  <bruno@clisp.org>
16295
16296         Use the module 'strncat'.
16297         * modules/unistr/u8-strncat (Depends-on): Add strncat.
16298
16299         Tests for module 'strncat'.
16300         * modules/strncat-tests: New file.
16301         * tests/test-strncat.c: New file.
16302
16303         New module 'strncat'.
16304         * lib/string.in.h (strncat): New declaration.
16305         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
16306         * m4/strncat.m4: New file, based on m4/memchr.m4.
16307         * modules/strncat: New file.
16308         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
16309         is declared.
16310         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
16311         REPLACE_STRNCAT.
16312         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
16313         REPLACE_STRNCAT.
16314         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
16315         module.
16316         * tests/test-string-c++.cc: Check signature of strncat.
16317
16318 2010-04-05  Jim Meyering  <meyering@redhat.com>
16319
16320         xstrtoumax-tests: convert to use init.sh
16321         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
16322         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16323         Use Exit, not exit.
16324         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16325
16326         xstrtoimax-tests: convert to use init.sh
16327         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
16328         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16329         Use Exit, not exit.
16330         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16331
16332 2010-04-05  Bruno Haible  <bruno@clisp.org>
16333
16334         sys_socket: Avoid #define replacements in C++ mode.
16335         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
16336         warning to the function if possible, rather than #defining the symbol
16337         to a dysfunctional alias.
16338
16339 2010-04-05  Bruno Haible  <bruno@clisp.org>
16340
16341         fseeko: Fix C++ test error on mingw.
16342         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
16343         gl_FUNC_FSEEKO.
16344         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
16345         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
16346         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
16347         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
16348
16349 2010-04-05  Bruno Haible  <bruno@clisp.org>
16350
16351         duplocale: Improve test output.
16352         * tests/test-duplocale.c (main): Print reason for skipped test.
16353
16354 2010-04-05  Bruno Haible  <bruno@clisp.org>
16355
16356         Assume rmdir exists.
16357         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
16358         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
16359
16360 2010-04-05  Bruno Haible  <bruno@clisp.org>
16361
16362         Fix link error on Solaris 8 with cc.
16363         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
16364
16365 2010-04-05  Bruno Haible  <bruno@clisp.org>
16366
16367         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
16368         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
16369
16370 2010-04-05  Bruno Haible  <bruno@clisp.org>
16371
16372         vasprintf: Update documentation.
16373         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
16374
16375 2010-04-05  Bruno Haible  <bruno@clisp.org>
16376
16377         ptsname: Improve test.
16378         * tests/test-ptsname.c (main): Also try the various master names of BSD
16379         systems.
16380
16381 2010-04-05  Bruno Haible  <bruno@clisp.org>
16382
16383         memchr: Avoid a possible C++ test error.
16384         * lib/string.in.h (memchr): Provide declaration if function is missing.
16385         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
16386         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
16387         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
16388         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
16389
16390 2010-04-05  Bruno Haible  <bruno@clisp.org>
16391
16392         strtok_r: Improve idiom.
16393         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
16394         AC_LIBOBJ is used.
16395
16396 2010-04-05  Bruno Haible  <bruno@clisp.org>
16397
16398         strdup: Improve idiom.
16399         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
16400         AC_LIBOBJ is used.
16401         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
16402         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
16403         when AC_LIBOBJ is used.
16404
16405 2010-04-05  Bruno Haible  <bruno@clisp.org>
16406
16407         mbsinit, mbrtowc, wcrtomb: Improve idioms.
16408         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
16409         don't set REPLACE_MBSINIT to 1.
16410         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
16411         don't set REPLACE_MBRTOWC to 1.
16412         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
16413         exist, don't set REPLACE_MBSRTOWCS to 1.
16414         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
16415         exist, don't set REPLACE_MBSNRTOWCS to 1.
16416         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
16417         don't set REPLACE_WCRTOMB to 1.
16418         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
16419         exist, don't set REPLACE_WCSRTOMBS to 1.
16420         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
16421         exist, don't set REPLACE_WCSNRTOMBS to 1.
16422
16423 2010-04-05  Bruno Haible  <bruno@clisp.org>
16424
16425         ldexpl: Improve idiom.
16426         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
16427         make sure to set HAVE_DECL_LDEXPL to 0.
16428
16429 2010-04-05  Jim Meyering  <meyering@redhat.com>
16430
16431         xstrtol-tests: convert to use init.sh
16432         * modules/xstrtol-tests (Files): Add tests/init.sh.
16433         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16434         Use Exit, not exit.
16435         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16436
16437         atexit-tests: convert to use init.sh
16438         * modules/atexit-tests (Files): Add tests/init.sh.
16439         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16440         Use Exit, not exit.
16441         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16442
16443         init.sh: fix typo
16444         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
16445
16446         init.sh: make it easier for a test script to write to the tty, ...
16447         when using automake's parallel-tests mode.
16448         * tests/init.sh (stderr_fileno_): Define overridable variable.
16449         (warn_): New function, to use it.
16450         (fail_, skip_, framework_failure_): Use warn_.
16451
16452 2010-04-04  Bruno Haible  <bruno@clisp.org>
16453
16454         btowc: Avoid warning.
16455         * lib/btowc.c: Include <stdlib.h>.
16456         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
16457
16458 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
16459             Bruno Haible  <bruno@clisp.org>
16460
16461         wchar: Port to NetBSD 1.5.
16462         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
16463         * lib/wctype.in.h (WEOF): Likewise.
16464
16465 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
16466             Bruno Haible  <bruno@clisp.org>
16467
16468         Port extended stdio to NetBSD 1.5.
16469         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
16470         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
16471         older.
16472
16473 2010-04-04  Bruno Haible  <bruno@clisp.org>
16474
16475         string: Remove unused substitution.
16476         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
16477         HAVE_DECL_STRERROR.
16478         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
16479
16480 2010-04-04  Bruno Haible  <bruno@clisp.org>
16481
16482         strtod: Avoid a possible C++ test error.
16483         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
16484         set REPLACE_STRTOD.
16485
16486 2010-04-04  Bruno Haible  <bruno@clisp.org>
16487
16488         strerror: Update documentation.
16489         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
16490
16491 2010-04-04  Bruno Haible  <bruno@clisp.org>
16492
16493         stdio: Fix some C++ test errors on Solaris 8 with GCC.
16494         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
16495         _GL_CXXALIAS_SYS_CAST.
16496
16497 2010-04-04  Bruno Haible  <bruno@clisp.org>
16498
16499         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
16500         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
16501         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
16502         REPLACE_FREXPL to 1.
16503         * doc/posix-functions/frexpl.texi: Update documentation.
16504
16505 2010-04-04  Bruno Haible  <bruno@clisp.org>
16506
16507         math: Fix some C++ test errors on Solaris 8 and Cygwin.
16508         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
16509
16510 2010-04-04  Bruno Haible  <bruno@clisp.org>
16511
16512         Implement nanosleep for native Windows.
16513         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
16514
16515 2010-04-04  Bruno Haible  <bruno@clisp.org>
16516
16517         math: Fix some C++ test errors on Solaris 8.
16518         * lib/math.in.h (truncf, trunc): Use simpler idiom.
16519
16520 2010-04-04  Bruno Haible  <bruno@clisp.org>
16521
16522         math: Fix some C++ test errors on Cygwin.
16523         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
16524         truncl): Provide declaration if the system does not have it.
16525         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
16526         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
16527         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
16528         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
16529         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
16530         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
16531         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
16532         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
16533         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
16534         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
16535         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
16536         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
16537         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
16538         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
16539         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
16540         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
16541         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
16542         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
16543         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
16544         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
16545         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
16546         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
16547
16548 2010-04-04  Bruno Haible  <bruno@clisp.org>
16549
16550         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
16551         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16552         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
16553         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
16554         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
16555         * m4/isinf.m4 (gl_ISINF): Likewise.
16556         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16557
16558 2010-04-04  Bruno Haible  <bruno@clisp.org>
16559
16560         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
16561         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16562
16563 2010-04-04  Bruno Haible  <bruno@clisp.org>
16564
16565         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
16566         * modules/tmpfile (configure.ac): Update.
16567
16568         tmpfile: Fix C++ test error on mingw.
16569         * lib/stdio.in.h (tmpfile): New declaration.
16570         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
16571         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
16572         * modules/tmpfile (Depends-on): Add stdio.
16573         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
16574         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
16575         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
16576         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
16577         REPLACE_TMPFILE.
16578         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
16579
16580 2010-04-04  Bruno Haible  <bruno@clisp.org>
16581
16582         ioctl: Fix C++ test error on mingw.
16583         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
16584         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
16585         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
16586
16587 2010-04-03  Bruno Haible  <bruno@clisp.org>
16588
16589         wcwidth: Fix C++ test error on mingw.
16590         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
16591         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
16592         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
16593
16594 2010-04-03  Bruno Haible  <bruno@clisp.org>
16595
16596         nanosleep: Fix C++ test error on mingw.
16597         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
16598         * lib/time.in.h (nanosleep): Use modern idiom.
16599         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
16600         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
16601         REPLACE_NANOSLEEP to 1.
16602         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
16603         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
16604
16605 2010-04-03  Bruno Haible  <bruno@clisp.org>
16606
16607         strptime: Fix C++ test error on mingw.
16608         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
16609         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
16610         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
16611         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
16612         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
16613         not REPLACE_STRPTIME.
16614         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
16615         REPLACE_STRPTIME.
16616
16617 2010-04-03  Bruno Haible  <bruno@clisp.org>
16618
16619         timegm: Fix C++ test error on mingw.
16620         * lib/time.in.h (timegm): Use modern idiom.
16621         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
16622         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
16623         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
16624         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
16625
16626 2010-04-03  Bruno Haible  <bruno@clisp.org>
16627
16628         timegm: Assume declaration if function exists.
16629         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
16630         if it exists. Don't clobber ac_cv_func_timegm.
16631
16632 2010-04-03  Bruno Haible  <bruno@clisp.org>
16633
16634         time_r: Fix C++ test error on mingw.
16635         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
16636         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
16637         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
16638         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
16639         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
16640
16641 2010-04-03  Bruno Haible  <bruno@clisp.org>
16642
16643         time_r: Minor updates.
16644         * modules/time_r (Description): Mention the provided functions.
16645         * lib/time_r.c: Don't include <string.h>.
16646         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
16647         * doc/posix-functions/localtime_r.texi: Likewise.
16648
16649 2010-04-03  Bruno Haible  <bruno@clisp.org>
16650
16651         time: Fix regression introduced on 2010-03-08.
16652         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
16653         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
16654
16655 2010-04-03  Jim Meyering  <meyering@redhat.com>
16656
16657         maint.mk: don't silently disable project-specific syntax-check rules
16658         * top/maint.mk (_prohibit_regexp): Define, to help people realize
16659         that they need to convert their project-specific syntax-check rules
16660         to use the new _sc_search_regexp.
16661
16662 2010-04-03  Bruno Haible  <bruno@clisp.org>
16663
16664         fchdir: Fix regression introduced on 2010-03-08.
16665         * lib/unistd.in.h (fchdir): Fix declaration.
16666         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
16667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
16668         REPLACE_FCHDIR.
16669         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
16670         REPLACE_FCHDIR.
16671
16672 2010-04-03  Bruno Haible  <bruno@clisp.org>
16673
16674         getpagesize: Fix C++ test error on mingw.
16675         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
16676         system does not declare the function.
16677         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
16678         declared.
16679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16680         HAVE_DECL_GETPAGESIZE.
16681         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
16682
16683 2010-04-03  Bruno Haible  <bruno@clisp.org>
16684
16685         stdio: Make C++ tests work on mingw.
16686         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
16687         does not declare the function.
16688
16689 2010-04-03  Bruno Haible  <bruno@clisp.org>
16690
16691         ftello: Fix C++ test error on mingw.
16692         * lib/stdio.in.h (ftello): Use modern idiom.
16693         * lib/ftello.c (ftello): Renamed from rpl_ftello.
16694         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
16695         is missing and that it needs to be replaced.
16696         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
16697         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
16698         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
16699
16700 2010-04-03  Bruno Haible  <bruno@clisp.org>
16701
16702         fseeko: Fix C++ test error on mingw.
16703         * lib/stdio.in.h (fseeko): Use modern idiom.
16704         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
16705         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
16706         is missing and that it needs to be replaced.
16707         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
16708         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
16709         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
16710
16711 2010-04-03  Bruno Haible  <bruno@clisp.org>
16712
16713         mkstemp: Fix C++ test error on mingw.
16714         * lib/stdlib.in.h (mkstemp): Use modern idiom.
16715         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
16716         function is missing and that it needs to be replaced.
16717         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
16718         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
16719
16720 2010-04-03  Bruno Haible  <bruno@clisp.org>
16721
16722         stpncpy: Fix C++ test error on mingw.
16723         * lib/string.in.h (stpncpy): Use modern idiom.
16724         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
16725         function is missing and that it needs to be replaced.
16726         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16727         REPLACE_STPNCPY.
16728         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
16729
16730 2010-04-03  Bruno Haible  <bruno@clisp.org>
16731
16732         sys_stat: Fix C++ test error on mingw.
16733         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
16734         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
16735
16736 2010-04-03  Bruno Haible  <bruno@clisp.org>
16737
16738         pty: Update doc.
16739         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
16740
16741 2010-04-03  Bruno Haible  <bruno@clisp.org>
16742
16743         unistd: Fix C++ test error on mingw.
16744         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
16745
16746 2010-04-03  Bruno Haible  <bruno@clisp.org>
16747
16748         Update doc regarding mingw.
16749         * doc/glibc-functions/openpty.texi: Update regarding mingw.
16750         * doc/glibc-functions/login_tty.texi: Likewise.
16751         * doc/glibc-functions/forkpty.texi: Likewise.
16752
16753 2010-04-03  Bruno Haible  <bruno@clisp.org>
16754
16755         stdlib: Avoid compilation failure of c-strtold on mingw.
16756         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
16757
16758 2010-04-03  Bruno Haible  <bruno@clisp.org>
16759
16760         locale: Make C++ tests work on Cygwin and mingw.
16761         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
16762         cannot provide the function.
16763         Reported by Simon Josefsson.
16764
16765 2010-04-03  Bruno Haible  <bruno@clisp.org>
16766
16767         localename: Port to MacOS X 10.6.
16768         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
16769         memory layout of the locales in MacOS X 10.6 as well.
16770         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
16771
16772 2010-04-02  Bruno Haible  <bruno@clisp.org>
16773
16774         gnulib-tool: Ensure that long-running tests are executed last.
16775         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
16776         running tests after the one for the other tests.
16777
16778 2010-04-02  Bruno Haible  <bruno@clisp.org>
16779
16780         gnulib-tool: Ensure the tests in the main directory are executed first.
16781         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
16782         start with the current directory.
16783
16784 2010-04-02  Bruno Haible  <bruno@clisp.org>
16785
16786         Tests for module 'havelib', moved here from GNU gettext.
16787         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
16788         modifications.
16789         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
16790         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
16791         with modifications.
16792         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
16793         modifications.
16794         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
16795         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
16796         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
16797         with modifications.
16798         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
16799         with modifications.
16800         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
16801         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
16802         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
16803         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
16804         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
16805         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
16806         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
16807         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
16808         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
16809         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
16810         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
16811         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
16812         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
16813         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
16814         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
16815         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
16816         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
16817         with modifications.
16818         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
16819         with modifications.
16820         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
16821         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
16822         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
16823         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
16824         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
16825         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
16826         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
16827         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
16828         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
16829         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
16830         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
16831         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
16832         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
16833         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
16834         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
16835         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
16836         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
16837         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
16838         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
16839         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
16840         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
16841         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
16842         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
16843         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
16844         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
16845         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
16846         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
16847         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
16848         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
16849         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
16850         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
16851         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
16852         * tests/havelib/rpathx/rpathx.c: New file, from
16853         gettext/autoconf-lib-link.
16854         * tests/havelib/rpathx/Makefile.am: New file, from
16855         gettext/autoconf-lib-link.
16856         * tests/havelib/rpathx/configure.ac: New file, from
16857         gettext/autoconf-lib-link with modifications.
16858         * tests/havelib/rpathy/rpathy.c: New file, from
16859         gettext/autoconf-lib-link.
16860         * tests/havelib/rpathy/Makefile.am: New file, from
16861         gettext/autoconf-lib-link.
16862         * tests/havelib/rpathy/configure.ac: New file, from
16863         gettext/autoconf-lib-link with modifications.
16864         * tests/havelib/rpathz/rpathz.c: New file, from
16865         gettext/autoconf-lib-link.
16866         * tests/havelib/rpathz/Makefile.am: New file, from
16867         gettext/autoconf-lib-link.
16868         * tests/havelib/rpathz/configure.ac: New file, from
16869         gettext/autoconf-lib-link with modifications.
16870         * tests/havelib/rpathlx/usex.c: New file, from
16871         gettext/autoconf-lib-link.
16872         * tests/havelib/rpathlx/Makefile.am: New file, from
16873         gettext/autoconf-lib-link.
16874         * tests/havelib/rpathlx/configure.ac: New file, from
16875         gettext/autoconf-lib-link with modifications.
16876         * tests/havelib/rpathly/usey.c: New file, from
16877         gettext/autoconf-lib-link.
16878         * tests/havelib/rpathly/Makefile.am: New file, from
16879         gettext/autoconf-lib-link.
16880         * tests/havelib/rpathly/configure.ac: New file, from
16881         gettext/autoconf-lib-link with modifications.
16882         * tests/havelib/rpathlz/usez.c: New file, from
16883         gettext/autoconf-lib-link.
16884         * tests/havelib/rpathlz/Makefile.am: New file, from
16885         gettext/autoconf-lib-link.
16886         * tests/havelib/rpathlz/configure.ac: New file, from
16887         gettext/autoconf-lib-link with modifications.
16888         * tests/havelib/rpathlyx/usey.c: New file, from
16889         gettext/autoconf-lib-link.
16890         * tests/havelib/rpathlyx/Makefile.am: New file, from
16891         gettext/autoconf-lib-link.
16892         * tests/havelib/rpathlyx/configure.ac: New file, from
16893         gettext/autoconf-lib-link with modifications.
16894         * tests/havelib/rpathlzyx/usez.c: New file, from
16895         gettext/autoconf-lib-link.
16896         * tests/havelib/rpathlzyx/Makefile.am: New file, from
16897         gettext/autoconf-lib-link.
16898         * tests/havelib/rpathlzyx/configure.ac: New file, from
16899         gettext/autoconf-lib-link with modifications.
16900         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
16901         with modifications.
16902
16903 2010-04-02  Bruno Haible  <bruno@clisp.org>
16904
16905         gnulib-tool: Create distributed built sources also for the tests.
16906         * gnulib-tool (func_create_testdir): Also generate distributed built
16907         sources in the tests directory.
16908
16909 2010-04-02  Bruno Haible  <bruno@clisp.org>
16910
16911         gnulib-tool: Obey user's environment variables.
16912         * gnulib-tool (func_create_testdir): When creating built sources,
16913         respect the environment variables for autoconf, automake, etc. given by
16914         the user.
16915
16916 2010-04-02  Bruno Haible  <bruno@clisp.org>
16917
16918         gnulib-tool: Provide the value of --m4-base to modules.
16919         * gnulib-tool (func_import, func_create_testdir): Emit a definition
16920         of gl_m4_base.
16921
16922 2010-04-02  Eric Blake  <eblake@redhat.com>
16923
16924         maint.mk: fix some fallout
16925         * NEWS: Document the incompatible change, and its effect on cfg.mk.
16926         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
16927
16928 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
16929
16930         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
16931         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
16932         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
16933         (sc_cast_of_x_alloc_return_value): Likewise.
16934         (sc_cast_of_alloca_return_value): Likewise.
16935         (sc_space_tab): Likewise.
16936         (sc_prohibit_atoi_atof): Likewise.
16937         (sc_prohibit_magic_number_exit): Likewise.
16938         (sc_error_exit_success): Likewise.
16939         (sc_file_system): Likewise.
16940         (sc_prohibit_have_config_h): Likewise.
16941         (sc_require_config_h): Likewise.
16942         (sc_prohibit_HAVE_MBRTOWC): Likewise.
16943         (sc_obsolete_symbols): Likewise.
16944         (sc_changelog): Likewise.
16945         (sc_program_name): Likewise.
16946         (sc_the_the): Likewise.
16947         (sc_trailing_blank): Likewise.
16948         (sc_two_space_separator_in_usage): Likewise.
16949         (sc_useless_cpp_parens): Likewise.
16950         (sc_GPL_version): Likewise.
16951         (sc_GFDL_version): Likewise.
16952         (sc_texinfo_acronym): Likewise.
16953         (sc_prohibit_cvs_keyword): Likewise.
16954         (sc_prohibit_stat_st_blocks): Likewise.
16955         (sc_prohibit_S_IS_definition): Likewise.
16956         (sc_redundant_const): Likewise.
16957         (sc_makefile_TAB_only_indentation): Likewise.
16958         (sc_m4_quote_check): Likewise.
16959         (sc_makefile_path_separator_check): Likewise.
16960         (sc_copyright_check): Likewise.
16961         (sc_Wundef_boolean): Likewise.
16962         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
16963
16964         maint.mk: match 0 or more whitespace-before-function-call '('
16965         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
16966         that have zero or two-and-more spaces between the function name
16967         and the open parenthesis.
16968         (sc_error_message_warn_fatal): Likewise.
16969         (sc_error_message_uppercase): Likewise.
16970         (sc_error_message_period): Likewise.
16971
16972 2010-03-31  Eric Blake  <eblake@redhat.com>
16973
16974         maint.mk: check for [ as well as test
16975         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
16976         Based on a libvirt report by Matthias Bolte.
16977
16978         gnumakefile: don't squelch _version output
16979         * top/GNUmakefile (_version): Create one-shot dependency rather
16980         than using $(shell) when version must be regenerated.
16981         (_autoreconf): Run verbosely, by default.
16982
16983         sys_time: avoid compiler warnings
16984         * lib/sys_time.in.h (includes): Ensure gcc pragma is
16985         unconditional, fixing regression from 2010-03-29.
16986         Reported by Simon Josefsson.
16987
16988 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
16989
16990         maint.mk: s/_header_without_use/_sc_header_without_use/
16991         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
16992         (sc_prohibit_assert_without_use): Use the new name.
16993         (sc_prohibit_close_stream_without_use): Likewise.
16994         (sc_prohibit_getopt_without_use): Likewise.
16995         (sc_prohibit_quotearg_without_use): Likewise.
16996         (sc_prohibit_quote_without_use): Likewise.
16997         (sc_prohibit_long_options_without_use): Likewise.
16998         (sc_prohibit_inttostr_without_use): Likewise.
16999         (sc_prohibit_ignore_value_without_use): Likewise.
17000         (sc_prohibit_error_without_use): Likewise.
17001         (sc_prohibit_xalloc_without_use): Likewise.
17002         (sc_prohibit_hash_without_use): Likewise.
17003         (sc_prohibit_hash_pjw_without_use): Likewise.
17004         (sc_prohibit_safe_read_without_use): Likewise.
17005         (sc_prohibit_argmatch_without_use): Likewise.
17006         (sc_prohibit_canonicalize_without_use): Likewise.
17007         (sc_prohibit_root_dev_ino_without_use): Likewise.
17008         (sc_prohibit_openat_without_use): Likewise.
17009         (sc_prohibit_c_ctype_without_use): Likewise.
17010         (sc_prohibit_signal_without_use): Likewise.
17011         (sc_prohibit_intprops_without_use): Likewise.
17012
17013 2010-03-30  Eric Blake  <eblake@redhat.com>
17014
17015         maint: improve module indicators
17016         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
17017         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
17018         columns, and avoid extra macro expansion.
17019
17020         fdopendir: work around FreeBSD bug
17021         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
17022         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
17023         * modules/dirent (Makefile.am): Substitute it.
17024         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
17025         declaration.
17026         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
17027         fix.
17028         Reported by Christian Weisgerber <naddy@mips.inka.de>.
17029
17030 2010-03-29  Bruno Haible  <bruno@clisp.org>
17031
17032         Emit #pragma system_header after the inclusion guard, not before.
17033         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
17034         guard that spans the entire file, not before. This enables an
17035         optimization in GCC's preprocessor.
17036         * lib/ctype.in.h: Likewise.
17037         * lib/dirent.in.h: Likewise.
17038         * lib/errno.in.h: Likewise.
17039         * lib/float.in.h: Likewise.
17040         * lib/getopt.in.h: Likewise.
17041         * lib/iconv.in.h: Likewise.
17042         * lib/langinfo.in.h: Likewise.
17043         * lib/locale.in.h: Likewise.
17044         * lib/math.in.h: Likewise.
17045         * lib/netdb.in.h: Likewise.
17046         * lib/netinet_in.in.h: Likewise.
17047         * lib/pty.in.h: Likewise.
17048         * lib/sched.in.h: Likewise.
17049         * lib/se-selinux.in.h: Likewise.
17050         * lib/search.in.h: Likewise.
17051         * lib/spawn.in.h: Likewise.
17052         * lib/stdarg.in.h: Likewise.
17053         * lib/stdint.in.h: Likewise.
17054         * lib/string.in.h: Likewise.
17055         * lib/strings.in.h: Likewise.
17056         * lib/sys_file.in.h: Likewise.
17057         * lib/sys_ioctl.in.h: Likewise.
17058         * lib/sys_time.in.h: Likewise.
17059         * lib/sys_times.in.h: Likewise.
17060         * lib/sys_utsname.in.h: Likewise.
17061         * lib/sys_wait.in.h: Likewise.
17062         * lib/sysexits.in.h: Likewise.
17063         * lib/wctype.in.h: Likewise.
17064
17065 2010-03-28  James Youngman  <jay@gnu.org>
17066
17067         save-cwd: don't leak a file descriptor when the caller execs.
17068         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
17069         saved file descriptor.
17070         * modules/save-cwd (Depends-on): Depend on cloexec.
17071
17072 2010-03-29  Bruno Haible  <bruno@clisp.org>
17073
17074         Remove vestiges of fts-lgpl module.
17075         * lib/fts_.h: Assume GNULIB_FTS is 1.
17076         * lib/fts.c: Likewise.
17077         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
17078
17079 2010-03-28  Bruno Haible  <bruno@clisp.org>
17080
17081         Fix definition of tests witness macro.
17082         * gnulib-tool (func_import): Fix definition of witness macro.
17083
17084 2010-03-28  Bruno Haible  <bruno@clisp.org>
17085
17086         Fix ioctl's protoype on glibc systems.
17087         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
17088         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
17089         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
17090         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
17091         signature. If not, arrange to replace the ioctl function.
17092         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
17093         REPLACE_IOCTL.
17094         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
17095         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
17096         Reported by Ludovic Courtès <ludo@gnu.org>.
17097
17098 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
17099
17100         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
17101         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
17102         made it so grep -r --include=GLOB* ... did not work.
17103
17104 2010-03-26  Jim Meyering  <meyering@redhat.com>
17105             Eric Blake  <eblake@redhat.com>
17106
17107         maint.mk: prohibit use of test's -o and -a operators
17108         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
17109
17110 2010-03-28  Bruno Haible  <bruno@clisp.org>
17111
17112         Remove unused GNULIB_XYZ macro definitions.
17113         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
17114         invocation.
17115
17116 2010-03-28  Bruno Haible  <bruno@clisp.org>
17117
17118         Mark privileged tests modules.
17119         * modules/idpriv-drop-tests (Status): New section.
17120         * modules/idpriv-droptemp-tests (Status): New section.
17121
17122 2010-03-28  Bruno Haible  <bruno@clisp.org>
17123
17124         Split C++ tests into separate tests modules.
17125         * modules/dirent-c++-tests: New file, extracted from
17126         modules/dirent-tests.
17127         * modules/dirent-tests: Depend on it.
17128         * modules/fcntl-h-c++-tests: New file, extracted from
17129         modules/fcntl-h-tests.
17130         * modules/fcntl-h-tests: Depend on it.
17131         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
17132         * modules/glob-tests: Depend on it.
17133         * modules/iconv-h-c++-tests: New file, extracted from
17134         modules/iconv-h-tests.
17135         * modules/iconv-h-tests: Depend on it.
17136         * modules/langinfo-c++-tests: New file, extracted from
17137         modules/langinfo-tests.
17138         * modules/langinfo-tests: Depend on it.
17139         * modules/locale-c++-tests: New file, extracted from
17140         modules/locale-tests.
17141         * modules/locale-tests: Depend on it.
17142         * modules/math-c++-tests: New file, extracted from modules/math-tests.
17143         * modules/math-tests: Depend on it.
17144         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
17145         * modules/pty-tests: Depend on it.
17146         * modules/search-c++-tests: New file, extracted from
17147         modules/search-tests.
17148         * modules/search-tests: Depend on it.
17149         * modules/signal-c++-tests: New file, extracted from
17150         modules/signal-tests.
17151         * modules/signal-tests: Depend on it.
17152         * modules/spawn-c++-tests: New file, extracted from
17153         modules/spawn-tests.
17154         * modules/spawn-tests: Depend on it.
17155         * modules/stdio-c++-tests: New file, extracted from
17156         modules/stdio-tests.
17157         * modules/stdio-tests: Depend on it.
17158         * modules/stdlib-c++-tests: New file, extracted from
17159         modules/stdlib-tests.
17160         * modules/stdlib-tests: Depend on it.
17161         * modules/string-c++-tests: New file, extracted from
17162         modules/string-tests.
17163         * modules/string-tests: Depend on it.
17164         * modules/sys_ioctl-c++-tests: New file, extracted from
17165         modules/sys_ioctl-tests.
17166         * modules/sys_ioctl-tests: Depend on it.
17167         * modules/sys_select-c++-tests: New file, extracted from
17168         modules/sys_select-tests.
17169         * modules/sys_select-tests: Depend on it.
17170         * modules/sys_socket-c++-tests: New file, extracted from
17171         modules/sys_socket-tests.
17172         * modules/sys_socket-tests: Depend on it.
17173         * modules/sys_stat-c++-tests: New file, extracted from
17174         modules/sys_stat-tests.
17175         * modules/sys_stat-tests: Depend on it.
17176         * modules/sys_time-c++-tests: New file, extracted from
17177         modules/sys_time-tests.
17178         * modules/sys_time-tests: Depend on it.
17179         * modules/time-c++-tests: New file, extracted from modules/time-tests.
17180         * modules/time-tests: Depend on it.
17181         * modules/unistd-c++-tests: New file, extracted from
17182         modules/unistd-tests.
17183         * modules/unistd-tests: Depend on it.
17184         * modules/wchar-c++-tests: New file, extracted from
17185         modules/wchar-tests.
17186         * modules/wchar-tests: Depend on it.
17187         * modules/wctype-c++-tests: New file, extracted from
17188         modules/wctype-tests.
17189         * modules/wctype-tests: Depend on it.
17190         Reported by Simon Josefsson.
17191
17192 2010-03-28  Bruno Haible  <bruno@clisp.org>
17193
17194         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
17195         * gnulib-tool (func_exists_module): New function, extracted from
17196         func_verify_module.
17197         (func_verify_module): Use it.
17198         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
17199         'foo' only if 'foo' exists.
17200         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
17201         module.
17202
17203 2010-03-28  Bruno Haible  <bruno@clisp.org>
17204
17205         gnulib-tool: Add support for special categories of tests.
17206         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
17207         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
17208         (func_usage): Document them.
17209         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
17210         inc_unportable_tests, inc_all_tests): New variables.
17211         (func_acceptable): Consider these variables.
17212         (func_modules_transitive_closure): Make it work when the 'Status' field
17213         consists of multiple words.
17214         (func_import): Store and restore the values of inc_cxx_tests,
17215         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
17216         inc_all_tests in gnulib-comp.m4.
17217         (func_create_testdir): Set inc_all_tests to true.
17218         * doc/gnulib.texi (Extra tests modules): New section.
17219         Suggested by Jim Meyering.
17220
17221 2010-03-28  Bruno Haible  <bruno@clisp.org>
17222
17223         ansi-c++-opt: Allow turning off the C++ build by default.
17224         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
17225         gl_CXX_CHOICE_DEFAULT_NO is defined.
17226         Requested by Eric Blake.
17227
17228 2010-03-28  Bruno Haible  <bruno@clisp.org>
17229
17230         unistd: Avoid #define replacements in C++ mode.
17231         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
17232         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
17233         setsockopt, shutdown, select): In C++, attach a warning to the function
17234         if possible, rather than #defining the symbol to a dysfunctional alias.
17235         Reported by John W. Eaton <jwe@gnu.org>.
17236
17237 2010-03-28  Bruno Haible  <bruno@clisp.org>
17238
17239         Fix link errors on mingw.
17240         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
17241         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
17242         $(LIBSOCKET).
17243         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
17244         $(LIBSOCKET).
17245
17246 2010-03-28  Bruno Haible  <bruno@clisp.org>
17247             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17248
17249         lib-ignore: Determine different options for different compilers.
17250         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
17251         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
17252         Add comments.
17253         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
17254         * NEWS: Mention the change.
17255
17256 2010-03-27  Bruno Haible  <bruno@clisp.org>
17257
17258         Remove unused GNULIB_XYZ macro definitions.
17259         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
17260         * modules/fseek (configure.ac): Likewise.
17261         * modules/ioctl (configure.ac): Likewise.
17262         * modules/open (configure.ac): Likewise.
17263         * modules/stdlib-safer (configure.ac): Likewise.
17264
17265 2010-03-27  Bruno Haible  <bruno@clisp.org>
17266
17267         Add a remark about certain modules.
17268         * modules/malloc (Comment): New section.
17269         * modules/realloc (Comment): Likewise.
17270         * modules/sigpipe (Comment): Likewise.
17271
17272 2010-03-27  Bruno Haible  <bruno@clisp.org>
17273
17274         Resolve conflict between the two kinds of module indicators.
17275         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
17276         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
17277         * modules/canonicalize (configure.ac): Invoke
17278         gl_MODULE_INDICATOR_FOR_TESTS.
17279         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
17280         GNULIB_XYZ.
17281         * tests/test-dirent-c++.cc: Likewise.
17282         * tests/test-dirent-safer.c: Likewise.
17283         * tests/test-dup2.c: Likewise.
17284         * tests/test-fchdir.c: Likewise.
17285         * tests/test-fcntl-h-c++.cc: Likewise.
17286         * tests/test-getopt.c: Likewise.
17287         * tests/test-getopt.h: Likewise.
17288         * tests/test-langinfo-c++.cc: Likewise.
17289         * tests/test-locale-c++.cc: Likewise.
17290         * tests/test-math-c++.cc: Likewise.
17291         * tests/test-pty-c++.cc: Likewise.
17292         * tests/test-search-c++.cc: Likewise.
17293         * tests/test-signal-c++.cc: Likewise.
17294         * tests/test-spawn-c++.cc: Likewise.
17295         * tests/test-stdio-c++.cc: Likewise.
17296         * tests/test-stdlib-c++.cc: Likewise.
17297         * tests/test-string-c++.cc: Likewise.
17298         * tests/test-sys_ioctl-c++.cc: Likewise.
17299         * tests/test-sys_select-c++.cc: Likewise.
17300         * tests/test-sys_socket-c++.cc: Likewise.
17301         * tests/test-sys_stat-c++.cc: Likewise.
17302         * tests/test-sys_time-c++.cc: Likewise.
17303         * tests/test-time-c++.cc: Likewise.
17304         * tests/test-unistd-c++.cc: Likewise.
17305         * tests/test-wchar-c++.cc: Likewise.
17306         * tests/uninorm/test-u8-nfc.c: Likewise.
17307         * tests/uninorm/test-u8-nfd.c: Likewise.
17308         * tests/uninorm/test-u8-nfkc.c: Likewise.
17309         * tests/uninorm/test-u8-nfkd.c: Likewise.
17310         * tests/uninorm/test-u16-nfc.c: Likewise.
17311         * tests/uninorm/test-u16-nfd.c: Likewise.
17312         * tests/uninorm/test-u16-nfkc.c: Likewise.
17313         * tests/uninorm/test-u16-nfkd.c: Likewise.
17314         * tests/uninorm/test-u32-nfc.c: Likewise.
17315         * tests/uninorm/test-u32-nfc-big.c: Likewise.
17316         * tests/uninorm/test-u32-nfd.c: Likewise.
17317         * tests/uninorm/test-u32-nfd-big.c: Likewise.
17318         * tests/uninorm/test-u32-nfkc.c: Likewise.
17319         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
17320         * tests/uninorm/test-u32-nfkd.c: Likewise.
17321         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
17322         * tests/uninorm/test-u32-normalize-big.c: Likewise.
17323
17324 2010-03-27  Bruno Haible  <bruno@clisp.org>
17325
17326         Distinguish two kinds of module indicators.
17327         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
17328         gl_MODULE_INDICATOR.
17329         (gl_MODULE_INDICATOR): New macro.
17330         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
17331         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
17332         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
17333         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
17334         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
17335         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
17336         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
17337         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
17338         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
17339         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
17340         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
17341         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
17342         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
17343         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
17344         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
17345         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
17346         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
17347         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
17348         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
17349         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
17350         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
17351         * modules/cloexec (configure.ac): Likewise.
17352         * modules/getopt-gnu (configure.ac): Likewise.
17353         * modules/uninorm/u8-normalize (configure.ac): Likewise.
17354         * modules/uninorm/u16-normalize (configure.ac): Likewise.
17355         * modules/uninorm/u32-normalize (configure.ac): Likewise.
17356         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
17357
17358 2010-03-27  Bruno Haible  <bruno@clisp.org>
17359
17360         New module description field 'Comment'.
17361         * gnulib-tool: New option --extract-comment.
17362         (func_usage): Document it.
17363         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
17364         (func_get_comment): New function.
17365         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
17366
17367 2010-03-27  Bruno Haible  <bruno@clisp.org>
17368
17369         Addendum to 2010-02-07 commit.
17370         * gnulib-tool (func_usage): Document --extract-applicability option.
17371
17372 2010-03-27  Bruno Haible  <bruno@clisp.org>
17373
17374         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
17375         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
17376         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
17377         rather than link errors.
17378
17379 2010-03-27  Bruno Haible  <bruno@clisp.org>
17380
17381         Avoid side effects from tests-related modules on the compilation of lib.
17382         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
17383         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
17384         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
17385         parameter. Emit into AM_CPPFLAGS a definition of the designated C
17386         macro.
17387         (func_import): Define a witness macro. Assign it a value that depends
17388         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
17389         tests-related modules.
17390         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
17391         Reported by Jim Meyering.
17392
17393 2010-03-27  Bruno Haible  <bruno@clisp.org>
17394
17395         Factorize common .m4 code.
17396         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
17397         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
17398         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
17399         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
17400         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
17401         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
17402         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
17403         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
17404         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
17405         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
17406         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
17407         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
17408         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
17409         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
17410         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
17411         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
17412         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
17413         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
17414         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
17415         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
17416         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
17417         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
17418         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
17419         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
17420         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
17421         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
17422         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
17423         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
17424         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
17425         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
17426         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
17427         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
17428
17429 2010-03-27  Bruno Haible  <bruno@clisp.org>
17430
17431         Fix a compilation error on Cygwin with g++ >= 4.3.
17432         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
17433         if it is undefined or if we alias it to chmod.
17434         (lstat): Don't warn about the use of this function if it is undefined
17435         or if we alias it to stat.
17436         Reported by Simon Josefsson.
17437
17438 2010-03-27  Bruno Haible  <bruno@clisp.org>
17439
17440         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
17441         * modules/getlogin (configure.ac): Update.
17442
17443         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
17444         * modules/getlogin_r (configure.ac): Update.
17445
17446         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
17447         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
17448         * modules/inet_ntop (configure.ac): Update.
17449
17450         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
17451         * modules/inet_pton (configure.ac): Update.
17452
17453         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
17454         * modules/mbslen (configure.ac): Update.
17455
17456         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
17457         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
17458         * modules/forkpty (configure.ac): Update.
17459         * modules/openpty (configure.ac): Update.
17460
17461 2010-03-26  Simon Josefsson  <simon@josefsson.org>
17462
17463         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
17464         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
17465
17466 2010-03-25  Eric Blake  <eblake@redhat.com>
17467
17468         maint: use pragma consistently across replacement headers
17469         * lib/ctype.in.h (system_header): Hoist for consistent placement.
17470         * lib/dirent.in.h (system_header): Likewise.
17471         * lib/errno.in.h (system_header): Likewise.
17472         * lib/float.in.h (system_header): Likewise.
17473         * lib/getopt.in.h (system_header): Likewise.
17474         * lib/iconv.in.h (system_header): Likewise.
17475         * lib/inttypes.in.h (system_header): Likewise.
17476         * lib/langinfo.in.h (system_header): Likewise.
17477         * lib/locale.in.h (system_header): Likewise.
17478         * lib/math.in.h (system_header): Likewise.
17479         * lib/netdb.in.h (system_header): Likewise.
17480         * lib/netinet_in.in.h (system_header): Likewise.
17481         * lib/pty.in.h (system_header): Likewise.
17482         * lib/sched.in.h (system_header): Likewise.
17483         * lib/se-selinux.in.h (system_header): Likewise.
17484         * lib/search.in.h (system_header): Likewise.
17485         * lib/spawn.in.h (system_header): Likewise.
17486         * lib/stdarg.in.h (system_header): Likewise.
17487         * lib/stdint.in.h (system_header): Likewise.
17488         * lib/string.in.h (system_header): Likewise.
17489         * lib/strings.in.h (system_header): Likewise.
17490         * lib/sys_file.in.h (system_header): Likewise.
17491         * lib/sys_ioctl.in.h (system_header): Likewise.
17492         * lib/sys_socket.in.h (system_header): Likewise.
17493         * lib/sys_times.in.h (system_header): Likewise.
17494         * lib/sys_utsname.in.h (system_header): Likewise.
17495         * lib/sys_wait.in.h (system_header): Likewise.
17496         * lib/sysexits.in.h (system_header): Likewise.
17497         * lib/unistd.in.h (system_header): Likewise.
17498         * lib/wctype.in.h (system_header): Likewise.
17499
17500         arpa/inet: fix mingw compilation warning
17501         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
17502         Reported by Matthew Bolte.
17503
17504 2010-03-25  Bruno Haible  <bruno@clisp.org>
17505
17506         Avoid collision between gnulib wrapper and libintl wrapper.
17507         * lib/printf.c (printf): Don't define if a printf wrapper is already
17508         defined in intl/printf.c.
17509         Reported by Michel Boaventura <michel@michelboaventura.com>.
17510
17511 2010-03-25  Bruno Haible  <bruno@clisp.org>
17512
17513         Use ANSI C.
17514         * lib/readutmp.h (getutent): Provide ANSI C prototype.
17515
17516 2010-03-25  Bruno Haible  <bruno@clisp.org>
17517
17518         Minor formatting changes.
17519         * lib/acosl.c: Insert space before function argument list.
17520         * lib/argz.c: Likewise.
17521         * lib/asinl.c: Likewise.
17522         * lib/expl.c: Likewise.
17523         * lib/gen-uni-tables.c: Likewise.
17524         * lib/gettext.h: Likewise.
17525         * lib/glthread/lock.h: Likewise.
17526         * lib/tanl.c: Likewise.
17527         * lib/uniname/uniname.c: Likewise.
17528         * tests/test-idpriv-drop.c: Likewise.
17529         * tests/test-idpriv-droptemp.c: Likewise.
17530         * tests/test-lock.c: Likewise.
17531         * tests/test-tls.c: Likewise.
17532         * lib/argp-help.c: Insert space before function-like macro argument
17533         list.
17534         * lib/memcmp.c: Likewise.
17535         * tests/test-base64.c: Likewise.
17536         * lib/localename.c: Insert space before sizeof's argument list.
17537         * lib/safe-alloc.h: Likewise.
17538         * lib/file-set.h: Insert space before macro argument list.
17539         * tests/test-argp.c: Likewise.
17540         * lib/argp-namefrob.h: Insert space before function parameter list.
17541         * lib/getaddrinfo.c: Likewise.
17542         * lib/netdb.in.h: Likewise.
17543         * lib/parse-duration.h: Likewise.
17544         * lib/parse-duration.c: Likewise.
17545         * lib/poll.c: Likewise.
17546         * lib/select.c: Likewise.
17547         * lib/trim.h: Likewise.
17548         * tests/test-usleep.c: Likewise.
17549         * lib/ldexpl.c: Insert space before function parameter list and before
17550         function argument list.
17551         * lib/logl.c: Likewise.
17552         * lib/sqrtl.c: Likewise.
17553         * lib/trim.c: Likewise.
17554         * lib/cosl.c: Use GNU style indentation. Insert space before function
17555         argument list.
17556         * lib/sinl.c: Likewise.
17557         * lib/tsearch.c: Insert space after 'for'.
17558         Reported by Jim Meyering.
17559
17560 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
17561
17562         * maint.mk (sc_Wundef_boolean): Check for the presence of the
17563         config header before grepping, as it's not present before
17564         autoreconf/configure are run.  Reported by Simon Josefsson.
17565
17566 2010-03-23  Bruno Haible  <bruno@clisp.org>
17567
17568         pt_chown: Make it work with automake < 1.11.
17569         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
17570         Reported by Simon Josefsson.
17571
17572 2010-03-23  Bruno Haible  <bruno@clisp.org>
17573
17574         pt_chown: Don't depend on GPLed modules.
17575         * lib/pt_chown.c: Don't include idpriv.h.
17576         (main): Don't drop privileges.
17577         * modules/pt_chown (Depends-on): Remove idpriv-drop.
17578         Reported by Simon Josefsson.
17579
17580 2010-03-24  Simon Josefsson  <simon@josefsson.org>
17581
17582         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
17583         suggestions from karl@freefriends.org (Karl Berry).
17584
17585 2010-03-22  Eric Blake  <eblake@redhat.com>
17586
17587         gethostname: further tweaks
17588         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
17589         are overriding gethostname.
17590         Suggested by Bruno Haible.
17591
17592 2010-03-21  Bruno Haible  <bruno@clisp.org>
17593
17594         Fix comments.
17595         * lib/forkpty.c (rpl_forkpty): Fix comment.
17596         * lib/openpty.c (rpl_openpty): Likewise.
17597         Reported by Eric Blake.
17598
17599 2010-03-22  Eric Blake  <eblake@redhat.com>
17600
17601         gethostname: fix build on mingw
17602         * lib/unistd.in.h (includes): Work around fact that mingw
17603         <winsock2.h> re-includes <unistd.h>, by avoiding any
17604         redeclarations if we are being included by <winsock2.h>.
17605         Reported by Matthias Bolte.
17606
17607 2010-03-21  Bruno Haible  <bruno@clisp.org>
17608
17609         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
17610         * lib/forkpty.c (forkpty): New replacement function, from glibc with
17611         modifications.
17612         * lib/pty.in.h (forkpty): Update declaration. Add comments.
17613         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
17614         provide the replacement.
17615         * modules/forkpty (Depends-on): Add openpty, login_tty.
17616         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
17617         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
17618         * doc/glibc-functions/forkpty.texi: More supported platforms.
17619         * config/srclist.txt: Add forkpty.c (commented).
17620
17621 2010-03-21  Bruno Haible  <bruno@clisp.org>
17622
17623         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
17624         (Makefile.am): Verify that PTY_LIB is defined.
17625
17626         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
17627
17628 2010-03-21  Bruno Haible  <bruno@clisp.org>
17629
17630         Tests for module 'login_tty'.
17631         * modules/login_tty-tests: New file.
17632         * tests/test-login_tty.c: New file.
17633
17634         New module 'login_tty'.
17635         * lib/login_tty.c: New file.
17636         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
17637         * modules/login_tty: New file.
17638         * doc/glibc-functions/login_tty.texi: Mention the new module.
17639
17640 2010-03-21  Bruno Haible  <bruno@clisp.org>
17641
17642         login_tty: Documentation.
17643         * doc/glibc-functions/login_tty.texi: New file.
17644         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
17645
17646 2010-03-21  Bruno Haible  <bruno@clisp.org>
17647
17648         pty: Consistent macro naming.
17649         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
17650         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
17651         * modules/pty (configure.ac): Update.
17652
17653 2010-03-21  Bruno Haible  <bruno@clisp.org>
17654
17655         Tests for openpty: Make stricter.
17656         * tests/test-openpty.c (main): Add test of canonical processing and
17657         erase.
17658         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
17659
17660         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
17661         * lib/openpty.c (openpty): New replacement function.
17662         * lib/pty.in.h: Include <termios.h>.
17663         (openpty): Update declaration. Add comments.
17664         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
17665         is not declared, arrange to provide the replacement. Check for _getpty
17666         and posix_openpt.
17667         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
17668         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
17669         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
17670         * modules/pty-tests (test_pty_c___LDADD): New variable.
17671         * doc/glibc-functions/openpty.texi: More supported platforms.
17672
17673 2010-03-21  Bruno Haible  <bruno@clisp.org>
17674
17675         setenv: Tweaks.
17676         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
17677         the test program.
17678         * doc/posix-functions/setenv.texi: Update platforms list.
17679
17680 2010-03-21  Bruno Haible  <bruno@clisp.org>
17681
17682         New module 'unlockpt'.
17683         * lib/unlockpt.c: New file, from glibc with modifications.
17684         * m4/unlockpt.m4: New file.
17685         * modules/unlockpt: New file.
17686         * lib/stdlib.in.h (unlockpt): New declaration.
17687         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
17688         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
17689         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
17690         HAVE_UNLOCKPT.
17691         * doc/posix-functions/unlockpt.texi: Mention the new module.
17692         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
17693         * config/srclist.txt: Add unlockpt.c (commented).
17694
17695 2010-03-21  Jim Meyering  <meyering@redhat.com>
17696
17697         maint.mk: prohibit inclusion of "intprops.h" without use
17698         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
17699
17700 2010-03-21  Bruno Haible  <bruno@clisp.org>
17701
17702         New module 'grantpt'.
17703         * lib/grantpt.c: New file, from glibc with modifications.
17704         * m4/grantpt.m4: New file.
17705         * modules/grantpt: New file.
17706         * lib/stdlib.in.h (grantpt): New declaration.
17707         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
17708         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
17709         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
17710         HAVE_GRANTPT.
17711         * doc/posix-functions/grantpt.texi: Mention the new module.
17712         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
17713         * config/srclist.txt: Add grantpt.c (commented).
17714
17715 2010-03-21  Bruno Haible  <bruno@clisp.org>
17716
17717         New module 'pt_chown'.
17718         * lib/pt_chown.c: New file, from glibc with modifications.
17719         * lib/pty-private.h: New file, from glibc with modifications.
17720         * modules/pt_chown: New file.
17721         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
17722
17723 2010-03-21  Bruno Haible  <bruno@clisp.org>
17724
17725         Tests for module 'ptsname'.
17726         * modules/ptsname-tests: New file.
17727         * tests/test-ptsname.c: New file.
17728
17729         New module 'ptsname'.
17730         * lib/ptsname.c: New file, from glibc with modifications.
17731         * m4/ptsname.m4: New file.
17732         * modules/ptsname: New file.
17733         * lib/stdlib.in.h (ptsname): New declaration.
17734         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
17735         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
17736         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
17737         HAVE_PTSNAME.
17738         * doc/posix-functions/ptsname.texi: Mention the new module.
17739         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
17740         * config/srclist.txt: Add ptsname.c (commented).
17741
17742 2010-03-21  Bruno Haible  <bruno@clisp.org>
17743
17744         Tests for module 'ttyname_r'.
17745         * modules/ttyname_r-tests: New file.
17746         * tests/test-ttyname_r.c: New file.
17747
17748         New module 'ttyname_r'.
17749         * lib/ttyname_r.c: New file.
17750         * m4/ttyname_r.m4: New file.
17751         * modules/ttyname_r: New file.
17752         * lib/unistd.in.h (ttyname_r): New declaration.
17753         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
17754         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
17755         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
17756         HAVE_TTYNAME_R.
17757         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
17758         * doc/posix-functions/ttyname_r.texi: Mention the new module.
17759
17760 2010-03-20  Bruno Haible  <bruno@clisp.org>
17761
17762         signal: Undefine macro definitions in C++ mode.
17763         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
17764         sigfillset): Undefine macro definitions from the system header in C++
17765         mode.
17766         Reported by John W. Eaton <jwe@gnu.org>.
17767
17768 2010-03-20  Bruno Haible  <bruno@clisp.org>
17769
17770         Ensure no #include statements inside extern "C" { ... }.
17771         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
17772         contain #include statements.
17773         * lib/time.in.h: Likewise.
17774
17775 2010-03-20  Bruno Haible  <bruno@clisp.org>
17776
17777         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
17778         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
17779         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
17780         Reported by John W. Eaton <jwe@gnu.org>.
17781
17782 2010-03-20  Bruno Haible  <bruno@clisp.org>
17783
17784         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
17785         Reported by Jim Meyering.
17786
17787 2010-03-20  Bruno Haible  <bruno@clisp.org>
17788
17789         pipe: Set errno upon failure.
17790         * lib/pipe.h: Specify that when -1 is returned, errno is set.
17791         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
17792         errno value in error message.
17793
17794 2010-03-20  Bruno Haible  <bruno@clisp.org>
17795             Jim Meyering  <meyering@redhat.com>
17796
17797         lchown: Avoid "unused variable" warning.
17798         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
17799
17800 2010-03-20  Bruno Haible  <bruno@clisp.org>
17801
17802         Work around unlink() bug on MacOS X 10.5.6.
17803         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
17804         attempting to unlink a parent directory.
17805         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
17806         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
17807         activate for the replacement function.
17808         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
17809
17810 2010-03-20  Bruno Haible  <bruno@clisp.org>
17811
17812         Fix link errors on Solaris 8.
17813         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
17814         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
17815
17816 2010-03-19  Jim Meyering  <meyering@redhat.com>
17817
17818         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
17819         The _LIBC implementation of build_range_exp correctly honors the
17820         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
17821         However, the non-_LIBC implementation would ignore that syntax-bit
17822         flag and return REG_ERANGE unconditionally.
17823         This change makes it honor that flag.
17824         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
17825         Make two pointer parameters "const".
17826         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
17827         (parse_bracket_exp): Update caller.
17828
17829         regex.m4: correct the reversed range endpoint ([b-a]) test
17830         * m4/regex.m4: When requiring that [b-a] evoke failure,
17831         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
17832         test pass once again for x86-based systems.
17833
17834 2010-03-19  Bruno Haible  <bruno@clisp.org>
17835
17836         scandir: Fix link error on Solaris 8.
17837         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
17838         macros.
17839
17840 2010-03-19  Bruno Haible  <bruno@clisp.org>
17841
17842         getusershell: Fix documentation.
17843         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
17844         module.
17845         * doc/glibc-functions/setusershell.texi: Likewise.
17846
17847         getusershell: Provide declaration, missing on Solaris 9.
17848         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
17849         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
17850         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
17851         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
17852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17853         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
17854         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
17855         HAVE_GETUSERSHELL.
17856         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
17857
17858 2010-03-19  Bruno Haible  <bruno@clisp.org>
17859
17860         wctype: Provide iswblank function.
17861         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
17862         exists and is fine.
17863         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
17864         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
17865         * tests/test-wctype.c (main): Re-enable the iswblank tests.
17866         * doc/posix-functions/iswblank.texi: Update.
17867
17868 2010-03-19  Bruno Haible  <bruno@clisp.org>
17869
17870         Tests of module 'pty' in C++ mode.
17871         * modules/pty-tests: New file.
17872         * tests/test-pty-c++.cc: New file.
17873         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17874
17875 2010-03-19  Eric Blake  <eblake@redhat.com>
17876
17877         logb: fix documentation
17878         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
17879         1.5 declaration bug.
17880
17881         forkpty, openpty: prefer glibc's const-safe prototype
17882         * lib/forkpty.c (rpl_forkpty): New file.
17883         * lib/openpty.c (rpl_openpty): Likewise.
17884         * modules/forkpty (Files): Distribute it.
17885         * modules/openpty (Files): Likewise.
17886         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
17887         check...
17888         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
17889         replacement for for non-const BSD signature.
17890         * modules/pty (Makefile.am): Substitute witnesses.
17891         * lib/pty.in.h (forkpty, openpty): Declare replacements.
17892         * tests/test-forkpty.c: Update signature check.
17893         * tests/test-openpty.c: Likewise.
17894         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
17895         * doc/glibc-functions/openpty.texi (openpty): Likewise.
17896
17897         forkpty, openpty: split functions into new modules
17898         * modules/pty (Makefile.am): Substitute new witnesses.
17899         (Libraries): Move library detection...
17900         * modules/forkpty: ...into new module.
17901         * modules/openpty: Another new module.
17902         * modules/pty-tests: Rename and split...
17903         * modules/forkpty-tests: ...to this...
17904         * modules/openpty-tests: ...and this.
17905         * tests/test-pty.c: Rename and split...
17906         * tests/test-forkpty.c: ...to this...
17907         * tests/test-openpty.c: ...and this.
17908         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
17909         (gl_PTY): Split library searching...
17910         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
17911         (gl_FORKPTY, gl_OPENPTY): New macros.
17912         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
17913         * NEWS: Mention the split.
17914         * MODULES.html.sh (Misc): Document the modules.
17915         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
17916         * doc/glibc-functions/openpty.texi (openpty): Likewise.
17917
17918         pty: improve replacement header
17919         * lib/pty.in.h: New file.
17920         * modules/pty (Files): Ship it.
17921         (Makefile.am): Always build replacement.
17922         * m4/pty.m4: Rename...
17923         * m4/pty_h.m4: ...to this.
17924         (gl_PTY): Modernize setting of witness macros; update check of
17925         forkpty to take proper advantage of cache.
17926         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
17927
17928         getopt: avoid compiler warning
17929         * lib/getopt.c (attribute_hidden): Remove unused macro.
17930
17931 2010-03-18  Bruno Haible  <bruno@clisp.org>
17932
17933         Fix link errors on Solaris 8.
17934         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
17935         * modules/search-tests (test_search_c___LDADD): Likewise.
17936         * modules/signal-tests (test_signal_c___LDADD): Likewise.
17937         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
17938         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
17939         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
17940         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
17941         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
17942         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
17943
17944 2010-03-18  Bruno Haible  <bruno@clisp.org>
17945
17946         Fix bug introduced on 2010-03-14.
17947         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
17948         (gl_SPAWN_H): Require it.
17949         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
17950         Reported by Simon Josefsson.
17951
17952 2010-03-18  Bruno Haible  <bruno@clisp.org>
17953
17954         Fix typo introduced on 2009-12-31.
17955         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
17956         posix_spawn_file_actions_adddup2.
17957
17958 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
17959         and Eric Blake  <eblake@redhat.com>
17960
17961         test-vc-list-files-git: make more robust
17962         * tests/test-vc-list-files-git.sh: Unset problematic environment
17963         variables.  Chain commands together.
17964
17965 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
17966
17967         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
17968         `AC_CHECK_DECL' invocation.
17969
17970 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
17971
17972         * lib/inttostr.c (inttostr): Make sure the invocation of verify
17973         appears before executable statements. Suggested by Petr Sumbera
17974         <Petr.Sumbera@Sun.COM>.
17975
17976 2010-03-14  Bruno Haible  <bruno@clisp.org>
17977
17978         * tests/test-flock.c (test_exclusive): Comment out a test that causes
17979         portability problems. Instead use a simpler test.
17980         (main): Check that invalid arguments are rejected only on Linux.
17981
17982 2010-03-14  Bruno Haible  <bruno@clisp.org>
17983
17984         Fix bug introduced on 2009-12-31.
17985         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
17986         gl_PREREQ_SYS_H_WINSOCK2 always.
17987         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
17988         SYS_SOCKET_H variable.
17989         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
17990         Update comments.
17991         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
17992         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17993         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17994         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17995         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
17996
17997 2010-03-14  Bruno Haible  <bruno@clisp.org>
17998
17999         Fix values returned by sinl, cosl.
18000         * lib/trigl.h: Add specification comments.
18001         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
18002         that combines the values from the precomputed table with the values of
18003         the Chebyshev polynomials.
18004
18005 2010-03-14  Bruno Haible  <bruno@clisp.org>
18006
18007         Fix compilation error when modules 'posix_spawn[p]' are not used.
18008         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
18009         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
18010
18011 2010-03-14  Bruno Haible  <bruno@clisp.org>
18012
18013         Fix compilation error on mingw when module 'time_r' is not used.
18014         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
18015         is 1.
18016         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
18017         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
18018         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
18019         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
18020
18021 2010-03-14  Bruno Haible  <bruno@clisp.org>
18022
18023         Fix compilation error with Sun C.
18024         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
18025         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
18026         instead of GCC specific ULONG_LONG_MAX.
18027         * lib/xstrtoll.c: Likewise.
18028         * lib/xstrtoull.c: Likewise.
18029
18030 2010-03-13  Bruno Haible  <bruno@clisp.org>
18031
18032         Allow the user to disable C++ code and tests.
18033         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
18034         (gl_PROG_ANSI_CXX): Require it.
18035
18036 2010-03-13  Bruno Haible  <bruno@clisp.org>
18037
18038         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
18039         cases.
18040
18041 2010-03-13  Bruno Haible  <bruno@clisp.org>
18042
18043         Test that gnulib does not break the standard C++ headers.
18044         * tests/test-locale-c++2.cc: New file.
18045         * modules/locale-tests (Files): Add it.
18046         (Makefile.am): Compile it for test-locale-c++.
18047         * tests/test-math-c++2.cc: New file.
18048         * modules/math-tests (Files): Add it.
18049         (Makefile.am): Compile it for test-math-c++.
18050         * tests/test-signal-c++2.cc: New file.
18051         * modules/signal-tests (Files): Add it.
18052         (Makefile.am): Compile it for test-signal-c++.
18053         * tests/test-stdio-c++2.cc: New file.
18054         * modules/stdio-tests (Files): Add it.
18055         (Makefile.am): Compile it for test-stdio-c++.
18056         * tests/test-stdlib-c++2.cc: New file.
18057         * modules/stdlib-tests (Files): Add it.
18058         (Makefile.am): Compile it for test-stdlib-c++.
18059         * tests/test-string-c++2.cc: New file.
18060         * modules/string-tests (Files): Add it.
18061         (Makefile.am): Compile it for test-string-c++.
18062         * tests/test-time-c++2.cc: New file.
18063         * modules/time-tests (Files): Add it.
18064         (Makefile.am): Compile it for test-time-c++.
18065         Reported by John W. Eaton <jwe@gnu.org>.
18066
18067 2010-03-13  Bruno Haible  <bruno@clisp.org>
18068
18069         * gnulib-tool (func_usage): Clarify which options are available for
18070         --create-testdir and --create-megatestdir.
18071
18072 2010-03-13  Bruno Haible  <bruno@clisp.org>
18073
18074         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
18075         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
18076         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
18077         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
18078         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
18079         when appropriate.
18080         Reported by Jim Meyering.
18081
18082 2010-03-12  Simon Josefsson  <simon@josefsson.org>
18083
18084         * gnulib-tool (func_import): Explain origin of code.
18085
18086 2010-03-12  Bruno Haible  <bruno@clisp.org>
18087
18088         Fix problem with automake's definition of CXXLINK.
18089         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
18090         Reported by Simon Josefsson and Ludovic Courtès.
18091
18092 2010-03-12  Bruno Haible  <bruno@clisp.org>
18093
18094         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
18095         stable releases.
18096
18097 2010-03-11  Bruno Haible  <bruno@clisp.org>
18098
18099         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
18100         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
18101         whether the system provides one variant or multiple variants of the
18102         function.
18103         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
18104         C++ compilers.
18105         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
18106         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
18107         Reported by Jim Meyering.
18108
18109 2010-03-09  Simon Josefsson  <simon@josefsson.org>
18110
18111         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
18112
18113 2010-03-08  Bruno Haible  <bruno@clisp.org>
18114
18115         gnulib-tool: Add support for --libtool in --create-testdir.
18116         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
18117         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
18118
18119 2010-03-08  Eric Blake  <eblake@redhat.com>
18120
18121         gnulib-tool.texi: mention possibility of git submodule
18122         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
18123         submodules.
18124         * doc/.gitignore: Ignore another generated file.
18125
18126 2010-03-08  Karl Berry  <karl@gnu.org>
18127
18128         * doc/gnulib-tool.texi (VCS Issues): Mention third option
18129         of committing gnulib files while skipping others.
18130
18131 2010-03-07  Bruno Haible  <bruno@clisp.org>
18132
18133         Tests of module 'wctype' in C++ mode.
18134         * tests/test-wctype-c++.cc: New file.
18135         * modules/wctype-tests (Files): Add it and tests/signature.h.
18136         (Depends-on): Add ansi-c++-opt.
18137         (Makefile.am): Arrange to compile and run test-wctype-c++.
18138
18139         Tests of module 'wchar' in C++ mode.
18140         * tests/test-wchar-c++.cc: New file.
18141         * modules/wchar-tests (Files): Add it and tests/signature.h.
18142         (Depends-on): Add ansi-c++-opt.
18143         (Makefile.am): Arrange to compile and run test-wchar-c++.
18144         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
18145         gl_MODULE_INDICATOR.
18146
18147         Tests of module 'unistd' in C++ mode.
18148         * tests/test-unistd-c++.cc: New file.
18149         * modules/unistd-tests (Files): Add it and tests/signature.h.
18150         (Depends-on): Add ansi-c++-opt.
18151         (Makefile.am): Arrange to compile and run test-unistd-c++.
18152         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
18153         gl_MODULE_INDICATOR.
18154
18155         Tests of module 'time' in C++ mode.
18156         * tests/test-time-c++.cc: New file.
18157         * modules/time-tests (Files): Add it and tests/signature.h.
18158         (Depends-on): Add ansi-c++-opt.
18159         (Makefile.am): Arrange to compile and run test-time-c++.
18160         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18161
18162         Tests of module 'sys_time' in C++ mode.
18163         * tests/test-sys_time-c++.cc: New file.
18164         * modules/sys_time-tests (Files): Add it and tests/signature.h.
18165         (Depends-on): Add ansi-c++-opt.
18166         (Makefile.am): Arrange to compile and run test-sys_time-c++.
18167         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
18168         gl_MODULE_INDICATOR.
18169
18170         Tests of module 'sys_stat' in C++ mode.
18171         * tests/test-sys_stat-c++.cc: New file.
18172         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
18173         (Depends-on): Add ansi-c++-opt.
18174         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
18175         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
18176         gl_MODULE_INDICATOR.
18177
18178         Tests of module 'sys_socket' in C++ mode.
18179         * tests/test-sys_socket-c++.cc: New file.
18180         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
18181         (Depends-on): Add ansi-c++-opt.
18182         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
18183         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
18184         gl_MODULE_INDICATOR.
18185
18186         Tests of module 'sys_select' in C++ mode.
18187         * tests/test-sys_select-c++.cc: New file.
18188         * modules/sys_select-tests (Files): Add it and tests/signature.h.
18189         (Depends-on): Add ansi-c++-opt.
18190         (Makefile.am): Arrange to compile and run test-sys_select-c++.
18191         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
18192         gl_MODULE_INDICATOR.
18193
18194         Tests of module 'sys_ioctl' in C++ mode.
18195         * tests/test-sys_ioctl-c++.cc: New file.
18196         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
18197         (Depends-on): Add ansi-c++-opt.
18198         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
18199         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
18200         gl_MODULE_INDICATOR.
18201
18202         Tests of module 'string' in C++ mode.
18203         * tests/test-string-c++.cc: New file.
18204         * modules/string-tests (Files): Add it and tests/signature.h.
18205         (Depends-on): Add ansi-c++-opt.
18206         (Makefile.am): Arrange to compile and run test-string-c++.
18207         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
18208         gl_MODULE_INDICATOR.
18209
18210         Tests of module 'stdlib' in C++ mode.
18211         * tests/test-stdlib-c++.cc: New file.
18212         * modules/stdlib-tests (Files): Add it and tests/signature.h.
18213         (Depends-on): Add ansi-c++-opt.
18214         (Makefile.am): Arrange to compile and run test-stdlib-c++.
18215         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
18216         gl_MODULE_INDICATOR.
18217
18218         Tests of module 'stdio' in C++ mode.
18219         * tests/test-stdio-c++.cc: New file.
18220         * modules/stdio-tests (Files): Add it and tests/signature.h.
18221         (Depends-on): Add ansi-c++-opt.
18222         (Makefile.am): Arrange to compile and run test-stdio-c++.
18223         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
18224         gl_MODULE_INDICATOR.
18225
18226         Tests of module 'spawn' in C++ mode.
18227         * tests/test-spawn-c++.cc: New file.
18228         * modules/spawn-tests (Files): Add it and tests/signature.h.
18229         (Depends-on): Add ansi-c++-opt.
18230         (Makefile.am): Arrange to compile and run test-spawn-c++.
18231         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
18232         gl_MODULE_INDICATOR.
18233
18234         Tests of module 'signal' in C++ mode.
18235         * tests/test-signal-c++.cc: New file.
18236         * modules/signal-tests (Files): Add it and tests/signature.h.
18237         (Depends-on): Add ansi-c++-opt.
18238         (Makefile.am): Arrange to compile and run test-signal-c++.
18239         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
18240         gl_MODULE_INDICATOR.
18241
18242         Tests of module 'search' in C++ mode.
18243         * tests/test-search-c++.cc: New file.
18244         * modules/search-tests (Files): Add it and tests/signature.h.
18245         (Depends-on): Add ansi-c++-opt.
18246         (Makefile.am): Arrange to compile and run test-search-c++.
18247         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
18248         gl_MODULE_INDICATOR.
18249
18250         Tests of module 'math' in C++ mode.
18251         * tests/test-math-c++.cc: New file.
18252         * modules/math-tests (Files): Add it and tests/signature.h.
18253         (Depends-on): Add ansi-c++-opt.
18254         (Makefile.am): Arrange to compile and run test-math-c++.
18255         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18256
18257         Tests of module 'locale' in C++ mode.
18258         * tests/test-locale-c++.cc: New file.
18259         * modules/locale-tests (Files): Add it and tests/signature.h.
18260         (Depends-on): Add ansi-c++-opt.
18261         (Makefile.am): Arrange to compile and run test-locale-c++.
18262         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
18263         gl_MODULE_INDICATOR.
18264
18265         Tests of module 'langinfo' in C++ mode.
18266         * tests/test-langinfo-c++.cc: New file.
18267         * modules/langinfo-tests (Files): Add it and tests/signature.h.
18268         (Depends-on): Add ansi-c++-opt.
18269         (Makefile.am): Arrange to compile and run test-langinfo-c++.
18270         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
18271         gl_MODULE_INDICATOR.
18272
18273         Tests of module 'iconv-h' in C++ mode.
18274         * tests/test-iconv-h-c++.cc: New file.
18275         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
18276         (Depends-on): Add ansi-c++-opt.
18277         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
18278
18279         Tests of module 'glob' in C++ mode.
18280         * tests/test-glob-c++.cc: New file.
18281         * modules/glob-tests (Files): Add it.
18282         (Depends-on): Add ansi-c++-opt.
18283         (Makefile.am): Arrange to compile and run test-glob-c++.
18284
18285         Tests of module 'fcntl-h' in C++ mode.
18286         * tests/test-fcntl-h-c++.cc: New file.
18287         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
18288         (Depends-on): Add ansi-c++-opt.
18289         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
18290         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
18291         gl_MODULE_INDICATOR.
18292
18293         Tests of module 'dirent' in C++ mode.
18294         * tests/test-dirent-c++.cc: New file.
18295         * modules/dirent-tests (Files): Add it and tests/signature.h.
18296         (Depends-on): Add ansi-c++-opt.
18297         (Makefile.am): Arrange to compile and run test-dirent-c++.
18298         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
18299         gl_MODULE_INDICATOR.
18300
18301         New module 'ansi-c++-opt'.
18302         * modules/ansi-c++-opt: New file.
18303         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
18304
18305         Document C++ namespace mode.
18306         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
18307
18308         wctype: Avoid #define replacements in C++ mode.
18309         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
18310         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
18311         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
18312         In C++, define a namespaced alias symbol.
18313         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
18314         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
18315         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
18316         rule.
18317
18318         wchar: Avoid #define replacements in C++ mode.
18319         * lib/wchar.in.h: Include c++defs.h.
18320         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
18321         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
18322         symbol.
18323         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
18324         * modules/wchar (Depends-on): Add c++defs.
18325         (Makefile.am): Update wchar.h rule.
18326
18327         unistd: Avoid #define replacements in C++ mode.
18328         * lib/unistd.in.h: Include c++defs.h.
18329         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
18330         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
18331         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
18332         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
18333         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
18334         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
18335         symbol.
18336         (environ): Update.
18337         * modules/unistd (Depends-on): Add c++defs.
18338         (Makefile.am): Update unistd.h rule.
18339
18340         time: Avoid #define replacements in C++ mode.
18341         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
18342         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
18343         define a namespaced alias symbol.
18344         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
18345         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
18346         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
18347         * modules/time (Depends-on): Add c++defs, warn-on-use.
18348         (Makefile.am): Update time.h rule.
18349         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
18350         * modules/nanosleep (configure.ac): Likewise.
18351         * modules/strptime (configure.ac): Likewise.
18352         * modules/timegm (configure.ac): Likewise.
18353
18354         sys_time: Avoid #define replacements in C++ mode.
18355         * lib/sys_time.in.h: Include c++defs.h.
18356         (gettimeofday): In C++, define a namespaced alias symbol.
18357         * modules/sys_time (Depends-on): Add c++defs.
18358         (Makefile.am): Update sys/time.h rule.
18359
18360         sys_stat: Avoid #define replacements in C++ mode.
18361         * lib/sys_stat.in.h: Include c++defs.h.
18362         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
18363         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
18364         namespaced alias symbol.
18365         In C++, define a namespaced alias symbol.
18366         * modules/sys_stat (Depends-on): Add c++defs.
18367         (Makefile.am): Update sys/stat.h rule.
18368
18369         sys_socket: Avoid #define replacements in C++ mode.
18370         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
18371         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
18372         definitions also when the system has a <sys/socket.h>.
18373         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
18374         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
18375         In C++, define a namespaced alias symbol.
18376         * modules/sys_socket (Depends-on): Add c++defs.
18377         (Makefile.am): Update sys/socket.h rule.
18378
18379         sys_select: Avoid #define replacements in C++ mode.
18380         * lib/sys_select.in.h: Include c++defs.h. Enable the function
18381         definitions also when the system has a <sys/select.h>.
18382         (select): In C++, define a namespaced alias symbol.
18383         * modules/sys_select (Depends-on): Add c++defs.
18384         (Makefile.am): Update sys/select.h rule.
18385
18386         sys_ioctl: Avoid #define replacements in C++ mode.
18387         * lib/sys_ioctl.in.h: Include c++defs.h.
18388         (ioctl): In C++, define a namespaced alias symbol.
18389         * modules/sys_ioctl (Depends-on): Add c++defs.
18390         (Makefile.am): Update sys/ioctl.h rule.
18391
18392         string: Avoid #define replacements in C++ mode.
18393         * lib/string.in.h: Include c++defs.h.
18394         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
18395         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
18396         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
18397         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
18398         strsignal, strverscmp): In C++, define a namespaced alias symbol.
18399         * modules/string (Depends-on): Add c++defs.
18400         (Makefile.am): Update string.h rule.
18401
18402         stdlib: Avoid #define replacements in C++ mode.
18403         * lib/stdlib.in.h: Include c++defs.h.
18404         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
18405         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
18406         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
18407         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
18408         symbol.
18409         * modules/stdlib (Depends-on): Add c++defs.
18410         (Makefile.am): Update stdlib.h rule.
18411
18412         stdio: Avoid #define replacements in C++ mode.
18413         * lib/stdio.in.h: Include c++defs.h.
18414         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
18415         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
18416         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
18417         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
18418         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
18419         namespaced alias symbol.
18420         * modules/stdio (Depends-on): Add c++defs.
18421         (Makefile.am): Update stdio.h rule.
18422
18423         spawn: Avoid #define replacements in C++ mode.
18424         * lib/spawn.in.h: Include c++defs.h.
18425         (posix_spawn, posix_spawnp, posix_spawnattr_init,
18426         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
18427         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
18428         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
18429         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
18430         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
18431         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
18432         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
18433         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
18434         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
18435         In C++, define a namespaced alias symbol.
18436         * modules/spawn (Depends-on): Add c++defs.
18437         (Makefile.am): Update spawn.h rule.
18438
18439         signal: Avoid #define replacements in C++ mode.
18440         * lib/signal.in.h: Include c++defs.h.
18441         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
18442         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
18443         namespaced alias symbol.
18444         * modules/signal (Depends-on): Add c++defs.
18445         (Makefile.am): Update signal.h rule.
18446
18447         search: Avoid #define replacements in C++ mode.
18448         * lib/search.in.h: Include c++defs.h.
18449         (_gl_search_compar_fn, _gl_search_action_fn): New types.
18450         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
18451         symbol.
18452         * modules/search (Depends-on): Add c++defs.
18453         (Makefile.am): Update search.h rule.
18454
18455         math: Avoid #define replacements in C++ mode.
18456         * lib/math.in.h: Include c++defs.h.
18457         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
18458         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
18459         trunc, truncl): In C++, define a namespaced alias symbol.
18460         * modules/math (Depends-on): Add c++defs.
18461         (Makefile.am): Update math.h rule.
18462
18463         locale: Avoid #define replacements in C++ mode.
18464         * lib/locale.in.h: Include c++defs.h.
18465         (duplocale): In C++, define a namespaced alias symbol.
18466         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
18467         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
18468         * modules/locale (Depends-on): Add c++defs.
18469         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
18470
18471         langinfo: Avoid #define replacements in C++ mode.
18472         * lib/langinfo.in.h: Include c++defs.h.
18473         (nl_langinfo): In C++, define a namespaced alias symbol.
18474         * modules/langinfo (Depends-on): Add c++defs.
18475         (Makefile.am): Update langinfo.h rule.
18476
18477         iconv-h: Avoid #define replacements in C++ mode.
18478         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
18479         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
18480         symbol.
18481         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
18482         whenever iconv is present.
18483         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
18484         (Makefile.am): Update iconv.h rule.
18485
18486         glob: Avoid #define replacements in C++ mode.
18487         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
18488         (_gl_glob_errfunc_fn): New type.
18489         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
18490         symbol.
18491         * modules/glob (Depends-on): Add c++defs, warn-on-use.
18492         (Makefile.am): Update glob.h rule.
18493
18494         fcntl-h: Avoid #define replacements in C++ mode.
18495         * lib/fcntl.in.h: Include c++defs.h.
18496         (fcntl, open, openat): In C++, define a namespaced alias symbol.
18497         * modules/fcntl-h (Depends-on): Add c++defs.
18498         (Makefile.am): Update fcntl.h rule.
18499
18500         dirent: Avoid #define replacements in C++ mode.
18501         * lib/dirent.in.h: Include c++defs.h.
18502         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
18503         namespaced alias symbol.
18504         (dirfd): Update declaration.
18505         * modules/dirent (Depends-on): Add c++defs.
18506         (Makefile.am): Update dirent.h rule.
18507
18508         ctype: Make it usable in C++ code.
18509         * lib/ctype.in.h: Include c++defs.h.
18510         (isblank): Declare as extern "C".
18511         * modules/ctype (Depends-on): Add c++defs.
18512         (Makefile.am): Update ctype.h rule.
18513
18514         New module 'c++defs'.
18515         * modules/c++defs: New file.
18516         * build-aux/c++defs.h: New file.
18517         Reported by John W. Eaton <jwe@gnu.org>.
18518
18519 2010-03-07  Bruno Haible  <bruno@clisp.org>
18520
18521         logb: Provide missing declaration for Cygwin.
18522         * lib/math.in.h (logb): New declaration.
18523         * m4/logb.m4: New file.
18524         * modules/logb (Files): Add m4/logb.m4.
18525         (Depends-on): Add math.
18526         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
18527         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
18528         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
18529         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
18530         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
18531
18532 2010-03-07  Bruno Haible  <bruno@clisp.org>
18533
18534         Fix test-cond link error.
18535         * tests/test-cond.c: Include <stdio.h>.
18536
18537 2010-03-07  Bruno Haible  <bruno@clisp.org>
18538
18539         Fix test-dirent-safer link error.
18540         * modules/dirent-safer-tests (Makefile.am): Define
18541         test_dirent_safer_LDADD.
18542
18543 2010-03-07  Bruno Haible  <bruno@clisp.org>
18544
18545         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
18546         among default module list.
18547
18548 2010-03-07  Bruno Haible  <bruno@clisp.org>
18549
18550         Fix link error on platforms with GNU libiconv.
18551         * modules/unistr/u8-strcoll-tests (Makefile): Define
18552         test_u8_strcoll_LDADD.
18553         * modules/unistr/u16-strcoll-tests (Makefile): Define
18554         test_u16_strcoll_LDADD.
18555         * modules/unistr/u32-strcoll-tests (Makefile): Define
18556         test_u32_strcoll_LDADD.
18557
18558 2010-03-07  Bruno Haible  <bruno@clisp.org>
18559
18560         Use POSIX declarations for socket functions.
18561         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
18562         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
18563         rpl_sendto): Change declaration to match POSIX.
18564         * lib/connect.c (rpl_connect): Likewise.
18565         * lib/accept.c (rpl_accept): Likewise.
18566         * lib/bind.c (rpl_bind): Likewise.
18567         * lib/getpeername.c (rpl_getpeername): Likewise.
18568         * lib/getsockname.c (rpl_getsockname): Likewise.
18569         * lib/recv.c (rpl_recv): Likewise.
18570         * lib/send.c (rpl_send): Likewise.
18571         * lib/recvfrom.c (rpl_recvfrom): Likewise.
18572         * lib/sendto.c (rpl_sendto): Likewise.
18573
18574 2010-03-06  Bruno Haible  <bruno@clisp.org>
18575
18576         Clarify access, euidaccess, faccessat.
18577         * doc/posix-functions/faccessat.texi: Mention security problem under
18578         "Other problems", not "Portability problems".
18579         * doc/posix-functions/access.texi: Likewise. Mention a related security
18580         problem.
18581         * doc/glibc-functions/euidaccess.texi: Mention security problems.
18582         * lib/euidaccess.c: Add comments about platforms.
18583         * lib/unistd.in.h (access, euidaccess): Add warnings.
18584
18585 2010-03-07  Bruno Haible  <bruno@clisp.org>
18586
18587         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
18588         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
18589         (POSIX_SPAWN_SETSCHEDULER): Likewise.
18590         (POSIX_SPAWN_USEVFORK): Define in a way that works when
18591         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
18592         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
18593         declare when POSIX_SPAWN_SETSCHEDULER is zero.
18594         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
18595         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
18596         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
18597         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
18598         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
18599         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
18600         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
18601         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
18602         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
18603         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
18604         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
18605         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
18606         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
18607         Likewise.
18608         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
18609         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
18610         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
18611         Likewise.
18612         * tests/test-spawn.c (main): Make it work when
18613         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
18614
18615 2010-03-07  Bruno Haible  <bruno@clisp.org>
18616
18617         Fix incorrect Makefile.am generation in German locale.
18618         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
18619         Execute sed command with character range in C locale.
18620
18621 2010-03-06  Bruno Haible  <bruno@clisp.org>
18622
18623         Tests for module 'iconv-h'.
18624         * modules/iconv-h-tests: New file.
18625         * tests/test-iconv-h.c: New file.
18626
18627         New module 'iconv-h'.
18628         * modules/iconv-h: New file.
18629         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
18630         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
18631         (configure.ac): Remove gl_ICONV_H.
18632         (Makefile.am): Remove rule for iconv.h.
18633
18634 2010-03-06  Bruno Haible  <bruno@clisp.org>
18635
18636         More consistent naming of *.m4 files.
18637         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
18638         * modules/wctype (Files): Update.
18639
18640         More consistent naming of *.m4 files.
18641         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
18642         * modules/wchar (Files): Update.
18643
18644 2010-03-06  Jim Meyering  <meyering@redhat.com>
18645
18646         euidaccess: relax license to LGPLv2+
18647         * modules/euidaccess (License): Relax to LGPLv2+.
18648
18649 2010-03-06  Bruno Haible  <bruno@clisp.org>
18650
18651         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
18652         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
18653         (Makefile.am): Augment lib_SOURCES instead.
18654
18655 2010-03-04  Jim Meyering  <meyering@redhat.com>
18656
18657         utime: remove obsolete module
18658         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
18659         unnecessary for years, and has been marked as obsolete for 10 months.
18660         * modules/utime: Remove file.
18661         * lib/utime.c: Remove file.
18662         * m4/utime.m4: Remove file.
18663         * m4/utimes-null.m4: Remove file.
18664         * doc/posix-functions/utime.texi (utime): Remove reference to
18665         the module.  Move the sole "fixed by gnulib" item into the
18666         "problems not fixed by Gnulib" list.
18667         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
18668
18669 2010-03-05  Simon Josefsson  <simon@josefsson.org>
18670
18671         * modules/exit (License): Relax license to LGPLv2+.
18672         (Status): Mark as obsolete.
18673         * NEWS: Mention deprecated 'exit' module.
18674         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
18675         of now obsolete 'exit'.
18676
18677 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18678
18679         fts-lgpl: remove unused module
18680         * modules/fts-lgpl: Remove.
18681         * MODULES.html.sh (func_all_modules): Adjust.
18682         * check-module (find_included_lib_files): Adjust.
18683         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
18684
18685 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
18686
18687         copy-acl: enhance Solaris ACL error handling
18688         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
18689         * lib/set-mode-acl.c (qset_acl): Likewise.
18690
18691 2010-03-02  Bruno Haible  <bruno@clisp.org>
18692
18693         spawn: Don't override the system defined values on FreeBSD 8.
18694         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
18695         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
18696         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
18697         if HAVE_POSIX_SPAWN is 1.
18698         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
18699
18700 2010-03-01  Bruno Haible  <bruno@clisp.org>
18701
18702         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
18703         regarding Automake.
18704
18705 2010-02-25  Bruno Haible  <bruno@clisp.org>
18706
18707         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
18708         * gnulib-tool: Define 'echo' as a function only before the ksh alias
18709         setting, not afterwards.
18710         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
18711
18712 2010-02-24  Eric Blake  <eblake@redhat.com>
18713
18714         bootstrap, git-version-gen: use timestamp
18715         * build-aux/git-version-gen (scriptversion): Force UTC.
18716         * build-aux/bootstrap (scriptversion): New variable.
18717
18718         bootstrap: allow older git
18719         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
18720         older than 1.6.4.  Requested by the libvirt project.
18721
18722 2010-02-23  Eric Blake  <eblake@redhat.com>
18723
18724         warn-on-use: work with old autoconf
18725         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
18726         AS_VAR semantics of autoconf 2.60.
18727         Reported by Bruno Haible.
18728
18729         bootstrap: improve some comments
18730         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
18731         clarification comments.
18732
18733         gettimeofday: provide correct function
18734         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
18735         when replacement is declared, otherwise provide gettimeofday.
18736         Reported by Michael Goffioul.
18737
18738 2010-02-23  Jim Meyering  <meyering@redhat.com>
18739
18740         lib-ignore: relax license to "unlimited", not LGPLv2+
18741         * modules/lib-ignore (License): Relax to "unlimited".
18742
18743 2010-02-23  Jim Meyering  <meyering@redhat.com>
18744
18745         lib-ignore: relax license to LGPLv2+
18746         * modules/lib-ignore (License): Relax to LGPLv2+.
18747
18748 2010-02-22  Eric Blake  <eblake@redhat.com>
18749
18750         lseek: avoid bash 3.2 broken pipe bug
18751         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
18752         warning from bash 3.2.
18753         Reported by Ben Pfaff, with analysis from Bruno Haible.
18754
18755         bootstrap: support non-FSF copyright holder
18756         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
18757         bootstrap.conf override of COPYRIGHT_HOLDER.
18758         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
18759
18760         bootstrap: interoperate with gettext 0.14.1
18761         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
18762
18763         bootstrap: allow for alternate submodule location
18764         * build-aux/bootstrap (gnulib_path): New variable; use instead of
18765         hardcoding submodule location.
18766         (gnulib_mk): Allow direct use of Makefile.am.
18767
18768         bootstrap: use GNULIB_SRCDIR to reduce disk usage
18769         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
18770         rather than reconfiguring where the submodule points.
18771
18772         gettimeofday: restore support for platforms that lack function
18773         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
18774         replacement if function is missing.
18775         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
18776         * modules/sys_time (Makefile.am): Substitute it.
18777         * lib/sys_time.in.h (gettimeofday): Check it.
18778         Reported by Michael Goffioul.
18779
18780 2010-02-21  Bruno Haible  <bruno@clisp.org>
18781
18782         * lib/stdio.in.h (obstack_printf): Fix typo.
18783
18784 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
18785
18786         vc-list-files: use bzr ls's -R option
18787         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
18788         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
18789
18790 2010-02-21  Jim Meyering  <meyering@redhat.com>
18791
18792         init.sh: fix EXEEXT shims to work also for names like test-prog
18793         * tests/init.sh: Re-exec a better shell, when needed.
18794         If the current shell lacks support for posix $(...), an init.sh-using
18795         test will now try to find a shell that supports that.  If EXEEXT is
18796         nonempty, we also require support for hyphen-in-alias-name and shell
18797         substitutions like ${var#glob}.  Failure to find such a shell results
18798         in a skipped test.
18799
18800 2010-02-21  Bruno Haible  <bruno@clisp.org>
18801
18802         Really work around around "broken pipe" error message from bash 3.2.
18803         * gnulib-tool (func_reset_sigpipe): Remove function.
18804         (echo): In bash 3.2, define to a function that uses printf.
18805         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
18806
18807 2010-02-20  Bruno Haible  <bruno@clisp.org>
18808
18809         Restore support for automake 1.9.6 with autoconf 2.61.
18810         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
18811         Reported by James Youngman <jay@gnu.org>.
18812
18813 2010-02-20  Bruno Haible  <bruno@clisp.org>
18814
18815         Improve *printf warning condition.
18816         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
18817         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
18818         and the function is overridden due to SIGPIPE emulation.
18819
18820 2010-02-20  Bruno Haible  <bruno@clisp.org>
18821
18822         * lib/stdio.in.h: Tweak comments.
18823
18824 2010-02-19  Bruno Haible  <bruno@clisp.org>
18825
18826         Make it easier to find modules. New gnulib-tool option '--find'.
18827         * gnulib-tool: New option --find.
18828         (func_usage): Document it.
18829         (func_sanitize_modulelist): New function, extracted from
18830         func_all_modules.
18831         (func_all_modules): Invoke it.
18832         * doc/gnulib-tool.texi (Which modules?): New node.
18833
18834 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
18835
18836         * lib/sys_select.in.h: Provide select replacement even if
18837         sys/select.h exists on a system, for Interix.
18838
18839 2010-02-18  Jim Meyering  <meyering@redhat.com>
18840
18841         init.sh: don't use $(...) just yet
18842         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
18843         to accommodate e.g., Solaris' /bin/sh.
18844
18845 2010-02-17  Bruno Haible  <bruno@clisp.org>
18846
18847         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
18848         Reported by Ludovic Courtès <ludo@gnu.org>.
18849
18850 2010-02-16  Simon Josefsson  <simon@josefsson.org>
18851
18852         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
18853         linking with -lintl.
18854
18855 2010-02-17  Simon Josefsson  <simon@josefsson.org>
18856
18857         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
18858         if not provided by the system's netdb.h.  Reported by
18859         ludo@gnu.org (Ludovic Courtès).
18860
18861 2010-02-15  Jim Meyering  <meyering@redhat.com>
18862
18863         init.sh: improve portability and efficiency
18864         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
18865         "dummy" in a for loop.
18866         Use '!', not '^' to select the complement of a character set used
18867         in a "case" statement.
18868         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
18869         Suggestions from Eric Blake.
18870
18871         init.sh: automatically accommodate programs with the .exe suffix
18872         Automatically arrange for an invocation of "prog" to execute the
18873         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
18874         may use the simpler "prog", yet still work when built on a system
18875         that requires specifying the added suffix.
18876         Do this by constructing a function named "prog" that invokes
18877         "prog.exe" for each .exe file in selected directories.
18878         * tests/init.sh (find_exe_basenames_): New function.
18879         (create_exe_shim_functions_): New function.
18880         (path_prepend_): Use it.
18881
18882         maint.mk: mark syntax-check sc_*.m rules as .PHONY
18883         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
18884         "make -t syntax-check" doesn't create a ton of sc_*.m files.
18885
18886 2010-02-14  Jim Meyering  <meyering@redhat.com>
18887
18888         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
18889         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
18890         (sc_prohibit_hash_pjw_without_use): New rule.
18891
18892         maint.mk: allow the default upload destination dir to be overridden
18893         * top/maint.mk (upload_dest_dir_): Define with a default that
18894         preserves the status quo.
18895         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
18896         Reported by Peter Simons.
18897
18898         maint.mk: prohibit inclusion of "hash.h" without_use
18899         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
18900
18901 2010-02-10  Jim Meyering  <meyering@redhat.com>
18902
18903         maint.mk: prohibit inclusion of "ignore-value.h" without_use
18904         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
18905
18906 2010-02-09  Eric Blake  <ebb9@byu.net>
18907         and Bruno Haible  <bruno@clisp.org>
18908
18909         obstack-printf-posix: ensure declaration
18910         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
18911         extracted from gl_FUNC_OBSTACK_PRINTF.
18912         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
18913         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
18914         Likewise.
18915         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
18916         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
18917         0.
18918
18919 2010-02-08  Bruno Haible  <bruno@clisp.org>
18920
18921         gnulib-tool: Fix typo in 2010-02-07 commit.
18922         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
18923         Reported by Eric Blake.
18924
18925 2010-02-07  Bruno Haible  <bruno@clisp.org>
18926
18927         gnulib-tool: Fix up caching patches.
18928         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
18929         option --no-cache. Use associative arrays when supported by the shell.
18930         (sed_comments): New variable.
18931         (modcache): Renamed from do_cache.
18932         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
18933         abbreviate unnecessarily.
18934         (have_associative): New variable.
18935         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
18936         way also for ksh and zsh.
18937         (func_init_sed_convert_to_cache_statements): New function, extracted
18938         from func_cache_lookup_module. Add support for associative arrays.
18939         Don't set the c_MODULE_cached variable here. Ignore all lines before
18940         the first field header. Remove only the final newline, not all trailing
18941         newlines. Support empty fields correctly. Limit the use of 'eval' to
18942         assignments.
18943         (func_get_description, func_get_status, func_get_notice,
18944         func_get_applicability, func_get_filelist, func_get_dependencies,
18945         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
18946         func_get_automake_snippet, func_get_include_directive,
18947         func_get_link_directive, func_get_license, func_get_maintainer):
18948         Update documentation. List the unoptimized code first. Add support for
18949         associative arrays. Limit the use of 'eval' to assignments.
18950         (func_get_applicability): Undo stylistic pessimisations.
18951         (func_get_automake_snippet, func_get_include_directive): Reduce code
18952         duplication.
18953         (func_modules_transitive_closure, func_modules_add_dummy,
18954         func_modules_notice, func_modules_to_filelist, func_add_file,
18955         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
18956         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
18957         func_create_testdir, func_create_megatestdir): Update documentation.
18958
18959 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18960
18961         * gnulib-tool (func_cache_lookup_module): Store the module name
18962         belonging to the cache variable; error out if two different
18963         module names map to the same cache variable name.
18964
18965 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18966
18967         gnulib-tool: Make caching optional.
18968         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
18969         Update matching short versions of --no-changelog.
18970         (func_usage): Update.
18971         (sed_extract_cache_prog): Renamed from ...
18972         (sed_extract_prog): ... this; revert to old extraction script.
18973         (func_get_description, func_get_status)
18974         (func_get_notice, func_get_applicability, func_get_filelist)
18975         (func_get_dependencies, func_get_autoconf_early_snippet)
18976         (func_get_autoconf_snippet, func_get_automake_snippet)
18977         (func_get_include_directive, func_get_link_directive)
18978         (func_get_license, func_get_maintainer): If $do_cache is false,
18979         use old, non-caching extraction scripts.
18980         Suggestion by Bruno Haible.
18981
18982 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18983
18984         gnulib-tool: cache module metainformation.
18985         * gnulib-tool (sed_extract_prog): Match newline before each
18986         header, and rewrite header to a shell variable suffix.
18987         (func_cache_var, func_cache_lookup_module): New functions,
18988         to turn a module name into a cache variable prefix, and to
18989         look up and cache module metainformation.
18990         (func_get_description, func_get_status)
18991         (func_get_notice, func_get_applicability, func_get_filelist)
18992         (func_get_dependencies, func_get_autoconf_early_snippet)
18993         (func_get_autoconf_snippet, func_get_automake_snippet)
18994         (func_get_include_directive, func_get_link_directive)
18995         (func_get_license, func_get_maintainer): Use
18996         func_cache_lookup_module.
18997
18998 2010-02-07  Bruno Haible  <bruno@clisp.org>
18999
19000         fnctl: Fix missing dependency.
19001         * modules/fcntl (Depends-on): Add getdtablesize.
19002         Reported by John W. Eaton <jwe@gnu.org>.
19003
19004 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
19005
19006         Argp: fix recognition of short alias options.
19007
19008         * lib/argp-parse.c (convert_options): Fix improper use of
19009         `|' between character values.
19010         * tests/test-argp.c (group1_option): New alias option
19011         --read (-r).
19012         (group1_parser): Special handling for 'r'.
19013         (test15): New test case.
19014         (test_fun): Add test15.
19015         * tests/test-argp-2.sh: Update expected --help and --usage
19016         outputs.
19017
19018 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
19019
19020         * tests/test-argp.c: Fix indentation.
19021
19022 2010-02-04  Eric Blake  <ebb9@byu.net>
19023
19024         gettimeofday: expose type of second argument
19025         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
19026         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
19027         * tests/test-gettimeofday.c: Use it to silence warning.
19028         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
19029         the issue.
19030
19031 2010-02-03  Jim Meyering  <meyering@redhat.com>
19032
19033         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
19034         * lib/regcomp.c (TYPE_SIGNED): Define.
19035         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
19036
19037         regcomp.c: avoid a new -Wshadow warning
19038         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
19039
19040 2010-02-01  Jim Meyering  <meyering@redhat.com>
19041
19042         removing useless parentheses in cpp #define directives
19043         For motivation, see commit c0221df4, "define STREQ(a,b)
19044         consistently, removing useless parentheses"
19045         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
19046         * lib/mountlist.c (MNT_IGNORE): Likewise.
19047         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
19048
19049 2010-02-01  Eric Blake  <ebb9@byu.net>
19050
19051         sys_time: use link-warning
19052         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
19053         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
19054         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
19055         * modules/sys_time (Depends-on): Add warn-on-use.
19056         (Makefile.am): Always build replacement.
19057         (configure.ac): Update substitutions.
19058         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
19059         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
19060         bother with SYS_TIME_H.
19061         * modules/gettimeofday (configure.ac): Declare indicator.
19062         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
19063         in use.
19064
19065         closein-tests: silence compiler warning
19066         * tests/test-closein.c (main): Ignore fread result.
19067         * modules/closein-tests (Depends-on): Add ignore-value.
19068
19069         tests: silence warning about system return
19070         * tests/test-areadlink-with-size.c (main): Ignore system result.
19071         * tests/test-areadlink.c (main): Likewise.
19072         * tests/test-areadlinkat-with-size.c (main): Likewise.
19073         * tests/test-areadlinkat.c (main): Likewise.
19074         * tests/test-canonicalize-lgpl.c (main): Likewise.
19075         * tests/test-canonicalize.c (main): Likewise.
19076         * tests/test-chown.c (main): Likewise.
19077         * tests/test-fchownat.c (main): Likewise.
19078         * tests/test-fdutimensat.c (main): Likewise.
19079         * tests/test-fstatat.c (main): Likewise.
19080         * tests/test-futimens.c (main): Likewise.
19081         * tests/test-lchown.c (main): Likewise.
19082         * tests/test-link.c (main): Likewise.
19083         * tests/test-linkat.c (main): Likewise.
19084         * tests/test-lstat.c (main): Likewise.
19085         * tests/test-mkdir.c (main): Likewise.
19086         * tests/test-mkdirat.c (main): Likewise.
19087         * tests/test-mkfifo.c (main): Likewise.
19088         * tests/test-mkfifoat.c (main): Likewise.
19089         * tests/test-mknod.c (main): Likewise.
19090         * tests/test-readlink.c (main): Likewise.
19091         * tests/test-remove.c (main): Likewise.
19092         * tests/test-rename.c (main): Likewise.
19093         * tests/test-renameat.c (main): Likewise.
19094         * tests/test-rmdir.c (main): Likewise.
19095         * tests/test-symlink.c (main): Likewise.
19096         * tests/test-symlinkat.c (main): Likewise.
19097         * tests/test-unlink.c (main): Likewise.
19098         * tests/test-unlinkat.c (main): Likewise.
19099         * tests/test-utimens.c (main): Likewise.
19100         * tests/test-utimensat.c (main): Likewise.
19101         * modules/areadlink-tests (Depends-on): Add ignore-value.
19102         * modules/areadlink-with-size-tests (Depends-on): Likewise.
19103         * modules/areadlinkat-tests (Depends-on): Likewise.
19104         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
19105         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
19106         * modules/canonicalize-tests (Depends-on): Likewise.
19107         * modules/chown-tests (Depends-on): Likewise.
19108         * modules/fdutimensat-tests (Depends-on): Likewise.
19109         * modules/futimens-tests (Depends-on): Likewise.
19110         * modules/lchown-tests (Depends-on): Likewise.
19111         * modules/link-tests (Depends-on): Likewise.
19112         * modules/linkat-tests (Depends-on): Likewise.
19113         * modules/lstat-tests (Depends-on): Likewise.
19114         * modules/mkdir-tests (Depends-on): Likewise.
19115         * modules/mkfifo-tests (Depends-on): Likewise.
19116         * modules/mkfifoat-tests (Depends-on): Likewise.
19117         * modules/mknod-tests (Depends-on): Likewise.
19118         * modules/openat-tests (Depends-on): Likewise.
19119         * modules/readlink-tests (Depends-on): Likewise.
19120         * modules/remove-tests (Depends-on): Likewise.
19121         * modules/rename-tests (Depends-on): Likewise.
19122         * modules/renameat-tests (Depends-on): Likewise.
19123         * modules/rmdir-tests (Depends-on): Likewise.
19124         * modules/symlink-tests (Depends-on): Likewise.
19125         * modules/symlinkat-tests (Depends-on): Likewise.
19126         * modules/unlink-tests (Depends-on): Likewise.
19127         * modules/utimens-tests (Depends-on): Likewise.
19128         * modules/utimensat-tests (Depends-on): Likewise.
19129
19130 2010-01-31  Bruno Haible  <bruno@clisp.org>
19131
19132         Perform the same test for many <math.h> functions.
19133         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
19134         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
19135         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
19136         of gl_MATHFUNC.
19137         * modules/acos (configure.ac): Likewise.
19138         * modules/asin (configure.ac): Likewise.
19139         * modules/atan (configure.ac): Likewise.
19140         * modules/atan2 (configure.ac): Likewise.
19141         * modules/cbrt (configure.ac): Likewise.
19142         * modules/copysign (configure.ac): Likewise.
19143         * modules/cos (configure.ac): Likewise.
19144         * modules/cosh (configure.ac): Likewise.
19145         * modules/erf (configure.ac): Likewise.
19146         * modules/erfc (configure.ac): Likewise.
19147         * modules/exp (configure.ac): Likewise.
19148         * modules/fmod (configure.ac): Likewise.
19149         * modules/hypot (configure.ac): Likewise.
19150         * modules/j0 (configure.ac): Likewise.
19151         * modules/j1 (configure.ac): Likewise.
19152         * modules/jn (configure.ac): Likewise.
19153         * modules/lgamma (configure.ac): Likewise.
19154         * modules/log (configure.ac): Likewise.
19155         * modules/log10 (configure.ac): Likewise.
19156         * modules/log1p (configure.ac): Likewise.
19157         * modules/pow (configure.ac): Likewise.
19158         * modules/remainder (configure.ac): Likewise.
19159         * modules/sin (configure.ac): Likewise.
19160         * modules/sinh (configure.ac): Likewise.
19161         * modules/tan (configure.ac): Likewise.
19162         * modules/tanh (configure.ac): Likewise.
19163         * modules/y0 (configure.ac): Likewise.
19164         * modules/y1 (configure.ac): Likewise.
19165         * modules/yn (configure.ac): Likewise.
19166         Suggested by Paolo Bonzini.
19167
19168 2010-01-31  Bruno Haible  <bruno@clisp.org>
19169
19170         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
19171
19172 2010-01-31  Bruno Haible  <bruno@clisp.org>
19173
19174         Work around getdelim() bug on FreeBSD 8.0.
19175         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
19176         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
19177         not work.
19178         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
19179         is 1.
19180         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
19181         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
19182         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
19183         a non-zero size.
19184         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
19185
19186 2010-01-31  Bruno Haible  <bruno@clisp.org>
19187
19188         Work around getline() bug on FreeBSD 8.0.
19189         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
19190         and a non-zero size.
19191         * tests/test-getline.c (main): Likewise.
19192         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
19193         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
19194
19195 2010-01-28  Eric Blake  <ebb9@byu.net>
19196
19197         regex: fix build failure
19198         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
19199         platforms.
19200
19201 2010-01-28  Jim Meyering  <meyering@redhat.com>
19202
19203         regex: do not ignore memory allocation failure
19204         * lib/regex_internal.c (create_cd_newstate): Detect
19205         re_node_set_init_copy failure.   Extracted from glibc commit
19206         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
19207
19208         regex: sync more white-space changes from libc
19209         * lib/regex_internal.c: White-space only changes.
19210         * lib/regexec.c: Likewise.
19211
19212         regex: add many uses of __attribute_warn_unused_result__
19213         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
19214         * lib/regexec.c: Likewise.
19215         Extracted from a messy glibc commit.
19216
19217         regcomp.c: spelling and merge-artifact from glibc
19218         * lib/regcomp.c: Merge remainder of glibc's
19219         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
19220
19221         regcomp.c: sync white-space changes from glibc
19222         * lib/regcomp.c: Merge to accommodate white space
19223         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
19224
19225         regcomp.c: do not ignore internal return values
19226         * lib/regcomp.c: Do not ignore internal return values.
19227         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
19228         but without its white-space changes and spelling fixes.
19229
19230         regex_internal.h: define __attribute_warn_unused_result__
19231         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
19232
19233         maint: add a syntax-check rule to check for vulnerable Makefile.in
19234         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
19235
19236 2010-01-27  Jim Meyering  <meyering@redhat.com>
19237
19238         ncftpput-ftp: clean up spaces
19239         * build-aux/ncftpput-ftp: Make Copyright line consistent.
19240         Remove trailing blanks.
19241
19242 2010-01-27  Simon Josefsson  <simon@josefsson.org>
19243
19244         * build-aux/git-version-gen: Fix copyright statement.
19245         * build-aux/gnupload: Likewise.
19246         * tests/test-arcfour.c: Likewise.
19247         * tests/test-arctwo.c: Likewise.
19248         * tests/test-count-one-bits.c: Likewise.
19249         * tests/test-crc.c: Likewise.
19250         * tests/test-des.c: Likewise.
19251         * tests/test-gc-arcfour.c: Likewise.
19252         * tests/test-gc-arctwo.c: Likewise.
19253         * tests/test-gc-des.c: Likewise.
19254         * tests/test-gc-hmac-md5.c: Likewise.
19255         * tests/test-gc-hmac-sha1.c: Likewise.
19256         * tests/test-gc-md2.c: Likewise.
19257         * tests/test-gc-md4.c: Likewise.
19258         * tests/test-gc-md5.c: Likewise.
19259         * tests/test-gc-pbkdf2-sha1.c: Likewise.
19260         * tests/test-gc-rijndael.c: Likewise.
19261         * tests/test-gc-sha1.c: Likewise.
19262         * tests/test-gc.c: Likewise.
19263         * tests/test-gethostname.c: Likewise.
19264         * tests/test-gettimeofday.c: Likewise.
19265         * tests/test-hash.c: Likewise.
19266         * tests/test-hmac-md5.c: Likewise.
19267         * tests/test-hmac-sha1.c: Likewise.
19268         * tests/test-md2.c: Likewise.
19269         * tests/test-md4.c: Likewise.
19270         * tests/test-md5.c: Likewise.
19271         * tests/test-memchr.c: Likewise.
19272         * tests/test-memchr2.c: Likewise.
19273         * tests/test-memcmp.c: Likewise.
19274         * tests/test-memmem.c: Likewise.
19275         * tests/test-memrchr.c: Likewise.
19276         * tests/test-rawmemchr.c: Likewise.
19277         * tests/test-read-file.c: Likewise.
19278         * tests/test-rijndael.c: Likewise.
19279         * tests/test-sockets.c: Likewise.
19280         * tests/test-strchrnul.c: Likewise.
19281         * tests/test-strstr.c: Likewise.
19282         * tests/test-strtod.c: Likewise.
19283         * build-aux/ncftpput-ftp: Likewise.
19284
19285 2010-01-26  Eric Blake  <ebb9@byu.net>
19286
19287         ignore-value: update recommended header name
19288         * modules/ignore-value (Include): Only use <> for headers that
19289         exist in glibc.
19290
19291 2010-01-26  Jim Meyering  <meyering@redhat.com>
19292
19293         test-userspec.c: avoid compiler warnings
19294         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
19295         and "initialization discards qualifiers..." warnings.
19296         Put the first "uid" in its own scope, and make char* members "const".
19297
19298 2010-01-25  Bruno Haible  <bruno@clisp.org>
19299
19300         gnulib-tool: Make warning diagnostics consistent.
19301         * gnulib-tool (func_warning): New function.
19302         Use it everywhere where gnulib-tool produces output to stderr and it is
19303         not a fatal error.
19304
19305 2010-01-25  Bruno Haible  <bruno@clisp.org>
19306
19307         Fix test dependencies.
19308         * modules/xstrtol-tests (Depends-on): Add inttypes.
19309         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
19310
19311 2010-01-25 Pádraig Brady <P@draigBrady.com>
19312
19313         syntax-check: detect incorrect boolean macro values in config.h
19314         * modules/maintainer-makefile (configure.ac): Parameterize the location
19315         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
19316         The logic is from Eric Blake and the location indicated by Jim Meyering.
19317         Note the more natural CONFIG_HEADER name is prohibited by automake
19318         for backwards compatibility reasons.
19319         * top/maint.mk (sc_Wundef_boolean): New rule.
19320
19321 2010-01-25  Jim Meyering  <meyering@redhat.com>
19322
19323         bootstrap: detect MacOS 10.6's shasum, too
19324         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
19325         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
19326
19327 2010-01-23  Jim Meyering  <meyering@redhat.com>
19328
19329         xstrtoll: new module
19330         * modules/xstrtoll: New file.
19331         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
19332         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
19333         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
19334         ./configure fails if you use this module and lack "long long".
19335         * modules/xstrtoll-tests: New module.
19336         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
19337         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
19338         new init.sh-based test framework.
19339
19340 2010-01-24  Bruno Haible  <bruno@clisp.org>
19341
19342         Tests for module 'yn'.
19343         * modules/yn-tests: New file.
19344         * tests/test-yn.c: New file.
19345
19346         Tests for module 'y1'.
19347         * modules/y1-tests: New file.
19348         * tests/test-y1.c: New file.
19349
19350         Tests for module 'y0'.
19351         * modules/y0-tests: New file.
19352         * tests/test-y0.c: New file.
19353
19354         Tests for module 'tanh'.
19355         * modules/tanh-tests: New file.
19356         * tests/test-tanh.c: New file.
19357
19358         Tests for module 'tan'.
19359         * modules/tan-tests: New file.
19360         * tests/test-tan.c: New file.
19361
19362         Tests for module 'sqrt'.
19363         * modules/sqrt-tests: New file.
19364         * tests/test-sqrt.c: New file.
19365
19366         Tests for module 'sinh'.
19367         * modules/sinh-tests: New file.
19368         * tests/test-sinh.c: New file.
19369
19370         Tests for module 'sin'.
19371         * modules/sin-tests: New file.
19372         * tests/test-sin.c: New file.
19373
19374         Tests for module 'rint'.
19375         * modules/rint-tests: New file.
19376         * tests/test-rint.c: New file.
19377
19378         Tests for module 'remainder'.
19379         * modules/remainder-tests: New file.
19380         * tests/test-remainder.c: New file.
19381
19382         Tests for module 'pow'.
19383         * modules/pow-tests: New file.
19384         * tests/test-pow.c: New file.
19385
19386         Tests for module 'nextafter'.
19387         * modules/nextafter-tests: New file.
19388         * tests/test-nextafter.c: New file.
19389
19390         Tests for module 'modf'.
19391         * modules/modf-tests: New file.
19392         * tests/test-modf.c: New file.
19393
19394         Tests for module 'logb'.
19395         * modules/logb-tests: New file.
19396         * tests/test-logb.c: New file.
19397
19398         Tests for module 'log1p'.
19399         * modules/log1p-tests: New file.
19400         * tests/test-log1p.c: New file.
19401
19402         Tests for module 'log10'.
19403         * modules/log10-tests: New file.
19404         * tests/test-log10.c: New file.
19405
19406         Tests for module 'log'.
19407         * modules/log-tests: New file.
19408         * tests/test-log.c: New file.
19409
19410         Tests for module 'lgamma'.
19411         * modules/lgamma-tests: New file.
19412         * tests/test-lgamma.c: New file.
19413
19414         Tests for module 'ldexp'.
19415         * modules/ldexp-tests: New file.
19416         * tests/test-ldexp.c: New file.
19417
19418         Tests for module 'jn'.
19419         * modules/jn-tests: New file.
19420         * tests/test-jn.c: New file.
19421
19422         Tests for module 'j1'.
19423         * modules/j1-tests: New file.
19424         * tests/test-j1.c: New file.
19425
19426         Tests for module 'j0'.
19427         * modules/j0-tests: New file.
19428         * tests/test-j0.c: New file.
19429
19430         Tests for module 'hypot'.
19431         * modules/hypot-tests: New file.
19432         * tests/test-hypot.c: New file.
19433
19434         Tests for module 'fmod'.
19435         * modules/fmod-tests: New file.
19436         * tests/test-fmod.c: New file.
19437
19438         Tests for module 'fabs'.
19439         * modules/fabs-tests: New file.
19440         * tests/test-fabs.c: New file.
19441
19442         Tests for module 'exp'.
19443         * modules/exp-tests: New file.
19444         * tests/test-exp.c: New file.
19445
19446         Tests for module 'erfc'.
19447         * modules/erfc-tests: New file.
19448         * tests/test-erfc.c: New file.
19449
19450         Tests for module 'erf'.
19451         * modules/erf-tests: New file.
19452         * tests/test-erf.c: New file.
19453
19454         Tests for module 'cosh'.
19455         * modules/cosh-tests: New file.
19456         * tests/test-cosh.c: New file.
19457
19458         Tests for module 'cos'.
19459         * modules/cos-tests: New file.
19460         * tests/test-cos.c: New file.
19461
19462         Tests for module 'copysign'.
19463         * modules/copysign-tests: New file.
19464         * tests/test-copysign.c: New file.
19465
19466         Tests for module 'cbrt'.
19467         * modules/cbrt-tests: New file.
19468         * tests/test-cbrt.c: New file.
19469
19470         Tests for module 'atan2'.
19471         * modules/atan2-tests: New file.
19472         * tests/test-atan2.c: New file.
19473
19474         Tests for module 'atan'.
19475         * modules/atan-tests: New file.
19476         * tests/test-atan.c: New file.
19477
19478         Tests for module 'asin'.
19479         * modules/asin-tests: New file.
19480         * tests/test-asin.c: New file.
19481
19482         Tests for module 'acos'.
19483         * modules/acos-tests: New file.
19484         * tests/test-acos.c: New file.
19485
19486 2010-01-24  Bruno Haible  <bruno@clisp.org>
19487
19488         Fix tests for common <math.h> functions.
19489         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
19490         code snippet that references the function pointer, rather than merely
19491         calling the function. Substitute the FUNC_LIBM variable.
19492         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
19493         * modules/acos (configure.ac): Likewise.
19494         * modules/asin (configure.ac): Likewise.
19495         * modules/atan (configure.ac): Likewise.
19496         * modules/atan2 (configure.ac): Likewise.
19497         * modules/cbrt (configure.ac): Likewise.
19498         * modules/copysign (configure.ac): Likewise.
19499         * modules/cos (configure.ac): Likewise.
19500         * modules/cosh (configure.ac): Likewise.
19501         * modules/erf (configure.ac): Likewise.
19502         * modules/erfc (configure.ac): Likewise.
19503         * modules/exp (configure.ac): Likewise.
19504         * modules/fabs (configure.ac): Likewise.
19505         * modules/fmod (configure.ac): Likewise.
19506         * modules/hypot (configure.ac): Likewise.
19507         * modules/j0 (configure.ac): Likewise.
19508         * modules/j1 (configure.ac): Likewise.
19509         * modules/jn (configure.ac): Likewise.
19510         * modules/ldexp (configure.ac): Likewise.
19511         * modules/lgamma (configure.ac): Likewise.
19512         * modules/log (configure.ac): Likewise.
19513         * modules/log10 (configure.ac): Likewise.
19514         * modules/log1p (configure.ac): Likewise.
19515         * modules/logb (configure.ac): Likewise.
19516         * modules/modf (configure.ac): Likewise.
19517         * modules/nextafter (configure.ac): Likewise.
19518         * modules/pow (configure.ac): Likewise.
19519         * modules/remainder (configure.ac): Likewise.
19520         * modules/rint (configure.ac): Likewise.
19521         * modules/sin (configure.ac): Likewise.
19522         * modules/sinh (configure.ac): Likewise.
19523         * modules/tan (configure.ac): Likewise.
19524         * modules/tanh (configure.ac): Likewise.
19525         * modules/y0 (configure.ac): Likewise.
19526         * modules/y1 (configure.ac): Likewise.
19527         * modules/yn (configure.ac): Likewise.
19528
19529 2010-01-24  Bruno Haible  <bruno@clisp.org>
19530
19531         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
19532         * tests/test-acosl.c (x): New variable.
19533         (main): Store argument in x and fetch it from x.
19534         * tests/test-asinl.c (x): New variable.
19535         (main): Store argument in x and fetch it from x.
19536         * tests/test-atanl.c (x): New variable.
19537         (main): Store argument in x and fetch it from x.
19538         * tests/test-cosl.c (x): New variable.
19539         (main): Store argument in x and fetch it from x.
19540         * tests/test-expl.c (x): New variable.
19541         (main): Store argument in x and fetch it from x.
19542         * tests/test-logl.c (x): New variable.
19543         (main): Store argument in x and fetch it from x.
19544         * tests/test-sinl.c (x): New variable.
19545         (main): Store argument in x and fetch it from x.
19546         * tests/test-sqrtl.c (x): New variable.
19547         (main): Store argument in x and fetch it from x.
19548         * tests/test-tanl.c (x): New variable.
19549         (main): Store argument in x and fetch it from x.
19550
19551 2010-01-24  Bruno Haible  <bruno@clisp.org>
19552
19553         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
19554         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
19555         assignments to the initial TESTS_ENVIRONMENT.
19556         * doc/gnulib.texi (Unit test modules): Document it.
19557         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
19558         TESTS_ENVIRONMENT.
19559         * modules/btowc-tests (Makefile.am): Likewise.
19560         * modules/c-stack-tests (Makefile.am): Likewise.
19561         * modules/c-strcase-tests (Makefile.am): Likewise.
19562         * modules/copy-file-tests (Makefile.am): Likewise.
19563         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
19564         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
19565         * modules/mbrtowc-tests (Makefile.am): Likewise.
19566         * modules/mbscasecmp-tests (Makefile.am): Likewise.
19567         * modules/mbscasestr-tests (Makefile.am): Likewise.
19568         * modules/mbschr-tests (Makefile.am): Likewise.
19569         * modules/mbscspn-tests (Makefile.am): Likewise.
19570         * modules/mbsinit-tests (Makefile.am): Likewise.
19571         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
19572         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
19573         * modules/mbspbrk-tests (Makefile.am): Likewise.
19574         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
19575         * modules/mbsrchr-tests (Makefile.am): Likewise.
19576         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
19577         * modules/mbsspn-tests (Makefile.am): Likewise.
19578         * modules/mbsstr-tests (Makefile.am): Likewise.
19579         * modules/nl_langinfo-tests (Makefile.am): Likewise.
19580         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
19581         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
19582         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
19583         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
19584         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
19585         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
19586         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
19587         * modules/wcrtomb-tests (Makefile.am): Likewise.
19588         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
19589         * modules/wcsrtombs-tests (Makefile.am): Likewise.
19590         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
19591         assignments from TESTS_ENVIRONMENT.
19592         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
19593         augmentation.
19594         * modules/argp-version-etc-tests (Makefile.am): Likewise.
19595         * modules/atexit-tests (Makefile.am): Likewise.
19596         * modules/binary-io-tests (Makefile.am): Likewise.
19597         * modules/closein-tests (Makefile.am): Likewise.
19598         * modules/dprintf-posix-tests (Makefile.am): Likewise.
19599         * modules/exclude-tests (Makefile.am): Likewise.
19600         * modules/fflush-tests (Makefile.am): Likewise.
19601         * modules/fpending-tests (Makefile.am): Likewise.
19602         * modules/fprintf-posix-tests (Makefile.am): Likewise.
19603         * modules/freadahead-tests (Makefile.am): Likewise.
19604         * modules/freadptr-tests (Makefile.am): Likewise.
19605         * modules/freadseek-tests (Makefile.am): Likewise.
19606         * modules/fseek-tests (Makefile.am): Likewise.
19607         * modules/fseeko-tests (Makefile.am): Likewise.
19608         * modules/ftell-tests (Makefile.am): Likewise.
19609         * modules/ftello-tests (Makefile.am): Likewise.
19610         * modules/idpriv-drop-tests (Makefile.am): Likewise.
19611         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
19612         * modules/lseek-tests (Makefile.am): Likewise.
19613         * modules/parse-duration-tests (Makefile.am): Likewise.
19614         * modules/perror-tests (Makefile.am): Likewise.
19615         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
19616         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
19617         * modules/pipe-tests (Makefile.am): Likewise.
19618         * modules/pread-tests (Makefile.am): Likewise.
19619         * modules/printf-posix-tests (Makefile.am): Likewise.
19620         * modules/select-tests (Makefile.am): Likewise.
19621         * modules/sigpipe-tests (Makefile.am): Likewise.
19622         * modules/tsearch-tests (Makefile.am): Likewise.
19623         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
19624         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
19625         * modules/uniname/uniname-tests (Makefile.am): Likewise.
19626         * modules/uniwidth/width-tests (Makefile.am): Likewise.
19627         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
19628         * modules/version-etc-tests (Makefile.am): Likewise.
19629         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
19630         * modules/vprintf-posix-tests (Makefile.am): Likewise.
19631         * modules/xalloc-die-tests (Makefile.am): Likewise.
19632         * modules/xprintf-posix-tests (Makefile.am): Likewise.
19633         * modules/xstrtoimax-tests (Makefile.am): Likewise.
19634         * modules/xstrtol-tests (Makefile.am): Likewise.
19635         * modules/xstrtoumax-tests (Makefile.am): Likewise.
19636         * modules/yesno-tests (Makefile.am): Likewise.
19637         Suggested by Jim Meyering.
19638
19639 2010-01-24  Bruno Haible  <bruno@clisp.org>
19640
19641         More documentation.
19642         * doc/gnulib.texi (Writing modules): New chapter.
19643         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
19644         the new chapter.
19645
19646 2010-01-24  Jim Meyering  <meyering@redhat.com>
19647
19648         maint.mk: do not prepend "./" after filtering
19649         * top/maint.mk (_prepend_srcdir_prefix): New variable
19650         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
19651         "./" when $(srcdir) is ".".
19652
19653         define STREQ(a,b) consistently, removing useless parentheses
19654         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
19655         since the only risk is that "a" or "b" contains an unparenthesized
19656         comma, but if either did that, STREQ would have 3 or more arguments.
19657         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
19658         * lib/fts.c (STREQ): Remove unnecessary parentheses.
19659         * lib/hash-triple.c (STREQ): Likewise.
19660         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
19661         * lib/getugroups.c (STREQ): Likewise.
19662
19663 2010-01-23  Jim Meyering  <meyering@redhat.com>
19664
19665         maint.mk: fix syntax-check in a non-srcdir build directory
19666         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
19667         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
19668
19669 2010-01-22  Jim Meyering  <meyering@redhat.com>
19670
19671         userspec: add unit tests
19672         * tests/test-userspec.c: New file.
19673         * modules/userspec-tests: Likewise.
19674
19675 2010-01-21  Jim Meyering  <meyering@redhat.com>
19676
19677         maint.mk: handle source file names containing "." robustly
19678         * top/maint.mk (_dot_escaped_srcdir): Define.
19679         (VC_LIST): Use it in LHS of sed substitution.
19680
19681 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
19682
19683         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
19684         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
19685         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
19686         from a non-srcdir build.
19687
19688 2010-01-20  Eric Blake  <ebb9@byu.net>
19689
19690         warn-on-use: use instead of link-warning
19691         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
19692         * modules/unistd (Depends-on, Makefile.am): Likewise.
19693         * modules/arpa_inet (Depends-on): Replace link-warning with
19694         warn-on-use.
19695         (Makefile.am): Update rules accordingly.
19696         * modules/ctype (Depends-on, Makefile.am): Likewise.
19697         * modules/dirent (Depends-on, Makefile.am): Likewise.
19698         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
19699         * modules/inttypes (Depends-on, Makefile.am): Likewise.
19700         * modules/langinfo (Depends-on, Makefile.am): Likewise.
19701         * modules/locale (Depends-on, Makefile.am): Likewise.
19702         * modules/math (Depends-on, Makefile.am): Likewise.
19703         * modules/search (Depends-on, Makefile.am): Likewise.
19704         * modules/signal (Depends-on, Makefile.am): Likewise.
19705         * modules/spawn (Depends-on, Makefile.am): Likewise.
19706         * modules/stdlib (Depends-on, Makefile.am): Likewise.
19707         * modules/string (Depends-on, Makefile.am): Likewise.
19708         * modules/strings (Depends-on, Makefile.am): Likewise.
19709         * modules/sys_file (Depends-on, Makefile.am): Likewise.
19710         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
19711         * modules/sys_select (Depends-on, Makefile.am): Likewise.
19712         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
19713         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
19714         * modules/sys_times (Depends-on, Makefile.am): Likewise.
19715         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
19716         * modules/wchar (Depends-on, Makefile.am): Likewise.
19717         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
19718         should be poisoned.
19719         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
19720         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
19721         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
19722         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
19723         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
19724         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
19725         * m4/math_h.m4 (gl_MATH_H): Likewise.
19726         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19727         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
19728         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19729         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
19730         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
19731         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
19732         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
19733         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
19734         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
19735         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19736         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
19737         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
19738         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19739         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19740         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19741         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
19742         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
19743         GL_LINK_WARNING.
19744         * lib/ctype.in.h: Likewise.
19745         * lib/dirent.in.h: Likewise.
19746         * lib/fcntl.in.h: Likewise.
19747         * lib/inttypes.in.h: Likewise.
19748         * lib/langinfo.in.h: Likewise.
19749         * lib/locale.in.h: Likewise.
19750         * lib/math.in.h: Likewise.
19751         * lib/search.in.h: Likewise.
19752         * lib/signal.in.h: Likewise.
19753         * lib/spawn.in.h: Likewise.
19754         * lib/stdio.in.h: Likewise.
19755         * lib/stdlib.in.h: Likewise.
19756         * lib/string.in.h: Likewise.
19757         * lib/strings.in.h: Likewise.
19758         * lib/sys_file.in.h: Likewise.
19759         * lib/sys_ioctl.in.h: Likewise.
19760         * lib/sys_select.in.h: Likewise.
19761         * lib/sys_socket.in.h: Likewise.
19762         * lib/sys_stat.in.h: Likewise.
19763         * lib/sys_times.in.h: Likewise.
19764         * lib/sys_utsname.in.h: Likewise.
19765         * lib/unistd.in.h: Likewise.
19766         * lib/wchar.in.h: Likewise.
19767
19768 2010-01-20  Bruno Haible  <bruno@clisp.org>
19769
19770         Avoid duplicate -lm.
19771         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
19772         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
19773         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
19774         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
19775         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
19776         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
19777         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
19778         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
19779         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
19780         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
19781         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
19782         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
19783         Reported by Paolo Bonzini.
19784
19785 2010-01-19  Bruno Haible  <bruno@clisp.org>
19786
19787         langinfo, nl_langinfo: Relicense under LGPLv2+.
19788         * modules/langinfo (License): Change to LGPLv2+.
19789         * modules/nl_langinfo (License): Likewise.
19790         Patch by David Lutterkort <lutter@redhat.com>.
19791
19792 2010-01-19  Bruno Haible  <bruno@clisp.org>
19793
19794         Avoid compilation error with cc on OSF/1 5.1.
19795         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
19796         statement, not before.
19797         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19798
19799 2010-01-18  Bruno Haible  <bruno@clisp.org>
19800
19801         Avoid a link error due to the __printf__ symbol.
19802         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
19803         and 2.6.x.
19804         (__format__, __printf__): Remove definitions.
19805         * lib/argp-fmtstream.h: Likewise.
19806         * lib/argp.h: Likewise.
19807         * lib/error.h: Likewise.
19808         * lib/vasnprintf.h: Likewise.
19809         * lib/xprintf.h: Likewise.
19810         * lib/xvasprintf.h: Likewise.
19811         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19812
19813 2010-01-18  Bruno Haible  <bruno@clisp.org>
19814
19815         Tests for module 'tanl'.
19816         * modules/tanl-tests: New file.
19817         * tests/test-tanl.c: New file.
19818
19819         Tests for module 'sqrtl'.
19820         * modules/sqrtl-tests: New file.
19821         * tests/test-sqrtl.c: New file.
19822
19823         Tests for module 'sinl'.
19824         * modules/sinl-tests: New file.
19825         * tests/test-sinl.c: New file.
19826
19827         Tests for module 'logl'.
19828         * modules/logl-tests: New file.
19829         * tests/test-logl.c: New file.
19830
19831         Tests for module 'expl'.
19832         * modules/expl-tests: New file.
19833         * tests/test-expl.c: New file.
19834
19835         Tests for module 'cosl'.
19836         * modules/cosl-tests: New file.
19837         * tests/test-cosl.c: New file.
19838
19839         Tests for module 'atanl'.
19840         * modules/atanl-tests: New file.
19841         * tests/test-atanl.c: New file.
19842
19843         Tests for module 'asinl'.
19844         * modules/asinl-tests: New file.
19845         * tests/test-asinl.c: New file.
19846
19847         Tests for module 'acosl'.
19848         * modules/acosl-tests: New file.
19849         * tests/test-acosl.c: New file.
19850
19851         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
19852         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
19853         tanl): Use the standard gnulib idiom.
19854         * lib/cosl.c: Don't include trigl.c and sincosl.c.
19855         * lib/sinl.c: Likewise.
19856         * lib/tanl.c: Don't include trigl.c.
19857         (kernel_tanl): Make static.
19858         * lib/sincosl.c: Include trigl.h first.
19859         * lib/trigl.c: Likewise.
19860         * m4/acosl.m4: New file.
19861         * m4/asinl.m4: New file.
19862         * m4/atanl.m4: New file.
19863         * m4/cosl.m4: New file.
19864         * m4/expl.m4: New file.
19865         * m4/logl.m4: New file.
19866         * m4/sinl.m4: New file.
19867         * m4/sqrtl.m4: New file.
19868         * m4/tanl.m4: New file.
19869         * m4/mathl.m4: Remove file.
19870         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
19871         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
19872         Don't initialize GNULIB_MATHL.
19873         * modules/acosl: New file.
19874         * modules/asinl: New file.
19875         * modules/atanl: New file.
19876         * modules/cosl: New file.
19877         * modules/expl: New file.
19878         * modules/logl: New file.
19879         * modules/sinl: New file.
19880         * modules/sqrtl: New file.
19881         * modules/tanl: New file.
19882         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
19883         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
19884         substitute GNULIB_MATHL.
19885         * modules/mathl: Rewritten.
19886         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
19887         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
19888         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
19889         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
19890         * doc/posix-functions/expl.texi: Mention the 'expl' module.
19891         * doc/posix-functions/logl.texi: Mention the 'logl' module.
19892         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
19893         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
19894         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
19895
19896 2010-01-18  Bruno Haible  <bruno@clisp.org>
19897
19898         sqrt: Make gl_FUNC_SQRT requirable.
19899         * m4/sqrt.m4: New file.
19900         * modules/sqrt (Files): Add it.
19901         (configure.ac): Invoke gl_FUNC_SQRT.
19902
19903 2010-01-18  Bruno Haible  <bruno@clisp.org>
19904
19905         New modules for common <math.h> functions.
19906         * m4/mathfunc.m4: New file.
19907         * modules/acos: New file.
19908         * modules/asin: New file.
19909         * modules/atan: New file.
19910         * modules/atan2: New file.
19911         * modules/cbrt: New file.
19912         * modules/copysign: New file.
19913         * modules/cos: New file.
19914         * modules/cosh: New file.
19915         * modules/erf: New file.
19916         * modules/erfc: New file.
19917         * modules/exp: New file.
19918         * modules/fabs: New file.
19919         * modules/fmod: New file.
19920         * modules/hypot: New file.
19921         * modules/j0: New file.
19922         * modules/j1: New file.
19923         * modules/jn: New file.
19924         * modules/ldexp: New file.
19925         * modules/lgamma: New file.
19926         * modules/log: New file.
19927         * modules/log10: New file.
19928         * modules/log1p: New file.
19929         * modules/logb: New file.
19930         * modules/modf: New file.
19931         * modules/nextafter: New file.
19932         * modules/pow: New file.
19933         * modules/remainder: New file.
19934         * modules/rint: New file.
19935         * modules/sin: New file.
19936         * modules/sinh: New file.
19937         * modules/sqrt: New file.
19938         * modules/tan: New file.
19939         * modules/tanh: New file.
19940         * modules/y0: New file.
19941         * modules/y1: New file.
19942         * modules/yn: New file.
19943         * doc/posix-functions/acos.texi: Mention the 'acos' module.
19944         * doc/posix-functions/asin.texi: Mention the 'asin' module.
19945         * doc/posix-functions/atan.texi: Mention the 'atan' module.
19946         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
19947         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
19948         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
19949         * doc/posix-functions/cos.texi: Mention the 'cos' module.
19950         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
19951         * doc/posix-functions/erf.texi: Mention the 'erf' module.
19952         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
19953         * doc/posix-functions/exp.texi: Mention the 'exp' module.
19954         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
19955         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
19956         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
19957         * doc/posix-functions/j0.texi: Mention the 'j0' module.
19958         * doc/posix-functions/j1.texi: Mention the 'j1' module.
19959         * doc/posix-functions/jn.texi: Mention the 'jn' module.
19960         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
19961         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
19962         * doc/posix-functions/log.texi: Mention the 'log' module.
19963         * doc/posix-functions/log10.texi: Mention the 'log10' module.
19964         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
19965         * doc/posix-functions/logb.texi: Mention the 'logb' module.
19966         * doc/posix-functions/modf.texi: Mention the 'modf' module.
19967         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
19968         * doc/posix-functions/pow.texi: Mention the 'pow' module.
19969         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
19970         * doc/posix-functions/rint.texi: Mention the 'rint' module.
19971         * doc/posix-functions/sin.texi: Mention the 'sin' module.
19972         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
19973         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
19974         * doc/posix-functions/tan.texi: Mention the 'tan' module.
19975         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
19976         * doc/posix-functions/y0.texi: Mention the 'y0' module.
19977         * doc/posix-functions/y1.texi: Mention the 'y1' module.
19978         * doc/posix-functions/yn.texi: Mention the 'yn' module.
19979
19980 2010-01-18  Jim Meyering  <meyering@redhat.com>
19981
19982         ignore-value: relax license to LGPLv2+
19983         * modules/ignore-value (License): Relax to LGPLv2+.
19984
19985         getdate: don't leak when TZ contains two or more '"'s
19986         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
19987         double quote in TZ after the first one.
19988
19989         readtokens: do not leak internal token_lengths buffer
19990         * lib/readtokens.c (readtokens): Free the local, lengths,
19991         when the supplied "token_lengths" parameter is NULL.
19992
19993 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19994
19995         Fix a couple of missing LIBTHREAD link failures on AIX.
19996         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
19997         $(LIBTHREAD).
19998         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
19999
20000         Link test-poll against INET_PTON_LIB.
20001         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
20002         for inet_pton on Solaris 10.
20003
20004 2010-01-17  Bruno Haible  <bruno@clisp.org>
20005
20006         unistdio/*-sprintf: Fix typo in module description.
20007         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
20008         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
20009         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
20010         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
20011         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
20012         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
20013         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
20014         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20015
20016 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20017
20018         gnulib-tool: fix filelist for AIX, HP-UX ksh.
20019         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
20020         variables in shell case patterns, for AIX and HP-UX ksh.
20021
20022         Split large sed scripts, for HP-UX sed.
20023         * modules/stdio: Split sed scripts around 50 sed commands,
20024         to avoid HP-UX limit of 99 commands, in the near future.
20025         * modules/string: Likewise.
20026         * modules/unistd: Likewise.
20027
20028         gnulib-tool: avoid writing in the current directory.
20029         * gnulib-tool (func_emit_lib_Makefile_am)
20030         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
20031         not in the current directory, so concurrent gnulib-tool
20032         instances do not interfere.
20033
20034 2010-01-16  Jim Meyering  <meyering@redhat.com>
20035
20036         doc: update users.txt
20037         * users.txt: Add grep.
20038         (diffutils, gzip): Update URLs.
20039
20040 2010-01-12  Bruno Haible  <bruno@clisp.org>
20041
20042         posix_spawn: Avoid test failure on Cygwin.
20043         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
20044         characters.
20045         Reported by Simon Josefsson.
20046
20047 2010-01-12  Bruno Haible  <bruno@clisp.org>
20048
20049         * tests/test-cond.c (main): When skipping the test, show the reason.
20050
20051 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20052
20053         * lib/striconv.c (str_cd_iconv): Avoid if before free.
20054
20055 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20056
20057         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
20058         VC_LIST_ALWAYS_EXCLUDE_REGEX.
20059
20060 2010-01-12  Eric Blake  <ebb9@byu.net>
20061
20062         build: guarantee AS_VAR_IF
20063         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
20064         (gl_AS_VAR_IF): Move...
20065         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
20066         Reported by Simon Josefsson.
20067
20068 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20069
20070         * lib/stdio.in.h: Fix typo.
20071
20072 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20073
20074         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
20075         libgpg-error.
20076
20077 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20078
20079         * tests/test-xalloc-die.sh: Use $EXEEXT.
20080
20081 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20082             Bruno Haible  <bruno@clisp.org>
20083
20084         getlogin, getlogin_r: Avoid test failure.
20085         * tests/test-getlogin.c: Include <stdio.h>.
20086         (main): Skip the test when the function fails because stdin is not a
20087         tty.
20088         * tests/test-getlogin_r.c: Include <stdio.h>.
20089         (main): Skip the test when the function fails because stdin is not a
20090         tty.
20091
20092 2010-01-11  Eric Blake  <ebb9@byu.net>
20093
20094         tests: avoid more large file warnings
20095         * tests/test-fflush.c: Avoid warning about ftell use.
20096         * tests/test-fseek.c: Avoid warning about fseek use.
20097
20098 2010-01-10  Bruno Haible  <bruno@clisp.org>
20099
20100         nproc: Work better on Linux when /proc and /sys are not mounted.
20101         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
20102         as lower bound when, on glibc/Linux systems,
20103         sysconf (_SC_NPROCESSORS_CONF) returns 1.
20104         Suggested by Pádraig Brady <P@draigbrady.com>.
20105         Reported by Dmitry V. Levin <ldv@altlinux.org>.
20106
20107         nproc: Refactor.
20108         * lib/nproc.c (num_processors_via_affinity_mask): New function,
20109         extracted from num_processors.
20110         (num_processors): Call it.
20111
20112 2010-01-11  Jim Meyering  <meyering@redhat.com>
20113
20114         utimecmp: avoid new warning from upcoming gcc-4.5.0
20115         * lib/utimecmp.c (BILLION): Define using #define rather than an
20116         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
20117
20118 2010-01-11  Eric Blake  <ebb9@byu.net>
20119
20120         math: add portability warnings for classification macros
20121         * modules/math (Depends-on): Add warn-on-use.
20122         (Makefile.am): Provide new substitutions.
20123         * m4/math_h.m4 (gl_MATH_H): Require inline.
20124         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
20125         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
20126         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
20127         implement warnings.
20128
20129         unistd: warn on use of environ without module
20130         * modules/unistd (Depends-on): Add warn-on-use.
20131         (Makefile.am): Provide new substitutions.
20132         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
20133         * lib/unistd.in.h (environ): Wrap with a warning helper function.
20134
20135         stdio: warn on suspicious uses
20136         * modules/stdio (Depends-on): Add warn-on-use.
20137         (Makefile.am): Provide new substitutions.
20138         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
20139         fseeko.
20140         * lib/stdio.in.h (gets): Always warn on use.
20141         (fseek, ftell): Adjust when warnings are issued, and honor
20142         _GL_NO_LARGE_FILES as a way to silence the warning.
20143         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
20144         any warning about large file offsets.
20145         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
20146         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
20147         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
20148         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
20149         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
20150         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
20151         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
20152         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
20153
20154         warn-on-use: new module
20155         * modules/warn-on-use: New file.
20156         * build-aux/warn-on-use.h: Likewise.
20157         * m4/warn-on-use.m4: Likewise.
20158         * MODULES.html.sh (Support for building): Mention it.
20159
20160 2010-01-10  Bruno Haible  <bruno@clisp.org>
20161
20162         Tests for module 'unistr/u32-strdup'.
20163         * modules/unistr/u32-strdup-tests: New file.
20164         * tests/unistr/test-u32-strdup.c: New file.
20165
20166         Tests for module 'unistr/u16-strdup'.
20167         * modules/unistr/u16-strdup-tests: New file.
20168         * tests/unistr/test-u16-strdup.c: New file.
20169
20170         Tests for module 'unistr/u8-strdup'.
20171         * modules/unistr/u8-strdup-tests: New file.
20172         * tests/unistr/test-u8-strdup.c: New file.
20173         * tests/unistr/test-strdup.h: New file.
20174
20175         Tests for module 'unistr/u32-strncmp'.
20176         * modules/unistr/u32-strncmp-tests: New file.
20177         * tests/unistr/test-u32-strncmp.c: New file.
20178
20179         Tests for module 'unistr/u16-strncmp'.
20180         * modules/unistr/u16-strncmp-tests: New file.
20181         * tests/unistr/test-u16-strncmp.c: New file.
20182
20183         Tests for module 'unistr/u8-strncmp'.
20184         * modules/unistr/u8-strncmp-tests: New file.
20185         * tests/unistr/test-u8-strncmp.c: New file.
20186         * tests/unistr/test-strncmp.h: New file.
20187
20188         Tests for module 'unistr/u32-strcoll'.
20189         * modules/unistr/u32-strcoll-tests: New file.
20190         * tests/unistr/test-u32-strcoll.c: New file.
20191
20192         Tests for module 'unistr/u16-strcoll'.
20193         * modules/unistr/u16-strcoll-tests: New file.
20194         * tests/unistr/test-u16-strcoll.c: New file.
20195
20196         Tests for module 'unistr/u8-strcoll'.
20197         * modules/unistr/u8-strcoll-tests: New file.
20198         * tests/unistr/test-u8-strcoll.c: New file.
20199
20200         Tests for module 'unistr/u32-strcmp'.
20201         * modules/unistr/u32-strcmp-tests: New file.
20202         * tests/unistr/test-u32-strcmp.c: New file.
20203         * tests/unistr/test-u32-strcmp.h: New file.
20204
20205         Tests for module 'unistr/u16-strcmp'.
20206         * modules/unistr/u16-strcmp-tests: New file.
20207         * tests/unistr/test-u16-strcmp.c: New file.
20208         * tests/unistr/test-u16-strcmp.h: New file.
20209
20210         Tests for module 'unistr/u8-strcmp'.
20211         * modules/unistr/u8-strcmp-tests: New file.
20212         * tests/unistr/test-u8-strcmp.c: New file.
20213         * tests/unistr/test-u8-strcmp.h: New file.
20214         * tests/unistr/test-strcmp.h: New file.
20215
20216         Tests for module 'unistr/u32-strncat'.
20217         * modules/unistr/u32-strncat-tests: New file.
20218         * tests/unistr/test-u32-strncat.c: New file.
20219
20220         Tests for module 'unistr/u16-strncat'.
20221         * modules/unistr/u16-strncat-tests: New file.
20222         * tests/unistr/test-u16-strncat.c: New file.
20223
20224         Tests for module 'unistr/u8-strncat'.
20225         * modules/unistr/u8-strncat-tests: New file.
20226         * tests/unistr/test-u8-strncat.c: New file.
20227         * tests/unistr/test-strncat.h: New file.
20228
20229         Tests for module 'unistr/u32-strcat'.
20230         * modules/unistr/u32-strcat-tests: New file.
20231         * tests/unistr/test-u32-strcat.c: New file.
20232
20233         Tests for module 'unistr/u16-strcat'.
20234         * modules/unistr/u16-strcat-tests: New file.
20235         * tests/unistr/test-u16-strcat.c: New file.
20236
20237         Tests for module 'unistr/u8-strcat'.
20238         * modules/unistr/u8-strcat-tests: New file.
20239         * tests/unistr/test-u8-strcat.c: New file.
20240         * tests/unistr/test-strcat.h: New file.
20241
20242         Tests for module 'unistr/u32-stpncpy'.
20243         * modules/unistr/u32-stpncpy-tests: New file.
20244         * tests/unistr/test-u32-stpncpy.c: New file.
20245
20246         Tests for module 'unistr/u16-stpncpy'.
20247         * modules/unistr/u16-stpncpy-tests: New file.
20248         * tests/unistr/test-u16-stpncpy.c: New file.
20249
20250         Tests for module 'unistr/u8-stpncpy'.
20251         * modules/unistr/u8-stpncpy-tests: New file.
20252         * tests/unistr/test-u8-stpncpy.c: New file.
20253         * tests/unistr/test-stpncpy.h: New file.
20254
20255         Tests for module 'unistr/u32-strncpy'.
20256         * modules/unistr/u32-strncpy-tests: New file.
20257         * tests/unistr/test-u32-strncpy.c: New file.
20258
20259         Tests for module 'unistr/u16-strncpy'.
20260         * modules/unistr/u16-strncpy-tests: New file.
20261         * tests/unistr/test-u16-strncpy.c: New file.
20262
20263         Tests for module 'unistr/u8-strncpy'.
20264         * modules/unistr/u8-strncpy-tests: New file.
20265         * tests/unistr/test-u8-strncpy.c: New file.
20266         * tests/unistr/test-strncpy.h: New file.
20267
20268         Tests for module 'unistr/u32-stpcpy'.
20269         * modules/unistr/u32-stpcpy-tests: New file.
20270         * tests/unistr/test-u32-stpcpy.c: New file.
20271
20272         Tests for module 'unistr/u16-stpcpy'.
20273         * modules/unistr/u16-stpcpy-tests: New file.
20274         * tests/unistr/test-u16-stpcpy.c: New file.
20275
20276         Tests for module 'unistr/u8-stpcpy'.
20277         * modules/unistr/u8-stpcpy-tests: New file.
20278         * tests/unistr/test-u8-stpcpy.c: New file.
20279         * tests/unistr/test-stpcpy.h: New file.
20280
20281         Tests for module 'unistr/u32-strcpy'.
20282         * modules/unistr/u32-strcpy-tests: New file.
20283         * tests/unistr/test-u32-strcpy.c: New file.
20284
20285         Tests for module 'unistr/u16-strcpy'.
20286         * modules/unistr/u16-strcpy-tests: New file.
20287         * tests/unistr/test-u16-strcpy.c: New file.
20288
20289         Tests for module 'unistr/u8-strcpy'.
20290         * modules/unistr/u8-strcpy-tests: New file.
20291         * tests/unistr/test-u8-strcpy.c: New file.
20292         * tests/unistr/test-strcpy.h: New file.
20293
20294         Tests for module 'unistr/u32-strnlen'.
20295         * modules/unistr/u32-strnlen-tests: New file.
20296         * tests/unistr/test-u32-strnlen.c: New file.
20297
20298         Tests for module 'unistr/u16-strnlen'.
20299         * modules/unistr/u16-strnlen-tests: New file.
20300         * tests/unistr/test-u16-strnlen.c: New file.
20301
20302         Tests for module 'unistr/u8-strnlen'.
20303         * modules/unistr/u8-strnlen-tests: New file.
20304         * tests/unistr/test-u8-strnlen.c: New file.
20305         * tests/unistr/test-strnlen.h: New file.
20306
20307         Tests for module 'unistr/u32-strlen'.
20308         * modules/unistr/u32-strlen-tests: New file.
20309         * tests/unistr/test-u32-strlen.c: New file.
20310
20311         Tests for module 'unistr/u16-strlen'.
20312         * modules/unistr/u16-strlen-tests: New file.
20313         * tests/unistr/test-u16-strlen.c: New file.
20314
20315         Tests for module 'unistr/u8-strlen'.
20316         * modules/unistr/u8-strlen-tests: New file.
20317         * tests/unistr/test-u8-strlen.c: New file.
20318
20319         Tests for module 'unistr/u32-prev'.
20320         * modules/unistr/u32-prev-tests: New file.
20321         * tests/unistr/test-u32-prev.c: New file.
20322
20323         Tests for module 'unistr/u16-prev'.
20324         * modules/unistr/u16-prev-tests: New file.
20325         * tests/unistr/test-u16-prev.c: New file.
20326
20327         Tests for module 'unistr/u8-prev'.
20328         * modules/unistr/u8-prev-tests: New file.
20329         * tests/unistr/test-u8-prev.c: New file.
20330
20331         Tests for module 'unistr/u32-next'.
20332         * modules/unistr/u32-next-tests: New file.
20333         * tests/unistr/test-u32-next.c: New file.
20334
20335         Tests for module 'unistr/u16-next'.
20336         * modules/unistr/u16-next-tests: New file.
20337         * tests/unistr/test-u16-next.c: New file.
20338
20339         Tests for module 'unistr/u8-next'.
20340         * modules/unistr/u8-next-tests: New file.
20341         * tests/unistr/test-u8-next.c: New file.
20342
20343         Tests for module 'unistr/u32-strmbtouc'.
20344         * modules/unistr/u32-strmbtouc-tests: New file.
20345         * tests/unistr/test-u32-strmbtouc.c: New file.
20346
20347         Tests for module 'unistr/u16-strmbtouc'.
20348         * modules/unistr/u16-strmbtouc-tests: New file.
20349         * tests/unistr/test-u16-strmbtouc.c: New file.
20350
20351         Tests for module 'unistr/u8-strmbtouc'.
20352         * modules/unistr/u8-strmbtouc-tests: New file.
20353         * tests/unistr/test-u8-strmbtouc.c: New file.
20354
20355         Tests for module 'unistr/u32-strmblen'.
20356         * modules/unistr/u32-strmblen-tests: New file.
20357         * tests/unistr/test-u32-strmblen.c: New file.
20358
20359         Tests for module 'unistr/u16-strmblen'.
20360         * modules/unistr/u16-strmblen-tests: New file.
20361         * tests/unistr/test-u16-strmblen.c: New file.
20362
20363         Tests for module 'unistr/u8-strmblen'.
20364         * modules/unistr/u8-strmblen-tests: New file.
20365         * tests/unistr/test-u8-strmblen.c: New file.
20366
20367         Tests for module 'unistr/u32-cpy-alloc'.
20368         * modules/unistr/u32-cpy-alloc-tests: New file.
20369         * tests/unistr/test-u32-cpy-alloc.c: New file.
20370
20371         Tests for module 'unistr/u16-cpy-alloc'.
20372         * modules/unistr/u16-cpy-alloc-tests: New file.
20373         * tests/unistr/test-u16-cpy-alloc.c: New file.
20374
20375         Tests for module 'unistr/u8-cpy-alloc'.
20376         * modules/unistr/u8-cpy-alloc-tests: New file.
20377         * tests/unistr/test-u8-cpy-alloc.c: New file.
20378         * tests/unistr/test-cpy-alloc.h: New file.
20379
20380         Tests for module 'unistr/u32-mbsnlen'.
20381         * modules/unistr/u32-mbsnlen-tests: New file.
20382         * tests/unistr/test-u32-mbsnlen.c: New file.
20383
20384         Tests for module 'unistr/u16-mbsnlen'.
20385         * modules/unistr/u16-mbsnlen-tests: New file.
20386         * tests/unistr/test-u16-mbsnlen.c: New file.
20387
20388         Tests for module 'unistr/u8-mbsnlen'.
20389         * modules/unistr/u8-mbsnlen-tests: New file.
20390         * tests/unistr/test-u8-mbsnlen.c: New file.
20391
20392         Tests for module 'unistr/u32-chr'.
20393         * modules/unistr/u32-chr-tests: New file.
20394         * tests/unistr/test-u32-chr.c: New file.
20395
20396         Tests for module 'unistr/u16-chr'.
20397         * modules/unistr/u16-chr-tests: New file.
20398         * tests/unistr/test-u16-chr.c: New file.
20399
20400         Tests for module 'unistr/u8-chr'.
20401         * modules/unistr/u8-chr-tests: New file.
20402         * tests/unistr/test-u8-chr.c: New file.
20403         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
20404
20405         Tests for module 'unistr/u32-cmp2'.
20406         * modules/unistr/u32-cmp2-tests: New file.
20407         * tests/unistr/test-u32-cmp2.c: New file.
20408
20409         Tests for module 'unistr/u16-cmp2'.
20410         * modules/unistr/u16-cmp2-tests: New file.
20411         * tests/unistr/test-u16-cmp2.c: New file.
20412
20413         Tests for module 'unistr/u8-cmp2'.
20414         * modules/unistr/u8-cmp2-tests: New file.
20415         * tests/unistr/test-u8-cmp2.c: New file.
20416         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
20417
20418         Tests for module 'unistr/u32-cmp'.
20419         * modules/unistr/u32-cmp-tests: New file.
20420         * tests/unistr/test-u32-cmp.c: New file.
20421
20422         Tests for module 'unistr/u16-cmp'.
20423         * modules/unistr/u16-cmp-tests: New file.
20424         * tests/unistr/test-u16-cmp.c: New file.
20425
20426         Tests for module 'unistr/u8-cmp'.
20427         * modules/unistr/u8-cmp-tests: New file.
20428         * tests/unistr/test-u8-cmp.c: New file.
20429         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
20430
20431         Tests for module 'unistr/u32-set'.
20432         * modules/unistr/u32-set-tests: New file.
20433         * tests/unistr/test-u32-set.c: New file.
20434
20435         Tests for module 'unistr/u16-set'.
20436         * modules/unistr/u16-set-tests: New file.
20437         * tests/unistr/test-u16-set.c: New file.
20438
20439         Tests for module 'unistr/u8-set'.
20440         * modules/unistr/u8-set-tests: New file.
20441         * tests/unistr/test-u8-set.c: New file.
20442         * tests/unistr/test-set.h: New file.
20443
20444         Tests for module 'unistr/u32-move'.
20445         * modules/unistr/u32-move-tests: New file.
20446         * tests/unistr/test-u32-move.c: New file.
20447
20448         Tests for module 'unistr/u16-move'.
20449         * modules/unistr/u16-move-tests: New file.
20450         * tests/unistr/test-u16-move.c: New file.
20451
20452         Tests for module 'unistr/u8-move'.
20453         * modules/unistr/u8-move-tests: New file.
20454         * tests/unistr/test-u8-move.c: New file.
20455         * tests/unistr/test-move.h: New file.
20456
20457         Tests for module 'unistr/u32-cpy'.
20458         * modules/unistr/u32-cpy-tests: New file.
20459         * tests/unistr/test-u32-cpy.c: New file.
20460
20461         Tests for module 'unistr/u16-cpy'.
20462         * modules/unistr/u16-cpy-tests: New file.
20463         * tests/unistr/test-u16-cpy.c: New file.
20464
20465         Tests for module 'unistr/u8-cpy'.
20466         * modules/unistr/u8-cpy-tests: New file.
20467         * tests/unistr/test-u8-cpy.c: New file.
20468         * tests/unistr/test-cpy.h: New file.
20469
20470 2010-01-09  Bruno Haible  <bruno@clisp.org>
20471
20472         Tests for module 'unistr/u32-uctomb'.
20473         * modules/unistr/u32-uctomb-tests: New file.
20474         * tests/unistr/test-u32-uctomb.c: New file.
20475
20476         Tests for module 'unistr/u16-uctomb'.
20477         * modules/unistr/u16-uctomb-tests: New file.
20478         * tests/unistr/test-u16-uctomb.c: New file.
20479
20480         Tests for module 'unistr/u8-uctomb'.
20481         * modules/unistr/u8-uctomb-tests: New file.
20482         * tests/unistr/test-u8-uctomb.c: New file.
20483
20484         Tests for module 'unistr/u32-mbtoucr'.
20485         * modules/unistr/u32-mbtoucr-tests: New file.
20486         * tests/unistr/test-u32-mbtoucr.c: New file.
20487
20488         Tests for module 'unistr/u16-mbtoucr'.
20489         * modules/unistr/u16-mbtoucr-tests: New file.
20490         * tests/unistr/test-u16-mbtoucr.c: New file.
20491
20492         Tests for module 'unistr/u8-mbtoucr'.
20493         * modules/unistr/u8-mbtoucr-tests: New file.
20494         * tests/unistr/test-u8-mbtoucr.c: New file.
20495
20496         Tests for module 'unistr/u32-mbtouc'.
20497         * modules/unistr/u32-mbtouc-tests: New file.
20498         * tests/unistr/test-u32-mbtouc.c: New file.
20499
20500         Tests for module 'unistr/u16-mbtouc'.
20501         * modules/unistr/u16-mbtouc-tests: New file.
20502         * tests/unistr/test-u16-mbtouc.c: New file.
20503
20504         Tests for module 'unistr/u8-mbtouc'.
20505         * modules/unistr/u8-mbtouc-tests: New file.
20506         * tests/unistr/test-u8-mbtouc.c: New file.
20507
20508         Tests for module 'unistr/u32-mbtouc-unsafe'.
20509         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
20510         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
20511         * tests/unistr/test-u32-mbtouc.h: New file.
20512
20513         Tests for module 'unistr/u16-mbtouc-unsafe'.
20514         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
20515         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
20516         * tests/unistr/test-u16-mbtouc.h: New file.
20517
20518         Tests for module 'unistr/u8-mbtouc-unsafe'.
20519         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
20520         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
20521         * tests/unistr/test-u8-mbtouc.h: New file.
20522
20523         Tests for module 'unistr/u32-mblen'.
20524         * modules/unistr/u32-mblen-tests: New file.
20525         * tests/unistr/test-u32-mblen.c: New file.
20526
20527         Tests for module 'unistr/u16-mblen'.
20528         * modules/unistr/u16-mblen-tests: New file.
20529         * tests/unistr/test-u16-mblen.c: New file.
20530
20531         Tests for module 'unistr/u8-mblen'.
20532         * modules/unistr/u8-mblen-tests: New file.
20533         * tests/unistr/test-u8-mblen.c: New file.
20534
20535         Tests for module 'unistr/u32-to-u16'.
20536         * modules/unistr/u32-to-u16-tests: New file.
20537         * tests/unistr/test-u32-to-u16.c: New file.
20538
20539         Tests for module 'unistr/u32-to-u8'.
20540         * modules/unistr/u32-to-u8-tests: New file.
20541         * tests/unistr/test-u32-to-u8.c: New file.
20542
20543         Tests for module 'unistr/u16-to-u32'.
20544         * modules/unistr/u16-to-u32-tests: New file.
20545         * tests/unistr/test-u16-to-u32.c: New file.
20546
20547         Tests for module 'unistr/u16-to-u8'.
20548         * modules/unistr/u16-to-u8-tests: New file.
20549         * tests/unistr/test-u16-to-u8.c: New file.
20550
20551         Tests for module 'unistr/u8-to-u32'.
20552         * modules/unistr/u8-to-u32-tests: New file.
20553         * tests/unistr/test-u8-to-u32.c: New file.
20554
20555         Tests for module 'unistr/u8-to-u16'.
20556         * modules/unistr/u8-to-u16-tests: New file.
20557         * tests/unistr/test-u8-to-u16.c: New file.
20558
20559         Tests for module 'unistr/u32-check'.
20560         * modules/unistr/u32-check-tests: New file.
20561         * tests/unistr/test-u32-check.c: New file.
20562
20563         Tests for module 'unistr/u16-check'.
20564         * modules/unistr/u16-check-tests: New file.
20565         * tests/unistr/test-u16-check.c: New file.
20566
20567         Tests for module 'unistr/u8-check'.
20568         * modules/unistr/u8-check-tests: New file.
20569         * tests/unistr/test-u8-check.c: New file.
20570
20571         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
20572         (category_equals): New function.
20573         (main): Add more tests.
20574         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
20575
20576         * tests/unictype/test-bidi_byname.c (main): Add more tests.
20577
20578 2010-01-10  Bruno Haible  <bruno@clisp.org>
20579
20580         unistr/u*-strcoll: Try harder to distinguish different strings.
20581         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
20582         compare s1 and s2 to see if they are different.
20583
20584 2010-01-10  Bruno Haible  <bruno@clisp.org>
20585
20586         unistr/u*-stpncpy: Fix the return value.
20587         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
20588         description of the return value consistent with stpncpy in glibc.
20589         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
20590         written non-NUL unit.
20591
20592 2010-01-10  Bruno Haible  <bruno@clisp.org>
20593
20594         unistr/u*-next: Add missing dependencies.
20595         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
20596         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
20597         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
20598
20599 2010-01-10  Bruno Haible  <bruno@clisp.org>
20600
20601         unistr/u8-mbsnlen: Fix return value for incomplete character.
20602         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
20603         u8_mblen.
20604         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
20605         Remove unistr/u8-mblen.
20606         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
20607         u16_mblen.
20608         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
20609         Remove unistr/u16-mblen.
20610
20611 2010-01-10  Bruno Haible  <bruno@clisp.org>
20612
20613         wchar: Fix compilation error when <wchar.h> is used from coreutils.
20614         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
20615         Reported by Brian Gough <bjg@gnu.org> and
20616         Chris Clayton <chris2553@googlemail.com> via
20617         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
20618
20619 2010-01-09  Bruno Haible  <bruno@clisp.org>
20620
20621         unistr/u16-to-u32: Reject invalid input.
20622         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
20623         u16_mbtouc.
20624         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
20625         Remove unistr/u16-mbtouc.
20626
20627         unistr/u16-to-u8: Reject invalid input.
20628         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
20629         u16_mbtouc.
20630         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
20631         Remove unistr/u16-mbtouc.
20632
20633         unistr/u8-to-u32: Reject invalid input.
20634         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
20635         u8_mbtouc.
20636         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
20637         Remove unistr/u8-mbtouc.
20638
20639         unistr/u8-to-u16: Reject invalid input.
20640         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
20641         u8_mbtouc.
20642         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
20643         Remove unistr/u8-mbtouc.
20644
20645 2010-01-09  Bruno Haible  <bruno@clisp.org>
20646
20647         Tests for module 'getlogin'.
20648         * modules/getlogin-tests: New file.
20649         * tests/test-getlogin.c: New file.
20650
20651         New module 'getlogin'.
20652         * lib/unistd.in.h (getlogin): New declaration.
20653         * lib/getlogin.c: New file.
20654         * m4/getlogin.m4: New file.
20655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
20656         HAVE_GETLOGIN.
20657         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
20658         HAVE_GETLOGIN.
20659         * modules/getlogin: New file.
20660         * doc/posix-functions/getlogin.texi: Mention the new module.
20661         Reported by John W. Eaton <jwe@gnu.org>.
20662
20663 2010-01-09  Bruno Haible  <bruno@clisp.org>
20664
20665         getlogin_r: Support for native Windows.
20666         * lib/getlogin_r.c: Include <windows.h>
20667         (getlogin_r): Implement for native Windows.
20668         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
20669         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
20670         via John W. Eaton <jwe@gnu.org>.
20671
20672 2010-01-09  Bruno Haible  <bruno@clisp.org>
20673
20674         getlogin_r: Small fixes.
20675         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
20676         succeeds.
20677         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
20678         before testing whether getlogin_r is declared. No need to set
20679         HAVE_DECL_GETLOGIN_R to 1.
20680         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
20681
20682 2010-01-09  Bruno Haible  <bruno@clisp.org>
20683
20684         * lib/unistd.in.h (getlogin_r): Add comment.
20685
20686 2010-01-09  Bruno Haible  <bruno@clisp.org>
20687
20688         Tests for module 'getlogin_r'.
20689         * modules/getlogin_r-tests: New file.
20690         * tests/test-getlogin_r.c: New file.
20691
20692 2010-01-09  Jim Meyering  <meyering@redhat.com>
20693
20694         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
20695         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
20696         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
20697
20698 2010-01-08  Simon Josefsson  <simon@josefsson.org>
20699
20700         * lib/dup2.c (rpl_dup2): Improve comment.
20701
20702 2010-01-08  Eric Blake  <ebb9@byu.net>
20703
20704         maint.mk: allow packages to add makefile @@ exceptions
20705         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
20706         (sc_makefile_check): Rename...
20707         (sc_makefile_at_at_check): ...to this, and use hook.
20708
20709         dup2: work around mingw bug
20710         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
20711         Reported by Simon Josefsson.
20712
20713 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
20714
20715         glob: Fix C++ compilation.
20716         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
20717         C++.
20718
20719 2010-01-07  Bruno Haible  <bruno@clisp.org>
20720
20721         Fix indentation of wctype.in.h, broken since 2007-01-06.
20722         * lib/wctype.in.h: Fix indentation of preprocessor directives.
20723
20724 2010-01-07  Bruno Haible  <bruno@clisp.org>
20725
20726         mbslen: Avoid collision with system function.
20727         * lib/string.in.h [MirBSD]: Include <wchar.h>.
20728         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
20729         * m4/mbslen.m4: New file.
20730         * modules/mbslen (Files): Add it.
20731         (configure.ac): Invoke gl_MBSLEN.
20732         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
20733         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
20734         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
20735         via Ian Beckwith <ianb@erislabs.net>.
20736
20737 2010-01-07  Bruno Haible  <bruno@clisp.org>
20738
20739         dirent: Document the last fix.
20740         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
20741
20742 2010-01-07  Bruno Haible  <bruno@clisp.org>
20743
20744         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
20745         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
20746         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
20747         va_list are defined.
20748         * doc/posix-headers/stdio.texi: Document the bug of missing types.
20749         Reported by Eric Blake.
20750
20751 2010-01-07  Bruno Haible  <bruno@clisp.org>
20752
20753         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
20754         * modules/xlist (Depends-on): Add 'list',
20755         * modules/xoset (Depends-on): Add 'oset'.
20756         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20757
20758 2010-01-07  Bruno Haible  <bruno@clisp.org>
20759
20760         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
20761         * doc/posix-functions/strncasecmp.texi: Likewise.
20762
20763 2010-01-07  Bruno Haible  <bruno@clisp.org>
20764
20765         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
20766
20767 2010-01-07  John W. Eaton  <jwe@octave.org>
20768
20769         wctype: allow C++ use
20770         * lib/wctype.in.h: Add extern "C" block for C++.
20771
20772 2010-01-06  Eric Blake  <ebb9@byu.net>
20773
20774         maint.mk: detect incorrect GFDL usage
20775         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
20776
20777 2010-01-06  Jim Meyering  <meyering@redhat.com>
20778         and Eric Blake  <ebb9@byu.net>
20779
20780         maint.mk: ignore multi-line copyright in NEWS
20781         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
20782
20783 2010-01-06  Eric Blake  <ebb9@byu.net>
20784
20785         select: add missing dependency
20786         * modules/select-tests (Depends-on): Move sockets dependency...
20787         * modules/select (Depends-on): ...here.
20788         Reported by Ian Beckwith.
20789
20790         doc: regenerate INSTALL
20791         * doc/INSTALL: Reflect recent autoconf update.
20792         * doc/INSTALL.ISO: Likewise.
20793         * doc/INSTALL.UTF-8: Likewise.
20794
20795         pread: fix compilation on glibc
20796         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
20797         Reported by Ralf Wildenhues.
20798
20799         dirent: fix test failure
20800         * lib/dirent.in.h (includes): Guarantee ino_t.
20801         Reported by Ralf Wildenhues.
20802
20803 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
20804
20805         linkat, renameat: avoid bad free
20806         * lib/at-func2.c (at_func2): Fix typo.
20807         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
20808
20809 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20810
20811         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
20812         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
20813         to avoid failure of symlink test later.
20814
20815 2010-01-06  Eric Blake  <ebb9@byu.net>
20816
20817         stdio, unistd: guarantee ssize_t
20818         * lib/unistd.in.h (includes): Ensure that types required by POSIX
20819         2008 are exposed when needed.
20820         * lib/stdio.in.h (includes): Likewise.
20821         Reported by Ralf Wildenhues.
20822
20823 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
20824
20825         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
20826         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
20827         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
20828
20829 2010-01-06  Jim Meyering  <meyering@redhat.com>
20830
20831         readtokens: this module *does* require xalloc.h
20832         It uses only functions that were omitted by the old syntax-check rule.
20833         * lib/readtokens.c: Include "xalloc.h" once again.
20834         * modules/readtokens (Depends-on): Add xalloc.
20835         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
20836
20837 2010-01-05  Eric Blake  <ebb9@byu.net>
20838
20839         maint: support 'make announcement' from a VPATH build
20840         * top/maint.mk (announcement): Look for correct NEWS file.
20841
20842 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
20843
20844         utimens (fdutimens): ignore a negative FD, per contract
20845         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
20846         when we have a valid file descriptor.  Otherwise, using a brand
20847         new glibc (with just-patched futimens that now fails with EBADF)
20848         would cause this function to fail with ENOSYS.
20849         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
20850         See also http://bugzilla.redhat.com/552320.
20851
20852 2010-01-05  Eric Blake  <ebb9@byu.net>
20853
20854         strcase: document what it provides
20855         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
20856         gnulib module.
20857         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
20858         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
20859
20860 2010-01-05  Jim Meyering  <meyering@redhat.com>
20861
20862         maint: remove useless inclusions of "xalloc.h"
20863         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
20864         * lib/readtokens.c: Likewise.
20865         * lib/same.c: Likewise.
20866         * modules/getloadavg (Depends-on): Remove xalloc.
20867         * modules/readtokens: Likewise.
20868         * modules/same: Likewise.
20869
20870         maint.mk: include 4 more function names in alloca.h-checking regexp
20871         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
20872         regexp.  Before, we would give a false-positive (saying alloca.h
20873         is included unnecessarily) when the only uses involved omitted symbols.
20874
20875         xalloc.h: use consistent formatting
20876         * lib/xalloc.h: Move declarations to start in the first column.
20877
20878 2010-01-05  Eric Blake  <ebb9@byu.net>
20879
20880         mkdir: avoid xalloc
20881         * lib/mkdir.c (includes): Drop unused header.
20882         Reported by John W. Eaton.
20883
20884 2010-01-04  Jim Meyering  <meyering@redhat.com>
20885
20886         nl_langinfo: avoid configure-time syntax error
20887         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
20888         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
20889         the empty string.  Don't let that provoke a shell syntax error.
20890
20891         regcomp, regexec, fnmatch: avoid array bounds read error
20892         * lib/regcomp.c (build_equiv_class): From glibc:
20893         Use only the low 24 bits of a findidx return value as an index
20894         into the weights array.  Patch by Ulrich Drepper:
20895         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
20896         * lib/regexec.c (check_node_accept_bytes): Likewise.
20897         * lib/fnmatch_loop.c (FCT): Likewise.
20898
20899         regcomp: skip collseq lookup when there are no rules
20900         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
20901         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
20902
20903         regcomp: recognize ill-formed { } expressions
20904         * lib/regcomp.c (parse_dup_op): From glibc:
20905         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
20906
20907         regcomp: fix typo in comment
20908         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
20909         s/satisfy/satisfies/.
20910
20911         regcomp: sync from glibc: remove dead store
20912         * lib/regcomp.c (duplicate_node_closure): Remove useless
20913         search_duplicated_node call and dead store.
20914
20915         regcomp: sync from glibc; always use nl_langinfo
20916         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
20917         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
20918         * modules/regex (Depends-on): Add nl_langinfo.
20919
20920 2010-01-04  Eric Blake  <ebb9@byu.net>
20921
20922         fdopendir: fix configure test
20923         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
20924
20925 2010-01-01  Bruno Haible  <bruno@clisp.org>
20926
20927         wchar: Remove unused configure check.
20928         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
20929
20930 2010-01-01  Eric Blake  <ebb9@byu.net>
20931
20932         headers: make check of system header explicit
20933         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
20934         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
20935         ourselves.
20936         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20937         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20938         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
20939         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
20940         internals.
20941         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
20942         missing.
20943         Suggested by Bruno Haible.
20944
20945 2010-01-01  Jim Meyering  <meyering@redhat.com>
20946
20947         ChangeLog: tweak to eliminate unnecessary copyright line
20948         * ChangeLog: Remove a copyright line that was mistakenly updated
20949         by today's update-copyright run.  Reported by Eric Blake.
20950
20951         test-update-copyright: don't let envvar setting cause test failure
20952         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
20953
20954 2010-01-01  Bruno Haible  <bruno@clisp.org>
20955
20956         localename: Avoid gcc warning.
20957         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
20958         function if it is not used.
20959
20960 2010-01-01  Jim Meyering  <meyering@redhat.com>
20961
20962         update nearly all FSF copyright year lists to include 2010
20963         Use the same procedure as for 2009, outlined in
20964         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
20965
20966         version-etc: set COPYRIGHT_YEAR to 2010
20967         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
20968
20969 2009-12-31  Eric Blake  <ebb9@byu.net>
20970
20971         doc: correct availability of cygwin 1.5.x getopt
20972         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
20973         variables.
20974         * doc/posix-functions/opterr.texi (opterr): Likewise.
20975         * doc/posix-functions/optind.texi (optind): Likewise.
20976         * doc/posix-functions/optopt.texi (optopt): Likewise.
20977         * doc/posix-functions/tzname.texi (tzname): Likewise.
20978
20979         openat: update maintainer
20980         * modules/openat (Maintainer): Add myself.
20981
20982         utimens: avoid shadowing warning
20983         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
20984         buffers into one, to avoid shadowing, as well as avoiding a
20985         redundant stat.
20986         Reported by Jim Meyering.
20987
20988         test-dup2: avoid compiler warning
20989         * tests/test-dup2.c (is_inheritable): Only define if used.
20990
20991 2010-01-01  Bruno Haible  <bruno@clisp.org>
20992
20993         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
20994         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
20995         defined, use wctomb instead of wcrtomb.
20996
20997 2010-01-01  Bruno Haible  <bruno@clisp.org>
20998
20999         iconv: Reject native Solaris iconv.
21000         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
21001         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
21002
21003 2009-12-31  Bruno Haible  <bruno@clisp.org>
21004
21005         * tests/test-signal.c (main): Remove test of 'SIG'.
21006
21007 2009-12-31  Bruno Haible  <bruno@clisp.org>
21008
21009         spawn: Fix incomplete fix.
21010         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
21011         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
21012         warnings for GNULIB_POSIXCHECK again.
21013         Reported by Eric Blake.
21014
21015 2009-12-31  Bruno Haible  <bruno@clisp.org>
21016
21017         Avoid namespace pollution on glibc systems.
21018         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
21019         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
21020         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
21021         glibc systems.
21022
21023 2009-12-31  Bruno Haible  <bruno@clisp.org>
21024
21025         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
21026         (gl_REPLACE_WCHAR_H): Turn into a no-op.
21027         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
21028         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21029         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21030         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21031         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21032
21033 2009-12-31  Bruno Haible  <bruno@clisp.org>
21034
21035         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
21036         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
21037         afterwards.
21038
21039 2009-12-31  Bruno Haible  <bruno@clisp.org>
21040
21041         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
21042         SYS_UTSNAME_H.
21043
21044 2009-12-31  Bruno Haible  <bruno@clisp.org>
21045
21046         spawn: Fix misapplied patch.
21047         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
21048         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
21049         warnings for GNULIB_POSIXCHECK.
21050
21051 2009-12-31  Bruno Haible  <bruno@clisp.org>
21052
21053         times: Update after sys_times changed.
21054         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
21055         * modules/times (Files): Add it.
21056         (configure.ac): Invoke gl_FUNC_TIMES.
21057
21058 2009-12-31  Bruno Haible  <bruno@clisp.org>
21059
21060         Use AC_C_INLINE where necessary.
21061         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
21062         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21063         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
21064         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
21065         * m4/mbfile.m4 (gl_MBFILE): Likewise.
21066         * m4/mbiter.m4 (gl_MBITER): Likewise.
21067         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
21068         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21069         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
21070         * modules/u64 (configure.ac): Likewise.
21071
21072 2009-12-31  Bruno Haible  <bruno@clisp.org>
21073
21074         Use AC_C_INLINE instead of module 'inline' where possible.
21075         * modules/inline (Description): Clarify purpose.
21076         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
21077         * modules/count-one-bits (Depends-on): Remove inline.
21078         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
21079         * modules/openat (Depends-on): Remove inline.
21080         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
21081         instead of depending on module 'inline'.
21082         * modules/filevercmp (Depends-on, configure.ac): Likewise.
21083         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
21084         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
21085         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
21086         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
21087         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
21088         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
21089         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
21090         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
21091         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
21092         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
21093         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
21094         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
21095         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
21096         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
21097         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
21098         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
21099         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
21100         Likewise.
21101         * modules/unictype/property-ascii-hex-digit (Depends-on,
21102         configure.ac): Likewise.
21103         * modules/unictype/property-bidi-arabic-digit (Depends-on,
21104         configure.ac): Likewise.
21105         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
21106         configure.ac): Likewise.
21107         * modules/unictype/property-bidi-block-separator (Depends-on,
21108         configure.ac): Likewise.
21109         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
21110         configure.ac): Likewise.
21111         * modules/unictype/property-bidi-common-separator (Depends-on,
21112         configure.ac): Likewise.
21113         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
21114         Likewise.
21115         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
21116         configure.ac): Likewise.
21117         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
21118         configure.ac): Likewise.
21119         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
21120         configure.ac): Likewise.
21121         * modules/unictype/property-bidi-european-digit (Depends-on,
21122         configure.ac): Likewise.
21123         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
21124         configure.ac): Likewise.
21125         * modules/unictype/property-bidi-left-to-right (Depends-on,
21126         configure.ac): Likewise.
21127         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
21128         configure.ac): Likewise.
21129         * modules/unictype/property-bidi-other-neutral (Depends-on,
21130         configure.ac): Likewise.
21131         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
21132         Likewise.
21133         * modules/unictype/property-bidi-segment-separator (Depends-on,
21134         configure.ac): Likewise.
21135         * modules/unictype/property-bidi-whitespace (Depends-on,
21136         configure.ac): Likewise.
21137         * modules/unictype/property-combining (Depends-on, configure.ac):
21138         Likewise.
21139         * modules/unictype/property-composite (Depends-on, configure.ac):
21140         Likewise.
21141         * modules/unictype/property-currency-symbol (Depends-on,
21142         configure.ac): Likewise.
21143         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
21144         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
21145         Likewise.
21146         * modules/unictype/property-default-ignorable-code-point (Depends-on,
21147         configure.ac): Likewise.
21148         * modules/unictype/property-deprecated (Depends-on, configure.ac):
21149         Likewise.
21150         * modules/unictype/property-diacritic (Depends-on, configure.ac):
21151         Likewise.
21152         * modules/unictype/property-extender (Depends-on, configure.ac):
21153         Likewise.
21154         * modules/unictype/property-format-control (Depends-on, configure.ac):
21155         Likewise.
21156         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
21157         Likewise.
21158         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
21159         Likewise.
21160         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
21161         Likewise.
21162         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
21163         Likewise.
21164         * modules/unictype/property-hyphen (Depends-on, configure.ac):
21165         Likewise.
21166         * modules/unictype/property-id-continue (Depends-on, configure.ac):
21167         Likewise.
21168         * modules/unictype/property-id-start (Depends-on, configure.ac):
21169         Likewise.
21170         * modules/unictype/property-ideographic (Depends-on, configure.ac):
21171         Likewise.
21172         * modules/unictype/property-ids-binary-operator (Depends-on,
21173         configure.ac): Likewise.
21174         * modules/unictype/property-ids-trinary-operator (Depends-on,
21175         configure.ac): Likewise.
21176         * modules/unictype/property-ignorable-control (Depends-on,
21177         configure.ac): Likewise.
21178         * modules/unictype/property-iso-control (Depends-on, configure.ac):
21179         Likewise.
21180         * modules/unictype/property-join-control (Depends-on, configure.ac):
21181         Likewise.
21182         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
21183         Likewise.
21184         * modules/unictype/property-line-separator (Depends-on, configure.ac):
21185         Likewise.
21186         * modules/unictype/property-logical-order-exception (Depends-on,
21187         configure.ac): Likewise.
21188         * modules/unictype/property-lowercase (Depends-on, configure.ac):
21189         Likewise.
21190         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
21191         * modules/unictype/property-non-break (Depends-on, configure.ac):
21192         Likewise.
21193         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
21194         Likewise.
21195         * modules/unictype/property-numeric (Depends-on, configure.ac):
21196         Likewise.
21197         * modules/unictype/property-other-alphabetic (Depends-on,
21198         configure.ac): Likewise.
21199         * modules/unictype/property-other-default-ignorable-code-point
21200         (Depends-on, configure.ac): Likewise.
21201         * modules/unictype/property-other-grapheme-extend (Depends-on,
21202         configure.ac): Likewise.
21203         * modules/unictype/property-other-id-continue (Depends-on,
21204         configure.ac): Likewise.
21205         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
21206         Likewise.
21207         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
21208         Likewise.
21209         * modules/unictype/property-other-math (Depends-on, configure.ac):
21210         Likewise.
21211         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
21212         Likewise.
21213         * modules/unictype/property-paired-punctuation (Depends-on,
21214         configure.ac): Likewise.
21215         * modules/unictype/property-paragraph-separator (Depends-on,
21216         configure.ac): Likewise.
21217         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
21218         Likewise.
21219         * modules/unictype/property-pattern-white-space (Depends-on,
21220         configure.ac): Likewise.
21221         * modules/unictype/property-private-use (Depends-on, configure.ac):
21222         Likewise.
21223         * modules/unictype/property-punctuation (Depends-on, configure.ac):
21224         Likewise.
21225         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
21226         Likewise.
21227         * modules/unictype/property-radical (Depends-on, configure.ac):
21228         Likewise.
21229         * modules/unictype/property-sentence-terminal (Depends-on,
21230         configure.ac): Likewise.
21231         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
21232         Likewise.
21233         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
21234         * modules/unictype/property-terminal-punctuation (Depends-on,
21235         configure.ac): Likewise.
21236         * modules/unictype/property-titlecase (Depends-on, configure.ac):
21237         Likewise.
21238         * modules/unictype/property-unassigned-code-value (Depends-on,
21239         configure.ac): Likewise.
21240         * modules/unictype/property-unified-ideograph (Depends-on,
21241         configure.ac): Likewise.
21242         * modules/unictype/property-uppercase (Depends-on, configure.ac):
21243         Likewise.
21244         * modules/unictype/property-variation-selector (Depends-on,
21245         configure.ac): Likewise.
21246         * modules/unictype/property-white-space (Depends-on, configure.ac):
21247         Likewise.
21248         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
21249         Likewise.
21250         * modules/unictype/property-xid-start (Depends-on, configure.ac):
21251         Likewise.
21252         * modules/unictype/property-zero-width (Depends-on, configure.ac):
21253         Likewise.
21254         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
21255         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
21256         Likewise.
21257
21258 2009-12-31  Bruno Haible  <bruno@clisp.org>
21259
21260         Remove unnecessary AC_C_INLINE invocation.
21261         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
21262         since 2009-08-21.
21263
21264 2009-12-31  Jim Meyering  <meyering@redhat.com>
21265
21266         maint.mk: don't require explicit gpg_key_ID in cfg.mk
21267         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
21268         With this change, we can all remove the gpg_key_ID = ... definition
21269         from our respective cfg.mk files.
21270
21271         maint.mk: create announcement template in ~/, not in /tmp
21272         * top/maint.mk (emit_upload_commands): Adjust.
21273         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
21274         Remove temporary file, .ci-msg.
21275
21276 2009-12-31  Eric Blake  <ebb9@byu.net>
21277
21278         link-warning: always build headers with link warnings
21279         * modules/arpa_inet (Makefile.am): Always build replacement
21280         header.
21281         * modules/ctype (Makefile.am): Likewise.
21282         * modules/dirent (Makefile.am): Likewise.
21283         * modules/inttypes (Makefile.am): Likewise.
21284         * modules/langinfo (Makefile.am): Likewise.
21285         * modules/locale (Makefile.am): Likewise.
21286         * modules/spawn (Makefile.am): Likewise.
21287         * modules/sys_file (Makefile.am): Likewise.
21288         * modules/sys_ioctl (Makefile.am): Likewise.
21289         * modules/sys_select (Makefile.am): Likewise.
21290         * modules/sys_socket (Makefile.am): Likewise.
21291         * modules/sys_times (Makefile.am): Likewise.
21292         * modules/sys_utsname (Makefile.am): Likewise.
21293         * modules/sys_wait (Makefile.am): Likewise.
21294         * modules/wchar (Makefile.am): Likewise.
21295         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
21296         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
21297         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
21298         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
21299         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
21300         Likewise.
21301         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
21302         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
21303         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
21304         Likewise.
21305         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
21306         Likewise.
21307         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21308         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
21309         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
21310         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21311         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21312         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
21313         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
21314         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
21315         (gl_WCHAR_H_DEFAULTS): Likewise.
21316
21317 2009-12-31  Eric Blake  <ebb9@byu.net>
21318
21319         signal, spawn: use link warnings
21320         * lib/signal.in.h (sigset_t): Make unconditional.
21321         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
21322         (sigpending, sigprocmask, sigaction): Add link warnings.
21323         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
21324         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
21325         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
21326         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
21327         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
21328         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
21329         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
21330         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
21331         (posix_spawn_file_actions_destroy)
21332         (posix_spawn_file_actions_addopen)
21333         (posix_spawn_file_actions_addclose)
21334         (posix_spawn_file_actions_adddup2): Likewise.
21335         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
21336         * tests/test-signal.c (main): Enhance test.
21337
21338         spawn: improve wrapper support
21339         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
21340         (gl_SPAWN_H_DEFAULTS): New defaults.
21341         * modules/spawn (Makefile.am): Substitute them.
21342         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
21343         Only declare if missing or broken.
21344
21345         sys_times, sys_utsname: use include_next
21346         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
21347         header.
21348         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
21349         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
21350         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
21351         * modules/sys_times (Depends-on): Add include_next.
21352         (Makefile.am): Substitute additional values.
21353         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
21354         * lib/sys_times.in.h (includes): Include native header, if
21355         available.
21356         * lib/sys_utsname.in.h (includes): Likewise.
21357         * tests/test-sys_times.c (main): Enhance test.
21358
21359         fdutimensat: revert prior patch
21360         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
21361         utimens.h.
21362         Reported by Bruno Haible.
21363
21364 2009-12-30  Eric Blake  <ebb9@byu.net>
21365
21366         sys_wait: drop link-warning dependency
21367         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
21368         link-warning efforts.
21369         * lib/sys_wait.in.h: Likewise.
21370
21371         fdutimensat: remove bogus dependency
21372         * modules/fdutimensat (Depends-on): Drop inline.
21373
21374         unistd: fix typo
21375         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
21376
21377 2009-12-30  Bruno Haible  <bruno@clisp.org>
21378
21379         Fix compilation error with Solaris cc.
21380         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
21381         * lib/unicase/u16-is-invariant.c: Likewise.
21382         * lib/unicase/u32-is-invariant.c: Likewise.
21383         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
21384
21385 2009-12-30  Bruno Haible  <bruno@clisp.org>
21386
21387         Fix test crash.
21388         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
21389         locales.
21390         Reported by Simon Josefsson <simon@josefsson.org>.
21391
21392 2009-12-30  Bruno Haible  <bruno@clisp.org>
21393
21394         Fix compilation error on most platforms.
21395         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
21396         Reported by Simon Josefsson <simon@josefsson.org>
21397         and Nelson H. F. Beebe <beebe@math.utah.edu>.
21398
21399 2009-12-30  Eric Blake  <ebb9@byu.net>
21400
21401         futimens, utimensat: work around ntfs-3g bug
21402         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
21403         a ctime bug is present, and expand workaround to cover ntfs-3g.
21404         * lib/utimens.c (fdutimens, lutimens): Likewise.
21405         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
21406         (validate_timespec): Adjust return value.
21407         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
21408         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21409         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
21410
21411 2009-12-29  Eric Blake  <ebb9@byu.net>
21412
21413         link-warning: make usage consistent
21414         * modules/ctype (Depends-on): Add link-warning.
21415         (Makefile.am): Update rules accordingly.
21416         * modules/langinfo (Depends-on, Makefile.am): Likewise.
21417         * modules/locale (Depends-on, Makefile.am): Likewise.
21418         * modules/sys_file (Makefile.am): Likewise.
21419         * modules/getopt-posix (Makefile.am): Delete unused link warning
21420         efforts.
21421         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
21422         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
21423         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
21424         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
21425
21426         stdio: remove unused variables
21427         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
21428         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
21429         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21430
21431         tests: test more substitute headers
21432         * modules/ctype-tests: New file.
21433         * modules/dirent-tests: Likewise.
21434         * modules/spawn-tests: Likewise.
21435         * modules/sys_file-tests: Likewise.
21436         * modules/sys_ioctl-tests: Likewise.
21437         * modules/sys_wait-tests: Likewise.
21438         * tests/test-ctype.c: Likewise.
21439         * tests/test-dirent.c: Likewise.
21440         * tests/test-spawn.c: Likewise.
21441         * tests/test-sys_file.c: Likewise.
21442         * tests/test-sys_ioctl.c: Likewise.
21443         * tests/test-sys_wait.c: Likewise.
21444         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
21445         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
21446         whether or not flock is in use.
21447
21448         tests: remove License section from module
21449         * modules/arpa_inet-tests: Remove unneeded section.
21450         * modules/byteswap-tests: Likewise.
21451         * modules/ceilf-tests: Likewise.
21452         * modules/ceill-tests: Likewise.
21453         * modules/crypto/des-tests: Likewise.
21454         * modules/crypto/gc-arcfour-tests: Likewise.
21455         * modules/crypto/gc-arctwo-tests: Likewise.
21456         * modules/crypto/gc-des-tests: Likewise.
21457         * modules/crypto/gc-hmac-md5-tests: Likewise.
21458         * modules/crypto/gc-hmac-sha1-tests: Likewise.
21459         * modules/crypto/gc-md2-tests: Likewise.
21460         * modules/crypto/gc-md4-tests: Likewise.
21461         * modules/crypto/gc-md5-tests: Likewise.
21462         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
21463         * modules/crypto/gc-rijndael-tests: Likewise.
21464         * modules/crypto/gc-sha1-tests: Likewise.
21465         * modules/crypto/gc-tests: Likewise.
21466         * modules/crypto/md2-tests: Likewise.
21467         * modules/crypto/md4-tests: Likewise.
21468         * modules/fcntl-h-tests: Likewise.
21469         * modules/floorf-tests: Likewise.
21470         * modules/floorl-tests: Likewise.
21471         * modules/frexp-nolibm-tests: Likewise.
21472         * modules/frexp-tests: Likewise.
21473         * modules/frexpl-nolibm-tests: Likewise.
21474         * modules/frexpl-tests: Likewise.
21475         * modules/getaddrinfo-tests: Likewise.
21476         * modules/inttypes-tests: Likewise.
21477         * modules/isfinite-tests: Likewise.
21478         * modules/isinf-tests: Likewise.
21479         * modules/ldexpl-tests: Likewise.
21480         * modules/locale-tests: Likewise.
21481         * modules/math-tests: Likewise.
21482         * modules/netdb-tests: Likewise.
21483         * modules/netinet_in-tests: Likewise.
21484         * modules/printf-frexp-tests: Likewise.
21485         * modules/printf-frexpl-tests: Likewise.
21486         * modules/priv-set-tests: Likewise.
21487         * modules/random_r-tests: Likewise.
21488         * modules/round-tests: Likewise.
21489         * modules/roundf-tests: Likewise.
21490         * modules/roundl-tests: Likewise.
21491         * modules/search-tests: Likewise.
21492         * modules/select-tests: Likewise.
21493         * modules/signal-tests: Likewise.
21494         * modules/stdbool-tests: Likewise.
21495         * modules/stddef-tests: Likewise.
21496         * modules/stdint-tests: Likewise.
21497         * modules/stdio-tests: Likewise.
21498         * modules/stdlib-tests: Likewise.
21499         * modules/string-tests: Likewise.
21500         * modules/strings-tests: Likewise.
21501         * modules/sys_select-tests: Likewise.
21502         * modules/sys_socket-tests: Likewise.
21503         * modules/sys_stat-tests: Likewise.
21504         * modules/sys_time-tests: Likewise.
21505         * modules/sys_utsname-tests: Likewise.
21506         * modules/sysexits-tests: Likewise.
21507         * modules/time-tests: Likewise.
21508         * modules/trunc-tests: Likewise.
21509         * modules/truncf-tests: Likewise.
21510         * modules/truncl-tests: Likewise.
21511         * modules/tsearch-tests: Likewise.
21512         * modules/unistd-tests: Likewise.
21513         * modules/wchar-tests: Likewise.
21514         * modules/wctype-tests: Likewise.
21515
21516         tests: fix license on several tests
21517         * tests/test-des.c: Update to GPLv3+.
21518         * tests/test-flock.c: Likewise.
21519         * tests/test-fsync.c: Likewise.
21520         * tests/test-futimens.h: Likewise.
21521         * tests/test-gc-arcfour.c: Likewise.
21522         * tests/test-gc-arctwo.c: Likewise.
21523         * tests/test-gc-des.c: Likewise.
21524         * tests/test-gc-hmac-md5.c: Likewise.
21525         * tests/test-gc-hmac-sha1.c: Likewise.
21526         * tests/test-gc-md2.c: Likewise.
21527         * tests/test-gc-md4.c: Likewise.
21528         * tests/test-gc-md5.c: Likewise.
21529         * tests/test-gc-pbkdf2-sha1.c: Likewise.
21530         * tests/test-gc-rijndael.c: Likewise.
21531         * tests/test-gc-sha1.c: Likewise.
21532         * tests/test-gc.c: Likewise.
21533         * tests/test-getcwd.c: Likewise.
21534         * tests/test-link.c: Likewise.
21535         * tests/test-link.h: Likewise.
21536         * tests/test-lutimens.h: Likewise.
21537         * tests/test-md2.c: Likewise.
21538         * tests/test-md4.c: Likewise.
21539         * tests/test-mkdir.h: Likewise.
21540         * tests/test-rename.c: Likewise.
21541         * tests/test-rename.h: Likewise.
21542         * tests/test-safe-alloc.c: Likewise.
21543         * tests/test-utimens-common.h: Likewise.
21544         * tests/test-utimens.h: Likewise.
21545
21546         maint: sync license texts
21547         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
21548         * doc/gpl-3.0.texi: Revert copyright year update.
21549         * doc/lgpl-3.0.texi: Likewise.
21550
21551 2009-12-29  Jim Meyering  <meyering@redhat.com>
21552
21553         update nearly all FSF copyright year lists to include 2009
21554         The files named by the following are exempted:
21555             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
21556               test -f "$dst" && { echo "$dst"; continue; }
21557               test -d "$dst" || continue
21558               echo "$dst"/$(basename "$src")
21559             done > exempt
21560             git ls-files tests/unictype >> exempt
21561         In the remaining files, convert to all-interval notation if
21562         - there is already at least one year interval like 2000-2003
21563         - the file is maintained by me
21564         - the file is in lib/uni*/, where that style already prevails
21565         Otherwise, use update-copyright's default.
21566
21567 2009-12-29  Simon Josefsson  <simon@josefsson.org>
21568         and Eric Blake  <ebb9@byu.net>
21569
21570         tests: don't require debug system() to pass
21571         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
21572         * tests/test-rmdir.h (test_rmdir_func): Likewise.
21573         * tests/test-unlink.h (test_unlink_func): Likewise.
21574         * tests/test-fstatat.c (main): ...into callers.
21575         * tests/test-lstat.c (main): Likewise.
21576         * tests/test-rmdir.c (main): Likewise.
21577         * tests/test-unlink.c (main): Likewise.
21578         * tests/test-unlinkat.c (main): Likewise.
21579         * tests/test-areadlink-with-size.c (main): Don't require a
21580         debug-only system call to pass, aiding cross-testing to mingw.
21581         * tests/test-areadlink.c (main): Likewise.
21582         * tests/test-areadlinkat-with-size.c (main): Likewise.
21583         * tests/test-areadlinkat.c (main): Likewise.
21584         * tests/test-canonicalize-lgpl.c (main): Likewise.
21585         * tests/test-canonicalize.c (main): Likewise.
21586         * tests/test-chown.c (main): Likewise.
21587         * tests/test-fchownat.c (main): Likewise.
21588         * tests/test-lchown.c (main): Likewise.
21589         * tests/test-fdutimensat.c (main): Likewise.
21590         * tests/test-futimens.c (main): Likewise.
21591         * tests/test-link.c (main): Likewise.
21592         * tests/test-linkat.c (main): Likewise.
21593         * tests/test-mkdir.c (main): Likewise.
21594         * tests/test-mkdirat.c (main): Likewise.
21595         * tests/test-mkfifo.c (main): Likewise.
21596         * tests/test-mkfifoat.c (main): Likewise.
21597         * tests/test-mknod.c (main): Likewise.
21598         * tests/test-readlink.c (main): Likewise.
21599         * tests/test-remove.c (main): Likewise.
21600         * tests/test-rename.c (main): Likewise.
21601         * tests/test-renameat.c (main): Likewise.
21602         * tests/test-symlink.c (main): Likewise.
21603         * tests/test-symlinkat.c (main): Likewise.
21604         * tests/test-utimens.c (main): Likewise.
21605         * tests/test-utimensat.c (main): Likewise.
21606
21607 2009-12-29  Simon Josefsson  <simon@josefsson.org>
21608
21609         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
21610         on $(UNUSED_PARAMETER_H) to avoid build failure.
21611
21612 2009-12-28  Jim Meyering  <meyering@redhat.com>
21613
21614         update-copyright: you may specify a max. line length other than 72
21615         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
21616
21617         maint: use consistent FSF copyright line syntax
21618         * lib/posixtm.c: Add missing comma in FSF copyright line.
21619         * lib/posixtm.h: Likewise.
21620         * lib/getugroups.c: Add missing ", Inc.".
21621
21622         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
21623         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
21624         FSF copyright line.  Remove trailing blanks.
21625
21626 2009-12-28  Eric Blake  <ebb9@byu.net>
21627
21628         test-dup2: reduce dependencies
21629         * modules/cloexec (Configure.ac): Set witness.
21630         * modules/dup2-tests (Depends-on): Drop cloexec.
21631         * tests/test-dup2.c (main): Skip portion of test if cloexec module
21632         not present.
21633         Suggested by Bruno Haible.
21634
21635 2009-12-26  Bruno Haible  <bruno@clisp.org>
21636
21637         Remove an unneeded dependency.
21638         * modules/fseterr (Depends-on): Remove dup2.
21639
21640 2009-12-26  Eric Blake  <ebb9@byu.net>
21641
21642         tests: use macros.h in more places
21643         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
21644         (ASSERT_STREAM): Provide default of stderr.
21645         * tests/test-dirent-safer.c: Include macros.h, using alternate
21646         stream for assertions.
21647         * tests/test-dup-safer.c: Likewise.
21648         * tests/test-freopen-safer.c: Likewise.
21649         * tests/test-getopt.c: Likewise.
21650         * tests/test-openat-safer.c: Likewise.
21651         * tests/test-pipe.c: Likewise.
21652         * tests/test-popen-safer.c: Likewise.
21653         * modules/dirent-safer-tests (Files): Include macros.h.
21654         * modules/unistd-safer-tests (Files): Likewise.
21655         * modules/freopen-safer-tests (Files): Likewise.
21656         * modules/getopt-posix-tests (Files): Likewise.
21657         * modules/openat-safer-tests (Files): Likewise.
21658         * modules/pipe-tests (Files): Likewise.
21659
21660 2009-12-26  Bruno Haible  <bruno@clisp.org>
21661
21662         javacomp: Portability fix.
21663         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
21664         that it also works on Solaris.
21665
21666 2009-12-26  Bruno Haible  <bruno@clisp.org>
21667
21668         localename: Fix storage allocation of gl_locale_name_thread's result.
21669         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
21670         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
21671         all platforms that have 'uselocale'.
21672         (gl_locale_name_thread_unsafe): New function, extracted from
21673         gl_locale_name_thread.
21674         (gl_locale_name_thread): Call struniq on all platforms that have
21675         'uselocale'.
21676         * tests/test-localename.c (test_locale_name_thread): Check that the
21677         resulting strings are permanently allocated.
21678         * modules/localename-tests (Depends-on): Add strdup.
21679
21680 2009-12-26  Bruno Haible  <bruno@clisp.org>
21681
21682         * tests/test-localename.c (categories): Fill in the strings.
21683
21684 2009-12-26  Jim Meyering  <meyering@redhat.com>
21685
21686         isdir: complete the removal of m4/isdir.m4
21687         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
21688
21689         isdir: clean up, since at least grep still uses it
21690         * lib/isdir.c: Include "isdir.h".
21691         (S_ISDIR): Remove now-unneeded definition.
21692         * modules/isdir (Files): Add lib/isdir.h.
21693         * lib/isdir.h: New file, with declaration.
21694         * m4/isdir.m4: Remove file -- unneeded.
21695
21696 2009-12-25  Bruno Haible  <bruno@clisp.org>
21697
21698         selinux-h: Make generated .h files standalone.
21699         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
21700         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
21701         * lib/se-selinux.in.h: Likewise.
21702         * modules/selinux-h (Depends-on): Add unused-parameter.
21703         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
21704         selinux/selinux.h and selinux/context.h.
21705         Suggested by Eric Blake.
21706
21707 2009-12-25  Bruno Haible  <bruno@clisp.org>
21708
21709         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
21710         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
21711         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
21712         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
21713         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
21714
21715 2009-12-24  Bruno Haible  <bruno@clisp.org>
21716
21717         openat: Fix warning.
21718         * lib/openat-proc.c: Include <unistd.h>.
21719
21720 2009-12-24  Bruno Haible  <bruno@clisp.org>
21721
21722         New module 'unused-parameter'.
21723         * build-aux/unused-parameter.h: New file, extracted from earlier
21724         gnulib-common.m4.
21725         * modules/unused-parameter: New file.
21726         * lib/unistr.h: Include unused-parameter.h.
21727         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
21728         _GL_UNUSED.
21729         * modules/unistr/base (Depends-on): Add unused-parameter.
21730
21731 2009-12-24  Bruno Haible  <bruno@clisp.org>
21732
21733         Add missing dependencies to 'extensions' module.
21734         * m4/extensions.m4: Add comment.
21735         * modules/accept4 (Depends-on): Add extensions.
21736         * modules/dup3 (Depends-on): Likewise.
21737         * modules/fcntl (Depends-on): Likewise.
21738         * modules/futimens (Depends-on): Likewise.
21739         * modules/mknod (Depends-on): Likewise.
21740         * modules/pipe2 (Depends-on): Likewise.
21741         * modules/stat-time (Depends-on): Likewise.
21742         * modules/strcasestr-simple (Depends-on): Likewise.
21743         * modules/strsignal (Depends-on): Likewise.
21744         * modules/utimensat (Depends-on): Likewise.
21745         * modules/localcharset (Depends-on): Likewise. Needed because of
21746         gl_FCNTL_O_FLAGS.
21747         * modules/wcrtomb (Depends-on): Likewise. Needed because of
21748         AC_TYPE_MBSTATE_T.
21749         * modules/wcsnrtombs (Depends-on): Likewise.
21750         * modules/wcsrtombs (Depends-on): Likewise.
21751
21752 2009-12-24  Bruno Haible  <bruno@clisp.org>
21753
21754         binary-io: Avoid gcc warning due to SET_BINARY.
21755         * lib/binary-io.h (SET_BINARY): Cast the result to void.
21756         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
21757
21758 2009-12-24  Bruno Haible  <bruno@clisp.org>
21759
21760         Avoid future namespace pollution on glibc systems.
21761         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
21762         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
21763         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
21764         glibc systems.
21765
21766 2009-12-24  Bruno Haible  <bruno@clisp.org>
21767
21768         Refactor common macros used in tests.
21769         * tests/macros.h: New file.
21770         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
21771         and/or <stdlib.h>, if appropriate.
21772         (ASSERT, SIZEOF): Remove macros.
21773         * tests/test-areadlink-with-size.c: Likewise.
21774         * tests/test-areadlinkat.c: Likewise.
21775         * tests/test-areadlinkat-with-size.c: Likewise.
21776         * tests/test-argmatch.c: Likewise.
21777         * tests/test-argv-iter.c: Likewise.
21778         * tests/test-array-mergesort.c: Likewise.
21779         * tests/test-array_list.c: Likewise.
21780         * tests/test-array_oset.c: Likewise.
21781         * tests/test-avltree_list.c: Likewise.
21782         * tests/test-avltree_oset.c: Likewise.
21783         * tests/test-avltreehash_list.c: Likewise.
21784         * tests/test-base64.c: Likewise.
21785         * tests/test-binary-io.c: Likewise.
21786         * tests/test-bitrotate.c: Likewise.
21787         * tests/test-btowc.c: Likewise.
21788         * tests/test-byteswap.c: Likewise.
21789         * tests/test-c-ctype.c: Likewise.
21790         * tests/test-c-stack.c: Likewise.
21791         * tests/test-c-strcasecmp.c: Likewise.
21792         * tests/test-c-strcasestr.c: Likewise.
21793         * tests/test-c-strncasecmp.c: Likewise.
21794         * tests/test-c-strstr.c: Likewise.
21795         * tests/test-canonicalize-lgpl.c: Likewise.
21796         * tests/test-canonicalize.c: Likewise.
21797         * tests/test-carray_list.c: Likewise.
21798         * tests/test-ceilf1.c: Likewise.
21799         * tests/test-ceilf2.c: Likewise.
21800         * tests/test-ceill.c: Likewise.
21801         * tests/test-chown.c: Likewise.
21802         * tests/test-cloexec.c: Likewise.
21803         * tests/test-copy-acl.c: Likewise.
21804         * tests/test-copy-file.c: Likewise.
21805         * tests/test-count-one-bits.c: Likewise.
21806         * tests/test-dprintf-posix.c: Likewise.
21807         * tests/test-dup2.c: Likewise.
21808         * tests/test-dup3.c: Likewise.
21809         * tests/test-duplocale.c: Likewise.
21810         * tests/test-fbufmode.c: Likewise.
21811         * tests/test-fchdir.c: Likewise.
21812         * tests/test-fchownat.c: Likewise.
21813         * tests/test-fcntl-safer.c: Likewise.
21814         * tests/test-fcntl.c: Likewise.
21815         * tests/test-fdopendir.c: Likewise.
21816         * tests/test-fdutimensat.c: Likewise.
21817         * tests/test-fflush2.c: Likewise.
21818         * tests/test-file-has-acl.c: Likewise.
21819         * tests/test-filevercmp.c: Likewise.
21820         * tests/test-flock.c: Likewise.
21821         * tests/test-floorf1.c: Likewise.
21822         * tests/test-floorf2.c: Likewise.
21823         * tests/test-floorl.c: Likewise.
21824         * tests/test-fnmatch.c: Likewise.
21825         * tests/test-fopen.h: Likewise.
21826         * tests/test-fpending.c: Likewise.
21827         * tests/test-fprintf-posix.c: Likewise.
21828         * tests/test-fpurge.c: Likewise.
21829         * tests/test-freadable.c: Likewise.
21830         * tests/test-freadahead.c: Likewise.
21831         * tests/test-freading.c: Likewise.
21832         * tests/test-freadptr.c: Likewise.
21833         * tests/test-freadptr2.c: Likewise.
21834         * tests/test-freadseek.c: Likewise.
21835         * tests/test-freopen.c: Likewise.
21836         * tests/test-frexp.c: Likewise.
21837         * tests/test-frexpl.c: Likewise.
21838         * tests/test-fseek.c: Likewise.
21839         * tests/test-fseeko.c: Likewise.
21840         * tests/test-fstatat.c: Likewise.
21841         * tests/test-fstrcmp.c: Likewise.
21842         * tests/test-fsync.c: Likewise.
21843         * tests/test-ftell.c: Likewise.
21844         * tests/test-ftello.c: Likewise.
21845         * tests/test-func.c: Likewise.
21846         * tests/test-futimens.c: Likewise.
21847         * tests/test-fwritable.c: Likewise.
21848         * tests/test-fwriting.c: Likewise.
21849         * tests/test-getcwd.c: Likewise.
21850         * tests/test-getdate.c: Likewise.
21851         * tests/test-getdelim.c: Likewise.
21852         * tests/test-getdtablesize.c: Likewise.
21853         * tests/test-getgroups.c: Likewise.
21854         * tests/test-getline.c: Likewise.
21855         * tests/test-getndelim2.c: Likewise.
21856         * tests/test-glob.c: Likewise.
21857         * tests/test-hash.c: Likewise.
21858         * tests/test-i-ring.c: Likewise.
21859         * tests/test-iconv-utf.c: Likewise.
21860         * tests/test-iconv.c: Likewise.
21861         * tests/test-idpriv-drop.c: Likewise.
21862         * tests/test-idpriv-droptemp.c: Likewise.
21863         * tests/test-inet_ntop.c: Likewise.
21864         * tests/test-inet_pton.c: Likewise.
21865         * tests/test-isblank.c: Likewise.
21866         * tests/test-isfinite.c: Likewise.
21867         * tests/test-isinf.c: Likewise.
21868         * tests/test-isnan.c: Likewise.
21869         * tests/test-isnand.h: Likewise.
21870         * tests/test-isnanf.h: Likewise.
21871         * tests/test-isnanl.h: Likewise.
21872         * tests/test-lchown.c: Likewise.
21873         * tests/test-ldexpl.c: Likewise.
21874         * tests/test-link.c: Likewise.
21875         * tests/test-linkat.c: Likewise.
21876         * tests/test-linked_list.c: Likewise.
21877         * tests/test-linkedhash_list.c: Likewise.
21878         * tests/test-localename.c: Likewise.
21879         * tests/test-lseek.c: Likewise.
21880         * tests/test-lstat.c: Likewise.
21881         * tests/test-mbmemcasecmp.c: Likewise.
21882         * tests/test-mbmemcasecoll.c: Likewise.
21883         * tests/test-mbrtowc.c: Likewise.
21884         * tests/test-mbscasecmp.c: Likewise.
21885         * tests/test-mbscasestr1.c: Likewise.
21886         * tests/test-mbscasestr2.c: Likewise.
21887         * tests/test-mbscasestr3.c: Likewise.
21888         * tests/test-mbscasestr4.c: Likewise.
21889         * tests/test-mbschr.c: Likewise.
21890         * tests/test-mbscspn.c: Likewise.
21891         * tests/test-mbsinit.c: Likewise.
21892         * tests/test-mbsncasecmp.c: Likewise.
21893         * tests/test-mbsnrtowcs.c: Likewise.
21894         * tests/test-mbspbrk.c: Likewise.
21895         * tests/test-mbspcasecmp.c: Likewise.
21896         * tests/test-mbsrchr.c: Likewise.
21897         * tests/test-mbsrtowcs.c: Likewise.
21898         * tests/test-mbsspn.c: Likewise.
21899         * tests/test-mbsstr1.c: Likewise.
21900         * tests/test-mbsstr2.c: Likewise.
21901         * tests/test-mbsstr3.c: Likewise.
21902         * tests/test-memchr.c: Likewise.
21903         * tests/test-memchr2.c: Likewise.
21904         * tests/test-memcmp.c: Likewise.
21905         * tests/test-memmem.c: Likewise.
21906         * tests/test-memrchr.c: Likewise.
21907         * tests/test-mkdir.c: Likewise.
21908         * tests/test-mkdirat.c: Likewise.
21909         * tests/test-mkfifo.c: Likewise.
21910         * tests/test-mkfifoat.c: Likewise.
21911         * tests/test-mknod.c: Likewise.
21912         * tests/test-nanosleep.c: Likewise.
21913         * tests/test-nl_langinfo.c: Likewise.
21914         * tests/test-obstack-printf.c: Likewise.
21915         * tests/test-open.c: Likewise.
21916         * tests/test-openat.c: Likewise.
21917         * tests/test-pipe-filter-gi1.c: Likewise.
21918         * tests/test-pipe-filter-gi2-main.c: Likewise.
21919         * tests/test-pipe-filter-ii1.c: Likewise.
21920         * tests/test-pipe-filter-ii2-main.c: Likewise.
21921         * tests/test-pipe2.c: Likewise.
21922         * tests/test-popen.h: Likewise.
21923         * tests/test-posixtm.c: Likewise.
21924         * tests/test-pread.c: Likewise.
21925         * tests/test-printf-frexp.c: Likewise.
21926         * tests/test-printf-frexpl.c: Likewise.
21927         * tests/test-printf-posix.c: Likewise.
21928         * tests/test-priv-set.c: Likewise.
21929         * tests/test-quotearg.c: Likewise.
21930         * tests/test-random_r.c: Likewise.
21931         * tests/test-rawmemchr.c: Likewise.
21932         * tests/test-rbtree_list.c: Likewise.
21933         * tests/test-rbtree_oset.c: Likewise.
21934         * tests/test-rbtreehash_list.c: Likewise.
21935         * tests/test-readlink.c: Likewise.
21936         * tests/test-remove.c: Likewise.
21937         * tests/test-rename.c: Likewise.
21938         * tests/test-renameat.c: Likewise.
21939         * tests/test-rmdir.c: Likewise.
21940         * tests/test-round1.c: Likewise.
21941         * tests/test-roundf1.c: Likewise.
21942         * tests/test-roundl.c: Likewise.
21943         * tests/test-safe-alloc.c: Likewise.
21944         * tests/test-sameacls.c: Likewise.
21945         * tests/test-set-mode-acl.c: Likewise.
21946         * tests/test-setenv.c: Likewise.
21947         * tests/test-sigaction.c: Likewise.
21948         * tests/test-signbit.c: Likewise.
21949         * tests/test-sleep.c: Likewise.
21950         * tests/test-snprintf-posix.c: Likewise.
21951         * tests/test-snprintf.c: Likewise.
21952         * tests/test-sprintf-posix.c: Likewise.
21953         * tests/test-stat-time.c: Likewise.
21954         * tests/test-stat.c: Likewise.
21955         * tests/test-strcasestr.c: Likewise.
21956         * tests/test-strchrnul.c: Likewise.
21957         * tests/test-strerror.c: Likewise.
21958         * tests/test-striconv.c: Likewise.
21959         * tests/test-striconveh.c: Likewise.
21960         * tests/test-striconveha.c: Likewise.
21961         * tests/test-strsignal.c: Likewise.
21962         * tests/test-strstr.c: Likewise.
21963         * tests/test-strtod.c: Likewise.
21964         * tests/test-strverscmp.c: Likewise.
21965         * tests/test-symlink.c: Likewise.
21966         * tests/test-symlinkat.c: Likewise.
21967         * tests/test-trunc1.c: Likewise.
21968         * tests/test-trunc2.c: Likewise.
21969         * tests/test-truncf1.c: Likewise.
21970         * tests/test-truncf2.c: Likewise.
21971         * tests/test-truncl.c: Likewise.
21972         * tests/test-uname.c: Likewise.
21973         * tests/test-unlink.c: Likewise.
21974         * tests/test-unlinkat.c: Likewise.
21975         * tests/test-unsetenv.c: Likewise.
21976         * tests/test-usleep.c: Likewise.
21977         * tests/test-utimens.c: Likewise.
21978         * tests/test-utimensat.c: Likewise.
21979         * tests/test-vasnprintf-posix.c: Likewise.
21980         * tests/test-vasnprintf-posix2.c: Likewise.
21981         * tests/test-vasnprintf.c: Likewise.
21982         * tests/test-vasprintf-posix.c: Likewise.
21983         * tests/test-vasprintf.c: Likewise.
21984         * tests/test-vdprintf-posix.c: Likewise.
21985         * tests/test-vfprintf-posix.c: Likewise.
21986         * tests/test-vprintf-posix.c: Likewise.
21987         * tests/test-vsnprintf-posix.c: Likewise.
21988         * tests/test-vsnprintf.c: Likewise.
21989         * tests/test-vsprintf-posix.c: Likewise.
21990         * tests/test-wcrtomb.c: Likewise.
21991         * tests/test-wcsnrtombs.c: Likewise.
21992         * tests/test-wcsrtombs.c: Likewise.
21993         * tests/test-wctype.c: Likewise.
21994         * tests/test-wcwidth.c: Likewise.
21995         * tests/test-xfprintf-posix.c: Likewise.
21996         * tests/test-xmemdup0.c: Likewise.
21997         * tests/test-xprintf-posix.c: Likewise.
21998         * tests/test-xvasprintf.c: Likewise.
21999         * tests/unicase/test-locale-language.c: Likewise.
22000         * tests/unicase/test-mapping-part1.h: Likewise.
22001         * tests/unicase/test-predicate-part1.h: Likewise.
22002         * tests/unicase/test-u8-casecmp.c: Likewise.
22003         * tests/unicase/test-u8-casecoll.c: Likewise.
22004         * tests/unicase/test-u8-casefold.c: Likewise.
22005         * tests/unicase/test-u8-is-cased.c: Likewise.
22006         * tests/unicase/test-u8-is-casefolded.c: Likewise.
22007         * tests/unicase/test-u8-is-lowercase.c: Likewise.
22008         * tests/unicase/test-u8-is-titlecase.c: Likewise.
22009         * tests/unicase/test-u8-is-uppercase.c: Likewise.
22010         * tests/unicase/test-u8-tolower.c: Likewise.
22011         * tests/unicase/test-u8-totitle.c: Likewise.
22012         * tests/unicase/test-u8-toupper.c: Likewise.
22013         * tests/unicase/test-u16-casecmp.c: Likewise.
22014         * tests/unicase/test-u16-casecoll.c: Likewise.
22015         * tests/unicase/test-u16-casefold.c: Likewise.
22016         * tests/unicase/test-u16-is-cased.c: Likewise.
22017         * tests/unicase/test-u16-is-casefolded.c: Likewise.
22018         * tests/unicase/test-u16-is-lowercase.c: Likewise.
22019         * tests/unicase/test-u16-is-titlecase.c: Likewise.
22020         * tests/unicase/test-u16-is-uppercase.c: Likewise.
22021         * tests/unicase/test-u16-tolower.c: Likewise.
22022         * tests/unicase/test-u16-totitle.c: Likewise.
22023         * tests/unicase/test-u16-toupper.c: Likewise.
22024         * tests/unicase/test-u32-casecmp.c: Likewise.
22025         * tests/unicase/test-u32-casecoll.c: Likewise.
22026         * tests/unicase/test-u32-casefold.c: Likewise.
22027         * tests/unicase/test-u32-is-cased.c: Likewise.
22028         * tests/unicase/test-u32-is-casefolded.c: Likewise.
22029         * tests/unicase/test-u32-is-lowercase.c: Likewise.
22030         * tests/unicase/test-u32-is-titlecase.c: Likewise.
22031         * tests/unicase/test-u32-is-uppercase.c: Likewise.
22032         * tests/unicase/test-u32-tolower.c: Likewise.
22033         * tests/unicase/test-u32-totitle.c: Likewise.
22034         * tests/unicase/test-u32-toupper.c: Likewise.
22035         * tests/unicase/test-ulc-casecmp.c: Likewise.
22036         * tests/unicase/test-ulc-casecoll.c: Likewise.
22037         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
22038         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
22039         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
22040         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
22041         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
22042         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
22043         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
22044         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
22045         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
22046         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
22047         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
22048         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
22049         * tests/unictype/test-bidi_byname.c: Likewise.
22050         * tests/unictype/test-bidi_name.c: Likewise.
22051         * tests/unictype/test-bidi_of.c: Likewise.
22052         * tests/unictype/test-bidi_test.c: Likewise.
22053         * tests/unictype/test-block_list.c: Likewise.
22054         * tests/unictype/test-block_of.c: Likewise.
22055         * tests/unictype/test-block_test.c: Likewise.
22056         * tests/unictype/test-categ_and.c: Likewise.
22057         * tests/unictype/test-categ_and_not.c: Likewise.
22058         * tests/unictype/test-categ_byname.c: Likewise.
22059         * tests/unictype/test-categ_name.c: Likewise.
22060         * tests/unictype/test-categ_none.c: Likewise.
22061         * tests/unictype/test-categ_of.c: Likewise.
22062         * tests/unictype/test-categ_or.c: Likewise.
22063         * tests/unictype/test-categ_test_withtable.c: Likewise.
22064         * tests/unictype/test-combining.c: Likewise.
22065         * tests/unictype/test-decdigit.c: Likewise.
22066         * tests/unictype/test-digit.c: Likewise.
22067         * tests/unictype/test-mirror.c: Likewise.
22068         * tests/unictype/test-numeric.c: Likewise.
22069         * tests/unictype/test-pr_byname.c: Likewise.
22070         * tests/unictype/test-pr_test.c: Likewise.
22071         * tests/unictype/test-predicate-part1.h: Likewise.
22072         * tests/unictype/test-scripts.c: Likewise.
22073         * tests/unictype/test-sy_c_ident.c: Likewise.
22074         * tests/unictype/test-sy_java_ident.c: Likewise.
22075         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
22076         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
22077         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
22078         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
22079         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
22080         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
22081         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
22082         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
22083         * tests/uninorm/test-canonical-decomposition.c: Likewise.
22084         * tests/uninorm/test-compat-decomposition.c: Likewise.
22085         * tests/uninorm/test-composition.c: Likewise.
22086         * tests/uninorm/test-decomposing-form.c: Likewise.
22087         * tests/uninorm/test-decomposition.c: Likewise.
22088         * tests/uninorm/test-u8-nfc.c: Likewise.
22089         * tests/uninorm/test-u8-nfd.c: Likewise.
22090         * tests/uninorm/test-u8-nfkc.c: Likewise.
22091         * tests/uninorm/test-u8-nfkd.c: Likewise.
22092         * tests/uninorm/test-u8-normcmp.c: Likewise.
22093         * tests/uninorm/test-u8-normcoll.c: Likewise.
22094         * tests/uninorm/test-u16-nfc.c: Likewise.
22095         * tests/uninorm/test-u16-nfd.c: Likewise.
22096         * tests/uninorm/test-u16-nfkc.c: Likewise.
22097         * tests/uninorm/test-u16-nfkd.c: Likewise.
22098         * tests/uninorm/test-u16-normcmp.c: Likewise.
22099         * tests/uninorm/test-u16-normcoll.c: Likewise.
22100         * tests/uninorm/test-u32-nfc.c: Likewise.
22101         * tests/uninorm/test-u32-nfd.c: Likewise.
22102         * tests/uninorm/test-u32-nfkc.c: Likewise.
22103         * tests/uninorm/test-u32-nfkd.c: Likewise.
22104         * tests/uninorm/test-u32-normalize-big.c: Likewise.
22105         * tests/uninorm/test-u32-normcmp.c: Likewise.
22106         * tests/uninorm/test-u32-normcoll.c: Likewise.
22107         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
22108         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
22109         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
22110         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
22111         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
22112         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
22113         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
22114         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
22115         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
22116         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
22117         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
22118         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
22119         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
22120         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
22121         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
22122         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
22123         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
22124         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
22125         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
22126         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
22127         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
22128         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
22129         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
22130         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
22131         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
22132         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
22133         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
22134         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
22135         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
22136         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
22137         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
22138         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
22139         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
22140         * tests/uniwidth/test-u8-strwidth.c: Likewise.
22141         * tests/uniwidth/test-u8-width.c: Likewise.
22142         * tests/uniwidth/test-u16-strwidth.c: Likewise.
22143         * tests/uniwidth/test-u16-width.c: Likewise.
22144         * tests/uniwidth/test-u32-strwidth.c: Likewise.
22145         * tests/uniwidth/test-u32-width.c: Likewise.
22146         * tests/uniwidth/test-uc_width.c: Likewise.
22147         * tests/uniwidth/test-uc_width2.c: Likewise.
22148         * modules/acl-tests (Files): Add tests/macros.h.
22149         * modules/areadlink-tests (Files): Likewise.
22150         * modules/areadlink-with-size-tests (Files): Likewise.
22151         * modules/areadlinkat-tests (Files): Likewise.
22152         * modules/areadlinkat-with-size-tests (Files): Likewise.
22153         * modules/argmatch-tests (Files): Likewise.
22154         * modules/argv-iter-tests (Files): Likewise.
22155         * modules/array-list-tests (Files): Likewise.
22156         * modules/array-mergesort-tests (Files): Likewise.
22157         * modules/array-oset-tests (Files): Likewise.
22158         * modules/avltree-list-tests (Files): Likewise.
22159         * modules/avltree-oset-tests (Files): Likewise.
22160         * modules/avltreehash-list-tests (Files): Likewise.
22161         * modules/base64-tests (Files): Likewise.
22162         * modules/binary-io-tests (Files): Likewise.
22163         * modules/bitrotate-tests (Files): Likewise.
22164         * modules/btowc-tests (Files): Likewise.
22165         * modules/byteswap-tests (Files): Likewise.
22166         * modules/c-ctype-tests (Files): Likewise.
22167         * modules/c-stack-tests (Files): Likewise.
22168         * modules/c-strcase-tests (Files): Likewise.
22169         * modules/c-strcasestr-tests (Files): Likewise.
22170         * modules/c-strstr-tests (Files): Likewise.
22171         * modules/canonicalize-lgpl-tests (Files): Likewise.
22172         * modules/canonicalize-tests (Files): Likewise.
22173         * modules/carray-list-tests (Files): Likewise.
22174         * modules/ceilf-tests (Files): Likewise.
22175         * modules/ceill-tests (Files): Likewise.
22176         * modules/chown-tests (Files): Likewise.
22177         * modules/cloexec-tests (Files): Likewise.
22178         * modules/copy-file-tests (Files): Likewise.
22179         * modules/count-one-bits-tests (Files): Likewise.
22180         * modules/dprintf-posix-tests (Files): Likewise.
22181         * modules/dup2-tests (Files): Likewise.
22182         * modules/dup3-tests (Files): Likewise.
22183         * modules/duplocale-tests (Files): Likewise.
22184         * modules/fbufmode-tests (Files): Likewise.
22185         * modules/fchdir-tests (Files): Likewise.
22186         * modules/fcntl-safer-tests (Files): Likewise.
22187         * modules/fcntl-tests (Files): Likewise.
22188         * modules/fdopendir-tests (Files): Likewise.
22189         * modules/fdutimensat-tests (Files): Likewise.
22190         * modules/fflush-tests (Files): Likewise.
22191         * modules/filevercmp-tests (Files): Likewise.
22192         * modules/flock-tests (Files): Likewise.
22193         * modules/floorf-tests (Files): Likewise.
22194         * modules/floorl-tests (Files): Likewise.
22195         * modules/fnmatch-tests (Files): Likewise.
22196         * modules/fopen-safer-tests (Files): Likewise.
22197         * modules/fopen-tests (Files): Likewise.
22198         * modules/fpending-tests (Files): Likewise.
22199         * modules/fprintf-posix-tests (Files): Likewise.
22200         * modules/fpurge-tests (Files): Likewise.
22201         * modules/freadable-tests (Files): Likewise.
22202         * modules/freadahead-tests (Files): Likewise.
22203         * modules/freading-tests (Files): Likewise.
22204         * modules/freadptr-tests (Files): Likewise.
22205         * modules/freadseek-tests (Files): Likewise.
22206         * modules/freopen-tests (Files): Likewise.
22207         * modules/frexp-nolibm-tests (Files): Likewise.
22208         * modules/frexp-tests (Files): Likewise.
22209         * modules/frexpl-nolibm-tests (Files): Likewise.
22210         * modules/frexpl-tests (Files): Likewise.
22211         * modules/fseek-tests (Files): Likewise.
22212         * modules/fseeko-tests (Files): Likewise.
22213         * modules/fstrcmp-tests (Files): Likewise.
22214         * modules/fsync-tests (Files): Likewise.
22215         * modules/ftell-tests (Files): Likewise.
22216         * modules/ftello-tests (Files): Likewise.
22217         * modules/func-tests (Files): Likewise.
22218         * modules/futimens-tests (Files): Likewise.
22219         * modules/fwritable-tests (Files): Likewise.
22220         * modules/fwriting-tests (Files): Likewise.
22221         * modules/getcwd-tests (Files): Likewise.
22222         * modules/getdate-tests (Files): Likewise.
22223         * modules/getdelim-tests (Files): Likewise.
22224         * modules/getdtablesize-tests (Files): Likewise.
22225         * modules/getgroups-tests (Files): Likewise.
22226         * modules/getline-tests (Files): Likewise.
22227         * modules/getndelim2-tests (Files): Likewise.
22228         * modules/glob-tests (Files): Likewise.
22229         * modules/hash-tests (Files): Likewise.
22230         * modules/i-ring-tests (Files): Likewise.
22231         * modules/iconv-tests (Files): Likewise.
22232         * modules/iconv_open-utf-tests (Files): Likewise.
22233         * modules/idpriv-drop-tests (Files): Likewise.
22234         * modules/idpriv-droptemp-tests (Files): Likewise.
22235         * modules/inet_ntop-tests (Files): Likewise.
22236         * modules/inet_pton-tests (Files): Likewise.
22237         * modules/isblank-tests (Files): Likewise.
22238         * modules/isfinite-tests (Files): Likewise.
22239         * modules/isinf-tests (Files): Likewise.
22240         * modules/isnan-tests (Files): Likewise.
22241         * modules/isnand-nolibm-tests (Files): Likewise.
22242         * modules/isnand-tests (Files): Likewise.
22243         * modules/isnanf-nolibm-tests (Files): Likewise.
22244         * modules/isnanf-tests (Files): Likewise.
22245         * modules/isnanl-nolibm-tests (Files): Likewise.
22246         * modules/isnanl-tests (Files): Likewise.
22247         * modules/lchown-tests (Files): Likewise.
22248         * modules/ldexpl-tests (Files): Likewise.
22249         * modules/link-tests (Files): Likewise.
22250         * modules/linkat-tests (Files): Likewise.
22251         * modules/linked-list-tests (Files): Likewise.
22252         * modules/linkedhash-list-tests (Files): Likewise.
22253         * modules/localename-tests (Files): Likewise.
22254         * modules/lseek-tests (Files): Likewise.
22255         * modules/lstat-tests (Files): Likewise.
22256         * modules/mbmemcasecmp-tests (Files): Likewise.
22257         * modules/mbmemcasecoll-tests (Files): Likewise.
22258         * modules/mbrtowc-tests (Files): Likewise.
22259         * modules/mbscasecmp-tests (Files): Likewise.
22260         * modules/mbscasestr-tests (Files): Likewise.
22261         * modules/mbschr-tests (Files): Likewise.
22262         * modules/mbscspn-tests (Files): Likewise.
22263         * modules/mbsinit-tests (Files): Likewise.
22264         * modules/mbsncasecmp-tests (Files): Likewise.
22265         * modules/mbsnrtowcs-tests (Files): Likewise.
22266         * modules/mbspbrk-tests (Files): Likewise.
22267         * modules/mbspcasecmp-tests (Files): Likewise.
22268         * modules/mbsrchr-tests (Files): Likewise.
22269         * modules/mbsrtowcs-tests (Files): Likewise.
22270         * modules/mbsspn-tests (Files): Likewise.
22271         * modules/mbsstr-tests (Files): Likewise.
22272         * modules/memchr-tests (Files): Likewise.
22273         * modules/memchr2-tests (Files): Likewise.
22274         * modules/memcmp-tests (Files): Likewise.
22275         * modules/memmem-tests (Files): Likewise.
22276         * modules/memrchr-tests (Files): Likewise.
22277         * modules/mkdir-tests (Files): Likewise.
22278         * modules/mkfifo-tests (Files): Likewise.
22279         * modules/mkfifoat-tests (Files): Likewise.
22280         * modules/mknod-tests (Files): Likewise.
22281         * modules/nanosleep-tests (Files): Likewise.
22282         * modules/nl_langinfo-tests (Files): Likewise.
22283         * modules/obstack-printf-tests (Files): Likewise.
22284         * modules/open-tests (Files): Likewise.
22285         * modules/openat-tests (Files): Likewise.
22286         * modules/pipe-filter-gi-tests (Files): Likewise.
22287         * modules/pipe-filter-ii-tests (Files): Likewise.
22288         * modules/pipe2-tests (Files): Likewise.
22289         * modules/popen-safer-tests (Files): Likewise.
22290         * modules/popen-tests (Files): Likewise.
22291         * modules/posixtm-tests (Files): Likewise.
22292         * modules/pread-tests (Files): Likewise.
22293         * modules/printf-frexp-tests (Files): Likewise.
22294         * modules/printf-frexpl-tests (Files): Likewise.
22295         * modules/printf-posix-tests (Files): Likewise.
22296         * modules/priv-set-tests (Files): Likewise.
22297         * modules/quotearg-tests (Files): Likewise.
22298         * modules/random_r-tests (Files): Likewise.
22299         * modules/rawmemchr-tests (Files): Likewise.
22300         * modules/rbtree-list-tests (Files): Likewise.
22301         * modules/rbtree-oset-tests (Files): Likewise.
22302         * modules/rbtreehash-list-tests (Files): Likewise.
22303         * modules/readlink-tests (Files): Likewise.
22304         * modules/remove-tests (Files): Likewise.
22305         * modules/rename-tests (Files): Likewise.
22306         * modules/renameat-tests (Files): Likewise.
22307         * modules/rmdir-tests (Files): Likewise.
22308         * modules/round-tests (Files): Likewise.
22309         * modules/roundf-tests (Files): Likewise.
22310         * modules/roundl-tests (Files): Likewise.
22311         * modules/safe-alloc-tests (Files): Likewise.
22312         * modules/setenv-tests (Files): Likewise.
22313         * modules/sigaction-tests (Files): Likewise.
22314         * modules/signbit-tests (Files): Likewise.
22315         * modules/sleep-tests (Files): Likewise.
22316         * modules/snprintf-posix-tests (Files): Likewise.
22317         * modules/snprintf-tests (Files): Likewise.
22318         * modules/sprintf-posix-tests (Files): Likewise.
22319         * modules/stat-tests (Files): Likewise.
22320         * modules/stat-time-tests (Files): Likewise.
22321         * modules/strcasestr-tests (Files): Likewise.
22322         * modules/strchrnul-tests (Files): Likewise.
22323         * modules/strerror-tests (Files): Likewise.
22324         * modules/striconv-tests (Files): Likewise.
22325         * modules/striconveh-tests (Files): Likewise.
22326         * modules/striconveha-tests (Files): Likewise.
22327         * modules/strsignal-tests (Files): Likewise.
22328         * modules/strstr-tests (Files): Likewise.
22329         * modules/strtod-tests (Files): Likewise.
22330         * modules/strverscmp-tests (Files): Likewise.
22331         * modules/symlink-tests (Files): Likewise.
22332         * modules/symlinkat-tests (Files): Likewise.
22333         * modules/trunc-tests (Files): Likewise.
22334         * modules/truncf-tests (Files): Likewise.
22335         * modules/truncl-tests (Files): Likewise.
22336         * modules/uname-tests (Files): Likewise.
22337         * modules/unicase/cased-tests (Files): Likewise.
22338         * modules/unicase/ignorable-tests (Files): Likewise.
22339         * modules/unicase/locale-language-tests (Files): Likewise.
22340         * modules/unicase/tolower-tests (Files): Likewise.
22341         * modules/unicase/totitle-tests (Files): Likewise.
22342         * modules/unicase/toupper-tests (Files): Likewise.
22343         * modules/unicase/u8-casecmp-tests (Files): Likewise.
22344         * modules/unicase/u8-casecoll-tests (Files): Likewise.
22345         * modules/unicase/u8-casefold-tests (Files): Likewise.
22346         * modules/unicase/u8-is-cased-tests (Files): Likewise.
22347         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
22348         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
22349         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
22350         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
22351         * modules/unicase/u8-tolower-tests (Files): Likewise.
22352         * modules/unicase/u8-totitle-tests (Files): Likewise.
22353         * modules/unicase/u8-toupper-tests (Files): Likewise.
22354         * modules/unicase/u16-casecmp-tests (Files): Likewise.
22355         * modules/unicase/u16-casecoll-tests (Files): Likewise.
22356         * modules/unicase/u16-casefold-tests (Files): Likewise.
22357         * modules/unicase/u16-is-cased-tests (Files): Likewise.
22358         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
22359         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
22360         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
22361         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
22362         * modules/unicase/u16-tolower-tests (Files): Likewise.
22363         * modules/unicase/u16-totitle-tests (Files): Likewise.
22364         * modules/unicase/u16-toupper-tests (Files): Likewise.
22365         * modules/unicase/u32-casecmp-tests (Files): Likewise.
22366         * modules/unicase/u32-casecoll-tests (Files): Likewise.
22367         * modules/unicase/u32-casefold-tests (Files): Likewise.
22368         * modules/unicase/u32-is-cased-tests (Files): Likewise.
22369         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
22370         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
22371         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
22372         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
22373         * modules/unicase/u32-tolower-tests (Files): Likewise.
22374         * modules/unicase/u32-totitle-tests (Files): Likewise.
22375         * modules/unicase/u32-toupper-tests (Files): Likewise.
22376         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
22377         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
22378         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
22379         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
22380         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
22381         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
22382         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
22383         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
22384         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
22385         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
22386         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
22387         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
22388         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
22389         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
22390         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
22391         * modules/unictype/bidicategory-name-tests (Files): Likewise.
22392         * modules/unictype/bidicategory-of-tests (Files): Likewise.
22393         * modules/unictype/bidicategory-test-tests (Files): Likewise.
22394         * modules/unictype/block-list-tests (Files): Likewise.
22395         * modules/unictype/block-of-tests (Files): Likewise.
22396         * modules/unictype/block-test-tests (Files): Likewise.
22397         * modules/unictype/category-C-tests (Files): Likewise.
22398         * modules/unictype/category-Cc-tests (Files): Likewise.
22399         * modules/unictype/category-Cf-tests (Files): Likewise.
22400         * modules/unictype/category-Cn-tests (Files): Likewise.
22401         * modules/unictype/category-Co-tests (Files): Likewise.
22402         * modules/unictype/category-Cs-tests (Files): Likewise.
22403         * modules/unictype/category-L-tests (Files): Likewise.
22404         * modules/unictype/category-Ll-tests (Files): Likewise.
22405         * modules/unictype/category-Lm-tests (Files): Likewise.
22406         * modules/unictype/category-Lo-tests (Files): Likewise.
22407         * modules/unictype/category-Lt-tests (Files): Likewise.
22408         * modules/unictype/category-Lu-tests (Files): Likewise.
22409         * modules/unictype/category-M-tests (Files): Likewise.
22410         * modules/unictype/category-Mc-tests (Files): Likewise.
22411         * modules/unictype/category-Me-tests (Files): Likewise.
22412         * modules/unictype/category-Mn-tests (Files): Likewise.
22413         * modules/unictype/category-N-tests (Files): Likewise.
22414         * modules/unictype/category-Nd-tests (Files): Likewise.
22415         * modules/unictype/category-Nl-tests (Files): Likewise.
22416         * modules/unictype/category-No-tests (Files): Likewise.
22417         * modules/unictype/category-P-tests (Files): Likewise.
22418         * modules/unictype/category-Pc-tests (Files): Likewise.
22419         * modules/unictype/category-Pd-tests (Files): Likewise.
22420         * modules/unictype/category-Pe-tests (Files): Likewise.
22421         * modules/unictype/category-Pf-tests (Files): Likewise.
22422         * modules/unictype/category-Pi-tests (Files): Likewise.
22423         * modules/unictype/category-Po-tests (Files): Likewise.
22424         * modules/unictype/category-Ps-tests (Files): Likewise.
22425         * modules/unictype/category-S-tests (Files): Likewise.
22426         * modules/unictype/category-Sc-tests (Files): Likewise.
22427         * modules/unictype/category-Sk-tests (Files): Likewise.
22428         * modules/unictype/category-Sm-tests (Files): Likewise.
22429         * modules/unictype/category-So-tests (Files): Likewise.
22430         * modules/unictype/category-Z-tests (Files): Likewise.
22431         * modules/unictype/category-Zl-tests (Files): Likewise.
22432         * modules/unictype/category-Zp-tests (Files): Likewise.
22433         * modules/unictype/category-Zs-tests (Files): Likewise.
22434         * modules/unictype/category-and-not-tests (Files): Likewise.
22435         * modules/unictype/category-and-tests (Files): Likewise.
22436         * modules/unictype/category-byname-tests (Files): Likewise.
22437         * modules/unictype/category-name-tests (Files): Likewise.
22438         * modules/unictype/category-none-tests (Files): Likewise.
22439         * modules/unictype/category-of-tests (Files): Likewise.
22440         * modules/unictype/category-or-tests (Files): Likewise.
22441         * modules/unictype/category-test-withtable-tests (Files): Likewise.
22442         * modules/unictype/combining-class-tests (Files): Likewise.
22443         * modules/unictype/ctype-alnum-tests (Files): Likewise.
22444         * modules/unictype/ctype-alpha-tests (Files): Likewise.
22445         * modules/unictype/ctype-blank-tests (Files): Likewise.
22446         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
22447         * modules/unictype/ctype-digit-tests (Files): Likewise.
22448         * modules/unictype/ctype-graph-tests (Files): Likewise.
22449         * modules/unictype/ctype-lower-tests (Files): Likewise.
22450         * modules/unictype/ctype-print-tests (Files): Likewise.
22451         * modules/unictype/ctype-punct-tests (Files): Likewise.
22452         * modules/unictype/ctype-space-tests (Files): Likewise.
22453         * modules/unictype/ctype-upper-tests (Files): Likewise.
22454         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
22455         * modules/unictype/decimal-digit-tests (Files): Likewise.
22456         * modules/unictype/digit-tests (Files): Likewise.
22457         * modules/unictype/mirror-tests (Files): Likewise.
22458         * modules/unictype/numeric-tests (Files): Likewise.
22459         * modules/unictype/property-alphabetic-tests (Files): Likewise.
22460         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
22461         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
22462         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
22463         Likewise.
22464         * modules/unictype/property-bidi-block-separator-tests (Files):
22465         Likewise.
22466         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
22467         Likewise.
22468         * modules/unictype/property-bidi-common-separator-tests (Files):
22469         Likewise.
22470         * modules/unictype/property-bidi-control-tests (Files): Likewise.
22471         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
22472         Likewise.
22473         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
22474         Likewise.
22475         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
22476         Likewise.
22477         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
22478         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
22479         Likewise.
22480         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
22481         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
22482         Likewise.
22483         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
22484         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
22485         * modules/unictype/property-bidi-segment-separator-tests (Files):
22486         Likewise.
22487         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
22488         * modules/unictype/property-byname-tests (Files): Likewise.
22489         * modules/unictype/property-combining-tests (Files): Likewise.
22490         * modules/unictype/property-composite-tests (Files): Likewise.
22491         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
22492         * modules/unictype/property-dash-tests (Files): Likewise.
22493         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
22494         * modules/unictype/property-default-ignorable-code-point-tests (Files):
22495         Likewise.
22496         * modules/unictype/property-deprecated-tests (Files): Likewise.
22497         * modules/unictype/property-diacritic-tests (Files): Likewise.
22498         * modules/unictype/property-extender-tests (Files): Likewise.
22499         * modules/unictype/property-format-control-tests (Files): Likewise.
22500         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
22501         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
22502         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
22503         * modules/unictype/property-hex-digit-tests (Files): Likewise.
22504         * modules/unictype/property-hyphen-tests (Files): Likewise.
22505         * modules/unictype/property-id-continue-tests (Files): Likewise.
22506         * modules/unictype/property-id-start-tests (Files): Likewise.
22507         * modules/unictype/property-ideographic-tests (Files): Likewise.
22508         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
22509         * modules/unictype/property-ids-trinary-operator-tests (Files):
22510         Likewise.
22511         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
22512         * modules/unictype/property-iso-control-tests (Files): Likewise.
22513         * modules/unictype/property-join-control-tests (Files): Likewise.
22514         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
22515         * modules/unictype/property-line-separator-tests (Files): Likewise.
22516         * modules/unictype/property-logical-order-exception-tests (Files):
22517         Likewise.
22518         * modules/unictype/property-lowercase-tests (Files): Likewise.
22519         * modules/unictype/property-math-tests (Files): Likewise.
22520         * modules/unictype/property-non-break-tests (Files): Likewise.
22521         * modules/unictype/property-not-a-character-tests (Files): Likewise.
22522         * modules/unictype/property-numeric-tests (Files): Likewise.
22523         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
22524         * modules/unictype/property-other-default-ignorable-code-point-tests
22525         (Files): Likewise.
22526         * modules/unictype/property-other-grapheme-extend-tests (Files):
22527         Likewise.
22528         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
22529         * modules/unictype/property-other-id-start-tests (Files): Likewise.
22530         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
22531         * modules/unictype/property-other-math-tests (Files): Likewise.
22532         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
22533         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
22534         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
22535         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
22536         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
22537         * modules/unictype/property-private-use-tests (Files): Likewise.
22538         * modules/unictype/property-punctuation-tests (Files): Likewise.
22539         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
22540         * modules/unictype/property-radical-tests (Files): Likewise.
22541         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
22542         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
22543         * modules/unictype/property-space-tests (Files): Likewise.
22544         * modules/unictype/property-terminal-punctuation-tests (Files):
22545         Likewise.
22546         * modules/unictype/property-test-tests (Files): Likewise.
22547         * modules/unictype/property-titlecase-tests (Files): Likewise.
22548         * modules/unictype/property-unassigned-code-value-tests (Files):
22549         Likewise.
22550         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
22551         * modules/unictype/property-uppercase-tests (Files): Likewise.
22552         * modules/unictype/property-variation-selector-tests (Files): Likewise.
22553         * modules/unictype/property-white-space-tests (Files): Likewise.
22554         * modules/unictype/property-xid-continue-tests (Files): Likewise.
22555         * modules/unictype/property-xid-start-tests (Files): Likewise.
22556         * modules/unictype/property-zero-width-tests (Files): Likewise.
22557         * modules/unictype/scripts-tests (Files): Likewise.
22558         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
22559         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
22560         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
22561         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
22562         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
22563         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
22564         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
22565         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
22566         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
22567         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
22568         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
22569         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
22570         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
22571         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
22572         * modules/uninorm/composition-tests (Files): Likewise.
22573         * modules/uninorm/decomposing-form-tests (Files): Likewise.
22574         * modules/uninorm/decomposition-tests (Files): Likewise.
22575         * modules/uninorm/filter-tests (Files): Likewise.
22576         * modules/uninorm/nfc-tests (Files): Likewise.
22577         * modules/uninorm/nfd-tests (Files): Likewise.
22578         * modules/uninorm/nfkc-tests (Files): Likewise.
22579         * modules/uninorm/nfkd-tests (Files): Likewise.
22580         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
22581         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
22582         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
22583         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
22584         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
22585         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
22586         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
22587         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
22588         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
22589         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
22590         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
22591         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
22592         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
22593         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
22594         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
22595         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
22596         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
22597         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
22598         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
22599         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
22600         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
22601         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
22602         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
22603         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
22604         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
22605         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
22606         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
22607         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
22608         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
22609         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
22610         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
22611         * modules/uniwidth/u8-width-tests (Files): Likewise.
22612         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
22613         * modules/uniwidth/u16-width-tests (Files): Likewise.
22614         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
22615         * modules/uniwidth/u32-width-tests (Files): Likewise.
22616         * modules/uniwidth/width-tests (Files): Likewise.
22617         * modules/unlink-tests (Files): Likewise.
22618         * modules/unsetenv-tests (Files): Likewise.
22619         * modules/usleep-tests (Files): Likewise.
22620         * modules/utimens-tests (Files): Likewise.
22621         * modules/utimensat-tests (Files): Likewise.
22622         * modules/vasnprintf-posix-tests (Files): Likewise.
22623         * modules/vasnprintf-tests (Files): Likewise.
22624         * modules/vasprintf-posix-tests (Files): Likewise.
22625         * modules/vasprintf-tests (Files): Likewise.
22626         * modules/vdprintf-posix-tests (Files): Likewise.
22627         * modules/vfprintf-posix-tests (Files): Likewise.
22628         * modules/vprintf-posix-tests (Files): Likewise.
22629         * modules/vsnprintf-posix-tests (Files): Likewise.
22630         * modules/vsnprintf-tests (Files): Likewise.
22631         * modules/vsprintf-posix-tests (Files): Likewise.
22632         * modules/wcrtomb-tests (Files): Likewise.
22633         * modules/wcsnrtombs-tests (Files): Likewise.
22634         * modules/wcsrtombs-tests (Files): Likewise.
22635         * modules/wctype-tests (Files): Likewise.
22636         * modules/wcwidth-tests (Files): Likewise.
22637         * modules/xmemdup0-tests (Files): Likewise.
22638         * modules/xprintf-posix-tests (Files): Likewise.
22639         * modules/xvasprintf-tests (Files): Likewise.
22640
22641 2009-12-24  Eric Blake  <ebb9@byu.net>
22642
22643         test-nanosleep: fix typo
22644         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
22645         patch.
22646         Reported by Bruno Haible.
22647
22648 2009-12-24  Bruno Haible  <bruno@clisp.org>
22649
22650         Reduce namespace pollution on glibc systems.
22651         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
22652         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
22653         systems.
22654         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
22655         <getopt.h> on glibc systems.
22656         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
22657         systems.
22658         * lib/fcntl.c: Include <unistd.h> here instead.
22659
22660 2009-12-24  Bruno Haible  <bruno@clisp.org>
22661
22662         * lib/stdlib.in.h (includes): Fix typo in today's commit.
22663
22664 2009-12-24  Eric Blake  <ebb9@byu.net>
22665
22666         tests: add signature checks
22667         * tests/signature.h (SIGNATURE_CHECK): New file.
22668         * modules/atexit-tests (Files): Use it.
22669         * modules/btowc-tests (Files): Likewise.
22670         * modules/canonicalize-lgpl-tests (Files): Likewise.
22671         * modules/ceilf-tests (Files): Likewise.
22672         * modules/ceill-tests (Files): Likewise.
22673         * modules/chown-tests (Files): Likewise.
22674         * modules/dprintf-posix-tests (Files): Likewise.
22675         * modules/dup2-tests (Files): Likewise.
22676         * modules/dup3-tests (Files): Likewise.
22677         * modules/duplocale-tests (Files): Likewise.
22678         * modules/fchdir-tests (Files): Likewise.
22679         * modules/fcntl-tests (Files): Likewise.
22680         * modules/fdopendir-tests (Files): Likewise.
22681         * modules/fflush-tests (Files): Likewise.
22682         * modules/flock-tests (Files): Likewise.
22683         * modules/floorf-tests (Files): Likewise.
22684         * modules/floorl-tests (Files): Likewise.
22685         * modules/fnmatch-tests (Files): Likewise.
22686         * modules/fopen-tests (Files): Likewise.
22687         * modules/fprintf-posix-tests (Files): Likewise.
22688         * modules/freopen-tests (Files): Likewise.
22689         * modules/frexp-nolibm-tests (Files): Likewise.
22690         * modules/frexp-tests (Files): Likewise.
22691         * modules/frexpl-nolibm-tests (Files): Likewise.
22692         * modules/frexpl-tests (Files): Likewise.
22693         * modules/fseek-tests (Files): Likewise.
22694         * modules/fseeko-tests (Files): Likewise.
22695         * modules/fsync-tests (Files): Likewise.
22696         * modules/ftell-tests (Files): Likewise.
22697         * modules/ftello-tests (Files): Likewise.
22698         * modules/futimens-tests (Files): Likewise.
22699         * modules/getaddrinfo-tests (Files): Likewise.
22700         * modules/getcwd-tests (Files): Likewise.
22701         * modules/getdelim-tests (Files): Likewise.
22702         * modules/getdtablesize-tests (Files): Likewise.
22703         * modules/getgroups-tests (Files): Likewise.
22704         * modules/gethostname-tests (Files): Likewise.
22705         * modules/getline-tests (Files): Likewise.
22706         * modules/getopt-posix-tests (Files): Likewise.
22707         * modules/gettimeofday-tests (Files): Likewise.
22708         * modules/glob-tests (Files): Likewise.
22709         * modules/iconv-tests (Files): Likewise.
22710         * modules/inet_ntop-tests (Files): Likewise.
22711         * modules/inet_pton-tests (Files): Likewise.
22712         * modules/isblank-tests (Files): Likewise.
22713         * modules/lchown-tests (Files): Likewise.
22714         * modules/ldexpl-tests (Files): Likewise.
22715         * modules/link-tests (Files): Likewise.
22716         * modules/linkat-tests (Files): Likewise.
22717         * modules/lseek-tests (Files): Likewise.
22718         * modules/lstat-tests (Files): Likewise.
22719         * modules/mbrtowc-tests (Files): Likewise.
22720         * modules/mbsinit-tests (Files): Likewise.
22721         * modules/mbsnrtowcs-tests (Files): Likewise.
22722         * modules/mbsrtowcs-tests (Files): Likewise.
22723         * modules/memchr-tests (Files): Likewise.
22724         * modules/memcmp-tests (Files): Likewise.
22725         * modules/memmem-tests (Files): Likewise.
22726         * modules/memrchr-tests (Files): Likewise.
22727         * modules/mkdir-tests (Files): Likewise.
22728         * modules/mkfifo-tests (Files): Likewise.
22729         * modules/mkfifoat-tests (Files): Likewise.
22730         * modules/mknod-tests (Files): Likewise.
22731         * modules/nanosleep-tests (Files): Likewise.
22732         * modules/nl_langinfo-tests (Files): Likewise.
22733         * modules/obstack-printf-tests (Files): Likewise.
22734         * modules/open-tests (Files): Likewise.
22735         * modules/openat-tests (Files): Likewise.
22736         * modules/perror-tests (Files): Likewise.
22737         * modules/pipe2-tests (Files): Likewise.
22738         * modules/poll-tests (Files): Likewise.
22739         * modules/popen-tests (Files): Likewise.
22740         * modules/posix_spawn-tests (Files): Likewise.
22741         * modules/posix_spawnp-tests (Files): Likewise.
22742         * modules/pread-tests (Files): Likewise.
22743         * modules/printf-posix-tests (Files): Likewise.
22744         * modules/pty-tests (Files): Likewise.
22745         * modules/random_r-tests (Files): Likewise.
22746         * modules/rawmemchr-tests (Files): Likewise.
22747         * modules/readlink-tests (Files): Likewise.
22748         * modules/remove-tests (Files): Likewise.
22749         * modules/rename-tests (Files): Likewise.
22750         * modules/renameat-tests (Files): Likewise.
22751         * modules/rmdir-tests (Files): Likewise.
22752         * modules/round-tests (Files): Likewise.
22753         * modules/roundf-tests (Files): Likewise.
22754         * modules/roundl-tests (Files): Likewise.
22755         * modules/select-tests (Files): Likewise.
22756         * modules/setenv-tests (Files): Likewise.
22757         * modules/sigaction-tests (Files): Likewise.
22758         * modules/sleep-tests (Files): Likewise.
22759         * modules/snprintf-posix-tests (Files): Likewise.
22760         * modules/snprintf-tests (Files): Likewise.
22761         * modules/sprintf-posix-tests (Files): Likewise.
22762         * modules/stat-tests (Files): Likewise.
22763         * modules/strcasestr-tests (Files): Likewise.
22764         * modules/strchrnul-tests (Files): Likewise.
22765         * modules/strerror-tests (Files): Likewise.
22766         * modules/strsignal-tests (Files): Likewise.
22767         * modules/strstr-tests (Files): Likewise.
22768         * modules/strtod-tests (Files): Likewise.
22769         * modules/strverscmp-tests (Files): Likewise.
22770         * modules/symlink-tests (Files): Likewise.
22771         * modules/symlinkat-tests (Files): Likewise.
22772         * modules/times-tests (Files): Likewise.
22773         * modules/trunc-tests (Files): Likewise.
22774         * modules/truncf-tests (Files): Likewise.
22775         * modules/truncl-tests (Files): Likewise.
22776         * modules/tsearch-tests (Files): Likewise.
22777         * modules/uname-tests (Files): Likewise.
22778         * modules/unlink-tests (Files): Likewise.
22779         * modules/unsetenv-tests (Files): Likewise.
22780         * modules/usleep-tests (Files): Likewise.
22781         * modules/utimensat-tests (Files): Likewise.
22782         * modules/vasprintf-tests (Files): Likewise.
22783         * modules/vdprintf-posix-tests (Files): Likewise.
22784         * modules/vfprintf-posix-tests (Files): Likewise.
22785         * modules/vprintf-posix-tests (Files): Likewise.
22786         * modules/vsnprintf-posix-tests (Files): Likewise.
22787         * modules/vsnprintf-tests (Files): Likewise.
22788         * modules/vsprintf-posix-tests (Files): Likewise.
22789         * modules/wcrtomb-tests (Files): Likewise.
22790         * modules/wcsnrtombs-tests (Files): Likewise.
22791         * modules/wcsrtombs-tests (Files): Likewise.
22792         * modules/wcwidth-tests (Files): Likewise.
22793         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
22794         * tests/test-isinf.c (isinf): Likewise.
22795         * tests/test-isnan.c (isnan): Likewise.
22796         * tests/test-signbit.c (signbit): Likewise.
22797         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
22798         declaration, either as macro or with correct signature.
22799         (select): Ensure function under test is declared with correct
22800         signature in correct header.
22801         * tests/test-atexit.c (atexit): Likewise.
22802         * tests/test-btowc.c (btowc): Likewise.
22803         * tests/test-canonicalize-lgpl.c (realpath)
22804         (canonicalize_file_name): Likewise.
22805         * tests/test-ceilf1.c (ceilf): Likewise.
22806         * tests/test-ceill.c (ceill): Likewise.
22807         * tests/test-chown.c (chown): Likewise.
22808         * tests/test-dprintf-posix.c (dprintf): Likewise.
22809         * tests/test-dup2.c (dup2): Likewise.
22810         * tests/test-dup3.c (dup3): Likewise.
22811         * tests/test-duplocale.c (duplocale): Likewise.
22812         * tests/test-fchdir.c (fchdir): Likewise.
22813         * tests/test-fchownat.c (fchownat): Likewise.
22814         * tests/test-fcntl.c (fcntl): Likewise.
22815         * tests/test-fdopendir.c (fdopendir): Likewise.
22816         * tests/test-fflush.c (fflush): Likewise.
22817         * tests/test-flock.c (flock): Likewise.
22818         * tests/test-floorf1.c (floorf): Likewise.
22819         * tests/test-floorl.c (floorl): Likewise.
22820         * tests/test-fnmatch.c (fnmatch): Likewise.
22821         * tests/test-fopen.c (fopen): Likewise.
22822         * tests/test-fprintf-posix.c (fprintf): Likewise.
22823         * tests/test-freopen.c (freopen): Likewise.
22824         * tests/test-frexp.c (frexp): Likewise.
22825         * tests/test-frexpl.c (frexpl): Likewise.
22826         * tests/test-fseek.c (fseek): Likewise.
22827         * tests/test-fseeko.c (fseeko): Likewise.
22828         * tests/test-fstatat.c (fstatat): Likewise.
22829         * tests/test-fsync.c (fsync): Likewise.
22830         * tests/test-ftell.c (ftell): Likewise.
22831         * tests/test-ftello.c (ftello): Likewise.
22832         * tests/test-futimens.c (futimens): Likewise.
22833         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
22834         (gai_strerror): Likewise.
22835         * tests/test-getcwd.c (getcwd): Likewise.
22836         * tests/test-getdelim.c (getdelim): Likewise.
22837         * tests/test-getdtablesize.c (getdtablesize): Likewise.
22838         * tests/test-getgroups.c (getgroups): Likewise.
22839         * tests/test-gethostname.c (gethostname): Likewise.
22840         * tests/test-getline.c (getline): Likewise.
22841         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
22842         Likewise.
22843         * tests/test-gettimeofday.c (gettimeofday): Likewise.
22844         * tests/test-glob.c (glob, globfree): Likewise.
22845         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
22846         * tests/test-inet_ntop.c (inet_ntop): Likewise.
22847         * tests/test-inet_pton.c (inet_pton): Likewise.
22848         * tests/test-isblank.c (isblank): Likewise.
22849         * tests/test-lchown.c (lchown): Likewise.
22850         * tests/test-ldexpl.c (ldexpl): Likewise.
22851         * tests/test-link.c (link): Likewise.
22852         * tests/test-linkat.c (linkat): Likewise.
22853         * tests/test-lseek.c (lseek): Likewise.
22854         * tests/test-lstat.c (lstat): Likewise.
22855         * tests/test-mbrtowc.c (mbrtowc): Likewise.
22856         * tests/test-mbsinit.c (mbsinit): Likewise.
22857         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
22858         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
22859         * tests/test-memchr.c (memchr): Likewise.
22860         * tests/test-memcmp.c (memcmp): Likewise.
22861         * tests/test-memmem.c (memmem): Likewise.
22862         * tests/test-memrchr.c (memrchr): Likewise.
22863         * tests/test-mkdir.c (mkdir): Likewise.
22864         * tests/test-mkdirat.c (mkdirat): Likewise.
22865         * tests/test-mkfifo.c (mkfifo): Likewise.
22866         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
22867         * tests/test-mknod.c (mknod): Likewise.
22868         * tests/test-nanosleep.c (nanosleep): Likewise.
22869         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
22870         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
22871         Likewise.
22872         * tests/test-open.c (open): Likewise.
22873         * tests/test-openat.c (openat): Likewise.
22874         * tests/test-perror.c (perror): Likewise.
22875         * tests/test-pipe2.c (pipe2): Likewise.
22876         * tests/test-poll.c (poll): Likewise.
22877         * tests/test-popen.c (popen, pclose): Likewise.
22878         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
22879         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
22880         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
22881         (posix_spawn_file_actions_destroy)
22882         (posix_spawn_file_actions_addclose)
22883         (posix_spawn_file_actions_addopen)
22884         (posix_spawn_file_actions_adddup2): Likewise.
22885         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
22886         * tests/test-pread.c (pread): Likewise.
22887         * tests/test-printf-posix.c (printf): Likewise.
22888         * tests/test-pty.c (openpty, forkpty): Likewise.
22889         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
22890         (random_r): Likewise.
22891         * tests/test-rawmemchr.c (rawmemchr): Likewise.
22892         * tests/test-readlink.c (readlink): Likewise.
22893         * tests/test-remove.c (remove): Likewise.
22894         * tests/test-rename.c (rename): Likewise.
22895         * tests/test-renameat.c (renameat): Likewise.
22896         * tests/test-rmdir.c (rmdir): Likewise.
22897         * tests/test-round1.c (round): Likewise.
22898         * tests/test-roundf1.c (roundf): Likewise.
22899         * tests/test-roundl.c (roundl): Likewise.
22900         * tests/test-setenv.c (setenv): Likewise.
22901         * tests/test-sigaction.c (sigaction): Likewise.
22902         * tests/test-sleep.c (sleep): Likewise.
22903         * tests/test-snprintf.c (snprintf): Likewise.
22904         * tests/test-sprintf-posix.c (sprintf): Likewise.
22905         * tests/test-stat.c (stat): Likewise.
22906         * tests/test-stpncpy.c (stpncpy): Likewise.
22907         * tests/test-strcasestr.c (strcasestr): Likewise.
22908         * tests/test-strchrnul.c (strchrnul): Likewise.
22909         * tests/test-strerror.c (strerror): Likewise.
22910         * tests/test-strsignal.c (strsignal): Likewise.
22911         * tests/test-strstr.c (strstr): Likewise.
22912         * tests/test-strtod.c (strtod): Likewise.
22913         * tests/test-strverscmp.c (strverscmp): Likewise.
22914         * tests/test-symlink.c (symlink): Likewise.
22915         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
22916         * tests/test-times.c (times): Likewise.
22917         * tests/test-trunc1.c (trunc): Likewise.
22918         * tests/test-truncf1.c (truncf): Likewise.
22919         * tests/test-truncl.c (truncl): Likewise.
22920         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
22921         Likewise.
22922         * tests/test-uname.c (uname): Likewise.
22923         * tests/test-unlink.c (unlink): Likewise.
22924         * tests/test-unlinkat.c (unlinkat): Likewise.
22925         * tests/test-unsetenv.c (unsetenv): Likewise.
22926         * tests/test-usleep.c (usleep): Likewise.
22927         * tests/test-utimensat.c (utimensat): Likewise.
22928         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
22929         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
22930         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
22931         * tests/test-vprintf-posix.c (vprintf): Likewise.
22932         * tests/test-vsnprintf.c (vsnprintf): Likewise.
22933         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
22934         * tests/test-wcrtomb.c (wcrtomb): Likewise.
22935         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
22936         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
22937         * tests/test-wcwidth.c (wcwidth): Likewise.
22938
22939         build: pull in conditional headers during GNULIB_POSIXCHECK
22940         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
22941         definitions from any conditionally-included headers.
22942         * lib/stdlib.in.h (includes): Likewise.
22943         * lib/unistd.in.h (includes): Likewise.
22944
22945 2009-12-24  Bruno Haible  <bruno@clisp.org>
22946
22947         * tests/test-argv-iter.c: Include header file being tested immediately
22948         after config.h.
22949         * tests/test-base64.c: Likewise.
22950         * tests/test-flock.c: Likewise.
22951         * tests/test-fsync.c: Likewise.
22952         * tests/test-getdate.c: Likewise.
22953         * tests/test-getndelim2.c: Likewise.
22954         * tests/test-isfinite.c: Likewise.
22955         * tests/test-isinf.c: Likewise.
22956         * tests/test-strerror.c: Likewise.
22957         * tests/test-strsignal.c: Likewise.
22958
22959 2009-12-23  Eric Blake  <ebb9@byu.net>
22960
22961         unistd: work around cygwin bug
22962         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
22963         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
22964         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22965
22966 2009-12-23  Bruno Haible  <bruno@clisp.org>
22967
22968         localename: More tests.
22969         * tests/test-localename.c (SIZEOF): New macro.
22970         (categories): New variable.
22971         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
22972         test_locale_name_default): Add test w.r.t. thread locale.
22973         (test_locale_name_thread): New function.
22974         (main): Invoke it.
22975
22976         localename: Make aware of thread locale.
22977         * lib/localename.h (gl_locale_name_thread): New declaration.
22978         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
22979         behaviour with respect to thread locale.
22980         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
22981         <langinfo.h>, glthread/lock.h.
22982         (SIZE_BITS): New macro.
22983         (string_hash): New function.
22984         (struct hash_node): New type.
22985         (HASH_TABLE_SIZE): New macro.
22986         (struniq_hash_table, struniq_lock): New variables.
22987         (struniq): New function.
22988         (gl_locale_name_thread): New function.
22989         (gl_locale_name): Invoke it.
22990         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
22991         * modules/localename (Depends-on): Add lock.
22992         Reported by Mike Gran <spk121@yahoo.com>.
22993
22994 2009-12-23  Eric Blake  <ebb9@byu.net>
22995
22996         va-args: new module
22997         * modules/va-args: New file.
22998         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
22999         * MODULES.html.sh (Core language properties): Mention it.
23000
23001         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
23002         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
23003         named alias for __attribute__((__unused__)).
23004         * lib/chown.c: Update client.
23005         * lib/fchmodat.c: Likewise.
23006         * lib/fts.c: Likewise.
23007         * lib/getdate.y: Likewise.
23008         * lib/getgroups.c: Likewise.
23009         * lib/getopt.c: Likewise.
23010         * lib/getugroups.c: Likewise.
23011         * lib/mkdir.c: Likewise.
23012         * lib/mkfifo.c: Likewise.
23013         * lib/mkfifoat.c: Likewise.
23014         * lib/mknod.c: Likewise.
23015         * lib/mknodat.c: Likewise.
23016         * lib/readlink.c: Likewise.
23017         * lib/se-context.in.h: Likewise.
23018         * lib/se-selinux.in.h: Likewise.
23019         * lib/sockets.c: Likewise.
23020         * lib/symlink.c: Likewise.
23021         * lib/symlinkat.c: Likewise.
23022         * lib/unicodeio.c: Likewise.
23023         * lib/unistr.h: Likewise.
23024         * tests/test-areadlink.c: Likewise.
23025         * tests/test-areadlinkat.c: Likewise.
23026         * tests/test-filenamecat.c: Likewise.
23027         * tests/test-fseeko.c: Likewise.
23028         * tests/test-ftello.c: Likewise.
23029         * tests/test-getdate.c: Likewise.
23030         * tests/test-getgroups.c: Likewise.
23031         * tests/test-gethostname.c: Likewise.
23032         * tests/test-quotearg.c: Likewise.
23033         * tests/test-version-etc.c: Likewise.
23034         * tests/test-xalloc-die.c: Likewise.
23035         * tests/test-xfprintf-posix.c: Likewise.
23036         * tests/test-xprintf-posix.c: Likewise.
23037         * tests/test-xvasprintf.c: Likewise.
23038
23039         tests: avoid compiler warnings
23040         * tests/test-fcntl.c (main): Delete unused parameters.
23041         * tests/test-freopen-safer.c (main): Likewise.
23042         * tests/test-xalloc-die.c (main): Mark unused parameters.
23043         * tests/test-fseeko.c (main): Likewise.
23044         * tests/test-ftello.c (main): Likewise.
23045         * tests/test-nanosleep.c (main): Avoid declaration warning.
23046         * tests/test-sleep.c (main): Likewise.
23047         * tests/test-unsetenv.c (main): Silence warning about string
23048         literal.
23049         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23050
23051 2009-12-23  Bruno Haible  <bruno@clisp.org>
23052
23053         * tests/test-localename.c (test_locale_name): New function, extracted
23054         from main. Also test mixed situations.
23055         (test_locale_name_posix, test_locale_name_environ,
23056         test_locale_name_default): New functions.
23057         (main): Invoke them all.
23058         * modules/localename-tests (configure.ac): Test for newlocale.
23059
23060 2009-12-23  Bruno Haible  <bruno@clisp.org>
23061
23062         unistd: Ensure getcwd gets declared before being overridden.
23063         * lib/unistd.in.h: Conditionally include <io.h>.
23064
23065 2009-12-22  Bruno Haible  <bruno@clisp.org>
23066
23067         wchar: Diagnose broken combination of glibc and gcc versions and flags.
23068         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
23069         (gl_WCHAR_H): Invoke it.
23070         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
23071         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
23072         Reported by Karl Berry <karl@freefriends.org>.
23073
23074 2009-12-22  Eric Blake  <ebb9@byu.net>
23075
23076         math, unistd: avoid redundant includes
23077         * lib/math.in.h (isnan): No need to re-include <math.h>.
23078         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
23079
23080         getsubopt: work around cygwin bug
23081         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
23082         avoid conflicting with system getsubopt.
23083         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
23084         bug.
23085
23086         getopt: synchronize from glibc
23087         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
23088         parameter order.  Adjust all callers.
23089         (_getopt_internal_r, main): Adjust quoting in error messages.
23090         Drop considerations for outdated POSIX 1003.2 error message.
23091         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
23092         callers.
23093         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
23094
23095         test-getopt: test stderr behavior
23096         * modules/getopt-posix-tests (Depends-on): Add dup2.
23097         * tests/test-getopt.c (ASSERT): Avoid stderr.
23098         (main): Move stderr to a temporary file.
23099         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
23100         Instead, add parameter to inform caller if output occurred.
23101         (test_getopt): Adjust all existing tests to expect silence, and
23102         add new tests of leading ":".
23103         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
23104         glibc shortcomings with leading "-:" or "+:" in optstring.
23105         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23106         Likewise.
23107         * doc/posix-functions/getopt.texi (getopt): Likewise.
23108
23109         test-getopt: enhance test
23110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
23111         supports optind=0.
23112         * tests/test-getopt.c (OPTIND_MIN): Move...
23113         * tests/test-getopt.h (OPTIND_MIN): ...here.
23114         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
23115         Require that optind=0 works, since modern BSD supports it in
23116         addition to optreset, and since coreutils expects it.
23117         (test_getopt_long_only): New test.
23118         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
23119         glibc shortcomings with 'W;', and enforcement of optind=0.
23120         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23121         Likewise.
23122
23123 2009-12-21  Bruno Haible  <bruno@clisp.org>
23124
23125         localename: Improvements for MacOS X and Cygwin.
23126         * lib/localename.h (gl_locale_name_environ): New declaration.
23127         * lib/localename.c (gl_locale_name_environ): New function, extracted from
23128         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
23129         (gl_locale_name_posix): Invoke it.
23130         (gl_locale_name_default): Add comments. Use Windows native API also on
23131         Cygwin.
23132
23133 2009-12-21  Bruno Haible  <bruno@clisp.org>
23134
23135         Update list of Win32 locale ids.
23136         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
23137         (LANG_SAMI): Renamed from LANG_SAAMI.
23138         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
23139         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
23140         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
23141         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
23142         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
23143         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
23144         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
23145         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
23146         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
23147         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
23148         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
23149         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
23150         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
23151         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
23152         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
23153         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
23154         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
23155         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
23156         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
23157         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
23158         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
23159         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
23160         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
23161         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
23162         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
23163         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
23164         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
23165         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
23166         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
23167         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
23168         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
23169         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
23170         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
23171         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
23172         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
23173         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
23174         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
23175         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
23176         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
23177         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
23178         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
23179         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
23180         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
23181         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
23182         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
23183         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
23184         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
23185         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
23186         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
23187         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
23188         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
23189         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
23190         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
23191         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
23192         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
23193         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
23194         Add more languages and countries for Sami, Sorbian. Add more countries
23195         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
23196         for Pashto. Change country for Syriac, Tswana.
23197
23198 2009-12-21  Eric Blake  <ebb9@byu.net>
23199
23200         test-utimens: avoid spurious failure
23201         * tests/test-chown.h (nap): Factor...
23202         * tests/nap.h: ...into new file.
23203         * tests/test-lchown.h (nap): Avoid duplication.
23204         * tests/test-utimens-common.h (nap): Use shared implementation,
23205         necessary on file systems with 1-second resolution.
23206         * modules/chown-tests (Files): Include new file.
23207         * modules/fdutimensat-tests (Files): Likewise.
23208         * modules/futimens-tests (Files): Likewise.
23209         * modules/lchown-tests (Files): Likewise.
23210         * modules/openat-tests (Files): Likewise.
23211         * modules/utimens-tests (Files): Likewise.
23212         * modules/utimensat-tests (Files): Likewise.
23213
23214 2009-12-19  Eric Blake  <ebb9@byu.net>
23215
23216         futimens, utimensat: work around Linux bug
23217         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
23218         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23219         * lib/utimensat.c (rpl_utimensat): Work around it.
23220         * lib/futimens.c (rpl_futimens): Adjust comment.
23221
23222         utimens: work around Linux ctime bug
23223         * lib/utimens.c (detect_ctime_bug): New helper function.
23224         (update_timespec): Differentiate between workaround needed for
23225         this bug vs. what is needed for systems that lack utimensat.
23226         (fdutimens, lutimens): Work around bug.
23227
23228         utimens: check for ctime update
23229         * tests/test-utimens-common.h (check_ctime): Define.
23230         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
23231         * tests/test-futimens.h (test_futimens): Likewise.
23232         * tests/test-lutimens.h (test_lutimens): Likewise.
23233         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23234         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23235
23236 2009-12-19  Bruno Haible  <bruno@clisp.org>
23237
23238         dprintf-posix: Check against memory leak fixed on 2009-12-15.
23239         * tests/test-dprintf-posix2.sh: New file.
23240         * tests/test-dprintf-posix2.c: New file.
23241         * modules/dprintf-posix-tests (Files): Add them.
23242         (configure.ac): Check for getrlimit and setrlimit.
23243         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
23244
23245 2009-12-19  Bruno Haible  <bruno@clisp.org>
23246
23247         fprintf-posix: Check against memory leak fixed on 2009-12-15.
23248         * tests/test-fprintf-posix3.sh: New file.
23249         * tests/test-fprintf-posix3.c: New file.
23250         * modules/fprintf-posix-tests (Files): Add them.
23251         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
23252
23253 2009-12-19  Eric Blake  <ebb9@byu.net>
23254
23255         dirfd: fix prototype
23256         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
23257         * lib/dirfd.c (dirfd): Likewise.
23258
23259         canonicalize: reduce memory usage
23260         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
23261         allocation to size.
23262         Reported by Solar Designer <solar@openwall.com>.
23263
23264 2009-12-19  Bruno Haible  <bruno@clisp.org>
23265
23266         New module attribute 'Applicability'.
23267         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
23268         * gnulib-tool: New option --extract-applicability.
23269         (func_usage): Document it.
23270         (sed_extract_prog): Recognize it.
23271         (func_get_applicability): New function.
23272         (func_import): Generalize handling of 'link-warning' module.
23273         * modules/link-warning (Applicability): New section.
23274         * modules/arg-nonnull (Applicability): New section.
23275         Repoted by Simon Josefsson <simon@josefsson.org>.
23276
23277 2009-12-19  Bruno Haible  <bruno@clisp.org>
23278
23279         fflush: tweak
23280         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
23281         * lib/fseeko.c (rpl_fseeko): Likewise.
23282
23283 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
23284
23285         * lib/gl_list.h: Fix typo in comment.
23286
23287 2009-12-16  Eric Blake  <ebb9@byu.net>
23288
23289         fcntl: use to simplify other modules
23290         * modules/cloexec (Depends-on): Add fcntl.
23291         * modules/fchdir (Depends-on): Likewise.
23292         * modules/fd-safer-flag (Depends-on): Likewise.
23293         * modules/unistd-safer (Depends-on): Likewise.
23294         * modules/dup3 (configure.ac): Set module indicator.
23295         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
23296         missing.
23297         * lib/fchdir.c (_gl_register_dup): Fix comment.
23298         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
23299         * lib/dup-safer.c (dup_safer): Likewise.
23300         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
23301         * lib/dup3.c (dup3): Likewise.
23302         * tests/test-fchdir.c (main): Enhance test.
23303         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
23304
23305         fcntl: port portions of fcntl to mingw
23306         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
23307         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
23308         replacement for mingw.
23309         * modules/fcntl (Description): Update.
23310         (Depends-on): Add dup2.
23311         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
23312         * modules/fcntl-h (Makefile.am): Substitute it.
23313         * lib/fcntl.in.h (fcntl): Update declaration.
23314         (F_DUPFD, F_GETFD): New macros, when needed.
23315         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
23316         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
23317         * tests/test-fcntl.c (check_flags, main): Enhance test for items
23318         we now guarantee.
23319
23320         fcntl: work around cygwin bug in F_DUPFD
23321         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
23322         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
23323         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
23324         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
23325         * doc/posix-functions/fcntl.texi (fcntl): Document it.
23326
23327         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
23328         * modules/fcntl (Files): List new files.
23329         (configure.ac): Run a test.
23330         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
23331         * lib/fcntl.c (rpl_fcntl): Likewise.
23332         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
23333         (gl_FCNTL_H): Always replace fcntl.h.
23334         * modules/fcntl-h (Makefile.am): Substitute witnesses.
23335         * lib/fcntl.in.h (fcntl): Declare replacement.
23336         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
23337         needed, plus a witness.
23338         * doc/posix-functions/fcntl.texi (fcntl): Document this.
23339         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
23340         * tests/test-fcntl.c: New file.
23341         * modules/fcntl-tests: Likewise.
23342
23343         binary-io: avoid potential compilation warning
23344         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
23345         directives.
23346
23347         fflush: avoid compilation error on NetBSD
23348         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
23349         between off_t and fpos_t, since the latter is sometimes a struct.
23350         * lib/fseeko.c (rpl_fseeko): Likewise.
23351         Reported by Alexander Nasonov <alnsn@yandex.ru>.
23352
23353 2009-12-15  Eric Blake  <ebb9@byu.net>
23354
23355         fcntl-h, stdio, sys_ioctl: fix declarations
23356         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
23357         function must not take arguments.
23358         * lib/sys_ioctl.in.h (ioctl): Likewise.
23359         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
23360         (open): Add a link warning.
23361
23362 2009-12-15  Jim Meyering  <meyering@redhat.com>
23363
23364         areadlink, areadlink-with-size: relax license to LGPLv2+
23365         * modules/areadlink (License): Relax to LGPLv2+.
23366         * modules/areadlink-with-size (License): Likewise.
23367
23368 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
23369             Bruno Haible  <bruno@clisp.org>
23370
23371         *printf: Fix memory leak.
23372         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
23373         * lib/vfprintf.c (vfprintf): Likewise.
23374         * lib/dprintf.c (dprintf): Likewise.
23375         * lib/vdprintf.c (vdprintf): Likewise.
23376
23377 2009-12-14  Eric Blake  <ebb9@byu.net>
23378
23379         accept4: adjust module dependencies
23380         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
23381
23382         utimens: one more try at avoiding compiler warning
23383         * lib/utimens.c (lutimens): Lower scope of result.
23384
23385 2009-12-13  Bruno Haible  <bruno@clisp.org>
23386
23387         Move the malloc checking from module 'list' to new module 'xlist'.
23388         * modules/xlist: New file.
23389         * lib/gl_xlist.h: New file.
23390         * lib/gl_xlist.c: New file.
23391         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
23392         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
23393         gl_list_add_last, gl_list_add_before, gl_list_add_after,
23394         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
23395         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
23396         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
23397         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
23398         gl_sortedlist_nx_add): New declarations.
23399         (struct gl_list_implementation): Rename and change methods accordingly.
23400         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
23401         (gl_list_nx_create): Renamed from gl_list_create.
23402         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
23403         (gl_list_nx_set_at): Renamed from gl_list_set_at.
23404         (gl_list_nx_add_first): Renamed from gl_list_add_first.
23405         (gl_list_nx_add_last): Renamed from gl_list_add_last.
23406         (gl_list_nx_add_before): Renamed from gl_list_add_before.
23407         (gl_list_nx_add_after): Renamed from gl_list_add_after.
23408         (gl_list_nx_add_at): Renamed from gl_list_add_at.
23409         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
23410         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
23411         gl_list_create_empty.
23412         (gl_list_nx_create): Renamed from gl_list_create.
23413         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
23414         (gl_list_nx_set_at): Renamed from gl_list_set_at.
23415         (gl_list_nx_add_first): Renamed from gl_list_add_first.
23416         (gl_list_nx_add_last): Renamed from gl_list_add_last.
23417         (gl_list_nx_add_before): Renamed from gl_list_add_before.
23418         (gl_list_nx_add_after): Renamed from gl_list_add_after.
23419         (gl_list_nx_add_at): Renamed from gl_list_add_at.
23420         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
23421         * lib/gl_array_list.c: Don't include xalloc.h.
23422         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
23423         NULL upon out-of-memory.
23424         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
23425         out-of-memory.
23426         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
23427         Change return type to 'int'.
23428         (gl_array_nx_set_at): Renamed from gl_array_set_at.
23429         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
23430         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
23431         upon out-of-memory.
23432         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
23433         upon out-of-memory.
23434         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
23435         upon out-of-memory.
23436         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
23437         upon out-of-memory.
23438         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
23439         out-of-memory.
23440         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
23441         Update.
23442         (gl_array_list_implementation): Update.
23443         * lib/gl_carray_list.c: Don't include xalloc.h.
23444         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
23445         Return NULL upon out-of-memory.
23446         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
23447         out-of-memory.
23448         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
23449         Change return type to 'int'.
23450         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
23451         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
23452         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
23453         upon out-of-memory.
23454         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
23455         upon out-of-memory.
23456         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
23457         out-of-memory.
23458         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
23459         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
23460         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
23461         Update.
23462         (gl_carray_list_implementation): Update.
23463         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
23464         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
23465         gl_linked_create_empty. Return NULL upon out-of-memory.
23466         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
23467         out-of-memory.
23468         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
23469         Change return type to 'int'. Return -1 upon out-of-memory.
23470         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
23471         out-of-memory.
23472         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
23473         upon out-of-memory.
23474         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
23475         upon out-of-memory.
23476         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
23477         NULL upon out-of-memory.
23478         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
23479         upon out-of-memory.
23480         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
23481         out-of-memory.
23482         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
23483         Update.
23484         * lib/gl_linked_list.c: Don't include xalloc.h.
23485         (gl_linked_list_implementation): Update.
23486         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
23487         (add_to_bucket): Change return type to 'int'.
23488         (gl_linkedhash_list_implementation): Update.
23489         * lib/gl_anytree_list1.h (free_subtree): New function.
23490         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
23491         gl_tree_create_empty. Return NULL upon out-of-memory.
23492         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
23493         Change return type to 'int'. Return -1 upon out-of-memory.
23494         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
23495         out-of-memory.
23496         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
23497         (gl_tree_remove_node): New function, moved here from
23498         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
23499         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
23500         Update.
23501         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
23502         malloc, not xmalloc. Return NULL upon out-of-memory.
23503         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
23504         out-of-memory.
23505         (gl_tree_remove_node_from_tree): New function, extracted from
23506         gl_tree_remove_node.
23507         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
23508         upon out-of-memory.
23509         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
23510         out-of-memory.
23511         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
23512         upon out-of-memory.
23513         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
23514         upon out-of-memory.
23515         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
23516         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
23517         not xmalloc. Return NULL upon out-of-memory.
23518         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
23519         out-of-memory.
23520         (gl_tree_remove_node_from_tree): New function, extracted from
23521         gl_tree_remove_node.
23522         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
23523         upon out-of-memory.
23524         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
23525         out-of-memory.
23526         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
23527         upon out-of-memory.
23528         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
23529         upon out-of-memory.
23530         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
23531         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
23532         gl_anytree_list1.h before gl_anyavltree_list2.h.
23533         (gl_avltree_list_implementation): Update.
23534         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
23535         gl_anytree_list1.h before gl_anyavltree_list2.h.
23536         (gl_rbtree_list_implementation): Update.
23537         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
23538         Change return type to 'int'. Return -1 upon out-of-memory. Use
23539         __builtin_expect.
23540         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
23541         (gl_avltreehash_list_implementation): Update.
23542         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
23543         (gl_rbtreehash_list_implementation): Update.
23544         * modules/array-list (Depends-on): Remove xalloc.
23545         * modules/carray-list (Depends-on): Likewise.
23546         * modules/linked-list (Depends-on): Likewise.
23547         * modules/linkedhash-list (Depends-on): Likewise.
23548         * modules/avltree-list (Depends-on): Likewise.
23549         * modules/rbtree-list (Depends-on): Likewise.
23550         * modules/avltreehash-list (Depends-on): Likewise.
23551         * modules/rbtreehash-list (Depends-on): Likewise.
23552
23553         * modules/xsublist: New file.
23554         * lib/gl_xsublist.h: New file.
23555         * lib/gl_xsublist.c: New file.
23556         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
23557         (gl_sublist_nx_create): New declaration.
23558         * lib/gl_sublist.c: Don't include xalloc.h.
23559         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
23560         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
23561         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
23562         Change return type to 'int'. Return -1 upon out-of-memory.
23563         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
23564         upon out-of-memory.
23565         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
23566         NULL upon out-of-memory.
23567         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
23568         upon out-of-memory.
23569         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
23570         NULL upon out-of-memory.
23571         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
23572         NULL upon out-of-memory.
23573         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
23574         upon out-of-memory.
23575         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
23576         (gl_sublist_list_implementation): Update.
23577         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
23578         upon out-of-memory.
23579         * modules/sublist (Depends-on): Remove xalloc.
23580
23581         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
23582         * tests/test-carray_list.c: Likewise.
23583         * tests/test-linked_list.c: Likewise.
23584         * tests/test-linkedhash_list.c: Likewise.
23585         * tests/test-avltree_list.c: Likewise.
23586         * tests/test-rbtree_list.c: Likewise.
23587         * tests/test-avltreehash_list.c: Likewise.
23588         * tests/test-rbtreehash_list.c: Likewise.
23589         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
23590         * modules/carray-list-tests (Makefile.am): Likewise.
23591         * modules/linked-list-tests (Makefile.am): Likewise.
23592         * modules/linkedhash-list-tests (Makefile.am): Likewise.
23593         * modules/avltree-list-tests (Makefile.am): Likewise.
23594         * modules/rbtree-list-tests (Makefile.am): Likewise.
23595         * modules/avltreehash-list-tests (Makefile.am): Likewise.
23596         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
23597
23598         * NEWS: Mention the changes.
23599
23600         * lib/clean-temp.c: Include gl_xlist.h.
23601         * modules/clean-temp (Depends-on): Add xlist.
23602
23603         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
23604         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
23605
23606         * tests/test-array_oset.c: Include gl_xlist.h.
23607         * modules/array-oset-tests (Depends-on): Add xlist.
23608
23609         Reported by José E. Marchesi <jemarch@gnu.org>.
23610
23611 2009-12-13  Bruno Haible  <bruno@clisp.org>
23612
23613         Move the malloc checking from module 'oset' to new module 'xoset'.
23614         * modules/xoset: New file.
23615         * lib/gl_xoset.h: New file.
23616         * lib/gl_xoset.c: New file.
23617         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
23618         declarations.
23619         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
23620         (struct gl_oset_implementation): Rename and change methods accordingly.
23621         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
23622         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
23623         'int'. Mark as __warn_unused_result__.
23624         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
23625         gl_oset_create_empty.
23626         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
23627         'int'.
23628         * lib/gl_array_oset.c: Don't include xalloc.h.
23629         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
23630         malloc, not xmalloc.
23631         (grow): Change return type to 'int'. Don't call xalloc_die.
23632         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
23633         to 'int'.
23634         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
23635         'int'.
23636         (gl_array_oset_implementation): Update.
23637         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
23638         gl_tree_create_empty.
23639         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
23640         'int'.
23641         * lib/gl_avltree_oset.c: Don't include xalloc.h.
23642         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
23643         xmalloc.
23644         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
23645         not xmalloc.
23646         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
23647         xmalloc.
23648         (gl_avltree_oset_implementation): Update.
23649         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
23650         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
23651         xmalloc.
23652         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
23653         not xmalloc.
23654         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
23655         xmalloc.
23656         (gl_rbtree_oset_implementation): Update.
23657         * modules/array-oset (Depends-on): Remove xalloc.
23658         * modules/avltree-oset (Depends-on): Likewise.
23659         * modules/rbtree-oset (Depends-on): Likewise.
23660         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
23661         * tests/test-avltree_oset.c: Likewise.
23662         * tests/test-rbtree_oset.c: Likewise.
23663         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
23664         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
23665         * modules/rbtree-oset-tests (Makefile.am): Likewise.
23666         * NEWS: Mention the change.
23667
23668 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
23669
23670         maint.mk: allow a project to override release-prep commands
23671         * top/maint.mk (alpha, beta, stable): Move release-preparatory
23672         commands into a new rule.
23673         (release-prep): New rule.
23674         (release-prep-hook): New overridable variable.
23675
23676 2009-12-13  Bruno Haible  <bruno@clisp.org>
23677
23678         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
23679
23680 2009-12-13  Jim Meyering  <meyering@redhat.com>
23681
23682         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
23683         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
23684
23685 2009-12-12  Bruno Haible  <bruno@clisp.org>
23686
23687         duplocale: Tweak.
23688         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
23689
23690 2009-12-12  Karl Berry  <karl@gnu.org>
23691
23692         * config/srclist.txt (strtoll.c): tab changes, no more sync.
23693
23694 2009-12-12  Bruno Haible  <bruno@clisp.org>
23695
23696         * m4/po.m4: Undo incorrect untabification.
23697
23698 2009-12-12  Bruno Haible  <bruno@clisp.org>
23699
23700         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
23701         * modules/c-strtod (Depends-on): Add locale.
23702         * modules/c-strtold (Depends-on): Likewise.
23703
23704 2009-12-12  Bruno Haible  <bruno@clisp.org>
23705
23706         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
23707
23708 2009-12-11  Eric Blake  <ebb9@byu.net>
23709
23710         setenv: relax requirement in light of POSIX ruling
23711         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
23712         not NULL.
23713         * tests/test-setenv.c (main): Relax test.
23714         * tests/test-unsetenv.c (main): Likewise.
23715         * doc/posix-functions/setenv.texi (setenv): Document this.
23716         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
23717
23718 2009-12-11  Bruno Haible  <bruno@clisp.org>
23719
23720         New module 'fd-safer-flag'.
23721         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
23722         * lib/dup-safer.c (dup_safer_flag): Remove function.
23723         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
23724         * lib/fd-safer.c (fd_safer_flag): Remove function.
23725         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
23726         * modules/cloexec (configure.ac): Drop indicator macro.
23727         * modules/fd-safer-flag: New file.
23728         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
23729         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
23730         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
23731
23732 2009-12-11  Bruno Haible  <bruno@clisp.org>
23733
23734         Tests for module 'nl_langinfo'.
23735         * modules/nl_langinfo-tests: New file.
23736         * tests/test-nl_langinfo.sh: New file.
23737         * tests/test-nl_langinfo.c: New file.
23738
23739         New module 'nl_langinfo'.
23740         * lib/nl_langinfo.c: New file.
23741         * m4/nl_langinfo.m4: New file.
23742         * modules/nl_langinfo: New file.
23743         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
23744
23745 2009-12-11  Bruno Haible  <bruno@clisp.org>
23746
23747         Tests for module 'langinfo'.
23748         * modules/langinfo-tests: New file.
23749         * tests/test-langinfo.c: New file.
23750
23751         New module 'langinfo'.
23752         * lib/langinfo.in.h: New file.
23753         * m4/langinfo_h.m4: New file.
23754         * modules/langinfo: New file.
23755         * doc/posix-headers/langinfo.texi: Mention the new module.
23756
23757 2009-12-11  Bruno Haible  <bruno@clisp.org>
23758
23759         * lib/config.charset: Untabify.
23760
23761 2009-12-11  Bruno Haible  <bruno@clisp.org>
23762
23763         * modules/unistd-safer (configure.ac): Drop indicator macro.
23764
23765 2009-12-11  Bruno Haible  <bruno@clisp.org>
23766
23767         Move pipe2-safer code to its own file.
23768         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
23769         * lib/pipe-safer.c (pipe2_safer): Remove function.
23770         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
23771         (Makefile.am): Add it to lib_SOURCES.
23772
23773 2009-12-10  Bruno Haible  <bruno@clisp.org>
23774
23775         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
23776
23777 2009-12-10  Bruno Haible  <bruno@clisp.org>
23778
23779         Declare which arguments expect non-NULL values, for GCC and clang.
23780         * build-aux/arg-nonnull.h: New file.
23781         * modules/arg-nonnull: New file.
23782         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
23783         (inet_ntop, inet_pton): Use it.
23784         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
23785         (closedir, dirfd, opendir, scandir, alphasort): Use it.
23786         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
23787         (open, openat): Use it.
23788         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
23789         (fnmatch): Use it.
23790         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
23791         (getopt, getopt_long, getopt_long_only): Use it.
23792         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
23793         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
23794         Use it.
23795         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
23796         (iconv_open): Use it.
23797         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
23798         (strtoimax, strtoumax): Use it.
23799         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
23800         (duplocale): Use it.
23801         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
23802         (frexp, frexpl): Use it.
23803         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
23804         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
23805         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
23806         (tsearch, tfind, tdelete, twalk): Use it.
23807         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
23808         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
23809         sigpending): Use it.
23810         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
23811         (posix_spawn, posix_spawnp, posix_spawnattr_init,
23812         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
23813         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
23814         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
23815         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
23816         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
23817         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
23818         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
23819         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
23820         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
23821         Use it.
23822         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
23823         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
23824         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
23825         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
23826         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
23827         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
23828         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
23829         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
23830         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
23831         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
23832         strtoull, unsetenv): Use it.
23833         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
23834         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
23835         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
23836         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
23837         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
23838         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
23839         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
23840         (strcasecmp, strncasecmp): Use it.
23841         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
23842         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
23843         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
23844         rpl_setsockopt): Use it.
23845         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
23846         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
23847         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
23848         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
23849         (gettimeofday): Use it.
23850         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
23851         (times): Use it.
23852         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
23853         (uname): Use it.
23854         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
23855         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
23856         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
23857         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
23858         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
23859         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
23860         unlinkat, write): Use it.
23861         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
23862         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
23863         * lib/argv-iter.h: Include arg-nonnull.h.
23864         (_ATTRIBUTE_NONNULL_): Remove macro.
23865         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
23866         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
23867         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
23868         optimization.
23869         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
23870         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
23871         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
23872         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
23873         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
23874         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
23875         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
23876         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
23877         * modules/arpa_inet (Depends-on): Add arg-nonnull.
23878         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
23879         * modules/dirent (Depends-on): Add arg-nonnull.
23880         (Makefile.am): Insert arg-nonnull.h into dirent.h.
23881         * modules/fcntl-h (Depends-on): Add arg-nonnull.
23882         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
23883         * modules/fnmatch (Depends-on): Add arg-nonnull.
23884         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
23885         * modules/getopt-posix (Depends-on): Add arg-nonnull.
23886         (Makefile.am): Insert arg-nonnull.h into getopt.h.
23887         * modules/glob (Depends-on): Add arg-nonnull.
23888         (Makefile.am): Insert arg-nonnull.h into glob.h.
23889         * modules/iconv_open (Depends-on): Add arg-nonnull.
23890         (Makefile.am): Insert arg-nonnull.h into iconv.h.
23891         * modules/inttypes (Depends-on): Add arg-nonnull.
23892         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
23893         * modules/locale (Depends-on): Add arg-nonnull.
23894         (Makefile.am): Insert arg-nonnull.h into locale.h.
23895         * modules/math (Depends-on): Add arg-nonnull.
23896         (Makefile.am): Insert arg-nonnull.h into math.h.
23897         * modules/netdb (Depends-on): Add arg-nonnull.
23898         (Makefile.am): Insert arg-nonnull.h into netdb.h.
23899         * modules/search (Depends-on): Add arg-nonnull.
23900         (Makefile.am): Insert arg-nonnull.h into search.h.
23901         * modules/signal (Depends-on): Add arg-nonnull.
23902         (Makefile.am): Insert arg-nonnull.h into signal.h.
23903         * modules/spawn (Depends-on): Add arg-nonnull.
23904         (Makefile.am): Insert arg-nonnull.h into spawn.h.
23905         * modules/stdio (Depends-on): Add arg-nonnull.
23906         (Makefile.am): Insert arg-nonnull.h into stdio.h.
23907         * modules/stdlib (Depends-on): Add arg-nonnull.
23908         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
23909         * modules/string (Depends-on): Add arg-nonnull.
23910         (Makefile.am): Insert arg-nonnull.h into string.h.
23911         * modules/strings (Depends-on): Add arg-nonnull.
23912         (Makefile.am): Insert arg-nonnull.h into strings.h.
23913         * modules/sys_socket (Depends-on): Add arg-nonnull.
23914         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
23915         * modules/sys_stat (Depends-on): Add arg-nonnull.
23916         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
23917         * modules/sys_time (Depends-on): Add arg-nonnull.
23918         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
23919         * modules/sys_times (Depends-on): Add arg-nonnull.
23920         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
23921         * modules/sys_utsname (Depends-on): Add arg-nonnull.
23922         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
23923         * modules/time (Depends-on): Add arg-nonnull.
23924         (Makefile.am): Insert arg-nonnull.h into time.h.
23925         * modules/unistd (Depends-on): Add arg-nonnull.
23926         (Makefile.am): Insert arg-nonnull.h into unistd.h.
23927         * modules/wchar (Depends-on): Add arg-nonnull.
23928         (Makefile.am): Insert arg-nonnull.h into wchar.h.
23929         * modules/argv-iter (Depends-on): Add arg-nonnull.
23930         * tests/test-canonicalize.c (null_ptr): New function.
23931         (main): Use it.
23932         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
23933         (main): Use it.
23934         * tests/test-memmem.c (null_ptr): New function.
23935         (main): Use it.
23936         Reported by Jim Meyering.
23937
23938 2009-12-10  Bruno Haible  <bruno@clisp.org>
23939
23940         Use spaces for indentation, not tabs.
23941         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
23942         * m4/*.m4: Untabify.
23943         * build-aux/*.h: Untabify.
23944         * tests/**/*.[hc]: Untabify.
23945         * README: New section "Indent with spaces, not TABs", based on
23946         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
23947         * NEWS: Mention the change.
23948
23949 2009-12-10  Bruno Haible  <bruno@clisp.org>
23950
23951         pty test: Fix link error.
23952         * modules/pty-tests (Makefile.am): Add the default LDADD value to
23953         test_pty_LDADD.
23954
23955 2009-12-07  Simon Josefsson  <simon@josefsson.org>
23956
23957         * modules/pty: New file.
23958         * modules/pty-tests: New file.
23959         * m4/pty.m4: New file.
23960         * tests/test-pty.c: New file.
23961         * doc/glibc-headers/pty.texi: Modified.
23962         * doc/glibc-functions/forkpty.texi: Modified.
23963         * doc/glibc-functions/openpty.texi: Modified.
23964
23965 2009-12-10  Bruno Haible  <bruno@clisp.org>
23966
23967         Avoid syntax error in C++ mode.
23968         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
23969
23970 2009-12-10  Bruno Haible  <bruno@clisp.org>
23971
23972         Use sed with option -e.
23973         * gnulib-tool (func_version, func_emit_copyright_notice,
23974         func_emit_initmacro_end, func_import, func_create_testdir): Pass
23975         option -e to sed.
23976         * modules/link-warning (Makefile.am): Likewise.
23977
23978 2009-12-10  Jim Meyering  <meyering@redhat.com>
23979
23980         mgetgroups: do not write bytes beyond end of malloc'd buffer
23981         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
23982         username, we call getgroups with a one-element-shorter buffer,
23983         but still told it the length was original, max_n_groups.
23984
23985 2009-12-09  Eric Blake  <ebb9@byu.net>
23986
23987         cloexec: relax license
23988         * modules/cloexec (Maintainer): Add myself.
23989         (License): Use LGPL, not GPL.
23990
23991         link-warning: optimize generation
23992         * modules/link-warning (Makefile.am): Reduce process usage.
23993
23994 2009-12-09  Bruno Haible  <bruno@clisp.org>
23995
23996         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
23997         workaround was added on 2009-11-17.
23998
23999 2009-12-09  Jim Meyering  <meyering@redhat.com>
24000             Bruno Haible  <bruno@clisp.org>
24001
24002         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
24003         * modules/link-warning (Makefile.am): Make the comment-removing sed
24004         command more robust in the face of bootstrap-prepended comment lines.
24005
24006 2009-12-09  Bruno Haible  <bruno@clisp.org>
24007
24008         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
24009         most one group.
24010
24011 2009-12-09  Simon Josefsson <simon@josefsson.org>
24012             Bruno Haible  <bruno@clisp.org>
24013
24014         * build-aux/link-warning.h: Add copyright notice.
24015         * modules/link-warning (Makefile.am): Generate link-warning.h from
24016         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
24017         * NEWS: Mention change in link-warning module.
24018         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
24019         * modules/dirent (Makefile.am): Add dependency to dirent.h.
24020         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
24021         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
24022         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
24023         * modules/math (Makefile.am): Add dependency to math.h.
24024         * modules/search (Makefile.am): Add dependency to search.h.
24025         * modules/signal (Makefile.am): Add dependency to signal.h.
24026         * modules/spawn (Makefile.am): Add dependency to spawn.h.
24027         * modules/stdio (Makefile.am): Add dependency to stdio.h.
24028         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
24029         * modules/string (Makefile.am): Add dependency to string.h.
24030         * modules/strings (Makefile.am): Add dependency to strings.h.
24031         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
24032         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
24033         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
24034         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
24035         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
24036         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
24037         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
24038         * modules/unistd (Makefile.am): Add dependency to unistd.h.
24039         * modules/wchar (Makefile.am): Add dependency to wchar.h.
24040
24041 2009-12-09  Bruno Haible  <bruno@clisp.org>
24042
24043         fchdir: Optimize away rpl_fstat when possible.
24044         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
24045         REPLACE_OPEN_DIRECTORY.
24046         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
24047
24048 2009-12-09  Bruno Haible  <bruno@clisp.org>
24049
24050         * lib/fchdir.c: Update comment.
24051
24052 2009-12-09  Bruno Haible  <bruno@clisp.org>
24053
24054         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
24055
24056 2009-12-08  Eric Blake  <ebb9@byu.net>
24057
24058         fchdir: avoid memory leak on re-registration.
24059         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
24060
24061 2009-12-08  Jim Meyering  <meyering@redhat.com>
24062
24063         init.sh: avoid Solaris 10 /bin/sh portability problem
24064         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
24065         sourced script:
24066           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
24067           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
24068           bar
24069         tests/init.sh relied on that, accepting a --set-path=DIR argument,
24070         and two tests used that idiom.
24071         * tests/init.sh: Update suggested usage comments.
24072         (path_prepend_): New function, to be used in place
24073         of the --src-path=DIR option.
24074         (setup_): Move PATH-prepending code into path_prepend_.
24075         * tests/test-pread.sh: Adapt to new usage.
24076         * tests/test-xalloc-die.sh: Likewise.
24077
24078 2009-12-08  Simon Josefsson  <simon@josefsson.org>
24079
24080         * doc/gnulib.texi (Glibc pty.h): Add.
24081         * doc/glibc-functions/forkpty.texi: Add.
24082         * doc/glibc-functions/openpty.texi: Add.
24083         Suggested by Bruno Haible.
24084
24085 2009-12-08  Eric Blake  <ebb9@byu.net>
24086
24087         fchdir: fix logic bugs
24088         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
24089         * tests/test-fchdir.c (main): Enhance test.
24090         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
24091         is in use.
24092
24093         dup2: fix logic bugs
24094         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
24095         REPLACE_DUP2 to decide when rpl_dup2 is needed.
24096         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
24097         exists.
24098         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
24099
24100 2009-12-07  Eric Blake  <ebb9@byu.net>
24101
24102         unlink: fix m4 detection
24103         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
24104
24105         unistd-safer: add unit test
24106         * modules/unistd-safer-tests: New file.
24107         * tests/test-dup-safer.c: Likewise.
24108         * tests/test-cloexec.c (setmode): Avoid compiler warning.
24109         * tests/test-dup2.c (setmode): Likewise.
24110         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
24111
24112         cloexec: preserve text vs. binary across dup_cloexec
24113         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
24114         mode.
24115         * modules/dup2-tests (Depends-on): Add binary-io.
24116         * modules/cloexec-tests (Depends-on): Likewise.
24117         * tests/test-dup2.c (setmode, is_mode): New helpers.
24118         (main): Add tests that translation mode is preserved.
24119         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
24120         Reported by Bruno Haible.
24121
24122         mgetgroups: reduce duplicate listings
24123         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
24124         resulting array.
24125         * tests/test-chown.h (test_chown): Simplify client.
24126         * tests/test-lchown.h (test_lchown): Likewise.
24127
24128 2009-12-06  Bruno Haible  <bruno@clisp.org>
24129
24130         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
24131         value.
24132
24133 2009-12-06  Bruno Haible  <bruno@clisp.org>
24134
24135         * lib/progname.c: Include stdio.h, stdlib.h.
24136         (set_program_name): Reject a NULL argument.
24137
24138 2009-12-05  Eric Blake  <ebb9@byu.net>
24139
24140         pipe2-safer: new module
24141         * modules/pipe2-safer: New file.
24142         * lib/unistd-safer.h (pipe2_safer): New prototype.
24143         * lib/unistd--.h (pipe2): New wrapper.
24144         * lib/pipe-safer.c (pipe2_safer): New function.
24145         * modules/pipe (Depends-on): Add pipe2-safer.
24146         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
24147
24148         stdlib-safer: preserve cloexec flag for mkostemp[s]
24149         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
24150         fd_safer_flag.
24151
24152         unistd-safer: allow preservation of cloexec status via flag
24153         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
24154         prototypes.
24155         * lib/dup-safer.c (dup_safer_flag): New function.
24156         * lib/fd-safer.c (fd_safer_flag): Likewise.
24157         * modules/cloexec (configure.ac): Set witness.
24158
24159         test-dup2: enhance test
24160         * modules/dup2-tests (Depends-on): Add cloexec.
24161         * tests/test-dup2.c (main): Enhance test.
24162
24163         cloexec: add dup_cloexec
24164         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
24165         header and comments.
24166         * lib/cloexec.c (set_cloexec_flag): Add comments.
24167         (dup_cloexec): New function, with mingw implementation borrowed
24168         from...
24169         * lib/w32spawn.h (dup_noinherit): ...here.
24170         * modules/execute (Depends-on): Add cloexec.
24171         * modules/pipe (Depends-on): Likewise.
24172         * modules/cloexec (Depends-on): Add dup2.
24173         * modules/cloexec-tests (Files): New file.
24174         * tests/test-cloexec.c: Likewise.
24175
24176         test-xalloc-die: fix test for mingw
24177         * modules/xalloc-die-tests (Files): Add tests/init.sh.
24178         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
24179         directory and .exe suffix off argv[0] output.
24180
24181         test-fseeko: fix test for mingw
24182         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
24183         than undefining fseek, so test will pass on mingw.
24184
24185 2009-12-05  Bruno Haible  <bruno@clisp.org>
24186
24187         * lib/progname.h (set_program_name): Clarify specification.
24188         * lib/progname.c (set_program_name): Likewise.
24189         Reported by Jim Meyering.
24190
24191 2009-12-05  Jim Meyering  <meyering@redhat.com>
24192
24193         maint.mk: backslash-escape parens in default regexp
24194         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
24195         backslash-escape the literal parentheses.
24196
24197         maint.mk: news-date-check: use grep -E
24198         * top/maint.mk (today): Define a Make variable, not a...
24199         (news-date-check): ...shell variable.
24200         (news-date-regexp): Use the Make variable.
24201         Use grep's -E option.  Change the failing diagnostic to mention
24202         the variable, $(news-date-regexp).
24203
24204 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
24205
24206         maintainer-makefile: allow customization of NEWS entry format
24207         * top/maint.mk (news-date-regexp): New overridable variable.
24208         (news-date-check): Use it.
24209
24210 2009-12-04  Eric Blake  <ebb9@byu.net>
24211
24212         mgetgroups: add xgetgroups, and avoid ENOSYS failures
24213         * lib/mgetgroups.h (xgetgroups): New prototype.
24214         * lib/mgetgroups.c (xgetgroups): New wrapper.
24215         (mgetgroups): Handle ENOSYS.
24216         * modules/mgetgroups (Depends-on): Add realloc.
24217         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
24218
24219         mgetgroups: avoid argument promotion issues with -1
24220         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
24221         for invalid gid_t.
24222         * tests/test-chown.h (getegid, test_chown): Likewise.
24223         * tests/test-lchown.h (getegid, test_lchown): Likewise.
24224
24225 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
24226
24227         exclude: Fix header file problems.
24228         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
24229
24230 2009-12-01  Jim Meyering  <meyering@redhat.com>
24231
24232         fts: fts_open: do not let an empty string cause immediate failure
24233         This is required in support of GNU rm, for which the command
24234         "rm A '' B" must process and remove both A and B, in spite of
24235         the empty string argument.
24236         * lib/fts.c (fts_open): Do not let the presence of an empty string
24237         cause fts_open to fail immediately.  Most fts-using tools must be
24238         able to process all arguments, in order, and can be expected to
24239         diagnose such arguments themselves.
24240
24241 2009-11-30  Eric Blake  <ebb9@byu.net>
24242
24243         utimens: fix compilation error
24244         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
24245         Declare variable at right scope.
24246
24247 2009-11-29  Jim Meyering  <meyering@redhat.com>
24248
24249         bootstrap: handle perl-5.11's changed --version output
24250         * build-aux/bootstrap (get_version): Handle perl separately,
24251         since perl-5.11's --version output is different.
24252
24253 2009-11-28  Jim Meyering  <meyering@redhat.com>
24254
24255         userspec: depend on the inttostr module, too
24256         * modules/userspec (Depends-on): Add inttostr.
24257
24258         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
24259         * lib/userspec.c (parse_with_separator): Do not accept a user ID
24260         number of MAXUID when it evaluates to (uid_t) -1.
24261         Likewise for group ID.  Reported by Matt McCutchen in
24262         <http://savannah.gnu.org/bugs/?28113>
24263
24264         userspec: reformat to use spaces, not TABs
24265         * lib/userspec.c: Expand TABs to spaces.
24266         Add Emacs' "indent-tabs-mode: nil" hint.
24267
24268 2009-11-27  Eric Blake  <ebb9@byu.net>
24269
24270         getopt-gnu: flush out another BSD bug
24271         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
24272         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
24273         flush out BSD bug.
24274         * tests/test-getopt.h (test_getopt): End lists with NULL.
24275         * tests/test-getopt_long.h (test_getopt_long): Likewise.
24276         (test_getopt_long_posix): Enhance test.
24277         * modules/getopt-posix-tests (Depends-on): Add stdbool.
24278         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
24279         getopt-gnu.
24280         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24281         Likewise.
24282
24283 2009-11-27  Simon Josefsson  <simon@josefsson.org>
24284
24285         * modules/idpriv-droptemp-tests (Notice): Fix text.
24286
24287 2009-11-27  Jim Meyering  <meyering@redhat.com>
24288
24289         test-xalloc-die: avoid spurious failure due to libtool argv difference
24290         In a libtool-enabled project, this test would fail due to a difference
24291         in the emitted program name, e.g.,
24292         -test-xalloc-die: memory exhausted
24293         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
24294         Use program to avoid that.
24295         * modules/xalloc-die-tests (Depends-on): Add progname.
24296         * tests/test-xalloc-die.c: Include progname.h".
24297         (program_name): Remove decl.
24298         (main): Call set_program_name.
24299         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
24300
24301 2009-11-26  Richard Jones  <rjones@redhat.com>
24302
24303         w32sock: leave win32 error in place.
24304         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
24305
24306 2009-11-26  Eric Blake  <ebb9@byu.net>
24307
24308         init.sh: suggest to use skip_ and fail_ functions in comments
24309         * tests/init.sh: Add a sentence.
24310
24311 2009-11-25  Bruno Haible  <bruno@clisp.org>
24312
24313         init.sh: add documentation in comments
24314         * tests/init.sh: Add some developer and user documentation.
24315
24316 2009-11-26  Jim Meyering  <meyering@redhat.com>
24317
24318         init.sh: accommodate even those who specify bogus srcdir manually
24319         * tests/init.sh: Normally, srcdir is guaranteed by automake and
24320         configure-time tests to be sanitized, so that there is no need to
24321         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
24322         (with no double quotes) suffices.  However, since tests may be
24323         invoked manually, and since you may explicitly set srcdir to the
24324         name of a directory containing spaces, do quote its uses here.
24325         * tests/test-pread.sh: Likewise.
24326         Suggested by Bruno Haible.
24327
24328         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
24329         * tests/test-pread.sh: Write no data into the pipe, because
24330         test-pread actually reads none.  This avoids a diagnostic,
24331         "bash: echo: write error: Broken pipe", that arises in the unusual
24332         event something is ignoring SIGPIPE, and might be interpreted
24333         as some sort of failure.  Reported by Bruno Haible.
24334
24335 2009-11-25  Jim Meyering  <meyering@redhat.com>
24336
24337         test-pread: cover failure with ESPIPE and EINVAL
24338         * tests/test-pread.c (main): Test for failure, too.
24339         * tests/test-pread.sh: Invoke with stdin on a pipe.
24340         Suggested by Eric Blake.
24341
24342         pread: improvement and fix
24343         * modules/pread (Depends-on): Depend on lseek, for portability to
24344         e.g., mingw.  Suggested by Eric Blake.
24345         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
24346
24347         unistd.in.h: correct declaration of pread
24348         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
24349         Reported by Richard W.M. Jones.
24350
24351         test-pread.sh: distribute the test script
24352         * modules/pread-tests (Files): Include test-pread.sh.
24353
24354         test-pread.sh: clean up
24355         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
24356         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
24357         That is unnecessary, since it's always ".".
24358         Suggestion from Eric Blake.
24359
24360         test-pread.sh: make executable
24361         * tests/test-pread.sh: Set executable bit.
24362         Reported by Eric Blake.
24363
24364         correct typo in test-pread.sh
24365         * tests/test-pread.sh: Add #! line.
24366
24367         test pread
24368         * tests/test-pread.c: New file.
24369         * tests/test-pread.sh: Likewise.
24370         * modules/pread-tests: Likewise.
24371
24372         pread: new module
24373         * modules/pread: New file.
24374         * lib/unistd.in.h (pread): Define/declare.
24375         * lib/pread.c (pread): New file.
24376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
24377         * modules/unistd (Makefile.am): Substitute witnesses.
24378         * doc/posix-functions/pread.texi (pread): Update.
24379         * MODULES.html.sh: Add pread.
24380
24381 2009-11-25  Jim Meyering  <meyering@redhat.com>
24382
24383         tests/init.sh: new file to be used via most *.sh tests
24384         * tests/init.sh: New file.
24385
24386 2009-11-25  Eric Blake  <ebb9@byu.net>
24387
24388         utimens: work around older Linux failure with symlinks
24389         * lib/utimens.c (lutimensat_works_really): New variable.
24390         (fdutimens, lutimens): Use it to manage kernels that support
24391         nanosecond times on files, but not on symlinks.
24392         Reported by OndÅ™ej Vašík.
24393
24394         utimes: fix configure grammar
24395         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
24396
24397 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
24398
24399         regex: Fix fastmap for multibyte character ranges.
24400         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
24401         characters when a multibyte character range is included.
24402
24403 2009-11-22  Andy Wingo  <wingo@pobox.com>
24404
24405         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
24406         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
24407
24408 2009-11-24  Bruno Haible  <bruno@clisp.org>
24409
24410         doc: Most *_l functions exist in MacOS X 10.5.
24411         * doc/posix-functions/duplocale.texi: Update platforms list.
24412         * doc/posix-functions/freelocale.texi: Likewise.
24413         * doc/posix-functions/newlocale.texi: Likewise.
24414         * doc/posix-functions/uselocale.texi: Likewise.
24415         * doc/posix-functions/isalnum_l.texi: Likewise.
24416         * doc/posix-functions/isalpha_l.texi: Likewise.
24417         * doc/posix-functions/isblank_l.texi: Likewise.
24418         * doc/posix-functions/iscntrl_l.texi: Likewise.
24419         * doc/posix-functions/isdigit_l.texi: Likewise.
24420         * doc/posix-functions/isgraph_l.texi: Likewise.
24421         * doc/posix-functions/islower_l.texi: Likewise.
24422         * doc/posix-functions/isprint_l.texi: Likewise.
24423         * doc/posix-functions/ispunct_l.texi: Likewise.
24424         * doc/posix-functions/isspace_l.texi: Likewise.
24425         * doc/posix-functions/isupper_l.texi: Likewise.
24426         * doc/posix-functions/iswalnum_l.texi: Likewise.
24427         * doc/posix-functions/iswalpha_l.texi: Likewise.
24428         * doc/posix-functions/iswblank_l.texi: Likewise.
24429         * doc/posix-functions/iswcntrl_l.texi: Likewise.
24430         * doc/posix-functions/iswctype_l.texi: Likewise.
24431         * doc/posix-functions/iswdigit_l.texi: Likewise.
24432         * doc/posix-functions/iswgraph_l.texi: Likewise.
24433         * doc/posix-functions/iswlower_l.texi: Likewise.
24434         * doc/posix-functions/iswprint_l.texi: Likewise.
24435         * doc/posix-functions/iswpunct_l.texi: Likewise.
24436         * doc/posix-functions/iswspace_l.texi: Likewise.
24437         * doc/posix-functions/iswupper_l.texi: Likewise.
24438         * doc/posix-functions/iswxdigit_l.texi: Likewise.
24439         * doc/posix-functions/isxdigit_l.texi: Likewise.
24440         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
24441         * doc/posix-functions/strcasecmp_l.texi: Likewise.
24442         * doc/posix-functions/strcoll_l.texi: Likewise.
24443         * doc/posix-functions/strfmon_l.texi: Likewise.
24444         * doc/posix-functions/strftime_l.texi: Likewise.
24445         * doc/posix-functions/strncasecmp_l.texi: Likewise.
24446         * doc/posix-functions/strxfrm_l.texi: Likewise.
24447         * doc/posix-functions/tolower_l.texi: Likewise.
24448         * doc/posix-functions/toupper_l.texi: Likewise.
24449         * doc/posix-functions/towctrans_l.texi: Likewise.
24450         * doc/posix-functions/towlower_l.texi: Likewise.
24451         * doc/posix-functions/towupper_l.texi: Likewise.
24452         * doc/posix-functions/wcscoll_l.texi: Likewise.
24453         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
24454         * doc/posix-functions/wctrans_l.texi: Likewise.
24455         * doc/posix-functions/wctype_l.texi: Likewise.
24456         * doc/glibc-functions/strptime_l.texi: Likewise.
24457         * doc/glibc-functions/strtod_l.texi: Likewise.
24458         * doc/glibc-functions/strtof_l.texi: Likewise.
24459         * doc/glibc-functions/strtol_l.texi: Likewise.
24460         * doc/glibc-functions/strtold_l.texi: Likewise.
24461         * doc/glibc-functions/strtoll_l.texi: Likewise.
24462         * doc/glibc-functions/strtoul_l.texi: Likewise.
24463         * doc/glibc-functions/strtoull_l.texi: Likewise.
24464         * doc/glibc-functions/wcsftime_l.texi: Likewise.
24465         * doc/glibc-functions/wcstod_l.texi: Likewise.
24466         * doc/glibc-functions/wcstof_l.texi: Likewise.
24467         * doc/glibc-functions/wcstol_l.texi: Likewise.
24468         * doc/glibc-functions/wcstold_l.texi: Likewise.
24469         * doc/glibc-functions/wcstoll_l.texi: Likewise.
24470         * doc/glibc-functions/wcstoul_l.texi: Likewise.
24471         * doc/glibc-functions/wcstoull_l.texi: Likewise.
24472
24473 2009-11-24  Bruno Haible  <bruno@clisp.org>
24474
24475         duplocale: Fix logic bug.
24476         * lib/duplocale.c: Don't include <langinfo.h>.
24477         (_NL_LOCALE_NAME): Remove macro.
24478         (rpl_duplocale): Use setlocale instead of nl_langinfo.
24479         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
24480
24481 2009-11-23  Jim Meyering  <meyering@redhat.com>
24482
24483         test-update-copyright: don't hard-code /usr/bin/perl
24484         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
24485         perl to print the current year.  Gilles Espinasse reported that
24486         the replaced use of perl was hard-coded as /usr/bin/perl.
24487
24488 2009-11-23  Bruno Haible  <bruno@clisp.org>
24489
24490         duplocale: Add support for glibc 2.3.x.
24491         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
24492
24493 2009-11-22  Bruno Haible  <bruno@clisp.org>
24494
24495         vasnprintf: Tiny optimization.
24496         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
24497         MacOS X.
24498
24499 2009-11-22  Bruno Haible  <bruno@clisp.org>
24500
24501         Tests for module 'duplocale'.
24502         * modules/duplocale-tests: New file.
24503         * tests/test-duplocale.c: New file.
24504
24505         New module 'duplocale'.
24506         * m4/duplocale.m4: New file.
24507         * lib/locale.in.h (duplocale): New declaration.
24508         * lib/duplocale.c: New file.
24509         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
24510         gl_LOCALE_H_DEFAULTS): New macros.
24511         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
24512         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
24513         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
24514         REPLACE_DUPLOCALE.
24515         * modules/duplocale: New file.
24516         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
24517
24518 2009-11-22  Bruno Haible  <bruno@clisp.org>
24519
24520         * modules/locale-tests (configure.ac): Test for newlocale function.
24521         * tests/test-locale.c: When the system has extended locale functions,
24522         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
24523
24524         locale: Make locale_t available when possible.
24525         * lib/locale.in.h: Include <xlocale.h> when it exists.
24526         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
24527         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
24528         * modules/locale (Depends-on): Add extensions.
24529         (Makefile.am): Also substitute HAVE_XLOCALE_H.
24530         * doc/posix-headers/locale.texi: Document the problem with locale_t.
24531
24532 2009-11-22  Bruno Haible  <bruno@clisp.org>
24533
24534         Add comments.
24535         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
24536         invocation.
24537         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
24538         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
24539         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24540
24541 2009-11-22  Bruno Haible  <bruno@clisp.org>
24542
24543         error: account for the possibility of freopen (stdout).
24544         * lib/error.c: Include <unistd.h>.
24545         (flush_stdout): New function, extracted from error and error_at_line.
24546         Determine stdout's fd dynamically.
24547         (error, error_at_line): Invoke flush_stdout.
24548         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
24549         * modules/error (Depends-on): Add unistd.
24550
24551 2009-11-22  Bruno Haible  <bruno@clisp.org>
24552
24553         diffseq: Add comment.
24554         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
24555
24556 2009-11-22  Jim Meyering  <meyering@redhat.com>
24557
24558         c-stack: avoid defining an unused static function
24559         * lib/c-stack.c (find_stack_direction): Do not define this function
24560         when it will not be used.
24561
24562         diffseq: avoid spurious gcc warnings
24563         * lib/diffseq.h (IF_LINT2): Define.
24564         (compareseq): Use it to initialize two members of "part".
24565         This avoids two used-uninitialized warnings.
24566
24567 2009-11-21  Jim Meyering  <meyering@redhat.com>
24568
24569         c-stack: avoid "ignoring return value of `write'" warning
24570         * lib/c-stack.c: Include "ignore-value.h".
24571         (die): Explicitly ignore each write return value.
24572         * modules/c-stack (Depends-on): Add ignore-value.
24573
24574 2009-11-21  Bruno Haible  <bruno@clisp.org>
24575
24576         diffseq: reduce scope of variable 'best'.
24577         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
24578         variable, earlier used for two different purposes.
24579
24580 2009-11-21  Jim Meyering  <meyering@redhat.com>
24581
24582         diffseq: remove useless assignment to "best"
24583         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
24584         assignment.  At that point "best" is already guaranteed to be zero.
24585
24586 2009-11-20  Eric Blake  <ebb9@byu.net>
24587
24588         build: mention ftp redirector in release announcements
24589         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
24590         values that used to come from cfg.mk; mention FTP redirect URL.
24591         * build-aux/announce-gen: Mention the mirror list.
24592         Suggested by Karl Berry.
24593
24594         nanosleep: improve port to mingw
24595         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
24596         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
24597         LIB_NANOSLEEP, but only when needed.
24598         * modules/select (Link): Document LIBSOCKET.
24599         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
24600         enough.
24601
24602         nanosleep: work around cygwin bug
24603         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
24604         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
24605         bug.
24606         (getnow): Delete, not needed.
24607         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
24608         LIB_CLOCK_GETTIME.
24609         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
24610         clock-time, gettime.
24611         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
24612         bug.
24613         * modules/nanosleep-tests: New test.
24614         * tests/test-nanosleep.c: New file.
24615
24616         sleep: work around cygwin bug
24617         * lib/sleep.c (rpl_sleep): Work around the bug.
24618         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
24619         (gl_PREREQ_SLEEP): Delete unused macro.
24620         * modules/sleep (Depends-on): Add verify.
24621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
24622         * modules/unistd (Makefile.am): Substitute witness.
24623         * lib/unistd.in.h (sleep): Update prototype.
24624         * doc/posix-functions/sleep.texi (sleep): Document the bug.
24625         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
24626         * modules/sleep-tests (Depends-on): Check for alarm.
24627
24628 2009-11-20  Jim Meyering  <meyering@redhat.com>
24629
24630         maint.mk: improve sc_prohibit_magic_number_exit
24631         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
24632         so it does not match uses like System.exit(1).
24633         Add comments showing how to correct all offenders.
24634
24635 2009-11-19  Eric Blake  <ebb9@byu.net>
24636
24637         xalloc-die-tests: add missing library
24638         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
24639
24640         test-xvasprintf: silence compiler warnings
24641         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
24642         empty string from gcc.
24643
24644 2009-11-19  Jim Meyering  <meyering@redhat.com>
24645
24646         xfreopen: new module, from coreutils
24647         * modules/xfreopen: New module.
24648         * lib/xfreopen.c: New file.
24649         * lib/xfreopen.h: New file.
24650         * MODULES.html.sh (File stream based Input/Output"): Add it.
24651
24652 2009-11-19  Eric Blake  <ebb9@byu.net>
24653
24654         manywarnings: depend on warnings
24655         * modules/manywarnings (Depends-on): Add warnings.
24656
24657         build: avoid compiler warnings
24658         * lib/select.c (rpl_select): Delete unused variable.
24659         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
24660
24661 2009-11-18  Eric Blake  <ebb9@byu.net>
24662
24663         tests: avoid false negative with --with-packager
24664         * tests/test-version-etc.sh: Discard packager information.
24665         * tests/test-argp-version-etc-1.sh: Likewise.
24666         Reported by Mike Frysinger.
24667
24668         utimens: fix regression on Solaris
24669         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
24670         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
24671         can only change fd timestamps via futimesat.  Instead, use an
24672         additional witness macro to avoid BSD bug.
24673         Reported by Jim Meyering.
24674
24675 2009-11-17  Eric Blake  <ebb9@byu.net>
24676
24677         usleep: use it to simplify tests
24678         * modules/stat-time-tests (Depends-on): Add usleep.
24679         (configure.ac): Drop usleep check.
24680         * modules/chown-tests (Depends-on, configure.ac): Likewise.
24681         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
24682         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
24683         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
24684         * modules/openat-tests (Depends-on, configure.ac): Likewise.
24685         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
24686         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
24687         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
24688         Likewise.
24689         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
24690         * tests/test-lchown.h (nap): Likewise.
24691         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
24692         * tests/test-stat-time.c (nap): Likewise.
24693         * tests/test-utimens-common.h (nap): Update comments.
24694
24695         usleep: new module
24696         * modules/usleep: New file.
24697         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
24698         * lib/usleep.c (usleep): Likewise.
24699         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
24700         * modules/unistd (Makefile.am): Substitute witnesses.
24701         * lib/unistd.in.h (usleep): Add declaration.
24702         * doc/pastposix-functions/usleep.texi (usleep): Document this.
24703         * MODULES.html.sh (Date and time): Likewise.
24704         * modules/usleep-tests (Depends-on): New test.
24705         * tests/test-usleep.c: New file.
24706
24707         chown: work around OpenBSD bug
24708         * lib/chown.c (rpl_chown): Work around the bug.
24709         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
24710         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
24711         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
24712         * modules/chown (Depends-on): Add stdbool.
24713         * modules/lchown (Depends-on): Likewise.
24714         * doc/posix-functions/chown.texi (chown): Document the bug.
24715         * doc/posix-functions/lchown.texi (lchown): Likewise.
24716         * tests/test-lchown.h (test_chown): Relax test.
24717
24718         mkstemp: avoid conflict with C++ keyword template
24719         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
24720         * lib/mkostemp.c (mkostemp): Likewise.
24721         * lib/mkostemps.c (mkostemps): Likewise.
24722         * lib/mkstemp.c (mkstemp): Likewise.
24723         * lib/mkstemps.c (mkstemps): Likewise.
24724
24725         xalloc-die-tests: optimize
24726         * tests/test-xalloc-die.sh: Reduce number of processes.
24727
24728 2009-11-17  Simon Josefsson  <simon@josefsson.org>
24729
24730         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
24731         patch from ludo@gnu.org (Ludovic Courtès).
24732
24733 2009-11-17  Jim Meyering  <meyering@redhat.com>
24734
24735         version-etc: use proper license string
24736         * modules/version-etc (License): Use LGPL, not LGPLv3+.
24737         * modules/version-etc-fsf: Likewise.
24738
24739 2009-11-17  Simon Josefsson  <simon@josefsson.org>
24740
24741         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
24742         printed to stdout.  Deal with EOL differences.
24743
24744 2009-11-17  Eric Blake  <ebb9@byu.net>
24745
24746         unsetenv: work around Solaris bug
24747         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
24748         * lib/unsetenv.c (rpl_unsetenv): Work around it.
24749         Reported by Jim Meyering.
24750
24751         vasnprintf: avoid compiler warnings
24752         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
24753         variables.
24754         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
24755
24756 2009-11-17  Simon Josefsson  <simon@josefsson.org>
24757
24758         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
24759         settings since xalloc-die is no longer the self test,
24760         xalloc-die.sh is.
24761
24762 2009-11-17  Jim Meyering  <meyering@redhat.com>
24763
24764         test-xalloc-die.sh: make the code agree with the commit log
24765         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
24766         at the end, just in case you happen to have a test-xalloc-die
24767         program in some other PATH directory.
24768
24769         test-xalloc-die.sh: fix a portability bug
24770         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
24771         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
24772         Otherwise, argv[0] (as often seen in diagnostics) would be too
24773         system-dependent, sometimes with, and sometimes without the leading "./".
24774
24775         version-etc-fsf: relax license to LGPLv3+
24776         * modules/version-etc-fsf (License): Relax license.
24777
24778 2009-11-16  Eric Blake  <ebb9@byu.net>
24779
24780         xalloc-die-tests: avoid printing null pointer
24781         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
24782         shell script.
24783         * tests/test-xalloc-die.c (program_name): Declare.
24784         * tests/test-xalloc-die.sh (tmpfiles): New file.
24785
24786         setenv, unsetenv: work around various bugs
24787         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
24788         (setenv) [HAVE_SETENV]: Work around bugs.
24789         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
24790         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
24791         for bugs.
24792         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
24793         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
24794         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
24795         * modules/stdlib (Makefile.am): Update substitutions.
24796         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
24797         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
24798         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
24799         * modules/setenv-tests: New test.
24800         * modules/unsetenv-tests: Likewise.
24801         * tests/test-setenv.c: New file.
24802         * tests/test-unsetenv.c: Likewise.
24803
24804 2009-11-16  Jim Meyering  <meyering@redhat.com>
24805
24806         version-etc: relax license to LGPLv3+
24807         * modules/version-etc (License): Relax license.
24808
24809         better AC_REQUIRE expanded-before-required-warning avoidance
24810         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
24811         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
24812         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
24813         which is no longer needed.
24814
24815 2009-11-16  Eric Blake  <ebb9@byu.net>
24816
24817         test-freading: clean up temporary file
24818         * tests/test-freading.c (main): Remove file on success, and use
24819         ASSERT more liberally.
24820         Reported by Jim Meyering.
24821
24822 2009-11-16  Jim Meyering  <meyering@redhat.com>
24823
24824         avoid new AC_REQUIRE expanded-before-required warnings
24825         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
24826         merely using it.
24827         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
24828         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
24829
24830 2009-11-15  Simon Josefsson  <simon@josefsson.org>
24831
24832         * tests/test-xalloc-die.c: New file.
24833         * modules/xalloc-die-tests: New file.
24834         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
24835         XFAIL_TESTS so it can be appended by modules.
24836
24837 2009-11-15  Simon Josefsson  <simon@josefsson.org>
24838
24839         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
24840         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
24841
24842 2009-11-14  Eric Blake  <ebb9@byu.net>
24843
24844         fnmatch: avoid compiler warning
24845         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
24846         to silence compiler warning about mismatch signedness in ?:.
24847         Reported by Robert Millan.
24848
24849         intprops: add double-inclusion guard
24850         * lib/intprops.h: Allow idempotent includes.
24851         Suggested by Bruce Korb.
24852
24853         openat: detect Solaris fchownat bug
24854         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
24855         penalizing glibc chownat when only lchownat is broken.
24856         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
24857         trailing slash bugs.
24858         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
24859         * modules/openat-tests (Files): Include more files.
24860         (Depends-on): Add mgetgroups, sleep, stat-time.
24861         (configure.ac): Add additional checks.
24862         (Makefile.am): Build new test.
24863         * tests/test-fchownat.c: New file.
24864
24865         lchown: detect Solaris and FreeBSD bug
24866         * lib/lchown.c (rpl_lchown): Work around bug.
24867         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
24868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24869         * modules/unistd (Makefile.am): Populate it.
24870         * lib/unistd.in.h (lchown): Update declaration.
24871         * doc/posix-functions/lchown.texi (lchown): Document the bug.
24872         * modules/lchown-tests: New file.
24873         * tests/test-lchown.h (test_lchown): Likewise.
24874         * tests/test-lchown.c (main): Likewise.
24875
24876         chown: detect Solaris and FreeBSD bug
24877         * lib/chown.c (rpl_chown): Work around bug.
24878         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
24879         (gl_PREREQ_CHOWN): Delete.
24880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24881         * modules/unistd (Makefile.am): Populate it.
24882         * lib/unistd.in.h (chown): Update declaration.
24883         * lib/lchown.c (chown): Update client.
24884         * modules/lchown (Depends-on): Add lstat.
24885         * doc/posix-functions/chown.texi (chown): Document the bug.
24886         * doc/posix-functions/getgroups.texi (getgroups): Document
24887         getgroups pitfall.
24888         * modules/chown-tests: New file.
24889         * tests/test-chown.h (test_chown): Likewise.
24890         * tests/test-chown.c (main): Likewise.
24891
24892 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
24893
24894         gnulib-tool: correctly detect absence of m4 directories
24895         * gnulib-tool: Avoid extra newline on data passed to wc -l.
24896
24897 2009-11-14  Jim Meyering  <meyering@redhat.com>
24898
24899         maint.mk: Prohibit inclusion of "xalloc.h" without use.
24900         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
24901
24902 2009-11-14  John W. Eaton  <jwe@gnu.org>
24903
24904         strftime.h: wrap funtion declaration in extern "C" block
24905         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
24906
24907 2009-11-13  Eric Blake  <ebb9@byu.net>
24908
24909         getgroups: avoid compiler warning
24910         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
24911
24912         getgroups: work around FreeBSD bug
24913         * lib/getgroups.c (rpl_getgroups): Work around the bug.
24914         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
24915         * doc/posix-functions/getgroups.texi (getgroups): Document it.
24916         * tests/test-getgroups.c (main): Fix buffer overrun.
24917
24918         getgroups: avoid compilation failure
24919         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
24920         * modules/getgroups (Depends-on): Add stdint.
24921
24922 2009-11-13  Jim Meyering  <meyering@redhat.com>
24923
24924         test-getgroups: avoid compilation failure
24925         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
24926
24927 2009-11-13  Eric Blake  <ebb9@byu.net>
24928
24929         mgetgroups: new module, taken from coreutils
24930         * modules/mgetgroups: New file.
24931         * lib/mgetgroups.h: Likewise.
24932         * lib/mgetgroups.c (mgetgroups): Likewise.
24933         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
24934         * MODULES.html.sh (Users and groups): Mention it.
24935
24936         getgroups: don't expose GETGROUPS_T to user
24937         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
24938         an element at a time if GETGROUPS_T is wrong size.
24939         * lib/getugroups.h (getugroups): Change signature.
24940         * lib/unistd.in.h (getgroups): Likewise.
24941         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
24942         signature needs fixing.
24943         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
24944         AC_TYPE_GETGROUPS.
24945         * modules/group-member (Depends-on): Add getgroups.
24946         * lib/group-member.c (group_info, get_group_info): Use gid_t.
24947         (group_member): Rely on getgroups replacement.
24948         * lib/getugroups.c (getugroups): Use gid_t.
24949         * tests/test-getgroups.c (main): Likewise.
24950         * NEWS: Mention the signature change.
24951         * doc/posix-functions/getgroups.texi (getgroups): Mention the
24952         problem with signature.
24953         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
24954         GETGROUPS_T is still useful for setgroups.
24955
24956         getgroups, getugroups: provide stubs for mingw
24957         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
24958         * lib/getugroups.c (getugroups): Likewise.
24959         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
24960         function.  Modernize replacement scheme.
24961         (gl_PREREQ_GETGROUPS): Delete.
24962         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
24963         * modules/getgroups (configure.ac): Declare witness.
24964         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
24965         * modules/unistd (Depends-on): Substitute witness.
24966         * lib/unistd.in.h (getgroups): Declare replacement.
24967
24968         getgroups: avoid calling exit
24969         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
24970         drop xalloc.
24971         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
24972         dependencies.
24973         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
24974         exiting, in the rare case of malloc failure.
24975
24976         getgroups: fix logic error
24977         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
24978         has more than 20 groups.
24979         * modules/getgroups-tests: New test.
24980         * tests/test-getgroups.c: New file.
24981
24982 2009-11-13  Simon Josefsson  <simon@josefsson.org>
24983
24984         * tests/test-base64.c: Improve.
24985
24986 2009-11-13  Simon Josefsson  <simon@josefsson.org>
24987
24988         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
24989         Blake <ebb9@byu.net>.
24990
24991 2009-11-13  Simon Josefsson  <simon@josefsson.org>
24992
24993         * tests/test-xvasprintf.c: Add %s%s related checks.
24994
24995 2009-11-12  Eric Blake  <ebb9@byu.net>
24996
24997         version-etc: match standards.texi style
24998         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
24999         and use <> only for URLs.
25000
25001 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
25002
25003         fts: do not fail on a submount during traversal
25004         * lib/fts.c (fts_build): Read the stat info again after opening
25005         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
25006         Original report at http://bugzilla.redhat.com/501848.
25007
25008 2009-11-12  Jim Meyering  <meyering@redhat.com>
25009
25010         bootstrap: sync from coreutils
25011         * build-aux/bootstrap (bootstrap_epilogue): New function.
25012         Use git_modules_config in one more place.  This make bootstrap's
25013         --gnulib-srcdir option more useful for testing.
25014
25015         bootstrap: generalize autoheader check
25016         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
25017         AC_CONFIG_HEADERS.
25018
25019 2009-11-11  Eric Blake  <ebb9@byu.net>
25020
25021         mkfifoat: use new modules for Solaris and BSD bugs
25022         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
25023         * lib/mkfifoat.c (mknodat): Split...
25024         * lib/mknodat.c (mknodat): ...into new file.
25025         * modules/mkfifoat (Files): Ship new file.
25026         (Depends-on): Add mkfifo, mknod.
25027         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
25028         (Depends-on): Add symlink.
25029         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
25030         redundant with test_mkfifo.h.
25031         (do_mkfifoat, do_mknodat): New helpers.
25032
25033         mknod: new module
25034         * modules/mknod: New file.
25035         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
25036         * lib/mknod.c (mknod): Likewise.
25037         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
25038         defaults.
25039         * modules/sys_stat (Makefile.am): Substitute them.
25040         * lib/sys_stat.in.h (mknod): Declare replacement.
25041         * MODULES.html.sh (Support for systems lacking POSIX:2008):
25042         Document it.
25043         * doc/posix-functions/mknod.texi (mknod): Likewise.
25044         * modules/mknod-tests: New test.
25045         * tests/test-mknod.c: Likewise.
25046
25047         mkfifo: new module
25048         * modules/mkfifo: New file.
25049         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
25050         * lib/mkfifo.c (mkfifo): Likewise.
25051         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
25052         defaults.
25053         * modules/sys_stat (Makefile.am): Substitute them.
25054         * lib/sys_stat.in.h (mkfifo): Declare replacement.
25055         * MODULES.html.sh (Support for systems lacking POSIX:2008):
25056         Document it.
25057         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
25058         * modules/mkfifo-tests: New test.
25059         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
25060         from test-mkfifoat.c.
25061         * tests/test-mkfifo.c: New file.
25062
25063         readlink: detect FreeBSD bug
25064         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
25065         slash on symlink.
25066         * doc/posix-functions/readlink.texi (readlink): Document the bug.
25067         * tests/test-readlink.h (test_readlink): Enhance test.
25068
25069         symlink: detect FreeBSD bug
25070         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
25071         slash on symlink.
25072         * doc/posix-functions/symlink.texi (symlink): Document the bug.
25073         * tests/test-symlink.h (test_symlink): Enhance test.
25074
25075 2009-11-10  Eric Blake  <ebb9@byu.net>
25076
25077         link: detect FreeBSD bug
25078         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
25079         symlink.
25080         * doc/posix-functions/link.texi (link): Document the bug.
25081         * tests/test-link.h (test_link): Enhance test.
25082         * tests/test-linkat.c (main): Update caller.
25083
25084         unlink, remove: detect FreeBSD bug
25085         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
25086         slash on symlink.
25087         * doc/posix-functions/unlink.texi (unlink): Document the bug.
25088         * doc/posix-functions/remove.texi (remove): Likewise.
25089         * tests/test-unlink.h (test_unlink): Enhance test.
25090         * tests/test-remove.c (main): Likewise.
25091
25092 2009-11-09  Eric Blake  <ebb9@byu.net>
25093
25094         rename: detect FreeBSD bug
25095         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
25096         slash on symlink.
25097         * modules/renameat-tests (Depends-on): Add filenamecat.
25098         * tests/test-rename.h (test_rename): Allow one more errno.
25099         * tests/test-renameat.c (main): Likewise.
25100         * doc/posix-functions/rename.texi (rename): Document the bug.
25101
25102         open: detect FreeBSD bug
25103         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
25104         symlink.
25105         * doc/posix-functions/open.texi (open): Document the bug.
25106         * doc/posix-functions/utimes.texi (utimes): Likewise.
25107         * tests/test-open.h (test_open): Add parameters, and test symlink
25108         handling.
25109         * tests/test-open.c (main): Adjust caller.
25110         * tests/test-fcntl-safer.c (main): Likewise.
25111         * modules/open-tests (Depends-on): Add stdbool, symlink.
25112         * modules/fcntl-safer-tests (Depends-on): Likewise.
25113         * tests/test-openat.c (main): Add test-open tests.
25114
25115         stat: detect FreeBSD bug
25116         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
25117         symlink.
25118         * doc/posix-functions/stat.texi (stat): Document the bug.
25119         * tests/test-stat.h (test_stat_func): Add argument.
25120         * tests/test-stat.c (main): Adjust caller.
25121         * tests/test-fstatat.c (main): Likewise.
25122         * modules/stat-tests (Depends-on): Add stdbool, symlink.
25123         Reported by Jim Meyering.
25124
25125 2009-11-09  James Youngman  <jay@gnu.org>
25126
25127         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
25128         * lib/strftime.c: Correct placement of #include "ignore-value.h".
25129
25130 2009-11-08  Jim Meyering  <meyering@redhat.com>
25131
25132         utimens: remove invalid futimesat call
25133         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
25134         It used the file descriptor of the target file as the DIR_FD
25135         parameter and NULL as the file name.  That caused failure with
25136         errno == EFAULT on FreeBSD-8.0-rc2
25137
25138 2009-11-07  Eric Blake  <ebb9@byu.net>
25139
25140         fflush, freadseek: use fseeko, not fseek
25141         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
25142         (clear_ungetc_buffer): Avoid potential problems on large files.
25143         * lib/freadseek.c (freadseek): Likewise.
25144         * modules/freadseek (Depends-on): Add fseeko.
25145         * modules/fseek (configure.ac): Set a witness.
25146         * tests/test-fflush.c (main): Use fseeko.
25147         * tests/test-fpurge.c (fseek): Disable link warning.
25148         * tests/test-freadable.c (fseek): Likewise.
25149         * tests/test-freading.c (fseek): Likewise.
25150         * tests/test-fseeko.c (fseek): Likewise.
25151         * tests/test-ftell.c (fseek): Likewise.
25152         * tests/test-ftello.c (fseek): Likewise.
25153         * tests/test-fwritable.c (fseek): Likewise.
25154         * tests/test-fwriting.c (fseek): Likewise.
25155
25156 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25157
25158         * modules/memchr (Depends-on): Drop getpagesize dependency.
25159
25160 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25161
25162         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
25163         Reported by Ludovic Courtès.
25164         * build-aux/pmccabe2html: Improve example usage.
25165         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
25166
25167 2009-11-06  Jim Meyering  <meyering@redhat.com>
25168
25169         do-release-commit-and-tag: New module.
25170         Automate the release-commit and tag process.
25171         * build-aux/do-release-commit-and-tag: New script, from coreutils.
25172         * modules/do-release-commit-and-tag: New file.
25173         * MODULES.html.sh (Support for maintaining and releasing): Add it.
25174
25175 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25176
25177         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
25178         because test-select.c uses inet_pton.
25179
25180 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25181
25182         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
25183         GETADDRINFO_LIB.  Bump serial number.
25184         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
25185         Suggested by Eric Blake <ebb9@byu.net>.
25186
25187 2009-11-05  Eric Blake  <ebb9@byu.net>
25188
25189         strtod: detect darwin bug
25190         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
25191         Reported by Leo Davis.
25192
25193         freopen-safer: new module
25194         * modules/freopen-safer: New module.
25195         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
25196         * lib/freopen-safer.c (freopen_safer): New file.
25197         * lib/stdio-safer.h (freopen_safer): New declaration.
25198         * lib/stdio--.h (freopen): New override.
25199         * MODULES.html.sh (File stream based Input/Output): Mention it.
25200         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
25201         freopen-safer module.
25202         * doc/posix-functions/stderr.texi (stderr): Likewise.
25203         * doc/posix-functions/stdin.texi (stdin): Likewise.
25204         * doc/posix-functions/stdout.texi (stdout): Likewise.
25205         * modules/freopen-safer-tests: New test.
25206         * tests/test-reopen-safer.c: New file.
25207
25208 2009-11-05  Jim Meyering  <meyering@redhat.com>
25209
25210         maint.mk: Prohibit inclusion of "close-stream.h" without use.
25211         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
25212
25213 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25214
25215         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
25216
25217 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25218
25219         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
25220
25221 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25222
25223         Fix link error.
25224         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
25225         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25226
25227 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25228
25229         * tests/test-func.c: Also test value of __func__.
25230
25231 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25232
25233         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
25234         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
25235
25236 2009-11-05  Bruno Haible  <bruno@clisp.org>
25237
25238         Fix link error.
25239         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
25240         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25241         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
25242
25243 2009-11-05  Bruno Haible  <bruno@clisp.org>
25244
25245         Tests for module 'inet_pton'.
25246         * modules/inet_pton-tests: New file.
25247         * tests/test-inet_pton.c: New file.
25248
25249 2009-11-05  Bruno Haible  <bruno@clisp.org>
25250
25251         Tests for module 'inet_ntop'.
25252         * modules/inet_ntop-tests: New file.
25253         * tests/test-inet_ntop.c: New file.
25254
25255 2009-11-04  Eric Blake  <ebb9@byu.net>
25256
25257         stdlib-safer: wrap all mkstemp variants
25258         * modules/mkostemp (configure.ac): Set witness.
25259         * modules/mkostemps (configure.ac): Likewise.
25260         * modules/mkstemps (configure.ac): Likewise.
25261         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
25262         (mkstemps_safer): Wrap more functions.
25263         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
25264         wrapping.
25265         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
25266         (mkstemps_safer): Implement the wrappers.
25267
25268         mkstemps, mkostemps: new modules
25269         * modules/mkostemps: New module.
25270         * modules/mkstemps: Likewise.
25271         * lib/mkostemps.c (mkostemps): New file.
25272         * lib/mkstemps.c (mkstemps): Likewise.
25273         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
25274         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
25275         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
25276         * modules/stdlib (Makefile.am): Substitute them.
25277         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
25278         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
25279         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25280         * doc/gnulib.texi (Glibc stdlib.h): Include them.
25281         * MODULES.html.sh (File system functions): Mention them.
25282
25283         tempname: resync from glibc
25284         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
25285         same values for __GT_FILE as glibc.  Abort even when assertions
25286         are disabled.
25287         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
25288         match its value otherwise.  Allow idempotent inclusion.
25289         * lib/mkdtemp.c (mkdtemp): Adjust caller.
25290         * lib/mkostemp.c (mkostemp): Likewise.
25291         * lib/mkstemp.c (mkstemp): Likewise.
25292         * lib/tmpfile.c (tmpfile): Likewise.
25293         * NEWS: Document this.
25294
25295         utimens: fix use of futimens on older Linux
25296         * lib/utimens.c (fdutimens): Use updated, rather than original,
25297         timespec to avoid bug in older Linux kernel.
25298         Reported by Simon Josefsson.
25299
25300 2009-11-04  Bruno Haible  <bruno@clisp.org>
25301
25302         Make num_processors more flexible and consistent.
25303         * lib/nproc.h (enum nproc_query): New type.
25304         (num_processors): Add a 'query' argument.
25305         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
25306         (num_processors): Add a 'query' argument. Test the value of the
25307         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
25308         mingw, count the number of CPUs available for the current process.
25309         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
25310         Check for sched_getaffinity and sched_getaffinity_np.
25311         * modules/nproc (Depends-on): Add c-ctype, extensions.
25312         * NEWS: Mention the change.
25313
25314 2009-11-03  Bruno Haible  <bruno@clisp.org>
25315
25316         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
25317
25318 2009-11-03  Jim Meyering  <meyering@redhat.com>
25319
25320         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
25321         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
25322         if it is defined.
25323
25324 2009-11-02  Eric Blake  <ebb9@byu.net>
25325
25326         mktime, timegm: share common declaration
25327         * lib/mktime-internal.h: New file.
25328         * lib/mktime.c: Use it rather than open-coding a declaration.
25329         * lib/timegm.c: Likewise.
25330         * modules/mktime (Files): Ship it.
25331         * modules/timegm (Files): Likewise.
25332         Suggested by Bruno Haible.
25333
25334         test-update-copyright: update test to match script changes
25335         * tests/test-update-copyright.sh: Avoid hard-coding perl
25336         location.  Don't update *.bak created by earlier runs.
25337
25338 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
25339             Simon Josefsson  <simon@josefsson.org>
25340             Bruno Haible  <bruno@clisp.org>
25341
25342         Fix link error on Solaris 8.
25343         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
25344         also in libnsl. Define also INET_PTON_LIB.
25345         * modules/inet_pton (Link): New section.
25346
25347 2009-11-02  Simon Josefsson  <simon@josefsson.org>
25348             Bruno Haible  <bruno@clisp.org>
25349
25350         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
25351         * modules/inet_ntop (Link): New section.
25352         Reported by Boyan Kasarov <bkasarov@gmail.com>.
25353
25354 2009-11-02  Eric Blake  <ebb9@byu.net>
25355
25356         maint: avoid compiler warnings in m4 macros
25357         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
25358         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
25359
25360 2009-11-02  Simon Josefsson  <simon@josefsson.org>
25361
25362         * m4/pmccabe2html.m4: Remove file.
25363         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
25364         function.  Change maintainer.
25365         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
25366         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
25367         Courtès).
25368
25369 2009-10-31  Eric Blake  <ebb9@byu.net>
25370
25371         fseeko: fix m4 regression
25372         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
25373         regression from 2009-10-27.
25374         Reported by Ralf Wildenhues.
25375
25376 2009-10-31  Jim Meyering  <meyering@redhat.com>
25377
25378         inttostr: aesthetics and improved (compile-time) safety
25379         Define inttype_is_signed rather than inttype_is_unsigned,
25380         since the sole use is via "#if inttype_is_signed".
25381         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
25382         inttype_is_unsigned.
25383         * lib/offtostr.c (inttype_is_signed): Likewise.
25384         * lib/uinttostr.c (inttype_is_signed): Likewise.
25385         * lib/umaxtostr.c (inttype_is_signed): Likewise.
25386         * lib/inttostr.c (inttostr): Use verify to cross-check the
25387         inttype_is_signed value and the signedness of the actual type.
25388         * modules/inttostr (Depends-on): Add verify.
25389
25390 2009-10-30  Eric Blake  <ebb9@byu.net>
25391
25392         build: avoid compiler warnings
25393         * lib/fchmodat.c (lchmod): Mark unused variables.
25394         * lib/getopt.c (_getopt_initialize): Likewise.
25395         * lib/mktime.c (__mktime_internal): Provide prototype.
25396         * lib/inttostr.c (inttostr): Avoid compiler warning even with
25397         older gcc that do not understand #pragma GCC diagnostic.
25398         * lib/uinttostr.c (inttype_is_unsigned): Define.
25399         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
25400
25401 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
25402
25403         stat: fix compilation on AIX
25404         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
25405         only see struct stat64.
25406
25407 2009-10-30  Eric Blake  <ebb9@byu.net>
25408
25409         exclude: make more robust
25410         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
25411         rather than masking a coding bug.
25412         Suggested by Bruno Haible.
25413
25414 2009-10-30  Jim Meyering  <meyering@redhat.com>
25415
25416         perl scripts: remove #!/usr/bin/perl in favor of more portable...
25417         Rather than putting #!/usr/bin/perl on the first line,
25418         start with a variant of what's recommended by "man perlrun" that
25419         invokes the first "perl" program from your shell's search path.
25420         * build-aux/gitlog-to-changelog: Replace #!... as above.
25421         Add a "Local Variables" perl mode setting.
25422         Prompted by a patch from Ludovic Courtès.
25423         Improved by Eric Blake.
25424         * build-aux/useless-if-before-free: Likewise.
25425         * build-aux/announce-gen: Likewise.
25426         * build-aux/update-copyright: Likewise.
25427
25428 2009-10-29  Eric Blake  <ebb9@byu.net>
25429
25430         filenamecat-lgpl: adjust clients
25431         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
25432         filenamecat.
25433         * modules/renameat (Depends-on): Likewise.
25434
25435         filenamecat: split into filenamecat-lgpl
25436         * modules/filenamecat-lgpl: New module.
25437         * modules/filenamecat (Files): Move library-safe files into
25438         filenamecat-lgpl.
25439         (Depends-on): Add filenamecat-lgpl.
25440         (configure.ac): Declare witness.
25441         * lib/filenamecat.h (file_name_concat): Only declare when using
25442         GPL module.
25443         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
25444         Move...
25445         * lib/filenamecat-lgpl.c: ...into new file.
25446         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
25447         (gl_FILE_NAME_CONCAT): Use it.
25448         * MODULES.html.sh (File system functions): Mention new module.
25449
25450         argp: avoid memory leak
25451         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
25452         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
25453         base_name, since the latter malloc()s and can call exit().
25454         Leak introduced 2006-07-03.
25455
25456         dirname-lgpl: adjust clients that don't need full dirname
25457         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
25458         * modules/filenamecat (Depends-on): Likewise.
25459         * modules/linkat (Depends-on): Likewise.
25460         * modules/mkancesdirs (Depends-on): Likewise.
25461         * modules/mkdir (Depends-on): Likewise.
25462         * modules/openat (Depends-on): Likewise.
25463         * modules/savewd (Depends-on): Likewise.
25464         * modules/rename (Depends-on): Likewise.
25465         (License): Relax license.
25466         * modules/mkdir-tests (Depends-on): Drop progname.
25467         (Makefile.am): Delete unneeded LDADD.
25468         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
25469
25470         dirname: split into dirname-lgpl
25471         * modules/dirname-lgpl: New module.
25472         * modules/dirname (Files): Move library-safe files into
25473         dirname-lgpl.
25474         (Depends-on): Add dirname-lgpl.
25475         (configure.ac): Declare witness.
25476         * modules/double-slash-root (License): Relax license.
25477         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
25478         module.
25479         * lib/dirname.c (dir_len, mdir_name): Move...
25480         * lib/dirname-lgpl.c: ...into new file.
25481         * lib/basename.c (last_component, base_len): Move...
25482         * lib/basename-lgpl.c: ...into new file.
25483         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
25484         (gl_DIRNAME): Use it.
25485         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
25486         Mention new module.
25487         * modules/dirname-tests (Depends-on): Add progname.
25488         * tests/test-dirname.c (program_name): Delete.
25489
25490         mkdir: make safe for libraries
25491         * modules/mkdir (Depends-on): Drop xalloc.
25492         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
25493         exit.
25494
25495         tests: avoid some compiler warnings
25496         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
25497         literals.
25498         * tests/test-memchr.c (main): Avoid type mismatch.
25499         * tests/test-arpa_inet.c (main): Avoid unused parameters.
25500         * tests/test-base64.c (main): Likewise.
25501         * tests/test-getdelim.c (main): Likewise.
25502         * tests/test-gethostname.c (main): Likewise.
25503         * tests/test-getline.c (main): Likewise.
25504         * tests/test-netinet_in.c (main): Likewise.
25505         * tests/test-select.c (open_server_socket, main): Likewise.
25506         * tests/test-select-stdin.c (main): Likewise.
25507         * tests/test-sockets.c (main): Likewise.
25508         * tests/test-strsignal.c (main): Likewise.
25509         * tests/test-sys_select.c (main): Likewise.
25510         * tests/test-sys_socket.c (main): Likewise.
25511         * tests/test-u64.c (main): Likewise.
25512         * tests/test-xfprintf-posix.c (main): Likewise.
25513         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
25514
25515         sockets: avoid compiler warning
25516         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
25517
25518         maint: detect usage(1) and other suspicious exits
25519         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
25520
25521 2009-10-29  Jim Meyering  <meyering@redhat.com>
25522
25523         timespec: long-to-int truncation could make timespec_cmp malfunction
25524         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
25525         a multiple of 2^32 nanoseconds as no difference.
25526
25527 2009-10-28  Jim Meyering  <meyering@redhat.com>
25528
25529         fprintftime: wrap macro code argument in "do {...} while(0)"
25530         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
25531         cpy macro must be a statement that can be followed by a semicolon.
25532         Now that the else clause contains a comment and is hence longer
25533         than one line, I require curly braces.  That in turn requires
25534         that we wrap this code block in the standard do...while(0).
25535
25536         fprintftime: remove stray semicolon from previous change
25537         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
25538
25539         fprintftime: avoid a warning about ignored fwrite return value
25540         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
25541         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
25542         that is unsafe.
25543         * modules/fprintftime (Depends-on): Add ignore-value.
25544
25545         exclude: avoid an unwarranted warning
25546         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
25547
25548 2009-10-27  Eric Blake  <ebb9@byu.net>
25549
25550         fseek: avoid compilation failure when fflush is replaced
25551         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
25552         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
25553         module is in use.
25554         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
25555         module is not in use; since REPLACE_FSEEK worked otherwise.
25556         (GNULIB_FTELLO): Likewise for ftell.
25557         Reported by Ian Beckwith and others.
25558
25559 2009-10-27  Bruno Haible  <bruno@clisp.org>
25560
25561         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
25562         Reported by Jim Meyering.
25563
25564 2009-10-27  Jim Meyering  <jim@meyering.net>
25565             Bruno Haible  <bruno@clisp.org>
25566
25567         Avoid warning despite dropping the return value of fwrite.
25568         * lib/unicodeio.c: Include ignore-value.h.
25569         (fwrite_success_callback): Explicitly ignore fwrite's return value.
25570         * modules/unicodeio (Depends-on): Add ignore-value.
25571
25572 2009-10-26  Eric Blake  <ebb9@byu.net>
25573
25574         areadlinkat: fix fallback path
25575         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
25576         pointer and zero.
25577
25578 2009-10-22  Pádraig Brady  <P@draigBrady.com>
25579
25580         Use a better IO block size for modern systems
25581         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
25582         * lib/md2.c: Likewise.
25583         * lib/md4.c: Likewise.
25584         * lib/md5.c: Likewise.
25585         * lib/sha1.c: Likewise.
25586         * lib/sha256.c: Likewise.
25587         * lib/sha512.c: Likewise.
25588
25589 2009-10-22  Eric Blake  <ebb9@byu.net>
25590
25591         tests: avoid several compiler warnings
25592         * tests/test-getcwd.c (main): Avoid buffer underflow.
25593         * tests/test-getdate.c (main): String literals are not safe with
25594         putenv, so use setenv.  Declare unused argument.
25595         * modules/getdate-tests (Depends-on): Add setenv.
25596         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
25597         problems with string literals in char *.
25598         * tests/test-hash.c (main): Avoid shadowing declaration.
25599         (insert_new): Treat string literals as char const *.
25600         * tests/test-getopt.h (test_getopt): Likewise.
25601         (getopt_loop): Alter types to minimize casting elsewhere.
25602         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
25603         (test_getopt_long_posix): Likewise.
25604         (do_getopt_long): Add wrapper to minimize casting.
25605         * tests/test-atexit.c (clear_temp_file): Use void.
25606         * tests/test-areadlink-with-size.c (main): Declare unused
25607         arguments.
25608         * tests/test-areadlink.c (main): Likewise.
25609         * tests/test-areadlinkat-with-size.c (main): Likewise.
25610         * tests/test-areadlinkat.c (main): Likewise.
25611         * tests/test-canonicalize-lgpl.c (main): Likewise.
25612         * tests/test-canonicalize.c (main): Likewise.
25613         * tests/test-dirent-safer.c (main): Likewise.
25614         * tests/test-dirname.c (main): Likewise.
25615         * tests/test-dup2.c (main): Likewise.
25616         * tests/test-fchdir.c (main): Likewise.
25617         * tests/test-fcntl-h.c (main): Likewise.
25618         * tests/test-fcntl-safer.c (main): Likewise.
25619         * tests/test-fdopendir.c (main): Likewise.
25620         * tests/test-fdutimensat.c (main): Likewise.
25621         * tests/test-fflush.c (main): Likewise.
25622         * tests/test-filenamecat.c (main): Likewise.
25623         * tests/test-filevercmp.c (main): Likewise.
25624         * tests/test-fopen-safer.c (main): Likewise.
25625         * tests/test-fopen.c (main): Likewise.
25626         * tests/test-fpending.c (main): Likewise.
25627         * tests/test-fpurge.c (main): Likewise.
25628         * tests/test-freading.c (main): Likewise.
25629         * tests/test-fstatat.c (main): Likewise.
25630         * tests/test-fsync.c (main): Likewise.
25631         * tests/test-futimens.c (main): Likewise.
25632         * tests/test-getndelim2.c (main): Likewise.
25633         * tests/test-gettimeofday.c (main): Likewise.
25634         * tests/test-getopt.c (main): Likewise.
25635         * tests/test-i-ring.c (main): Likewise.
25636         * tests/test-inttypes.c (main): Likewise.
25637         * tests/test-link.c (main): Likewise.
25638         * tests/test-lstat.c (main): Likewise.
25639         * tests/test-math.c (main): Likewise.
25640         * tests/test-md5.c (main): Likewise.
25641         * tests/test-memchr2.c (main): Likewise.
25642         * tests/test-memrchr.c (main): Likewise.
25643         * tests/test-mkdir.c (main): Likewise.
25644         * tests/test-mkdirat.c (main): Likewise.
25645         * tests/test-mkfifoat.c (main): Likewise.
25646         * tests/test-open.c (main): Likewise.
25647         * tests/test-openat-safer.c (main): Likewise.
25648         * tests/test-openat.c (main): Likewise.
25649         * tests/test-quotearg.c (main): Likewise.
25650         * tests/test-rawmemchr.c (main): Likewise.
25651         * tests/test-readlink.c (main): Likewise.
25652         * tests/test-remove.c (main): Likewise.
25653         * tests/test-rename.c (main): Likewise.
25654         * tests/test-renameat.c (main): Likewise.
25655         * tests/test-rmdir.c (main): Likewise.
25656         * tests/test-sha1.c (main): Likewise.
25657         * tests/test-signal.c (main): Likewise.
25658         * tests/test-sigaction.c (main): Likewise.
25659         * tests/test-stat.c (main): Likewise.
25660         * tests/test-stat-time.c (main): Likewise.
25661         * tests/test-stddef.c (main): Likewise.
25662         * tests/test-stdint.c (main): Likewise.
25663         * tests/test-stdio.c (main): Likewise.
25664         * tests/test-stdlib.c (main): Likewise.
25665         * tests/test-strchrnul.c (main): Likewise.
25666         * tests/test-strerror.c (main): Likewise.
25667         * tests/test-string.c (main): Likewise.
25668         * tests/test-strtod.c (main): Likewise.
25669         * tests/test-strverscmp.c (main): Likewise.
25670         * tests/test-symlink.c (main): Likewise.
25671         * tests/test-symlinkat.c (main): Likewise.
25672         * tests/test-sys_stat.c (main): Likewise.
25673         * tests/test-sys_time.c (main): Likewise.
25674         * tests/test-time.c (main): Likewise.
25675         * tests/test-unistd.c (main): Likewise.
25676         * tests/test-unlink.c (main): Likewise.
25677         * tests/test-unlinkat.c (main): Likewise.
25678         * tests/test-utimens.c (main): Likewise.
25679         * tests/test-utimensat.c (main): Likewise.
25680         * tests/test-version-etc.c (main): Likewise.
25681         * tests/test-wchar.c (main): Likewise.
25682         * tests/test-wctype.c (main): Likewise.
25683         * tests/test-xprintf-posix.c (main): Likewise.
25684         * tests/test-posixtm.c (main): Likewise.
25685         (STREQ): Delete unused macro.
25686         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
25687         shadowed variables.
25688         * tests/test-memchr.c (main): Likewise.
25689
25690 2009-10-21  Eric Blake  <ebb9@byu.net>
25691
25692         areadlinkat: avoid failure on older glibc
25693         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
25694         rather than mis-comparing 0 against FUNC_RESULT of char*.
25695
25696 2009-10-21  Bruno Haible  <bruno@clisp.org>
25697
25698         * modules/stpncpy (License): Relicense under LGPLv2+.
25699         Reported by David Lutterkort <lutter@redhat.com>.
25700
25701 2009-10-20  Eric Blake  <ebb9@byu.net>
25702
25703         utimensat: work around Solaris 9 bug
25704         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
25705         has trailing slash bugs.
25706         * tests/test-lutimens.h (test_lutimens): Enhance test.
25707         * tests/test-utimens.h (test_utimens): Likewise.
25708         * doc/posix-functions/utime.texi (utime): Enhance documentation.
25709         * doc/posix-functions/utimes.texi (utimes): Likewise.
25710         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
25711         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
25712         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
25713         * doc/posix-functions/futimens.texi (futimens): Likewise.
25714
25715         fdutimensat: new module
25716         * modules/fdutimensat: New file.
25717         * lib/fdutimensat.c (fdutimensat): Likewise.
25718         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
25719         * MODULES.html.sh (File system functions): Mention module.
25720         * modules/fdutimensat-tests: New test.
25721         * tests/test-fdutimensat.c: Likewise.
25722
25723         doc: regenerate INSTALL
25724         * doc/INSTALL: Reflect recent autoconf update.
25725         * doc/INSTALL.ISO: Likewise.
25726         * doc/INSTALL.UTF-8: Likewise.
25727
25728 2009-10-20  Pádraig Brady  <P@draigBrady.com>
25729
25730         acl: warn if ACL support is not detected
25731         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
25732
25733 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
25734
25735         * lib/nproc.h: Add extern "C" block for C++.
25736
25737 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
25738             Bruno Haible  <bruno@clisp.org>
25739
25740         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
25741         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
25742         * doc/posix-functions/isalpha.texi: Likewise.
25743         * doc/posix-functions/isblank.texi: Likewise.
25744         * doc/posix-functions/iscntrl.texi: Likewise.
25745         * doc/posix-functions/isdigit.texi: Likewise.
25746         * doc/posix-functions/isgraph.texi: Likewise.
25747         * doc/posix-functions/islower.texi: Likewise.
25748         * doc/posix-functions/isprint.texi: Likewise.
25749         * doc/posix-functions/ispunct.texi: Likewise.
25750         * doc/posix-functions/isspace.texi: Likewise.
25751         * doc/posix-functions/isupper.texi: Likewise.
25752         * doc/posix-functions/isxdigit.texi: Likewise.
25753
25754 2009-10-18  Bruno Haible  <bruno@clisp.org>
25755
25756         Tests for module 'isblank'.
25757         * modules/isblank-tests: New file.
25758         * tests/test-isblank.c: New file.
25759
25760         New module 'isblank'.
25761         * lib/isblank.c: New file.
25762         * m4/isblank.m4: New file.
25763         * modules/isblank: New file.
25764         * doc/posix-functions/isblank.texi: Mention the new module.
25765
25766 2009-10-18  Bruno Haible  <bruno@clisp.org>
25767
25768         New module 'ctype'.
25769         * lib/ctype.in.h: New file.
25770         * m4/ctype.m4: New file.
25771         * modules/ctype: New file.
25772         * doc/posix-headers/ctype.texi: Mention the new module.
25773
25774 2009-10-18  Jim Meyering  <meyering@redhat.com>
25775
25776         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
25777         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
25778         right after its initialization, rather than farther down.
25779         Keeping these in close proximity makes it easier to ensure
25780         that each such variable is initialized.  E.g.,
25781
25782             LIB_CLOCK_GETTIME=
25783             AC_SUBST([LIB_CLOCK_GETTIME])
25784
25785         This change also increments these serial numbers.
25786         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
25787         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
25788         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25789
25790 2009-10-18  Bruno Haible  <bruno@clisp.org>
25791
25792         Don't let environment variables perturb build.
25793         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
25794         (gl_PREREQ_GETHRXTIME): ... not here.
25795
25796 2009-10-18  Bruno Haible  <bruno@clisp.org>
25797
25798         Avoid symlink attack in localcharset module.
25799         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
25800         (O_NOFOLLOW): Define fallback.
25801         (get_charset_aliases): Don't open the file if it is a symbolic link.
25802         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
25803         gl_FCNTL_H.
25804         (gl_FCNTL_H): Require it.
25805         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
25806         * modules/localcharset (Files): Add m4/fcntl_h.m4.
25807         Reported by Fergal Glynn <fglynn@veracode.com>.
25808
25809 2009-10-18  Bruno Haible  <bruno@clisp.org>
25810
25811         Implement nproc for mingw.
25812         * lib/nproc.c: Include <windows.h>
25813         (num_processors): On native Windows platforms, try GetSystemInfo.
25814
25815 2009-10-18  Bruno Haible  <bruno@clisp.org>
25816
25817         Implement nproc for IRIX.
25818         * lib/nproc.c: Include <sys/sysmp.h>.
25819         (num_processors): On IRIX systems, try sysmp.
25820         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
25821
25822 2009-10-18  Bruno Haible  <bruno@clisp.org>
25823
25824         Implement nproc for HP-UX.
25825         * lib/nproc.c: Include <sys/pstat.h>
25826         (num_processors): On HP-UX systems, try pstat_getdynamic.
25827         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
25828         pstat_getdynamic.
25829
25830 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
25831             Bruno Haible  <bruno@clisp.org>
25832
25833         Implement nproc for NetBSD, OpenBSD.
25834         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
25835         (ARRAY_SIZE): New macro.
25836         (num_processors): On BSD systems, try sysctl of HW_NCPU.
25837         * m4/nproc.m4: New file.
25838         * modules/nproc (Files): Add m4/nproc.m4.
25839         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
25840         (Makefile.am): Instead, augment lib_SOURCES.
25841
25842 2009-10-18  Bruno Haible  <bruno@clisp.org>
25843
25844         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
25845         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
25846         sys/param.h.
25847
25848 2009-10-16  Eric Blake  <ebb9@byu.net>
25849
25850         utimensat: new module
25851         * modules/utimensat: New file.
25852         * lib/utimensat.c (utimensat): Likewise.
25853         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25854         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
25855         so we can work around Linux bugs.
25856         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25857         * modules/sys_stat (Makefile.am): Substitute them.
25858         * lib/sys_stat.in.h (utimensat): Declare it.
25859         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25860         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
25861         * modules/utimensat-tests: New test.
25862         * tests/test-utimensat.c: Likewise.
25863
25864         utimens: let lutimens work on non-symlinks
25865         * lib/utimens.c (lutimens): Fall back to utimens rather than
25866         failing with ENOSYS, when file is not a symlink.
25867         (utimens): Reduce redirection.
25868         * tests/test-lutimens.h (test_lutimens): Update test to cover
25869         non-symlinks.
25870         * tests/test-utimens.h (test_utimens): Update test to cover
25871         symlinks.
25872         * tests/test-utimens.c (main): Update caller.
25873
25874         utimens: cache whether utimensat syscall works
25875         * lib/utimens.c (utimensat_works_really): New cache variable.
25876         (fdutimens, lutimens): Use it to avoid failing syscall.
25877
25878         test-stat-time, test-utimens: improve portability
25879         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
25880         ext4 on alpha, and for cygwin.
25881         * tests/test-utimens-common.h: New file.
25882         (nap): Factor delays into single function.
25883         * tests/test-lutimens.h (test_lutimens): Use new header.
25884         * tests/test-futimens.h (test_futimens): Likewise.
25885         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
25886         timestamps to occur from same machine, as was done previously for
25887         test_utimens.
25888         * modules/utimens-tests (Files): Ship new file.
25889         * modules/futimens-tests (Files): Likewise.
25890         Reported in part by Jim Meyering.
25891
25892         sys_stat: sort replacement declarations
25893         * lib/sys_stat.in.h: Sort declarations.
25894         * lib/futimens.c (futimens): Fix typo.
25895
25896 2009-10-15  Jim Meyering  <meyering@redhat.com>
25897
25898         don't let environment settings perturb build
25899         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
25900         could cause a configure-time and/or build-time malfunction.
25901         Typically, a configure-time function-in-library test is performed
25902         via code like this:
25903
25904           LIB_VAR=
25905           AC_SUBST([LIB_VAR])
25906           prefix_saved_LIBS=$LIBS
25907             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
25908                        [test "$ac_cv_search_FUNC" = "none required" ||
25909                         LIB_VAR=$ac_cv_search_FUNC])
25910           LIBS=$prefix_saved_LIBS
25911
25912         However, in each of the files affected by this change, the LIB_VAR=
25913         initialization was omitted.  Thus, when set in the environment, its
25914         value would propagate into generated Makefiles when FUNC is not found
25915         in LIB_NAME.
25916         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
25917         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
25918         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25919
25920 2009-10-14  Eric Blake  <ebb9@byu.net>
25921
25922         fchdir: avoid infinite recursion in mingw
25923         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
25924         recursing.
25925
25926         test-stat-time: port to mingw
25927         * tests/test-stat-time.c (force_unlink): Return a value.
25928         (test_ctime) [W32]: Fix compilation error.
25929         (nap): Don't call usleep with too large an argument.  Use
25930         force_unlink.
25931         * doc/pastposix-functions/usleep.texi (usleep): Document the
25932         portability issue.
25933
25934 2009-10-13  Jim Meyering  <meyering@redhat.com>
25935
25936         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
25937         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
25938         * modules/pipe-filter-ii: Likewise.
25939         * modules/sys_socket-tests: Likewise.
25940         * modules/tsearch-tests: Likewise.
25941         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
25942         (check): Depend on it.
25943
25944 2009-10-12  Eric Blake  <ebb9@byu.net>
25945
25946         utimens-tests: port to NFS file systems
25947         * tests/test-utimens.h (test_utimens): Refactor utimecmp
25948         comparisons to avoid spurious failures from timestamp drift
25949         between NFS machines.
25950
25951 2009-10-12  Eric Blake  <ebb9@byu.net>
25952
25953         stat-time-tests: minor cleanups
25954         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
25955         * tests/test-stat-time.c (nap): Separate assignment from call.
25956         Suggested by Paolo Bonzini and Bruno Haible.
25957
25958         sys_stat: guarantee struct timespec
25959         * lib/sys_stat.in.h (includes): Always include <time.h>
25960         * modules/sys_stat (Depends-on): Add time.
25961         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
25962         mode_t permission values.
25963         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
25964         get at subsecond timestamps.
25965
25966 2009-10-10  Eric Blake  <ebb9@byu.net>
25967
25968         futimens: new module
25969         * modules/futimens: New file.
25970         * lib/futimens.c (futimens): Likewise.
25971         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
25972         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
25973         we can work around Linux bugs.
25974         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25975         * modules/sys_stat (Makefile.am): Substitute them.
25976         * lib/sys_stat.in.h (futimens): Declare it.
25977         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25978         * doc/posix-functions/futimens.texi (futimens): Likewise.
25979         * modules/futimens-tests: New test.
25980         * tests/test-futimens.c: Likewise.
25981
25982         utimens: introduce fdutimens
25983         * lib/utimens.h (fdutimens): New prototype.
25984         * lib/utimens.c (gl_futimens): Move guts...
25985         (fdutimens): ...to new interface.
25986         * tests/test-utimens.c (do_fdutimens): Use it.
25987
25988         utimens: add UTIME_NOW and UTIME_OMIT support
25989         * lib/utimens.c (validate_timespec, update_timespec): New helper
25990         functions.
25991         (gl_futimens, lutimens): Use them.
25992         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
25993         stdbool, sys_stat.
25994         (Link): Mention resulting library dependency.
25995         * modules/utimecmp (Link): Likewise.
25996         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
25997         (Makefile.am): Pick up library dependency.
25998         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
25999         definition.
26000         * tests/test-sys_stat.c: Test the definitions.
26001         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
26002         * NEWS: Document library dependency.
26003
26004         utimecmp: support symlink timestamps
26005         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
26006         hashing when possible.  Use pathconf when available.
26007         (SYSCALL_RESOLUTION): Recognize tighter resolution.
26008         * modules/utimecmp (Depends-on): Add lstat.
26009
26010         utimens: add lutimens interface
26011         * lib/utimens.c (lutimens): New function.
26012         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
26013         * lib/utimens.h (lutimens): Declare new interface.
26014         * tests/test-utimens.c (main): Enhance test.
26015         * tests/test-lutimens.h (test_lutimens): New file.
26016         * modules/utimens-tests (Files): Distribute it.
26017         (Depends-on): Add symlink.
26018         (configure.ac): Check for usleep.
26019
26020         utimens: validate futimens usage
26021         * lib/utimens.c (gl_futimens): Require valid fd up front, using
26022         fewer syscalls on failure later on.  Avoid compiler warning on
26023         mingw.
26024         * modules/utimens (Depends-on): Add dup2.
26025
26026         utimens: add test
26027         * modules/utimens-tests: New test.
26028         * tests/test-utimens.h: New file.
26029         * tests/test-futimens.h: Likewise.
26030         * tests/test-utimens.c: Likewise.
26031
26032         doc: mention timestamp portability issues
26033         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
26034         instead.
26035         * doc/posix-functions/utime.texi (utime): Likewise.
26036         * doc/posix-functions/utimes.texi (utimes): Likewise.
26037         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
26038         instead.
26039         * doc/posix-functions/futimens.texi (futimens): Mention utimens
26040         module.
26041         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26042         Mention weakness with symlink timestamps.
26043         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
26044         to utimensat/futimens instead.
26045         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
26046
26047         test-dup2: enhance test
26048         * tests/test-dup2.c (main): Also check AT_FDCWD.
26049
26050         test-stat-time: avoid more spurious failures
26051         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
26052         xfs; and avoid race if the two timestamps cross quantization edge.
26053
26054         relocatable: prefer 'file system' over 'filesystem'
26055         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
26056         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
26057         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
26058         * doc/relocatable.texi (Enabling Relocatability): Likewise.
26059         * lib/relocatable.c (compute_curr_prefix): Likewise.
26060
26061 2009-10-10  Jim Meyering  <meyering@redhat.com>
26062
26063         stat-time-tests: check for the usleep function
26064         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
26065
26066 2009-10-10  Bruno Haible  <bruno@clisp.org>
26067
26068         * modules/xnanosleep: Put the Link section after the Include section.
26069
26070 2009-10-09  Eric Blake  <ebb9@byu.net>
26071
26072         dup2: work around FreeBSD 6.1 bug
26073         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
26074         * doc/posix-functions/dup2.texi (dup2): Document it.
26075         Reported by Nelson H. F. Beebe and Jim Meyering.
26076
26077         test-stat-time: port to buggy NFS clients
26078         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
26079         (test_ctime): Also skip test if mtime and ctime are skewed.
26080
26081         maint: prefer 'file system' over 'filesystem'
26082         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
26083         * doc/posix-functions/lstat.texi (lstat): Likewise.
26084         * lib/file-has-acl.c (file_has_acl): Likewise.
26085         * lib/fwriteerror.c [TEST]: Likewise.
26086         * tests/test-areadlink.h (test_areadlink): Likewise.
26087         * tests/test-areadlinkat-with-size.c (main): Likewise.
26088         * tests/test-areadlinkat.c (main): Likewise.
26089         * tests/test-canonicalize-lgpl.c (main): Likewise.
26090         * tests/test-canonicalize.c (main): Likewise.
26091         * tests/test-fstatat.c (main): Likewise.
26092         * tests/test-linkat.c (main): Likewise.
26093         * tests/test-lstat.h (test_lstat_func): Likewise.
26094         * tests/test-mkdir.h (test_mkdir): Likewise.
26095         * tests/test-readlink.h (test_readlink): Likewise.
26096         * tests/test-remove.c (main): Likewise.
26097         * tests/test-rename.h (test_rename): Likewise.
26098         * tests/test-renameat.c (main): Likewise.
26099         * tests/test-rmdir.h (test_rmdir_func): Likewise.
26100         * tests/test-symlink.h (test_symlink): Likewise.
26101         * tests/test-symlinkat.c (main): Likewise.
26102         * tests/test-unlink.h (test_unlink_func): Likewise.
26103         * tests/test-unlinkat.c (main): Likewise.
26104
26105         maint: make realtime library usage explicit
26106         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
26107         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
26108         * modules/settime (Link): Likewise.
26109         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
26110
26111         test-stat-time: speed up execution
26112         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
26113         warning on mingw.
26114         (nap): New helper function.
26115         (prepare_test): Use it to reduce sleep time.
26116         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
26117         execution.
26118         * modules/stat-time-tests (configure.ac): Check for usleep.
26119
26120 2009-10-09  Jim Meyering  <meyering@redhat.com>
26121
26122         selinux-h: always use getfilecon wrappers
26123         * lib/getfilecon.c: New file.
26124         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
26125         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
26126         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
26127         (fgetfilecon): Provide a stub.
26128         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
26129         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
26130         file unconditionally.
26131         When <selinux/selinux.h> is found, arrange to use wrappers.
26132         * modules/selinux-h (Files): Add getfilecon.c.
26133         (Makefile.am): Substitute include-next-related bits
26134         into the now-always-generated selinux/selinux.h file.
26135         * doc/glibc-functions/lgetfilecon.texi: New file.
26136         * doc/glibc-functions/fgetfilecon.texi: New file.
26137         * doc/glibc-functions/getfilecon.texi: New file.
26138         * doc/glibc-functions/getfilecon-desc.texi: New file.
26139         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
26140         which to pull in the new files.
26141         * MODULES.html.sh (Misc): Add selinux-h.
26142
26143 2009-10-08  Jim Meyering  <meyering@redhat.com>
26144
26145         unistd: fix comment typo
26146         * lib/unistd.in.h (euidaccess): Fix a comment typo.
26147
26148 2009-10-08  Eric Blake  <ebb9@byu.net>
26149
26150         areadlink: use SIZE_MAX consistently
26151         * modules/areadlink (Depends-on): Add stdint.
26152         * modules/areadlink-with-size (Depends-on): Likewise.
26153         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
26154         gives NULL; drop sys/types, since unistd gives size_t; and add
26155         stdint for SIZE_MAX.
26156         (SIZE_MAX): Rely on headers.
26157         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
26158         and add stdint.
26159         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
26160         (SIZE_MAX): Likewise.
26161         (INITIAL_BUF_SIZE): Turn into enum.
26162         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
26163
26164 2009-10-08  Jim Meyering  <meyering@redhat.com>
26165
26166         areadlinkat: avoid compilation failure
26167         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
26168         Fix typo in comment.
26169
26170 2009-10-07  Eric Blake  <ebb9@byu.net>
26171
26172         areadlinkat-with-size: new module
26173         * modules/areadlinkat-with-size: New module.
26174         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
26175         * lib/areadlink.h (areadlinkat): Declare it.
26176         * MODULES.html.sh (File system functions): Mention it.
26177         * modules/areadlinkat-with-size-tests: New test.
26178         * tests/test-areadlinkat-with-size.c: New file.
26179
26180         xreadlinkat: new module
26181         * modules/xreadlinkat: New module.
26182         * lib/xreadlinkat.c (xreadlinkat): New file.
26183         * lib/xreadlink.h (xreadlinkat): Declare it.
26184         * MODULES.html.sh (File system functions): Mention it.
26185
26186         areadlinkat: new module
26187         * lib/at-func.c (FUNC_FAIL): New define.
26188         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
26189         * modules/areadlinkat: New module.
26190         * lib/linkat.c (areadlinkat): Move...
26191         * lib/areadlinkat.c (areadlinkat): ...to new file.
26192         * lib/areadlink.h (areadlinkat): Declare it.
26193         * modules/linkat (Depends-on): Add areadlinkat.
26194         * MODULES.html.sh (File system functions): Mention it.
26195         * modules/areadlinkat-tests: New test.
26196         * tests/test-areadlinkat.c: New file.
26197
26198         areadlink, areadlink-with-size: add tests
26199         * modules/areadlink-tests: New test.
26200         * modules/areadlink-with-size-tests: Likewise.
26201         * tests/test-areadlink.h: New file.
26202         * tests/test-areadlink.c: Likewise.
26203         * tests/test-areadlink-with-size.c: Likewise.
26204
26205         maint: minor cleanups
26206         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
26207         _UNUSED_PARAMETER_ instead.
26208         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
26209         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
26210         * modules/linkat-tests (Files): Distribute test-link.h.
26211
26212         openat, utimens: whitespace cleanup
26213         * lib/openat.c: Prefer space throughout, rather than mix of 8
26214         spaces vs. tabs.
26215         * lib/at-func.c: Likewise.
26216         * lib/utimens.c: Likewise.
26217
26218         openat: avoid using wrong fd
26219         * lib/openat.c (openat_permissive): Reject user's fd if saving the
26220         working directory chooses same fd.
26221         * lib/at-func.c (AT_FUNC_NAME): Likewise.
26222
26223         mkdir, mkdirat: fix cygwin 1.5.x bug
26224         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
26225         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
26226         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
26227         bug.
26228         (gl_PREREQ_MKDIR): Delete unused macro.
26229         * modules/mkdir (Files): Track file rename.
26230         (configure.ac): Update macro name.
26231         * modules/openat (Depends-on): Add mkdir.
26232         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
26233
26234         mkdir, mkdirat: add tests
26235         * modules/mkdir-tests: New test.
26236         * tests/test-mkdir.h: New file.
26237         * tests/test-mkdir.c: Likewise.
26238         * tests/test-mkdirat.c: Likewise.
26239         * modules/openat-tests (Files): Add new files.
26240         (Makefile.am): Run new test.
26241
26242 2009-10-06  Eric Blake  <ebb9@byu.net>
26243
26244         doc: tweak *at function documentation
26245         * doc/posix-functions/faccessat.texi (faccessat): Mention
26246         known issue with replacement.
26247         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
26248         * doc/posix-functions/linkat.texi (linkat): Likewise.
26249         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
26250         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
26251         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26252         * doc/posix-functions/renameat.texi (renameat): Likewise.
26253         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26254
26255         openat: fix GNU/Hurd bug in unlinkat
26256         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
26257         broken.
26258         * doc/posix-functions/unlink.texi (unlink): Document this.
26259         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
26260
26261         fdopendir: fix GNU/Hurd bug
26262         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
26263         allowing non-directory fds.
26264         * lib/fdopendir.c (rpl_fdopendir): Work around it.
26265         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
26266         * modules/dirent (Makefile.am): Substitute it.
26267         * lib/dirent.in.h (fdopendir): Declare replacement.
26268         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
26269         * tests/test-fdopendir.c (main): Test something other than
26270         /dev/null, since on Hurd that behaves like a directory.
26271
26272         test-symlink: port to GNU/Hurd
26273         * tests/test-symlink.h (test_symlink): Relax expected errno.
26274
26275         doc: tweak more cygwin information
26276         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
26277         now compatible with glibc.
26278         * doc/posix-functions/getopt.texi (getopt): Likewise.
26279
26280         getopt-gnu: add another test
26281         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
26282         guarantee behavior relied on by m4.
26283         * tests/test-getopt.c (main): Use it.
26284         * modules/getopt-posix-tests (Depends-on): Add setenv.
26285         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
26286
26287         getopt: fix compilation on darwin
26288         * lib/getopt.in.h (includes): Leave breadcrumbs during system
26289         include.
26290         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
26291         Reported by Ludovic Courtès.
26292
26293 2009-10-06  Bruno Haible  <bruno@clisp.org>
26294
26295         * modules/size_max (Description): Discourage its use.
26296         Reported by Simon Josefsson.
26297
26298 2009-10-06  Jim Meyering  <meyering@redhat.com>
26299
26300         linkat: avoid compilation failure
26301         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
26302
26303 2009-10-05  Eric Blake  <ebb9@byu.net>
26304
26305         linkat: support Linux 2.6.17
26306         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
26307         linkat on Linux, but allow cache variable override.
26308         * lib/linkat.c (rpl_linkat): Define override.
26309         * modules/linkat (Depends-on): Add symlinkat.
26310         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
26311         * modules/unistd (Makefile.am): Substitute it.
26312         * lib/unistd.in.h (linkat): Declare replacement.
26313         Reported by Pádraig Brady.
26314
26315         quotearg: port test to systems with C.UTF-8 locale
26316         * tests/test-quotearg.c (struct result_strings): Add another
26317         member, differentiating between C.ASCII and C.UTF-8 handling.
26318         (compare_strings): Add parameter.
26319         (main): Adjust all callers.
26320
26321         getopt: avoid clash with FreeBSD _getopt_internal
26322         * lib/getopt.in.h (_getopt_internal): Override the name.
26323         * lib/getopt_int.h (includes): Pick up any overrides.
26324         Reported by Reuben Thomas.
26325
26326         hash: allow C89 compilation
26327         * lib/hash.c (check_tuning): Move declaration before statement.
26328         Reported by Reuben Thomas.
26329
26330 2009-10-05  Karl Berry  <karl@gnu.org>
26331
26332         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
26333
26334 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
26335             Bruno Haible  <bruno@clisp.org>
26336
26337         * lib/uname.c (uname): Use a table-driven algorithm to compute
26338         Windows NT versions.
26339
26340 2009-10-04  Bruno Haible  <bruno@clisp.org>
26341
26342         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
26343         program_invocation_short_name.
26344         * modules/progname (configure.ac): Test for presence of
26345         program_invocation_short_name.
26346         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
26347
26348 2009-10-04  Bruno Haible  <bruno@clisp.org>
26349
26350         * lib/progname.c (set_program_name): Fix comment.
26351         Reported by Jim Meyering.
26352
26353 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
26354             Bruno Haible  <bruno@clisp.org>
26355
26356         * lib/uname.c: Include <string.h>.
26357         (uname): Do only one call to GetVersionEx in the common case.
26358
26359 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
26360             Bruno Haible  <bruno@clisp.org>
26361
26362         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
26363         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
26364         (uname): Add support for Windows CE and various non-x86 CPU types.
26365
26366 2009-10-03  Bruno Haible  <bruno@clisp.org>
26367
26368         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
26369         invocation to tests/configure.ac.
26370         Reported by Ian Beckwith <ianb@erislabs.net>.
26371
26372 2009-10-02  Eric Blake  <ebb9@byu.net>
26373
26374         fchdir: avoid compiler warning
26375         * lib/fchdir.c (canonicalize_file_name)
26376         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
26377
26378         test-open: support mingw errno values
26379         * tests/test-open.h (test_open): Relax test.
26380         * tests/test-fopen.h (test_fopen): Likewise.
26381         * tests/test-openat-safer.c (main): Likewise.
26382
26383         open: fix opening directory on mingw
26384         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
26385
26386         test-open: on GNU/Hurd, /dev/null is a directory
26387         * tests/test-fopen.h (main): Rename...
26388         (test_fopen): ...to this.  Use a guaranteed non-directory when
26389         confirming open behavior on trailing slash.
26390         * tests/test-openat-safer.c (main): Likewise.
26391         * tests/test-open.h (main): Likewise....
26392         (test_open): ...to this.
26393         * tests/test-fopen.c (main): Adjust caller.
26394         * tests/test-fopen-safer.c (main): Likewise.
26395         * tests/test-open.c (main): Likewise.
26396         * tests/test-fcntl-safer.c (main): Likewise.
26397         Reported by Samuel Thibault.
26398
26399         rename, fchdir: don't ignore chdir failure
26400         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
26401         * lib/rename.c (rpl_rename) [W32]: Likewise.
26402         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
26403         an empty destination directory if source cannot be renamed,
26404         although there is still possibility for failure.
26405         * doc/posix-functions/rename.texi (rename): Document the race.
26406         Reported by Jim Meyering.
26407
26408         maint: cleanup whitespace in recent commits
26409         * lib/rename.c (rpl_rename): Remove tabs.
26410         * tests/test-link.h (test_link): Likewise.
26411         * lib/fchdir.c (get_name): Likewise.
26412         Reported by Jim Meyering.
26413
26414 2009-10-02  Ben Pfaff  <blp@gnu.org>
26415
26416         relocatable-prog-wrapper: Add missing dependency on
26417         double-slash-root.
26418         * modules/relocatable-prog-wrapper: Add dependency.
26419         Reported by Ian Beckwith <ianb@erislabs.net>.
26420
26421 2009-10-02  Eric Blake  <ebb9@byu.net>
26422
26423         renameat: fix Solaris bugs
26424         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
26425         needed fixing.
26426         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
26427         * modules/stdio (Makefile.am): Substitute it.
26428         * lib/stdio.in.h (renameat): Declare replacement.
26429         * lib/renameat.c (rpl_renameat): Implement fix.
26430
26431         renameat: new module
26432         * modules/renameat: New file.
26433         * lib/renameat.c (renameat): Likewise.
26434         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
26435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
26436         * modules/stdio (Makefile.am): Substitute them.
26437         * lib/stdio.in.h (renameat): Declare it.
26438         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26439         * doc/posix-functions/renameat.texi (renameat): Likewise.
26440         * modules/renameat-tests: New test.
26441         * tests/test-renameat.c: Likewise.
26442
26443         rename: fix mingw bugs
26444         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
26445         directory overwrite bugs.
26446
26447         rename: fix another cygwin 1.5 bug
26448         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
26449         checks.
26450         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
26451         unnecessary cygwin workarounds.  Also work around bug with moving
26452         full directory onto an empty one.
26453         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
26454
26455         rename-dest-slash: merge into rename module
26456         * modules/rename-dest-slash (Status): Mark obsolete.
26457         (Depends-on): Add rename.
26458         (Files): Let rename do it all.
26459         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
26460         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
26461         * m4/rename-dest-slash.m4: ...so this file can be deleted.
26462         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
26463         * lib/rename.c (rpl_rename): Update comments.
26464
26465         rename: fix cygwin 1.5.x bugs
26466         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
26467         * lib/rename.c (rpl_rename): Work around them.
26468         * modules/rename (Depends-on): Add same-inode.
26469
26470         rename: fix Solaris 10 bug
26471         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
26472         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
26473         was the only bug.
26474
26475         rename: fix Solaris 9 bug
26476         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
26477         on non-directory.  Avoid calling exit.
26478         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
26479         strdup.
26480         * modules/rename-tests (Depends-on): Drop lstat.
26481         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
26482         (gl_PREREQ_RENAME): Delete unused macro.
26483
26484         rename-dest-slash: fix NetBSD bug
26485         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
26486         links.
26487         * modules/rename-dest-slash (Depends-on): Add same-inode.
26488
26489         rename-tests: new test, exposes several platform bugs
26490         * modules/rename-tests: New file.
26491         * tests/test-rename.h: Likewise.
26492         * tests/test-rename.c: Likewise.
26493         * doc/posix-functions/rename.texi (rename): Improve documentation,
26494         including bugs that will eventually be fixed in gnulib.
26495
26496 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
26497
26498         * lib/uname.c: Include <stdlib.h>
26499         (uname): Assume version info is available.
26500
26501 2009-10-02  Jim Meyering  <meyering@redhat.com>
26502
26503         gnu-web-doc-update: correct --help output
26504         * build-aux/gnu-web-doc-update: Make --help output relevant.
26505
26506         gnu-web-doc-update: add standard options
26507         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
26508
26509         gnu-web-doc-update: New module.
26510         Use this script to automatically update the on-line web documentation
26511         for your GNU project at http://www.gnu.org/software/$pkg/manual/
26512         * modules/gnu-web-doc-update: New file, from coreutils.
26513         * build-aux/gnu-web-doc-update: New script.
26514
26515 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
26516
26517         link: LoadLibrary is not needed.
26518         * lib/link.c: Use GetModuleHandle.
26519
26520 2009-10-01  Eric Blake  <ebb9@byu.net>
26521
26522         getopt: bump serial number
26523         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
26524         change.
26525
26526         tests: tighten link, rmdir, and remove tests
26527         * tests/test-link.h (includes): No need to use <config.h> here.
26528         Clean up if directory hard link was created, otherwise test for
26529         trailing '.'.
26530         * tests/test-linkat.c (main): Simplify.
26531         * tests/test-remove.c (main): Enhance test for trailing '.'.
26532         * tests/test-rmdir.h (test_rmdir_func): Likewise.
26533
26534 2009-10-01  Jim Meyering  <meyering@redhat.com>
26535
26536         maint.mk: requiring "make major" was annoying, for a "minor" release.
26537         What is intended is "stable", to contrast with alpha and beta,
26538         so require "make stable", not "make major".
26539         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
26540         (get_tool_versions): Likewise.
26541         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
26542
26543 2009-09-30  Ben Pfaff  <blp@gnu.org>
26544
26545         Fix broken build of replacement for Windows tmpfile().
26546         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
26547         flags argument added along with the 'mkostemp' module.
26548
26549 2009-09-28  Bruno Haible  <bruno@clisp.org>
26550
26551         Avoid identifier clash with POSIX function 'remove' defined as a macro.
26552         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
26553         to 'remove_elt'.
26554         (gl_list_remove): Update.
26555         * lib/gl_list.c (gl_list_remove): Update.
26556         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
26557         to 'remove_elt'.
26558         (gl_oset_remove): Update.
26559         * lib/gl_list.c (gl_oset_remove): Update.
26560         Reported by Eric Blake.
26561
26562 2009-09-28  Eric Blake  <ebb9@byu.net>
26563
26564         doc: mention yet more cygwin 1.7 status
26565         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
26566         cygwin.
26567         * doc/glibc-functions/execvpe.texi (execvpe): New file.
26568         * doc/gnulib.texi (Glibc unistd.h): Mention it.
26569
26570         argp: fix test failure
26571         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
26572         that are not upper-case.  Pass correct range to tolower.
26573
26574 2009-09-27  Jim Meyering  <meyering@redhat.com>
26575
26576         test-yesno: work around sparc-dash here-document infelicity
26577         Without this change, the literal \177 byte in a here document
26578         would make dash 0.5.5.1-3 access uninitialized memory.
26579         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
26580         Instead, use a marker, "@", and filter through tr to create the desired
26581         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
26582
26583 2009-09-27  Bruno Haible  <bruno@clisp.org>
26584
26585         Disable untested support for new flavours of ACLs on AIX.
26586         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
26587         progress.
26588         * lib/set-mode-acl.c (qset_acl): Likewise.
26589
26590 2008-12-07  Bruno Haible  <bruno@clisp.org>
26591
26592         Add support for new flavours of ACLs on AIX. (Untested.)
26593         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
26594         (file_has_acl): Add support for newer AIX.
26595         * lib/set-mode-acl.c (qset_acl): Likewise.
26596         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
26597         Rainer Tammer <tammer@tammer.net>.
26598
26599 2009-09-26  Eric Blake  <ebb9@byu.net>
26600
26601         argp: fix compilation of getopt
26602         * lib/getopt.in.h (includes): Use different guard than glibc.
26603         Reported by Sergey Poznyakoff.
26604
26605         doc: mention more cygwin 1.7 status
26606         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
26607         bug.
26608         * doc/posix-functions/execl.texi (execl): Likewise.
26609         * doc/posix-functions/execle.texi (execle): Likewise.
26610         * doc/posix-functions/execlp.texi (execlp): Likewise.
26611         * doc/posix-functions/execv.texi (execv): Likewise.
26612         * doc/posix-functions/execve.texi (execve): Likewise.
26613         * doc/posix-functions/execvp.texi (execvp): Likewise.
26614         * doc/glibc-functions/canonicalize_file_name.texi
26615         (canonicalize_file_name): Cygwin 1.7 now provides this.
26616         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
26617         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
26618         on AT_SYMLINK_NOFOLLOW.
26619
26620 2009-09-24  Eric Blake  <ebb9@byu.net>
26621
26622         test-linkat: make test more robust
26623         * tests/test-linkat.c (main): Avoid collision with EEXIST.
26624
26625         getopt: fix inclusion guards for cygwin
26626         * modules/getopt-posix (Depends-on): Add include-next.
26627         (Makefile.am): Substitute more items in replacement header.
26628         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
26629         <getopt.h>.
26630         * lib/getopt.in.h (includes): Use split inclusion guard, and
26631         prefer <getopt.h> over include <unistd.h> when one is present.
26632         (option): Also override name of 'struct option'.
26633
26634         same-inode: revert prior change; it is not yet ready
26635         * NEWS: Undo mention of this change.
26636         * lib/same-inode.h (same-inode.h): Undo tri-state change.
26637         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
26638         * lib/cycle-check.c (cycle_check): Likewise.
26639         * lib/same.c (same_name): Likewise.
26640         * lib/at-func2.c (at_func2): Likewise.
26641
26642 2009-09-23  Eric Blake  <ebb9@byu.net>
26643
26644         linkat: new module
26645         * modules/linkat: New file.
26646         * lib/at-func2.c (at_func2): Likewise.
26647         * lib/linkat.c (linkat): Likewise.
26648         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
26649         * lib/openat-priv.h (at_func2): Add declaration.
26650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26651         * modules/unistd (Makefile.am): Substitute them.
26652         * lib/unistd.in.h (linkat): Declare it.
26653         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26654         * doc/posix-functions/linkat.texi (linkat): Likewise.
26655         * doc/posix-functions/link.texi (link): Tweak wording.
26656         * tests/test-link.c (main): Move guts...
26657         * tests/test-link.h (test_link): ...into new file.
26658         * modules/linkat-tests: New test.
26659         * tests/test-linkat.c: Likewise.
26660         * modules/link-tests (Files): Ship new file.
26661         (Depends-on): Add stdbool.
26662
26663         dirname: add library-safe mdir_name
26664         * lib/dirname.h (mdir_name): New prototype.
26665         * lib/dirname.c (dir_name): Move guts...
26666         (mdir_name): ...to new function that avoids xalloc_die.
26667
26668         fchdir: another mingw fix
26669         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
26670         * lib/fchdir.c (get_name): New helper method; skips canonicalize
26671         on mingw (where it has not yet been ported), and make it optional
26672         elsewhere.
26673         (_gl_register_fd): Use it.
26674
26675         same-inode: make SAME_INODE tri-state, to port to mingw
26676         * NEWS: Mention this change.
26677         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
26678         st_ino always being 0.
26679         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
26680         * lib/cycle-check.c (cycle_check): Likewise.
26681         * lib/same.c (same_name): Likewise.
26682
26683         lstat: avoid mingw compilation error
26684         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
26685         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
26686         lstat ourselves.
26687         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
26688         was adequate.
26689         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
26690         the checks for lstat.
26691         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
26692
26693         link: fix test failure on Solaris 9
26694         * lib/link.c (rpl_link): Don't assume link will catch bogus
26695         trailing slash on source.
26696
26697         test-symlinkat: enhance test
26698         * tests/test-readlink.c (main): Move guts...
26699         * tests/test-readlink.h (test_readlink): ...into new file.
26700         * tests/test-symlink.c (main): Move guts...
26701         * tests/test-symlink.h (test_symlink): ...into new file.
26702         * tests/test-symlinkat.c (main): Use new files for further
26703         coverage.
26704         (do_symlink, do_readlink): New helper functions.
26705         * modules/symlink-tests (Files): Ship new file.
26706         (Depends-on): Add stdbool.
26707         * modules/readlink-tests (Files): Ship new file.
26708         (Depends-on): Add stdbool.
26709         * modules/symlinkat-tests (Files): Use new files.
26710
26711 2009-09-23  Eric Blake  <ebb9@byu.net>
26712
26713         readlink: document portability issue with symlink length
26714         * doc/posix-functions/lstat.texi (lstat): Mention that some file
26715         systems have bogus st_size on symlinks, and mention the
26716         areadlink-with-size module.
26717         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
26718         * doc/posix-functions/readlink.texi (readlink): Mention the
26719         areadlink module, and ERANGE failure.
26720         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26721         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
26722
26723         readlink: fix Solaris 9 bug with trailing slash
26724         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
26725         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
26726         * doc/posix-functions/readlink.texi (readlink): Document this.
26727         * modules/readlink-tests: New test.
26728         * tests/test-readlink.c: Likewise.
26729
26730         readlink: fix cygwin 1.5.x bug with return type
26731         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
26732         * lib/unistd.in.h (readlink): Use ssize_t.
26733         * lib/readlink.c (readlink): Likewise.
26734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26735         * modules/unistd (Makefile.am): Substitute it.
26736         * lib/unistd.in.h (readlink): Declare replacement.
26737         * doc/posix-functions/readlink.texi (readlink): Document this.
26738
26739         symlink: use throughout gnulib
26740         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
26741         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
26742         symlink is not used.
26743         * modules/symlinkat (Depends-on): Add symlink.
26744         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26745         * modules/canonicalize-tests (Depends-on): Likewise.
26746         * modules/lstat-tests (Depends-on): Likewise.
26747         * modules/openat-tests (Depends-on): Likewise.
26748         * modules/remove-tests (Depends-on): Likewise.
26749         * modules/rmdir-tests (Depends-on): Likewise.
26750         * modules/unlink-tests (Depends-on): Likewise.
26751         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
26752         * tests/test-canonicalize.c (symlink): Likewise.
26753         * tests/test-fstatat.c (symlink): Likewise.
26754         * tests/test-lstat.c (symlink): Likewise.
26755         * tests/test-remove.c (symlink): Likewise.
26756         * tests/test-rmdir.c (symlink): Likewise.
26757         * tests/test-unlink.c (symlink): Likewise.
26758         * tests/test-unlinkat.c (symlink): Likewise.
26759
26760         symlink: new module, for Solaris 9 bug
26761         * modules/symlink: New file.
26762         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
26763         * lib/symlink.c: Likewise.
26764         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
26765         * modules/unistd (Makefile.am): Substitute them.
26766         * lib/unistd.in.h (symlink): Declare replacement.
26767         * MODULES.html.sh (File system functions): Mention it.
26768         * doc/posix-functions/symlink.texi (symlink): Likewise.
26769         * modules/symlink-tests: New test.
26770         * tests/test-symlink.c: Likewise.
26771
26772 2009-09-23  Bruno Haible  <bruno@clisp.org>
26773
26774         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
26775         when needed.
26776         Test case: gnulib-tool --import --with-tests atexit inttypes.
26777         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
26778
26779 2009-09-23  Bruno Haible  <bruno@clisp.org>
26780
26781         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
26782         subcommand, not in a subshell.
26783
26784 2009-09-22  Eric Blake  <ebb9@byu.net>
26785
26786         unistd: sort replacement declarations
26787         * lib/unistd.in.h: Sort declarations.
26788
26789         open, openat: minor optimization
26790         * lib/open.c (open): If open succeeded, len is non-zero.
26791         * lib/openat.c (rpl_openat): Likewise.
26792
26793         link-follow: ensure correct result
26794         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
26795         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
26796         distinguish between possible failures.
26797
26798 2009-09-21  Eric Blake  <ebb9@byu.net>
26799
26800         fts: avoid compiler warning
26801         * lib/fts.c (dirent_inode_sort_may_be_useful)
26802         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
26803
26804 2009-09-19  Bruno Haible  <bruno@clisp.org>
26805
26806         * lib/progreloc.c (canonicalize_file_name): New declaration.
26807
26808 2009-09-19  Eric Blake  <ebb9@byu.net>
26809
26810         link: fix quoting
26811         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
26812
26813         openat: fix openat bugs on Solaris 9
26814         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
26815         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
26816         * modules/openat (Depends-on): Add open.
26817         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
26818         * modules/fcntl-h (Makefile.am): Substitute it.
26819         * lib/fcntl.in.h (openat): Declare replacement.
26820         * doc/posix-functions/openat.texi (openat): Document this.
26821
26822         openat: move fstatat and unlinkat into correct files
26823         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
26824         compiled.
26825         * lib/openat.c (fstatat, unlinkat): Move...
26826         * lib/fstatat.c (fstatat): ...into correct files.
26827         * lib/unlinkat.c (unlinkat): Likewise.
26828
26829         openat: fix unlinkat bugs on Solaris 9
26830         * lib/unlinkat.c (unlinkat): New file.
26831         * modules/openat (Depends-on): Add unlink.
26832         (Files): Distribute it.
26833         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
26834         trailing slash behavior is broken.
26835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26836         * modules/unistd (Makefile.am): Substitute it.
26837         * lib/unistd.in.h (unlinkat): Declare replacement.
26838         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
26839
26840         openat: fix fstatat bugs on Solaris 9
26841         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
26842         stat.
26843         * doc/posix-functions/fstatat.texi (fstatat): Document this.
26844
26845         test-unlinkat: enhance test, to expose Solaris 9 bug
26846         * tests/test-unlink.c (main): Factor guts...
26847         * tests/test-unlink.h (test_rmdir_func): ...into new file.
26848         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
26849         * tests/test-rmdir.c (main): Adjust caller.
26850         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
26851         (unlinker): New helper function.
26852         (rmdirat): Enhance check.
26853         * modules/rmdir-tests (Depends-on): Add stdbool.
26854         * modules/unlink-tests (Depends-on): Likewise.
26855         (Files): Add test-unlink.h.
26856         * modules/openat-tests (Files): Likewise.
26857         (Depends-on): Add unlinkdir.
26858
26859         test-fstatat: new test, to expose Solaris 9 bugs
26860         * tests/test-stat.c (main): Factor guts...
26861         * tests/test-stat.h (test_stat_func): ...into new file.
26862         * tests/test-lstat.c (main): Factor guts...
26863         * tests/test-lstat.h (test_lstat_func): ...into new file.
26864         * tests/test-fstatat.c: New file.
26865         * modules/stat-tests (Files): Add test-stat.h.
26866         * modules/lstat-tests (Files): Add test-lstat.h.
26867         (Depends-on): Add stdbool.
26868         * modules/openat-tests (Depends-on): Add pathmax.
26869         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
26870         (Makefile.am): Run new test.
26871
26872         remove: new module, for mingw and Solaris 9 bugs
26873         * modules/remove: New file.
26874         * lib/remove.c: Likewise.
26875         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
26876         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
26877         * modules/stdio (Makefile.am): Use them.
26878         * lib/stdio.in.h (remove): Declare replacement.
26879         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26880         * doc/posix-functions/remove.texi (remove): Likewise.
26881         * modules/remove-tests: New test.
26882         * tests/test-remove.c: Likewise.
26883
26884         unlink: new module, for Solaris 9 bug
26885         * modules/unlink: New file.
26886         * lib/unlink.c: Likewise.
26887         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
26888         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26889         * modules/unistd (Makefile.am): Use them.
26890         * lib/unistd.in.h (stat): Declare replacement.
26891         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26892         * doc/posix-functions/unlink.texi (unlink): Likewise.
26893         * modules/unlink-tests: New test.
26894         * tests/test-unlink.c: Likewise.
26895
26896         lstat: fix Solaris 9 bug
26897         * lib/lstat.c (lstat): Also check for trailing slash on
26898         non-symlink, non-directories.  Use stat module to simplify logic.
26899         * doc/posix-functions/lstat.texi (lstat): Document it.
26900         * modules/lstat-tests (Depends-on): Add errno, same-inode.
26901         (configure.ac): Check for symlink.
26902         * tests/test-lstat.c (main): Add more tests.
26903
26904         stat: add as dependency to other modules
26905         * modules/chown (Depends-on): Add stat.
26906         * modules/euidaccess (Depends-on): Likewise.
26907         * modules/fchdir (Depends-on): Likewise.
26908         * modules/isdir (Depends-on): Likewise.
26909         * modules/link (Depends-on): Likewise.
26910         * modules/lstat (Depends-on): Likewise.
26911         * modules/mkdir-p (Depends-on): Likewise.
26912         * modules/modechange (Depends-on): Likewise.
26913         * modules/open (Depends-on): Likewise.
26914         * modules/readlink (Depends-on): Likewise.
26915         * modules/same (Depends-on): Likewise.
26916
26917         stat: fix Solaris 9 bug
26918         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
26919         slash.
26920         * lib/stat.c (rpl_stat): Work around it.
26921         * doc/posix-functions/stat.texi (stat): Update documentation.
26922
26923         stat: new module, for mingw bug
26924         * modules/stat: New file.
26925         * lib/stat.c: Likewise.
26926         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
26927         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26928         * modules/sys_stat (Makefile.am): Use them.
26929         * lib/sys_stat.in.h (stat): Declare replacement.
26930         * lib/openat.c (fstatat): Deal with lstat and stat being function
26931         macros.
26932         * modules/openat (Depends-on): Add inline.
26933         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26934         * doc/posix-functions/stat.texi (stat): Likewise.
26935         * modules/stat-tests: New test.
26936         * tests/test-stat.c: Likewise.
26937
26938 2009-09-19  Jim Meyering  <meyering@redhat.com>
26939
26940         syntax-check: detect unnecessary inclusion of canonicalize.h
26941         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
26942
26943 2009-09-19  Eric Blake  <ebb9@byu.net>
26944
26945         canonicalize-lgpl: adjust clients to use correct header
26946         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
26947         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
26948         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
26949         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
26950         * lib/progreloc.c (includes): Likewise.
26951
26952 2009-09-19  Jim Meyering  <meyering@redhat.com>
26953
26954         test-posixtm.c: correct a comment
26955         * tests/test-posixtm.c: Correct first-line comment.
26956         Spotted by Eric Blake.
26957
26958 2009-09-16  Jim Meyering  <meyering@redhat.com>
26959
26960         posixtm-tests: make T const-correct; add a test case
26961         * tests/test-posixtm.c (T): Declare const.
26962         Add a test for -(2^31+1).
26963         Remove useless can-succeed-only-in-2002 test.
26964
26965         posixtm-tests: adjust the sole failing test
26966         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
26967         expected output matches what mktime now produces.  Cross-checked via
26968         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
26969
26970         posixtm: move #ifdef'd tests into a new module
26971         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
26972         * tests/test-posixtm.c: ... this new file.
26973         * modules/posixtm-tests: New module.
26974
26975 2009-09-19  Eric Blake  <ebb9@byu.net>
26976
26977         openat: simplify use of at-func.c
26978         * lib/at-func.c (includes): Include prerequisites here, to
26979         simplify requirements on client files.
26980         * lib/openat-priv.h: Add double-inclusion guard.
26981         * lib/faccessat.c (includes): Simplify.
26982         * lib/fchmodat.c (includes): Likewise.
26983         * lib/fchownat.c (includes): Likewise.
26984         * lib/mkdirat.c (includes): Likewise.
26985         * lib/mkfifoat.c (includes): Likewise.
26986         * lib/symlinkat.c (includes): Likewise.
26987
26988         openat: allow return of fd 0
26989         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
26990         * modules/save-cwd (Depends-on): Replace fcntl-safer with
26991         unistd-safer.
26992         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
26993         <fcntl.h>; this module does not leak fds.
26994         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
26995         must be allowed to return 0, leaving openat_safer to add the
26996         safety.
26997         (openat_permissive): Avoid writing to just-opened fd 2 if
26998         restoring the current directory fails.
26999         * lib/openat-die.c (openat_restore_fail): Add comment.
27000         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
27001         (save_cwd): Guarantee safe fd, but without use of open_safer.
27002         * tests/test-openat.c: New test.
27003         * modules/openat-tests (Files, Makefile.am): Distribute and build
27004         new file.
27005
27006         relocatable-prog-wrapper: fix build
27007         * modules/relocatable-prog-wrapper (Files): Update name of
27008         canonicalize m4 file, broken on 2009-09-17.
27009         Reported by emad hajjar <aleppos@hotmail.com>.
27010
27011 2009-09-19  Bruno Haible  <bruno@clisp.org>
27012
27013         * lib/safe-alloc.h: Use the standard header with GPL copyright.
27014         * lib/safe-alloc.c: Likewise.
27015         Reported by Ian Beckwith <ianb@erislabs.net>.
27016
27017 2009-09-18  Bruno Haible  <bruno@clisp.org>
27018
27019         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
27020         Reported by <erobles@sensacd.com.mx>.
27021
27022 2009-09-17  Eric Blake  <ebb9@byu.net>
27023
27024         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
27025         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
27026         slashes when checking if last component is missing.
27027         * tests/test-canonicalize.c (main): Test this.
27028
27029         canonicalize, canonicalize-lgpl: honor // if distinct from /
27030         * modules/canonicalize (Files): Add double-slash-root.m4.
27031         * modules/canonicalize-lgpl (Files): Likewise.
27032         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
27033         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
27034         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
27035         fallback definition.
27036         (canonicalize_filename_mode): Use it to protect //.
27037         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
27038         (__realpath): Likewise.
27039         * tests/test-canonicalize.c (main): Test this.
27040         * tests/test-canonicalize-lgpl.c (main): Likewise.
27041         * modules/canonicalize-tests (Depends-on): Add same-inode.
27042         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27043
27044         canonicalize-lgpl: fix glibc bug with trailing slash
27045         * m4/canonicalize-lgpl.m4: Move contents...
27046         * m4/canonicalize.m4: ...here.
27047         (gl_CANONICALIZE_LGPL): Factor realpath check...
27048         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
27049         glibc 2.3.5 bug, fixed 2005-04-27.
27050         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
27051         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
27052         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
27053         * modules/canonicalize-lgpl (Files): Manage file rename.
27054         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
27055         * modules/stdlib (Makefile.am): Substitute witness.
27056         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
27057         is needed.
27058         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
27059         replacement is required.
27060         * lib/canonicalize.c (canonicalize_file_name): Likewise.
27061         * doc/glibc-functions/canonicalize_file_name.texi
27062         (canonicalize_file_name): Document this.
27063         * doc/posix-functions/realpath.texi (realpath): Likewise.
27064
27065         canonicalize-lgpl: reject non-directory with trailing slash
27066         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
27067         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
27068         catches failures in glibc 2.3.5.
27069         * tests/test-canonicalize.c (main): Likewise.
27070
27071         canonicalize-lgpl: use native realpath if it works
27072         * lib/canonicalize-lgpl.c (realpath): Guard with
27073         FUNC_REALPATH_WORKS.
27074         * lib/stdlib.in.h (realpath): Make declaration optional based on
27075         HAVE_REALPATH.
27076         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
27077         native realpath works.
27078         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
27079         * modules/stdlib (Makefile.am): Substitute witness.
27080
27081         canonicalize, canonicalize-lgpl: use <stdlib.h>
27082         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
27083         (Include): Mention <stdlib.h>.
27084         (configure.ac): Mention functions we provide.
27085         * modules/canonicalize (configure.ac): Likewise.
27086         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
27087         realpath if canonicalize_file_name is missing.
27088         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
27089         * modules/stdlib (Makefile.am): Substitute witnesses.
27090         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
27091         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
27092         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
27093         * NEWS: Document this.
27094         * doc/glibc-functions/canonicalize_file_name.texi
27095         (canonicalize_file_name): Likewise.
27096         * doc/posix-functions/realpath.texi (realpath): Likewise.
27097         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
27098
27099         test-canonicalize: consolidate into single C program
27100         * tests/test-canonicalize.sh: Delete; move setup into...
27101         * tests/test-canonicalize.c (main): ...the program, making it
27102         easier to run in debugger.  Add some tests.
27103         * modules/canonicalize-tests (Files): Remove unused file.
27104         (Depends-on): Add progname.
27105         (configure.ac, Makefile.am): Simplify.
27106
27107         test-canonicalize-lgpl: consolidate into single C program
27108         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
27109         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
27110         easier to run in debugger.  Add some tests.
27111         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
27112         (configure.ac, Makefile.am): Simplify.
27113
27114         canonicalize: avoid resolvepath
27115         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
27116         unnecessary checks.
27117         * lib/canonicalize.c (includes): Simplify.
27118         (canonicalize_file_name): Drop resolvepath implementation.
27119         * modules/canonicalize (Depends-on): Drop filenamecat.
27120
27121         canonicalize: don't lose errno
27122         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
27123         over calls to free.
27124
27125         canonicalize: simplify errno handling
27126         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
27127         assignment.
27128
27129         canonicalize, canonicalize-lgpl: update module dependencies
27130         * modules/canonicalize (Depends-on): Add extensions, lstat,
27131         pathmax, stdlib.
27132         (Files): Drop pathmax.h.
27133         (configure.ac): Adjust macro name.
27134         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
27135         lstat, stdlib, sys_stat.
27136         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
27137         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
27138         extensions.
27139         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
27140         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
27141         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
27142         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
27143         declaration, if available.
27144         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
27145         we can rely on the readlink module.
27146         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
27147         (includes): Use <unistd.h> unconditionally.
27148
27149 2009-09-17  Eric Blake  <ebb9@byu.net>
27150
27151         maint: make Include sections of modules consistent
27152         * modules/alloca: Use only header name; no need to list #include.
27153         * modules/alloca-opt: Likewise.
27154         * modules/arpa_inet: Likewise.
27155         * modules/canon-host: Likewise.
27156         * modules/configmake: Likewise.
27157         * modules/dirent: Likewise.
27158         * modules/eealloc: Likewise.
27159         * modules/environ: Likewise.
27160         * modules/fchdir: Likewise.
27161         * modules/fcntl: Likewise.
27162         * modules/fcntl-h: Likewise.
27163         * modules/gethrxtime: Likewise.
27164         * modules/gettime: Likewise.
27165         * modules/ignore-value: Likewise.
27166         * modules/inet_ntop: Likewise.
27167         * modules/inet_pton: Likewise.
27168         * modules/inttypes: Likewise.
27169         * modules/isnand-nolibm: Likewise.
27170         * modules/isnanf-nolibm: Likewise.
27171         * modules/mbchar: Likewise.
27172         * modules/mbfile: Likewise.
27173         * modules/mbiter: Likewise.
27174         * modules/mbuiter: Likewise.
27175         * modules/netdb: Likewise.
27176         * modules/netinet_in: Likewise.
27177         * modules/nproc: Likewise.
27178         * modules/pagealign_alloc: Likewise.
27179         * modules/poll: Likewise.
27180         * modules/printf-frexp: Likewise.
27181         * modules/pthread: Likewise.
27182         * modules/putenv: Likewise.
27183         * modules/random_r: Likewise.
27184         * modules/relocatable-prog: Likewise.
27185         * modules/search: Likewise.
27186         * modules/select: Likewise.
27187         * modules/selinux-h: Likewise.
27188         * modules/settime: Likewise.
27189         * modules/signal: Likewise.
27190         * modules/size_max: Likewise.
27191         * modules/socklen: Likewise.
27192         * modules/ssize_t: Likewise.
27193         * modules/stdarg: Likewise.
27194         * modules/stdbool: Likewise.
27195         * modules/stddef: Likewise.
27196         * modules/stdint: Likewise.
27197         * modules/stdio: Likewise.
27198         * modules/stdlib: Likewise.
27199         * modules/string: Likewise.
27200         * modules/strings: Likewise.
27201         * modules/sys_file: Likewise.
27202         * modules/sys_ioctl: Likewise.
27203         * modules/sys_select: Likewise.
27204         * modules/sys_socket: Likewise.
27205         * modules/sys_stat: Likewise.
27206         * modules/sys_time: Likewise.
27207         * modules/sys_times: Likewise.
27208         * modules/sys_utsname: Likewise.
27209         * modules/sys_wait: Likewise.
27210         * modules/sysexits: Likewise.
27211         * modules/time: Likewise.
27212         * modules/times: Likewise.
27213         * modules/tmpfile: Likewise.
27214         * modules/trim: Likewise.
27215         * modules/unistd: Likewise.
27216         * modules/wchar: Likewise.
27217         * modules/wctype: Likewise.
27218
27219 2009-09-17  Bruno Haible  <bruno@clisp.org>
27220
27221         Make getdate.y compile on QNX and NetBSD 5 / i386.
27222         * m4/getdate.m4 (gl_GETDATE): Conditionally define
27223         TIME_T_FITS_IN_LONG_INT.
27224         * lib/getdate.y (long_time_t): New type.
27225         (relative_time): Change type of 'seconds' field to long_time_t.
27226         (get_date): Update types of local variables. Check against overflow
27227         during conversion from long_time_t to time_t.
27228         Reported by Matt Kraai <kraai@ftbfs.org>
27229         and Hasso Tepper <hasso@netbsd.org>.
27230
27231 2009-09-17  Bruno Haible  <bruno@clisp.org>
27232
27233         * modules/COPYING: Update copyright years.
27234         * modules/README: Likeiwse.
27235         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
27236         Reported by Ian Beckwith <ianb@erislabs.net>.
27237
27238 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
27239
27240         * users.txt: Update references for gnuit package.
27241
27242 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
27243
27244         * m4/getdelim.m4: Fix typo in copyright line.
27245
27246 2009-09-17  Bruno Haible  <bruno@clisp.org>
27247
27248         * lib/atoll.c: Use the standard header with GPL copyright.
27249         * lib/argz.in.h: Likewise.
27250         * lib/glob.c: Likewise.
27251         * lib/glob-libc.h: Likewise.
27252         * lib/random_r.c: Likewise.
27253         * lib/siglist.h: Likewise.
27254         * lib/strsignal.c: Likewise.
27255         Reported by Ian Beckwith <ianb@erislabs.net>.
27256
27257 2009-09-17  Eric Blake  <ebb9@byu.net>
27258
27259         rmdir: ensure correct dependency order
27260         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
27261
27262 2009-09-17  Bruno Haible  <bruno@clisp.org>
27263
27264         Disable assertion that fails on NetBSD 5 / i386.
27265         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
27266         Reported by Sam Steingold <sds@gnu.org>
27267         and Hasso Tepper <hasso@netbsd.org>.
27268
27269 2009-09-16  Eric Blake  <ebb9@byu.net>
27270
27271         unlinkdir: port to mingw
27272         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
27273         on which no one can unlink a directory.
27274
27275         stdlib: sort witness names
27276         * modules/stdlib (Makefile.am): Sort replacements.
27277         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27278         * lib/stdlib.in.h: Likewise.
27279
27280         parse-duration-tests: avoid link failure
27281         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
27282         LIBINTL.
27283         Reported by Tom G. Christensen.
27284
27285         openat-tests: ensure unlinkat behaves like rmdir
27286         * tests/test-rmdir.c (main): Factor guts...
27287         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
27288         * modules/rmdir-tests (Files): Ship new file.
27289         * modules/openat-tests: New test.
27290         * tests/test-unlinkat.c: Likewise.
27291
27292         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
27293         * modules/rmdir-errno (Status, Notice): Now obsolete.
27294
27295         rmdir: work around cygwin 1.5.x and mingw bugs
27296         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
27297         * lib/rmdir.c (rmdir): Work around it.
27298         * modules/rmdir (Status, Notice): No longer obsolete.
27299         (Files): Add dos.m4.
27300         (Depends-on): Add unistd.
27301         (configure.ac): Set witnesses.
27302         (License): Relax to LGPLv2+.
27303         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
27304         * modules/unistd (Makefile.am): Substitute witnesses.
27305         * lib/unistd.in.h (rmdir): Declare replacement.
27306         * doc/posix-functions/rmdir.texi (rmdir): Document this.
27307         * modules/rmdir-tests: New tests.
27308         * tests/test-rmdir.c: Likewise.
27309
27310 2009-09-15  Eric Blake  <ebb9@byu.net>
27311
27312         fchdir: improve use of replacement functions
27313         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
27314         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
27315         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
27316         REPLACE_CLOSEDIR.
27317         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
27318         * modules/sys_stat (Makefile.am): Substitute correct witness.
27319         * modules/dirent (Makefile.am): Likewise.
27320         * modules/unistd (Makefile.am): Likewise.
27321         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
27322         * lib/unistd.in.h (dup): Likewise.
27323         * lib/sys_stat.in.h (fstat): Likewise.
27324
27325         maint: ignore gnulib-tool temp files
27326         * .gitignore: Ignore files created during gnulib-tool --test.
27327
27328 2009-09-13  Jim Meyering  <meyering@redhat.com>
27329
27330         posixtm: don't reject a time that specify "60" as the number of seconds
27331         * lib/posixtm.c (posixtime): The code to reject invalid dates
27332         would also reject a time specified with the .60 suffix.
27333         But POSIX allows that, in order to accommodate leap seconds.
27334         So don't reject it.
27335         (main): Adjust tests accordingly.
27336         * modules/posixtm (Depends-on): Add stpcpy.
27337
27338 2009-09-11  Jim Meyering  <meyering@redhat.com>
27339
27340         announce-gen: include [$release_type] in emitted Subject:
27341         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
27342         e.g., [stable] in the emitted Subject: line.
27343
27344 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27345
27346         Remove obsolete macros from several modules.
27347         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
27348         obsolete Autoconf macros with their modern counterparts.
27349         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
27350         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
27351         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
27352         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
27353         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
27354         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27355         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27356         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27357         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27358         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
27359         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
27360         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
27361         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
27362         * m4/sockets.m4 (gl_SOCKETS): Likewise.
27363         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
27364         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
27365         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
27366         * m4/time_r.m4 (gl_TIME_R): Likewise.
27367         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27368         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
27369         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
27370
27371         Fix copyright header in build-aux scripts.
27372         * build-aux/git-version-gen: Fix copyright header to match GPLv3
27373         recommendation.
27374         * build-aux/ncftpput-ftp: Likewise.
27375         * build-aux/update-copyright: Likewise.
27376
27377 2009-09-09  Eric Blake  <ebb9@byu.net>
27378
27379         test-link: allow Linux choice of errno
27380         * tests/test-link.c (main): Relax test for alternate error.
27381
27382         strndup: fix improper m4 caching
27383         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
27384         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
27385         (gl_PREREQ_STRNDUP): Delete.
27386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
27387         * modules/string (Makefile.am): Substitute it.
27388         * lib/string.in.h (strndup): Modernize prototype.
27389
27390         getcwd: port to mingw
27391         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
27392         different from the POSIX assumptions made throughout the getcwd
27393         module; fortunately, the mingw getcwd does not need replacement.
27394         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
27395         * modules/getcwd-tests: New test.
27396         * tests/test-getcwd.c: Likewise.
27397
27398         link: fix platform bugs
27399         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
27400         * lib/link.c (link): Work around them.  Fix related mingw bug.
27401         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
27402         * modules/unistd (Makefile.am): Substitute it.
27403         * lib/unistd.in.h (link): Declare replacement.
27404         * doc/posix-functions/link.texi (link): Document this.
27405         * modules/link (Depends-on): Add strdup-posix, sys_stat.
27406
27407         test-link: consolidate into single C program, test more cases
27408         * tests/test-link.sh: Delete.
27409         * tests/test-link.c: Test more error conditions.  Exposes bugs on
27410         at least Cygwin and Solaris.
27411         * modules/link-tests (Files): Remove unused file.
27412         (Depends-on): Add errno, sys_stat.
27413         (Makefile.am): Simplify.
27414
27415 2009-09-08  Bruno Haible  <bruno@clisp.org>
27416
27417         Work around towlower, towupper bug on mingw.
27418         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
27419         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
27420         * doc/posix-functions/towlower.texi: Mention the mingw bug.
27421         * doc/posix-functions/towupper.texi: Likewise.
27422         Reported by Eric Blake.
27423
27424 2009-09-08  Jim Meyering  <meyering@redhat.com>
27425
27426         build: don't try to run autoheader if we don't use it
27427         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
27428         is not used in configure.ac.
27429
27430 2009-09-08  Eric Blake  <ebb9@byu.net>
27431
27432         euidaccess: fix compilation error
27433         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
27434
27435         rawmemchr: relax license
27436         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
27437         okay.
27438         Reported by Jim Meyering.
27439
27440         mkfifoat: new module
27441         * modules/mkfifoat: New file.
27442         * lib/mkfifoat.c: Likewise.
27443         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
27444         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27445         * modules/sys_stat (Makefile.am): Use them.
27446         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
27447         * MODULES.html.sh (File system functions): Mention module.
27448         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
27449         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
27450         * modules/mkfifoat-tests: New test.
27451         * tests/test-mkfifoat.c: Likewise.
27452
27453         strchrnul: relax license
27454         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
27455         okay.
27456         Reported by Jim Meyering.
27457
27458 2009-09-08  Eric Blake  <ebb9@byu.net>
27459
27460         fstatat: fix compilation on Solaris
27461         * lib/fstatat.c (includes): Add fcntl.h.
27462         Reported by Pádraig Brady.
27463
27464 2009-09-07  Eric Blake  <ebb9@byu.net>
27465
27466         rename: modernize replacement
27467         * modules/rename (Depends-on): Add stdio.
27468         (configure.ac): Declare witness.
27469         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
27470         stdio take care of replacement.
27471         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
27472         * modules/stdio (Makefile.am): Substitute them.
27473         * lib/stdio.in.h (rename): Declare replacement.
27474         * lib/rename.c (includes): Allow cross-compilation to non-windows
27475         machines.
27476         * doc/posix-functions/rename.texi (rename): Improve
27477         documentation.
27478
27479         stdio: sort witness names
27480         * modules/stdio (Makefile.am): Sort replacements.
27481         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27482         * lib/stdio.in.h: Likewise.
27483
27484         getcwd: minor cleanups
27485         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
27486         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
27487
27488         openat: provide more convenience names
27489         * modules/faccessat (configure.ac): Add C witness.
27490         * lib/unistd.in.h (readlinkat): Fix typo.
27491         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
27492         convenience wrappers.
27493         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
27494         wrappers in syntax checks.
27495
27496 2009-09-06  Eric Blake  <ebb9@byu.net>
27497
27498         doc: fix comments in recent patches
27499         * lib/faccessat.c: Mention correct function.
27500         * lib/fchmodat.c: Likewise.
27501         * lib/fchownat.c: Likewise.
27502         * lib/symlinkat.c: Likewise.
27503         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
27504         constants.
27505
27506         faccessat, symlinkat: continue cleanup of previous patch
27507         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
27508         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
27509         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
27510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
27511         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
27512         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
27513         set.
27514
27515 2009-09-06  Bruno Haible  <bruno@clisp.org>
27516
27517         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
27518         (fstatat): Declare if GNULIB_FSTATAT is set.
27519         (mkdirat): Declare if GNULIB_MKDIRAT is set.
27520         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
27521         (unlinkat): Declare if GNULIB_UNLINKAT is set.
27522         * modules/fcntl-h (Files): Remove m4/openat.m4.
27523         * modules/sys_stat (Files): Remove m4/openat.m4.
27524         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
27525         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
27526         * modules/unistd (Files): Remove m4/openat.m4.
27527         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
27528         GNULIB_OPENAT.
27529         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
27530         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
27531         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
27532         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
27533         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
27534         gl_OPENAT_DEFAULTS.
27535         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
27536         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
27537         Don't require gl_OPENAT_DEFAULTS.
27538         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
27539         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
27540         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
27541         (gl_OPENAT_DEFAULTS): Remove macro.
27542
27543 2009-09-06  Bruno Haible  <bruno@clisp.org>
27544
27545         * modules/openat (configure.ac): Remove unneeded witness.
27546
27547 2009-09-06  Bruno Haible  <bruno@clisp.org>
27548
27549         Set errno to ENOSYS when a function is entirely unsupported.
27550         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
27551         EOPNOTSUPP.
27552         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
27553         * modules/chown (Depends-on): Remove errno.
27554
27555 2009-09-06  Bruno Haible  <bruno@clisp.org>
27556
27557         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
27558
27559 2009-09-06  Bruno Haible  <bruno@clisp.org>
27560
27561         * lib/sys_stat.in.h: Fix preprocessor command indentation.
27562
27563 2009-09-06  Ben Pfaff  <blp@gnu.org>
27564             Bruno Haible  <bruno@clisp.org>
27565
27566         Work around a glibc bug in strtok_r.
27567         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
27568         Undefine if UNDEFINE_STRTOK_R is set.
27569         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
27570         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27571         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
27572         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
27573         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
27574         UNDEFINE_STRTOK_R.
27575         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
27576
27577 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27578
27579         exclude: minor fix
27580         * lib/exclude.c: Include wctype.h
27581
27582 2009-09-06  Akim Demaille  <demaille@gostai.com>
27583
27584         bootstrap: improve error message
27585         * build-aux/bootstrap (find_tool): Upon failure, report the list
27586         of candidates.
27587         Honor the initial value of the envvar.
27588
27589 2009-09-05  Eric Blake  <ebb9@byu.net>
27590
27591         symlinkat: new module
27592         * modules/symlinkat: New file.
27593         * lib/symlinkat.c: Likewise.
27594         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
27595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
27596         * modules/unistd (Makefile.am): Use them.
27597         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
27598         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
27599         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
27600         * MODULES.html.sh (File system functions): Mention module.
27601         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
27602         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27603         * modules/symlinkat-tests: New test.
27604         * tests/test-symlinkat.c: Likewise.
27605
27606         test-openat-safer: add more checks
27607         * tests/test-openat-safer.c (main): Check more code paths.
27608
27609 2009-09-05  Jim Meyering  <meyering@redhat.com>
27610
27611         syntax-check: detect unnecessary inclusion of openat.h
27612         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
27613
27614 2009-09-05  Bruno Haible  <bruno@clisp.org>
27615
27616         Support towlower, towupper.
27617         * doc/posix-functions/towlower.texi: Mention module wctype.
27618         * doc/posix-functions/towupper.texi: Likewise.
27619         * lib/wctype.in.h (towlower, towupper): New functions.
27620         * tests/test-wctype.c: Include stdio.h, stdlib.h.
27621         (ASSERT): New macro.
27622         (e): New variable.
27623         (main): Test also towlower, towupper. Test WEOF argument.
27624         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
27625
27626 2009-09-05  Bruno Haible  <bruno@clisp.org>
27627
27628         Fix conversion behaviour when the input is invalid.
27629         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
27630         mark occurring in first pass of indirect conversion.
27631         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
27632         input.
27633         Found by clang's static analyzer.
27634
27635 2009-09-05  Bruno Haible  <bruno@clisp.org>
27636
27637         * tests/test-striconveh.c (main): Test indirect conversion on platforms
27638         where direct conversion is possible.
27639
27640 2009-09-04  Eric Blake  <ebb9@byu.net>
27641
27642         openat: fail with ENOENT on empty name
27643         * lib/openat-proc.c (openat_proc_name): Special-case the empty
27644         buffer.
27645
27646         link-follow: fix logic bug in prior patch
27647         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
27648         reversed sense of yes and no in prior patch.  Avoid confusing
27649         compilation failure with desired semantics.
27650
27651         link-follow: accomodate mingw and cross-compilation
27652         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
27653         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
27654         cross-compilation results to -1, to make linkat easier to
27655         implement when cross-compiling.  Trivially support mingw.
27656         * modules/link-follow (configure.ac): Call new name.
27657         * NEWS: Mention this.
27658
27659 2009-09-03  Eric Blake  <ebb9@byu.net>
27660
27661         faccessat: compile replacement
27662         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
27663         needed.
27664
27665         fts: fix compilation error
27666         * lib/fts.c (includes): Re-add "openat.h", for
27667         openat_needs_fchdir.
27668
27669         faccessat: new module
27670         * modules/faccessat: New file.
27671         * lib/faccessat.c: Likewise.
27672         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
27673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27674         * modules/unistd (Makefile.am): Use it.
27675         * lib/unistd.in.h (faccessat): Declare it.
27676         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
27677         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
27678         * MODULES.html.sh (File system functions): Mention it.
27679         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
27680         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
27681
27682         euidaccess: prefer POSIX over non-standard implementation
27683         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
27684         * lib/euidaccess.c (euidaccess): Use it if available.
27685
27686         openat: make template easier to use
27687         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
27688         AT_FUNC_F2 to be undefined.
27689         (VALIDATE_FLAG): New macro; use it to reject bad flags.
27690         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
27691         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
27692         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
27693         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
27694         Likewise.
27695         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
27696         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
27697         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
27698         Likewise.
27699
27700         openat: declare in POSIX headers
27701         * NEWS: Mention this.
27702         * modules/openat (configure.ac): Declare witnesses.
27703         (Depends-on): Add fcntl-h, sys_stat, unistd.
27704         (Include): Mention correct headers.
27705         * modules/fcntl-h (Depends-on): Add link-warning.
27706         (Files): Add openat.m4.
27707         (Makefile.am): Substitute witnesses.
27708         * modules/sys_stat (Files, Makefile.am): Likewise.
27709         * modules/unistd (Files, Makefile.am): Likewise.
27710         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
27711         (gl_OPENAT_DEFAULTS): New macro.
27712         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
27713         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
27714         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
27715         (SYS_STAT_H): Remove unused variable.
27716         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
27717         * lib/fcntl--.h (includes): Remove unneeded header.
27718         * lib/openat-safer.c (includes): Likewise.
27719         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
27720         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
27721         appropriate headers.
27722         (__OPENAT_PREFIX): Delete.
27723         * lib/fcntl.in.h (openat): Provide declaration.
27724         (AT_FDCWD): Fix Solaris bug.
27725         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
27726         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
27727         * lib/fchmodat.c (includes):  Adjust to find declaration.
27728         * lib/fchownat.c (includes): Likewise.
27729         * lib/mkdirat.c (includes): Likewise.
27730         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
27731         still visible.
27732
27733 2009-09-02  Eric Blake  <ebb9@byu.net>
27734
27735         errno: use consistently
27736         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
27737         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
27738         * lib/canonicalize.c (ELOOP): Likewise.
27739         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
27740         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
27741         * lib/lchown.c (EOPNOTSUPP): Likewise.
27742         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
27743         * lib/savewd.c (ESTALE): Likewise.
27744         * lib/settime.c (ENOSYS): Likewise.
27745         * lib/utimens.c (ENOSYS): Likewise.
27746         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
27747         * lib/chdir-safer.c (ELOOP): Likewise.
27748         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
27749         * modules/c-stack (Depends-on): Add errno.
27750         * modules/canonicalize (Depends-on): Likewise.
27751         * modules/chdir-safer (Depends-on): Likewise.
27752         * modules/fdopendir (Depends-on): Likewise.
27753         * modules/inet_ntop (Depends-on): Likewise.
27754         * modules/inet_pton (Depends-on): Likewise.
27755         * modules/lchown (Depends-on): Likewise.
27756         * modules/openat (Depends-on): Likewise.
27757         * modules/savewd (Depends-on): Likewise.
27758         * modules/settime (Depends-on): Likewise.
27759         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
27760
27761         fts: avoid leaking fds
27762         * modules/fts (Depends-on): Add cloexec.
27763         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
27764         flag.
27765
27766         fts: make directory fds more robust
27767         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
27768         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
27769
27770         backupfile, chdir-long, fts, savedir: make safer
27771         * lib/backupfile.c (includes): Use "dirent--.h", since
27772         numbered_backup can write to stderr during readdir.
27773         * lib/savedir.c (includes): Likewise.
27774         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
27775         emulation can write to stderr on failure.
27776         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
27777         * lib/getcwd.c: Document why opendir_safer is unused.
27778         * lib/glob.c: Likewise.
27779         * lib/scandir.c: Likewise.
27780         * lib/openat-proc.c: Likewise, for open_safer.
27781         * modules/backupfile (Depends-on): Add dirent-safer.
27782         * modules/savedir (Depends-on): Likewise.
27783         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
27784         * modules/chdir-long (Depends-on): Add openat-safer.
27785
27786         openat-safer: new module
27787         * modules/openat-safer: New file.
27788         * lib/openat-safer.c: Likewise.
27789         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
27790         * lib/fcntl-safer.h (openat_safer): Declare.
27791         * lib/fcntl--.h (openat): Override.
27792         * MODULES.html.sh (File descriptor based I/O): Mention it.
27793         * lib/openat.h: Add double-inclusion guards.
27794         * lib/openat.c (includes): Only include "fcntl-safer.h", not
27795         "fcntl--.h", so we can implement openat.
27796         * modules/openat-safer-tests: New test.
27797         * tests/test-openat-safer.c: New file.
27798
27799         dirent-safer: new module
27800         * modules/dirent-safer: New file.
27801         * lib/dirent--.h: Likewise.
27802         * lib/dirent-safer.h: Likewise.
27803         * lib/opendir-safer.c: Likewise.
27804         * m4/dirent-safer.m4: Likewise.
27805         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
27806         * modules/dirent-safer-tests: New test.
27807         * tests/test-dirent-safer.c: New file.
27808         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
27809
27810         fdopendir: optimize on mingw
27811         * lib/unistd.in.h (_gl_directory_name): New prototype.
27812         * lib/fchdir.c (_gl_directory_name): Implement it.
27813         (fchdir): Use it to simplify implementation.
27814         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
27815         fchdir, when available, to avoid calling [f]chdir().
27816
27817         fdopendir: split into its own module
27818         * lib/openat.c (fdopendir): Move...
27819         * lib/fdopendir.c: ...into new file.
27820         * modules/fdopendir: New module.
27821         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
27822         * modules/openat (Depends-on): Add fdopendir.
27823         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
27824         fdopendir here.
27825         * modules/savedir (Depends-on): Only need fdopendir, not full
27826         openat.
27827         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
27828         * lib/openat.h (fdopendir): Drop prototype.
27829         * lib/dirent.in.h (fdopendir): Provide prototype.
27830         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
27831         * modules/dirent (Makefile.am): Substitute them.
27832         * MODULES.html.sh (File system functions): Mention it.
27833         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
27834         * modules/fdopendir-tests: New file.
27835         * tests/test-fdopendir.c: Likewise.
27836
27837         fchdir: use more consistent macro convention
27838         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
27839         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
27840         REPLACE_FCHDIR, rather than relying on config.h macros.
27841         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
27842         inside a single make-time REPLACE_FCHDIR block, rather than using
27843         the config.h FCHDIR_REPLACEMENT.
27844         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
27845         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
27846         Manage fstat replacement.
27847         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
27848         REPLACE_FCHDIR.
27849         * modules/sys_stat (Files): Add m4/unistd_h.m4.
27850         (Makefile.am): Substitute REPLACE_FCHDIR.
27851         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
27852         FCHDIR_REPLACEMENT.
27853         * lib/dup-safer.c (dup_safer): Likewise.
27854         * lib/dup2.c (rpl_dup2): Likewise.
27855         * lib/dup3.c (rpl_dup3): Likewise.
27856         * lib/open.c (rpl_open): Likewise.
27857
27858         fchdir: simplify error handling, and support dup3
27859         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
27860         stdbool, malloc-posix, realloc-posix.
27861         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
27862         (ensure_dirs_slot): Return false on allocation failure.
27863         (rpl_dup2): Delete.
27864         (_gl_register_dup): New function.
27865         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
27866         (_gl_register_fd): Close fd on allocation failure.
27867         * lib/fcntl.in.h (_gl_register_fd): Update signature.
27868         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
27869         prototype.
27870         (rpl_dup2_fchdir): Delete prototype.
27871         * lib/open.c (open): Update caller.
27872         * lib/dup2.c (dup2): Track fchdir metadata.
27873         * lib/dup3.c (dup3): Likewise.
27874         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
27875         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
27876
27877 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27878
27879         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
27880         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
27881         don't pass arguments to AC_OUTPUT.
27882
27883 2009-09-02  Bruno Haible  <bruno@clisp.org>
27884
27885         * modules/mkdtemp (License): Relicense under LGPLv2+.
27886         Reported by Paolo Bonzini.
27887
27888 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27889
27890         Replace uses of obsolete autoconf macros in Jim's modules.
27891         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
27892         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
27893         can evoke a warning from autoconf when run with -Wobsolete
27894         enabled.  They were declared obsolete for good reasons (see
27895         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
27896         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
27897         should not continue using the deprecated macros.
27898         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
27899         obsolete Autoconf macros with modern counterparts.
27900         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
27901         * m4/dos.m4 (gl_AC_DOS): Likewise.
27902         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
27903         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
27904         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
27905         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
27906         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
27907         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
27908         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
27909         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
27910         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
27911         Likewise.
27912         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27913         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
27914         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
27915         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
27916         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
27917         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
27918
27919 2009-09-01  Eric Blake  <ebb9@byu.net>
27920
27921         fchdir: fix off-by-one bug in previous patch
27922         * lib/fchdir.c (rpl_fstat): Use correct bounds.
27923         (_gl_unregister_fd): Delete useless if.
27924
27925 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
27926
27927         maint.mk: sort the list of syntax-check rules
27928         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
27929         easier to get a sense of progress when the rules are run sequentially
27930         and take a long time.
27931
27932 2009-09-01  Simon Josefsson  <simon@josefsson.org>
27933
27934         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
27935         * modules/netinet_in: Likewise.
27936         * modules/sys_file: Likewise.
27937         * modules/sys_ioctl: Likewise.
27938         * modules/sys_select: Likewise.
27939         * modules/sys_socket: Likewise.
27940         * modules/sys_stat: Likewise.
27941         * modules/sys_time: Likewise.
27942         * modules/sys_times: Likewise.
27943         * modules/sys_utsname: Likewise.
27944         * modules/sys_wait: Likewise.
27945
27946 2009-09-01  Jim Meyering  <meyering@redhat.com>
27947
27948         fts: help ensure that return values are not ignored
27949         * lib/fts_.h (__GNUC_PREREQ): Define.
27950         (__attribute_warn_unused_result__): Define.
27951         (fts_children, fts_close, fts_open, fts_read): Declare with
27952         __attribute_warn_unused_result__.
27953
27954         fts: fts_close now fails also when closing a dir file descriptor fails
27955         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
27956         and propagate to caller, along with errno.
27957
27958         announce-gen: correct formatting in --help output
27959         * build-aux/announce-gen (usage): Move the one-line description in
27960         --help output "up", to where it belongs, just after Usage:.
27961
27962 2009-08-31  Eric Blake  <ebb9@byu.net>
27963
27964         fchdir: port to mingw
27965         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
27966         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
27967         opened, then use a substitute.
27968         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
27969         replacement.
27970         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
27971         (_gl_register_fd): No need to check stat if open already filters
27972         all directories.
27973         (fchdir): Fix error condition to match POSIX.
27974         * modules/fchdir (Depends-on): Add sys_stat.
27975         * doc/posix-functions/open.texi (open): Document the limitation.
27976         * modules/fchdir-tests: New file.
27977         * tests/test-fchdir.c: Likewise.
27978
27979         canonicalize: allow cross-testing from cygwin to mingw
27980         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
27981         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
27982         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
27983         Likewise.
27984         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
27985         target does not support symlinks.
27986         * tests/test-canonicalize-lgpl.sh: Likewise.
27987
27988         chown: avoid compilation warning on mingw
27989         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
27990         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
27991         mingw.
27992         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
27993         * modules/chown (Depends-on): Add errno.
27994
27995 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27996
27997         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
27998         command.
27999
28000 2009-08-31  Jim Meyering  <meyering@redhat.com>
28001
28002         canonicalize: remove useless initialization
28003         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
28004         initialization of local, "end".
28005
28006 2009-08-30  Bruno Haible  <bruno@clisp.org>
28007
28008         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
28009         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
28010         ENOSYS.
28011
28012 2009-08-30  Bruno Haible  <bruno@clisp.org>
28013
28014         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
28015         /usr/xpg4/bin/tr when it exists.
28016         * tests/test-pipe-filter-gi1.sh: Likewise.
28017
28018 2009-08-30  Bruno Haible  <bruno@clisp.org>
28019
28020         Work around deficient /usr/bin/id program on Solaris.
28021         * tests/test-file-has-acl.sh (ID): New variable.
28022         * tests/test-set-mode-acl.sh (ID): Likewise.
28023         * tests/test-copy-acl.sh (ID): Likewise.
28024         * tests/test-copy-file.sh (ID): Likewise.
28025
28026 2009-08-30  Bruno Haible  <bruno@clisp.org>
28027
28028         New module 'xstriconveh'.
28029         * lib/xstriconveh.h: New file.
28030         * lib/xstriconveh.c: New file.
28031         * modules/xstriconveh: New file.
28032
28033 2009-08-30  Bruno Haible  <bruno@clisp.org>
28034
28035         Make it easier to use mem_cd_iconveh.
28036         * lib/striconveh.h (iconveh_t): New type.
28037         (iconveh_open, iconveh_close): New declarations.
28038         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
28039         with a single 'const iconveh_t *' argument.
28040         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
28041         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
28042         with a single 'const iconveh_t *' argument.
28043         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
28044         * tests/test-striconveh.c (main): Update.
28045         * NEWS: Mention the change.
28046
28047 2009-08-30  Bruno Haible  <bruno@clisp.org>
28048
28049         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
28050         problem.
28051
28052 2009-08-30  Bruno Haible  <bruno@clisp.org>
28053
28054         Work around iconv_open problem on Solaris.
28055         * lib/iconv_open-solaris.gperf: New file.
28056         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
28057         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
28058         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
28059         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
28060         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
28061         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
28062
28063 2009-08-29  Jim Meyering  <meyering@redhat.com>
28064
28065         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
28066         * top/maint.mk (cvs-check): Remove target; it was just an alias
28067         to the better-named vc-diff-check.
28068         (maintainer-distcheck): Remove rule.  It was used only from
28069         the (alpha/beta/major) target, and all of its commands but one
28070         were coreutils-specific.
28071         (vc-dist): Remove rule.
28072         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
28073         Run vc-diff-check, not vc-dist.
28074         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
28075
28076 2009-08-27  Bruno Haible  <bruno@clisp.org>
28077
28078         * tests/test-bitrotate.c (main): Remove test that uses a shift count
28079         of 0.
28080
28081 2009-08-27  Bruno Haible  <bruno@clisp.org>
28082
28083         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
28084         compilers.
28085         * doc/func.texi: Document the SunPRO C bug.
28086
28087 2009-08-27  Bruno Haible  <bruno@clisp.org>
28088
28089         Fix link error on Solaris.
28090         * tests/test-parse-duration.c (xstrdup): Remove function.
28091
28092 2009-08-26  Pádraig Brady  <P@draigbrady.com>
28093
28094         ignore-value: handle pointer types, too
28095         * lib/ignore-value.h (__attribute__): Remove definition.
28096         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
28097         of a more concise and more-often effective "(void) i" statement.
28098         (ignore_ptr): New function to suppress warnings from functions that
28099         return pointers, and to make it explicit that one function doesn't
28100         handle all cases.
28101
28102 2009-08-25  Bruno Haible  <bruno@clisp.org>
28103
28104         dup2: work around a Linux bug.
28105         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
28106         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
28107         * doc/posix-functions/dup2.texi: Mention the Linux bug.
28108         Reported by Simon Josefsson.
28109
28110 2009-08-25  Jim Meyering  <meyering@redhat.com>
28111
28112         libguestfs uses gnulib
28113         * users.txt: Add libguestfs.
28114
28115 2009-08-24  Eric Blake  <ebb9@byu.net>
28116
28117         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
28118         * lib/pipe2.c (includes): Add binary-io.h.
28119         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
28120
28121 2009-08-24  Bruno Haible  <bruno@clisp.org>
28122
28123         Tolerate declared but missing accept4 syscall.
28124         * lib/accept4.c (accept4): Invoke original accept4 function first, if
28125         available.
28126         * lib/sys_socket.in.h (accept4): If the function is already present,
28127         override it.
28128         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
28129         * modules/accept4 (Makefile.am): Compile accept4.c always.
28130         Reported by Paolo Bonzini and Eric Blake.
28131
28132 2009-08-23  Bruno Haible  <bruno@clisp.org>
28133
28134         New module 'accept4'.
28135         * lib/sys_socket.in.h (accept4): New declaration.
28136         * lib/accept4.c: New file.
28137         * m4/accept4.m4: New file.
28138         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28139         GNULIB_ACCEPT4, HAVE_ACCEPT4.
28140         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
28141         HAVE_ACCEPT4.
28142         * modules/accept4: New file.
28143         * doc/glibc-functions/accept4.texi: Mention the new module.
28144
28145 2009-08-24  Jim Meyering  <meyering@redhat.com>
28146
28147         progname: also set global program_invocation_name, when possible
28148         Before this change, a libtool-enabled program that calls glibc's
28149         error function would report the program name as
28150         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
28151         * modules/progname (configure.ac): Check for a declaration of
28152         program_invocation_name.
28153         * lib/progname.c:  Include <errno.h>.
28154         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
28155         Set program_invocation_name.
28156
28157 2009-08-23  Bruno Haible  <bruno@clisp.org>
28158
28159         * lib/dup3.c: Include <string.h>.
28160
28161 2009-08-23  Bruno Haible  <bruno@clisp.org>
28162
28163         * lib/dup3.c (dup3): Test only once whether the system actually exists.
28164         * lib/pipe2.c (pipe2): Likewise.
28165         Suggested by Eric Blake.
28166
28167 2009-08-23  Bruno Haible  <bruno@clisp.org>
28168
28169         Tolerate declared but missing dup3 syscall.
28170         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
28171         * lib/unistd.in.h (dup3): If the function is already present,
28172         override it.
28173         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
28174         * modules/dup3 (Makefile.am): Compile dup3.c always.
28175         Reported by Paolo Bonzini.
28176
28177 2009-08-23  Bruno Haible  <bruno@clisp.org>
28178
28179         Tolerate declared but missing pipe2 syscall.
28180         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
28181         available.
28182         * lib/unistd.in.h (pipe2): If the function is already present,
28183         override it.
28184         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
28185         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
28186         Reported by Paolo Bonzini.
28187
28188 2009-08-23  Bruno Haible  <bruno@clisp.org>
28189
28190         * lib/pipe2.c (pipe2): Move #ifs inside function.
28191
28192 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
28193
28194         quotearg: document limitations of quote_these_too
28195         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
28196         those limitations are created.
28197         * lib/quotearg.h (set_char_quoting): Document that digits and
28198         letters that are special after backslash are not permitted.
28199         (quotearg_char): Cross-reference set_char_quoting documentation.
28200
28201 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
28202
28203         quotearg: implement custom_quoting_style
28204         * lib/quotearg.c: (struct quoting_options): Add left_quote and
28205         right_quote fields.
28206         (set_custom_quoting): New public function.
28207         (quotearg_buffer_restyled): Add left_quote and right_quote
28208         arguments, handle them very much like locale quoting, and update
28209         all uses.
28210         (quotearg_n_custom): New public function.
28211         (quotearg_n_custom_mem): New public function.
28212         (quotearg_custom): New public function.
28213         (quotearg_custom_mem): New public function.
28214         * lib/quotearg.h: Prototype and document new public functions.
28215         (enum quoting_style): For escape_quoting_style and
28216         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
28217         ignored even though they're otherwise like c_quoting_style.
28218         Add custom_quoting_style member and document with comparison to
28219         clocale_quoting_style.
28220         * tests/test-quotearg.c (custom_quotes): New array.
28221         (custom_results): New array.
28222         (main): Extend to test custom quoting.
28223
28224 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
28225
28226         quotearg: fix right quote escaping when it's in quote_these_too
28227         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
28228         quote, be sure to prepend only one backslash.
28229         * tests/test-quotearg.c (use_quote_double_quotes): New function.
28230         (main): Test it.
28231
28232 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
28233
28234         quotearg-tests: test escaping of embedded locale quotes
28235         * tests/test-quotearg.c (struct result_strings): Add member for
28236         new input.
28237         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
28238         (inputs): Add new input.
28239         (results_g): Add expected results.
28240         (flag_results): Likewise.
28241         (locale_results): Likewise.
28242         (compare_strings): Check those.
28243
28244 2009-08-23  Bruno Haible  <bruno@clisp.org>
28245
28246         Tests for module 'dup3'.
28247         * modules/dup3-tests: New file.
28248         * tests/test-dup3.c: New file.
28249
28250         New module 'dup3'.
28251         * lib/unistd.in.h (dup3): New declaration.
28252         * lib/dup3.c: New file.
28253         * m4/dup3.m4: New file.
28254         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
28255         HAVE_DUP3.
28256         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
28257         * modules/dup3: New file.
28258         * doc/glibc-functions/dup3.texi: Mention the new module.
28259
28260 2009-08-23  Bruno Haible  <bruno@clisp.org>
28261
28262         Tweak the dup2 test.
28263         * tests/test-dup2.c (main): Create the test file empty. Verify that an
28264         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
28265         the test file is still empty. Fix argument order of lseek.
28266
28267 2009-08-23  Bruno Haible  <bruno@clisp.org>
28268
28269         Avoid test link errors when the modules getopt-gnu, gettext are used.
28270         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
28271         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28272
28273 2009-08-23  Bruno Haible  <bruno@clisp.org>
28274
28275         Fix getdtablesize() on mingw.
28276         * lib/getdtablesize.c (getdtablesize): Implement differently.
28277         * lib/unistd.in.h (getdtablesize): Improve comment.
28278
28279 2009-08-23  Bruno Haible  <bruno@clisp.org>
28280
28281         New module 'mkostemp'.
28282         Based on Ulrich Drepper's 2007-08-10 change in glibc.
28283         * lib/stdlib.in.h (mksotemp): New declaration.
28284         * lib/mkostemp.c: New file, from glibc with modifications.
28285         * lib/tempname.h (GT_FILE): Remove outdated comment.
28286         (gen_tempname): Add flags argument.
28287         * lib/tempname.c (__GT_BIGFILE): Remove macro.
28288         (__GT_FILE): Map to 1.
28289         (small_open, large_open): Remove macros.
28290         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
28291         * lib/mkstemp.c (mkstemp): Update.
28292         * lib/mkdtemp.c (mkdtemp): Likewise.
28293         * m4/mkostemp.m4: New file.
28294         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
28295         HAVE_MKOSTEMP.
28296         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
28297         HAVE_MKOSTEMP.
28298         * modules/mkostemp: New file, based on modules/mkstemp.
28299         * doc/glibc-functions/mkostemp.texi: Mention the new module.
28300         * NEWS: Mention the change.
28301
28302 2009-08-23  Bruno Haible  <bruno@clisp.org>
28303
28304         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
28305         Reported by Eric Blake.
28306
28307 2009-08-23  Bruno Haible  <bruno@clisp.org>
28308
28309         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
28310         Reported by Eric Blake.
28311
28312 2009-08-23  Bruno Haible  <bruno@clisp.org>
28313
28314         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
28315         * modules/pipe2 (Depends-on): Likewise.
28316
28317 2009-08-23  Eric Blake  <ebb9@byu.net>
28318
28319         fcntl-h: add O_TTY_INIT support
28320         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
28321         * tests/test-fcntl-h.c (o): Test it.
28322         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
28323
28324         fcntl-h: rename from fcntl, in preparation for fcntl(2)
28325         * modules/fcntl: Move <fcntl.h> header replacement...
28326         * modules/fcntl-h: ...to new name, so as not to collide with
28327         like-named function.
28328         * tests/test-fcntl.c: Rename...
28329         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
28330         * modules/fcntl-tests: Rename...
28331         * modules/fcntl-h-tests: ...to this.  Update test file name.
28332         * modules/chdir-long (Depends-on): Update clients.
28333         * modules/chdir-safer (Depends-on): Likewise.
28334         * modules/fcntl-safer (Depends-on): Likewise.
28335         * modules/fts (Depends-on): Likewise.
28336         * modules/mkancesdirs (Depends-on): Likewise.
28337         * modules/mkdir-p (Depends-on): Likewise.
28338         * modules/open (Depends-on): Likewise.
28339         * modules/savewd (Depends-on): Likewise.
28340         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
28341         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
28342
28343 2009-08-22  Bruno Haible  <bruno@clisp.org>
28344
28345         * modules/binary-io (License): Relicense under LGPL.
28346         * modules/pipe2 (License): Likewise.
28347
28348 2009-08-22  Bruno Haible  <bruno@clisp.org>
28349
28350         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
28351         return value.
28352         * lib/pipe-filter-gi.c (filter_init): Likewise.
28353         Reported by Eric Blake.
28354
28355 2009-08-22  Bruno Haible  <bruno@clisp.org>
28356
28357         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
28358         * modules/pipe (Depends-on): Add pipe2.
28359
28360 2009-08-22  Bruno Haible  <bruno@clisp.org>
28361
28362         Tests for module 'pipe2'.
28363         * modules/pipe2-tests: New file.
28364         * tests/test-pipe2.c: New file.
28365
28366         New module 'pipe2'.
28367         * lib/unistd.in.h (pipe2): New declaration.
28368         * lib/pipe2.c: New file.
28369         * m4/pipe2.m4: New file.
28370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
28371         HAVE_PIPE2.
28372         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
28373         * modules/pipe2: New file.
28374         * doc/glibc-functions/pipe2.texi: Mention the new module.
28375
28376 2009-08-22  Bruno Haible  <bruno@clisp.org>
28377
28378         Reference some new glibc functions.
28379         * doc/glibc-functions/accept4.texi: New file.
28380         * doc/glibc-functions/dup3.texi: New file.
28381         * doc/glibc-functions/mkostemp.texi: New file.
28382         * doc/glibc-functions/pipe2.texi: New file.
28383         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
28384         (Glibc sys/socket.h): Refer to accept4.
28385         (Glibc unistd.h): Refer to dup3, pipe2.
28386         Reported by Eric Blake.
28387
28388 2009-08-22  Jim Meyering  <meyering@redhat.com>
28389             Bruno Haible  <bruno@clisp.org>
28390
28391         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
28392         This makes it so packages using automake-1.11's silent-rules option
28393         can print e.g., a single "GEN    configmake.h" line, rather than
28394         the 30+ statements that perform the job.  If you want to see the
28395         actual commands, you can still run "make V=1".
28396         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
28397         so that make output is abbreviated when those variables are defined
28398         appropriately.
28399         * modules/argz: Likewise.
28400         * modules/arpa_inet: Likewise.
28401         * modules/byteswap: Likewise.
28402         * modules/configmake: Likewise.
28403         * modules/dirent: Likewise.
28404         * modules/errno: Likewise.
28405         * modules/fcntl: Likewise.
28406         * modules/float: Likewise.
28407         * modules/fnmatch: Likewise.
28408         * modules/getopt-posix: Likewise.
28409         * modules/glob: Likewise.
28410         * modules/iconv_open: Likewise.
28411         * modules/inttypes: Likewise.
28412         * modules/localcharset: Likewise.
28413         * modules/locale: Likewise.
28414         * modules/math: Likewise.
28415         * modules/netdb: Likewise.
28416         * modules/netinet_in: Likewise.
28417         * modules/poll: Likewise.
28418         * modules/posix_spawnp-tests: Likewise.
28419         * modules/sched: Likewise.
28420         * modules/search: Likewise.
28421         * modules/selinux-h: Likewise.
28422         * modules/signal: Likewise.
28423         * modules/spawn: Likewise.
28424         * modules/stdarg: Likewise.
28425         * modules/stdbool: Likewise.
28426         * modules/stddef: Likewise.
28427         * modules/stdint: Likewise.
28428         * modules/stdio: Likewise.
28429         * modules/stdlib: Likewise.
28430         * modules/string: Likewise.
28431         * modules/strings: Likewise.
28432         * modules/sys_file: Likewise.
28433         * modules/sys_ioctl: Likewise.
28434         * modules/sys_select: Likewise.
28435         * modules/sys_socket: Likewise.
28436         * modules/sys_stat: Likewise.
28437         * modules/sys_time: Likewise.
28438         * modules/sys_times: Likewise.
28439         * modules/sys_utsname: Likewise.
28440         * modules/sys_wait: Likewise.
28441         * modules/sysexits: Likewise.
28442         * modules/time: Likewise.
28443         * modules/unistd: Likewise.
28444         * modules/wchar: Likewise.
28445         * modules/wctype: Likewise.
28446
28447 2009-08-22  Jim Meyering  <meyering@redhat.com>
28448
28449         announce-gen: detect write failure
28450         * build-aux/announce-gen: Add Coda at end.
28451         Remove equivalent-but-more-verbose block at top.
28452
28453 2009-08-19  Akim Demaille  <demaille@gostai.com>
28454
28455         bootstrap: --help to stdout.
28456         * bootstrap (usage): Don't send --help to stderr.
28457         Use a here doc instead of a long string.
28458
28459 2009-08-21  Eric Blake  <ebb9@byu.net>
28460
28461         test-popen-safer: split from test-popen
28462         * tests/test-popen.c (main): Move...
28463         * tests/test-popen.h: ...into new file.
28464         * tests/test-popen-safer2.c: New file.
28465         * modules/popen-tests (Files): Add test-popen.h.
28466         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
28467         Suggested by Bruno Haible.
28468
28469         test-fcntl-safer: split from test-open
28470         * tests/test-open.c (main): Move...
28471         * tests/test-open.h: ...into new file.
28472         * tests/test-fcntl-safer.c: New file.
28473         * modules/open-tests (Files): Add test-open.h.
28474         * modules/fcntl-safer-tests: New file.
28475         Suggested by Bruno Haible.
28476
28477         test-fopen-safer: split from test-fopen
28478         * tests/test-fopen.c (main): Move...
28479         * tests/test-fopen.h: ...into new file.
28480         * tests/test-fopen-safer.c: New file.
28481         * modules/fopen-tests (Files): Add test-fopen.h.
28482         * modules/fopen-safer-tests: New file.
28483         Suggested by Bruno Haible.
28484
28485 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
28486
28487         popen-safer: test O_CLOEXEC at run-time.
28488         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
28489
28490 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
28491
28492         fcntl: move more flags to the header
28493         * lib/cloexec.c: Do not define FD_CLOEXEC here.
28494         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
28495         * lib/fcntl.in.h: Do both things here.
28496
28497 2009-08-21  Jim Meyering  <meyering@redhat.com>
28498
28499         consistently remove $@-t before redirecting to it
28500         * modules/argz: Remove $@-t and $@ before redirecting to the former.
28501         * modules/alloca-opt: Likewise.
28502         * modules/byteswap: Likewise.
28503         * modules/fnmatch: Likewise.
28504         * modules/getopt-posix: Likewise.
28505         * modules/glob: Likewise.
28506         * modules/poll: Likewise.
28507         * modules/posix_spawnp-tests: Likewise.
28508         * modules/sys_socket: Likewise.
28509         * modules/sysexits: Likewise.
28510
28511 2009-08-21  Eric Blake  <ebb9@byu.net>
28512
28513         popen: simplify access to original popen
28514         * lib/popen.c (rpl_popen): No need to worry about popen being a
28515         macro.
28516         Reported by Bruno Haible.
28517
28518 2009-08-20  Eric Blake  <ebb9@byu.net>
28519
28520         build: avoid some compiler warnings
28521         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
28522         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
28523         type.
28524         (new_exclude_segment, excluded_file_pattern_p)
28525         (excluded_file_name_p): Reduce scope.
28526         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
28527         old-style declaration.
28528
28529 2009-08-20  Simon Josefsson  <simon@josefsson.org>
28530
28531         * tests/test-exclude1.sh: Handle Windows EOL.
28532         * tests/test-exclude2.sh: Likewise.
28533         * tests/test-exclude3.sh: Likewise.
28534         * tests/test-exclude4.sh: Likewise.
28535         * tests/test-exclude5.sh: Likewise.
28536         * tests/test-exclude6.sh: Likewise.
28537         * tests/test-exclude7.sh: Likewise.
28538
28539 2009-08-19  Akim Demaille  <demaille@gostai.com>
28540
28541         bootstrap: find sha1sum when named gsha1sum.
28542         * bootstrap (find_tool): New.
28543         ($SHA1SUM): New.
28544         Use it.
28545
28546 2009-08-20  Jim Meyering  <meyering@redhat.com>
28547
28548         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
28549         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
28550         expression that converts "." in a file name to "\." in the resulting
28551         regexp.  Start with a dummy statement, so that prior shell variable
28552         definitions are expanded portably.  Reported by Simon Josefsson.
28553
28554 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
28555
28556         Fix polling for writeability of a screen buffer.
28557         * lib/poll.c: Distinguish input and screen buffers for the
28558         Win32 implementation.
28559         * lib/select.c: Likewise.
28560
28561 2009-08-19  Eric Blake  <ebb9@byu.net>
28562
28563         popen-safer: prevent popen from clobbering std descriptors
28564         * modules/popen-safer: New file.
28565         * lib/popen-safer.c: Likewise.
28566         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
28567         * lib/stdio--.h (popen): Provide override.
28568         * lib/stdio-safer.h (popen_safer): Provide declaration.
28569         * tests/test-popen.c (includes): Partially test this.
28570         * modules/popen-safer-tests: New file, for more tests.
28571         * tests/test-popen-safer.c: Likewise.
28572         * MODULES.html.sh (file stream based Input/Output): Mention it.
28573
28574         tests: test some of the *-safer modules
28575         * modules/fopen-safer (Depends-on): Add fopen.
28576         * modules/fcntl-safer (Depends-on): Add fcntl.
28577         * modules/stdlib-safer (Depends-on): Add stdlib.
28578         (configure.ac): Set indicator.
28579         * modules/unistd-safer (configure.ac): Likewise.
28580         * modules/tmpfile-safer (configure.ac): Likewise.
28581         (Depends-on): Add tmpfile.
28582         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
28583         active.
28584         * tests/test-fopen.c (includes): Test safer versions when they are
28585         in use.
28586         * tests/test-open.c (includes): Likewise.
28587
28588         popen: fix cygwin 1.5 bug when stdin closed
28589         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
28590         * modules/popen: New file.
28591         * modules/popen-tests: Likewise.
28592         * tests/test-popen.c: Likewise.
28593         * m4/popen.m4: Likewise.
28594         * lib/popen.c: Likewise.
28595         * lib/stdio.in.h (popen): New declaration.
28596         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
28597         * modules/stdio (Makefile.am): Likewise.
28598         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
28599
28600 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
28601
28602         maint.mk: give full control over update-copyright exclusions
28603         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
28604         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
28605         (update-copyright): Don't force inclusion of top-level
28606         ChangeLog.  Don't force exclusion of all COPYING files, but make
28607         them the default exclusion instead.
28608
28609 2009-08-16  Bruno Haible  <bruno@clisp.org>
28610
28611         Fix test failures on Solaris 10.
28612         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
28613         tests when Solaris iconv() is used.
28614         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
28615         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
28616         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
28617         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
28618         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
28619
28620 2009-08-16  Bruno Haible  <bruno@clisp.org>
28621
28622         Fix test failures on Solaris 10.
28623         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
28624         'tr' program and pass it as first argument.
28625         * tests/test-pipe-filter-gi1.sh: Likewise.
28626         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
28627         program as first argument.
28628         * tests/test-pipe-filter-gi1.c (main): Likewise.
28629
28630 2009-08-16  Eric Blake  <ebb9@byu.net>
28631
28632         fpurge: fix previous commits
28633         * modules/fpurge (Makefile.am): Make replacement conditional,
28634         partially reverting 2007-04-29 change; missed in previous
28635         attempt.
28636         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
28637         is missing.
28638
28639 2009-08-16  Bruno Haible  <bruno@clisp.org>
28640
28641         Clarify fpurge's effect on the file position.
28642         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
28643         * tests/test-fpurge.c (main): Make a second pass for checking the file
28644         position.
28645
28646 2009-08-16  Bruno Haible  <bruno@clisp.org>
28647
28648         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
28649         declaration of fpurge is missing.
28650         * tests/test-fpurge.c (main): Check that the file has not more contents
28651         than expected. Close the file before removing it.
28652
28653 2009-08-15  Eric Blake  <ebb9@byu.net>
28654
28655         fpurge: don't wrap working cygwin implementation
28656         * lib/fpurge.c (fpurge): Fix comment typo.
28657         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
28658         1.7 to avoid replacement.
28659         * tests/test-fpurge.c (main): Enhance test.
28660
28661 2009-08-15  Eric Blake  <ebb9@byu.net>
28662         and Jim Meyering  <meyering@redhat.com>
28663
28664         test-update-copyright: skip if perl is insufficient
28665         * tests/test-update-copyright.sh: Failure to run maintainer tool
28666         should not cause testsuite failure on cygwin 1.5.
28667
28668 2009-08-14  Eric Blake  <ebb9@byu.net>
28669
28670         doc: mention more functions added in cygwin 1.7.0
28671         * doc/posix-headers/limits.texi (limits.h): Update for recent
28672         cygwin additions.
28673         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
28674         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
28675         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
28676         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
28677         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
28678
28679 2009-08-14  Eric Blake  <ebb9@byu.net>
28680
28681         maint.mk: simplify update-copyright rule
28682         * top/maint.mk (update-copyright-local): Delete, and document how
28683         to do it in cfg.mk instead.
28684         (update-copyright-exclude-regexp): Delete, and document how to do
28685         it in .x-update-copyright instead.
28686         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
28687         exclude ChangeLog.
28688
28689 2009-08-14  Bruno Haible  <bruno@clisp.org>
28690
28691         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
28692
28693 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
28694
28695         maint.mk: support update-copyright-env
28696         * top/maint.mk (update-copyright-env): Define place-holder.
28697         (update-copyright): Expand $(update-copyright-env) before
28698         invoking update-copyright.
28699
28700 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
28701
28702         update-copyright: implement forced reformatting
28703         * build-aux/update-copyright: Implement and document
28704         UPDATE_COPYRIGHT_FORCE.
28705         * tests/test-update-copyright.sh: Test it.
28706
28707 2009-08-14  Eric Blake  <ebb9@byu.net>
28708         and Bruno Haible  <bruno@clisp.org>
28709
28710         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
28711         * tests/test-locale.c: Revert previous patch related to NULL.
28712         * tests/test-stdio.c: Likewise.
28713         * tests/test-stdlib.c: Likewise.
28714         * tests/test-string.c: Likewise.
28715         * tests/test-unistd.c: Likewise.
28716         * modules/time-tests (Depends-on): Add verify.
28717         * modules/wchar-tests (Depends-on): Likewise.
28718         * tests/test-time.c: Test for NULL compliance.
28719         * tests/test-wchar.c: Likewise.
28720         * modules/locale (Depends-on): Add stddef.
28721         * modules/stdio (Depends-on): Likewise.
28722         * modules/stdlib (Depends-on): Likewise.
28723         * modules/string (Depends-on): Likewise.
28724         * modules/time (Depends-on): Likewise.
28725         * modules/unistd (Depends-on): Likewise.
28726         * modules/wchar (Depends-on): Likewise.
28727         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
28728         * lib/stdlib.in.h (includes): Likewise.
28729         * lib/string.in.h (includes): Likewise.
28730         * lib/time.in.h (includes): Likewise.
28731         * lib/unistd.in.h (includes): Likewise.
28732         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
28733         replaced.
28734         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28735         * m4/stddef_h.m4: New file.
28736         * modules/stddef: Likewise.
28737         * lib/stddef.in.h: Likewise.
28738         * modules/stddef-tests: Likewise.
28739         * tests/test-stddef.c: Likewise.
28740         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
28741         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
28742         * doc/posix-headers/locale.texi (locale.h): Likewise.
28743         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
28744         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
28745         * doc/posix-headers/string.texi (string.h): Likewise.
28746         * doc/posix-headers/time.texi (time.h): Likewise.
28747         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
28748         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
28749
28750 2009-08-14  Eric Blake  <ebb9@byu.net>
28751
28752         doc: improve git diff of texinfo files
28753         * .gitattributes: Add rule for *.texi files, with hint on how to
28754         use it.
28755         Copied from m4, and based on a report by Bruno Haible.
28756
28757 2009-08-14  Bruno Haible  <bruno@clisp.org>
28758
28759         Disable multithread support by default on Cygwin 1.5.x for real.
28760         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
28761
28762 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
28763
28764         update-copyright: much ado about intervals
28765         * build-aux/update-copyright: Implement and document
28766         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
28767         of copyright year intervals.
28768         Also, document UPDATE_COPYRIGHT_YEAR.
28769         * tests/test-update-copyright.sh: Test it.
28770
28771         update-copyright: convert 2-digit to 4-digit years
28772         * build-aux/update-copyright: Implement and document.
28773         * tests/test-update-copyright.sh: Update.
28774
28775 2009-08-14  Jim Meyering  <meyering@redhat.com>
28776
28777         test-exclude: avoid coreutils "make check" failure
28778         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
28779         just as in test-argmatch.c.
28780
28781 2009-08-13  Eric Blake  <ebb9@byu.net>
28782
28783         test-dup2: fix bad assumption
28784         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
28785         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
28786
28787         test-version-etc: fix CRLF portability issue
28788         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
28789         recognize \r.
28790         * tests/test-argp-version-etc-1.sh: Likewise.
28791
28792         getopt: update client modules
28793         * modules/argp (Depends-on): Use getopt-gnu.
28794         * modules/git-merge-changelog (Depends-on): Likewise.
28795         * modules/long-options (Depends-on): Likewise.
28796         * modules/xstrtol (Depends-on): Likewise.
28797
28798 2009-08-13  Simon Josefsson  <simon@josefsson.org>
28799
28800         * tests/test-version-etc.sh: Don't fail on different
28801         project/version.  Don't fail on CRLF differences.  Rewrite to use
28802         multiple -e instead of multiple sed forks, suggested by Eric Blake
28803         <ebb9@byu.net>.
28804         * tests/test-argp-version-etc-1.sh: Likewise.
28805
28806 2009-08-13  Simon Josefsson  <simon@josefsson.org>
28807
28808         * tests/test-version-etc.sh: Don't fail on different
28809         project/version.
28810
28811 2009-08-12  Bruno Haible  <bruno@clisp.org>
28812
28813         Tests for modules 'getopt-posix', 'getopt-gnu'.
28814         * modules/getopt-posix-tests: New file.
28815         * tests/test-getopt.c: New file.
28816         * tests/test-getopt.h: New file.
28817         * tests/test-getopt_long.h: New file.
28818
28819         New modules 'getopt-posix', 'getopt-gnu'.
28820         * modules/getopt-gnu: New file, renamed from modules/getopt.
28821         * modules/getopt-posix: New file.
28822         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
28823         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
28824         (gl_GETOPT): Remove macro.
28825         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
28826         Disable the test against BSD systems that declare optreset. Test
28827         against mingw bug. Test against lack of support of optional arguments
28828         on many platforms.
28829         * doc/glibc-headers/getopt.texi: Update module name and list of
28830         relevant platforms.
28831         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
28832         'getopt-gnu' and more portability problems.
28833         * NEWS: Mention the changes.
28834
28835 2009-08-12  Bruno Haible  <bruno@clisp.org>
28836
28837         Ensure that optarg etc. get declared by <unistd.h>.
28838         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
28839         AC_USE_SYSTEM_EXTENSIONS.
28840         * modules/getopt (Depends-on): Add 'extensions'.
28841
28842 2009-08-12  Bruno Haible  <bruno@clisp.org>
28843
28844         Avoid test link errors.
28845         * modules/pipe-filter-ii-tests (Makefile.am): Define
28846         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
28847         * modules/pipe-filter-gi-tests (Makefile.am): Define
28848         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
28849         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28850
28851 2009-08-12  Bruno Haible  <bruno@clisp.org>
28852
28853         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
28854         gl_GETOPT_SUBSTITUTE before.
28855         (gl_GETOPT): Use it.
28856         * m4/argp.m4 (gl_ARGP): Update.
28857         Reported by Sergey Poznyakoff.
28858
28859         * m4/getopt.m4: Reorder macros.
28860         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
28861         (gl_GETOPT_SUBSTITUTE): Remove macro.
28862
28863 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
28864
28865         Minor improvement in gitlog-to-changelog
28866
28867         * build-aux/gitlog-to-changelog: New option `--format' makes
28868         output format string configurable.
28869
28870 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
28871
28872         Optimize exclude: use hash tables for non-wildcard patterns.
28873
28874         * lib/exclude.c: Include hash.h and mbuiter.h
28875         (struct exclude_pattern, exclude_segment): New data types.
28876         (struct exclude): Rewrite.
28877         (fnmatch_pattern_has_wildcards): New function.
28878         (new_exclude_segment, free_exclude_segment): New functions.
28879         (excluded_file_pattern_p, excluded_file_name_p): New functions.
28880         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
28881         * lib/exclude.h (is_fnmatch_pattern): New prototype.
28882         * modules/exclude: Depend on hash and mbuiter.
28883
28884         * modules/exclude-tests: New file.
28885         * tests/test-exclude.c: New file.
28886         * tests/test-exclude1.sh: New file.
28887         * tests/test-exclude2.sh: New file.
28888         * tests/test-exclude3.sh: New file.
28889         * tests/test-exclude4.sh: New file.
28890         * tests/test-exclude5.sh: New file.
28891         * tests/test-exclude6.sh: New file.
28892         * tests/test-exclude7.sh: New file.
28893
28894 2009-08-12  Bruno Haible  <bruno@clisp.org>
28895
28896         Ensure that getopt() gets declared by <unistd.h>.
28897         * lib/unistd.in.h: Conditionally include getopt.h.
28898         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
28899         Set GNULIB_UNISTD_H_GETOPT.
28900         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28901         GNULIB_UNISTD_H_GETOPT.
28902         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
28903
28904 2009-08-12  Bruno Haible  <bruno@clisp.org>
28905
28906         Clarify logic.
28907         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
28908         gl_replace_getopt instead of GETOPT_H.
28909
28910 2009-08-12  Bruno Haible  <bruno@clisp.org>
28911
28912         * m4/getopt.m4: Add comments.
28913
28914 2009-08-12  Bruno Haible  <bruno@clisp.org>
28915
28916         Disable multithread support by default on Cygwin 1.5.x.
28917         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
28918         set gl_use_threads=no if not specified otherwise.
28919
28920 2009-08-11  Bruno Haible  <bruno@clisp.org>
28921
28922         Avoid compilation error on NetBSD 5.0.
28923         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
28924         * tests/test-stdio.c: Likewise.
28925         * tests/test-stdlib.c: Likewise.
28926         * tests/test-string.c: Likewise.
28927         * tests/test-unistd.c: Likewise.
28928         Reported by Greg Troxel <gdt@ir.bbn.com>
28929         at <https://savannah.gnu.org/support/?106973>.
28930
28931 2009-08-11  Bruno Haible  <bruno@clisp.org>
28932
28933         * modules/dup2-tests (Depends-on): Remove close.
28934
28935         Undo 2009-07-19 commit.
28936         * modules/acl-tests (Depends-on): Remove close.
28937         * modules/binary-io-tests (Depends-on): Likewise.
28938         * modules/closein-tests (Depends-on): Likewise.
28939         * modules/flock-tests (Depends-on): Likewise.
28940         * modules/fsync-tests (Depends-on): Likewise.
28941         * modules/lseek-tests (Depends-on): Likewise.
28942         * modules/pipe-tests (Depends-on): Likewise.
28943         * modules/posix_spawn-tests (Depends-on): Likewise.
28944         * modules/posix_spawnp-tests (Depends-on): Likewise.
28945         * modules/stat-time-tests (Depends-on): Likewise.
28946         * modules/yesno-tests (Depends-on): Likewise.
28947
28948 2009-08-10  Bruno Haible  <bruno@clisp.org>
28949
28950         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
28951
28952 2009-08-10  Bruno Haible  <bruno@clisp.org>
28953
28954         Fix a gcc warning.
28955         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
28956
28957 2009-08-10  Bruno Haible  <bruno@clisp.org>
28958
28959         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
28960         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
28961         not only the first time.
28962         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
28963         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
28964         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
28965         is 1, not only the the first time.
28966
28967 2009-08-10  Bruno Haible  <bruno@clisp.org>
28968
28969         Make it possible to use module 'gethostname' without module 'close'.
28970         * lib/unistd.in.h (close): Evoke a link error only if
28971         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
28972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28973         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28974         * modules/unistd (Makefile.am): Substitute
28975         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28976         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
28977         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
28978         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
28979         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28980         * modules/sys_ioctl (Makefile.am): Substitute
28981         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28982         * modules/socket (configure.ac): On native Windows, set
28983         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
28984         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28985         Reported by Sam Steingold <sds@gnu.org>.
28986
28987 2009-08-10  Bruno Haible  <bruno@clisp.org>
28988
28989         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
28990         * modules/ioctl (configure.ac): Likewise.
28991
28992 2009-08-10  Bruno Haible  <bruno@clisp.org>
28993
28994         Avoid collision between gnulib wrapper and libintl wrapper.
28995         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
28996         already defined in intl/printf.c.
28997         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
28998         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
28999
29000 2009-08-09  Bruno Haible  <bruno@clisp.org>
29001
29002         Make <sys/select.h> really self-contained, also on Solaris 10.
29003         * lib/sys_select.in.h: Include <string.h>.
29004         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
29005         Solaris 10 problem.
29006         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
29007         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
29008         Reported by Jim Meyering.
29009
29010 2009-08-09  Bruno Haible  <bruno@clisp.org>
29011
29012         Avoid warnings from 'aclocal' that are due to a use of macro name
29013         AM_XGETTEXT_OPTION that is not defined in automake.
29014         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
29015         automake.
29016         * modules/error (configure.ac): Likewise.
29017         * modules/propername (configure.ac): Likewise.
29018         * modules/vasprintf (configure.ac): Likewise.
29019         * modules/verror (configure.ac): Likewise.
29020         * modules/xprintf (configure.ac): Likewise.
29021         * modules/xvasprintf (configure.ac): Likewise.
29022
29023 2009-08-08  Bruno Haible  <bruno@clisp.org>
29024
29025         Avoid compilation error in C++ mode.
29026         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
29027         Reported by Sam Steingold <sds@gnu.org>.
29028
29029 2009-08-08  Bruno Haible  <bruno@clisp.org>
29030
29031         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
29032         for the various Unix platforms.
29033         * doc/posix-headers/limits.texi: Update platforms list regarding
29034         HOST_NAME_MAX.
29035         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29036
29037 2009-08-07  Jim Meyering  <meyering@redhat.com>
29038
29039         selinux-at: fix typo in a comment
29040         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
29041         Spotted by Paolo Bonzini.
29042
29043         selinux-at: remove redundant m4 code, add documentation
29044         * modules/selinux-at (configure.ac): Remove redundant code.
29045         LIB_SELINUX is already set via the dependent module, selinux-h.
29046         (Include): Add quotes around selinux-at.h.
29047         * lib/selinux-at.h: Add documentation.
29048         Reported by Bruno Haible in
29049         http://marc.info/?l=gnulib-bug&m=124958988300749
29050
29051 2009-08-07  Bruno Haible  <bruno@clisp.org>
29052
29053         Avoid link error on MacOS X 10.3 and 10.4.
29054         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
29055         on non-ELF systems.
29056         * lib/argp-pv.c (argp_program_version): Likewise.
29057         Reported by Simon Josefsson.
29058
29059 2009-08-07  Simon Josefsson  <simon@josefsson.org>
29060
29061         * tests/test-version-etc.sh: Use $EXEEXT.
29062
29063 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
29064
29065         update-copyright: update documentation to point to maint.mk
29066         * build-aux/update-copyright: Here.
29067
29068 2009-08-06  Jim Meyering  <meyering@redhat.com>
29069
29070         maint.mk: support update-copyright-local
29071         * top/maint.mk (update-copyright-local): Define place-holder.
29072         (update-copyright): Depend on $(update-copyright-local).
29073
29074 2009-08-06  Jim Meyering  <meyering@redhat.com>
29075
29076         selinux-at: new module
29077         Initially written for coreutils, this module will soon be
29078         used by findutils, too.
29079         * MODULES.html.sh [Misc]: Add selinux-at.
29080         * lib/selinux-at.h: New file, from coreutils.
29081         * lib/selinux-at.c: Likewise.
29082         * modules/selinux-at: Likewise.
29083         (License): Change from LGPL to GPL, since it depends
29084         on the GPL'd openat module.
29085
29086         doc: update README
29087         * README: Remove references to cogito.
29088         Remove cvs-repo-updating instructions from 2007.
29089         Don't imply that CVS is better if you have limited disk space.
29090
29091 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29092
29093         update-copyright: support C-style comments
29094         * build-aux/update-copyright: Implement and document.
29095         * tests/test-update-copyright.sh: Test.
29096
29097 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29098
29099         update-copyright: support omitted "(C)"
29100         * build-aux/update-copyright: Implement and document.  Also,
29101         allow variable whitespace before "(C)".
29102         * tests/test-update-copyright.sh: Test.
29103
29104 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29105
29106         update-copyright: don't trip on non-FSF copyright statements
29107         * build-aux/update-copyright: Fix so that the first correctly
29108         formatted FSF copyright statement is recognized no matter what
29109         appears before it.  Update documentation.
29110         * tests/test-update-copyright.sh: Test that.
29111
29112 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29113
29114         update-copyright: clean up code a little
29115         * build-aux/update-copyright: Append "_re" to the name of any
29116         variable holding a regular expression.
29117         Replace "old" and "new" with "stmt" in variable names.
29118         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
29119         handled correctly.
29120         Format code more consistently.
29121
29122 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29123
29124         update-copyright-tests: improve portability
29125         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
29126         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
29127
29128 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
29129
29130         update-copyright: support @copyright{} and &copy;
29131         * build-aux/update-copyright: Implement and document.
29132         * tests/test-update-copyright.sh: Test.
29133
29134 2009-08-04  Jim Meyering  <meyering@redhat.com>
29135
29136         update-copyright-tests: correctly test EOL=\r\n handling
29137         * tests/test-update-copyright.sh: Put \r at the end of some lines
29138         for the dos-eol tests.  Based on a patch by Joel E. Denny.
29139
29140         maint.mk: make update-copyright exclusion list more configurable
29141         * top/maint.mk (update-copyright): Default to excluding COPYING,
29142         but allow an override, in case someone does want to update that file.
29143
29144         maint.mk: don't update copyright date in COPYING
29145         * top/maint.mk (update-copyright): Exclude COPYING.
29146
29147         maint.mk: add a copyright-updating rule
29148         * top/maint.mk (update-copyright): New rule.
29149         Derived from coreutils/Makefile.am.
29150
29151         update-copyright: rename some variables
29152         * build-aux/update-copyright: Rename a few variables for clarity.
29153         Tweak syntax.  List Joel E. Denny as coauthor.
29154
29155 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
29156
29157         update-copyright: fix bug for 2-digit last year and add tests
29158         * build-aux/update-copyright: Fix bug.
29159         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
29160         specified.
29161         * modules/update-copyright-tests: New
29162         * tests/test-update-copyright.sh: New.
29163
29164 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29165
29166         update-copyright: handle leading tabs in line prefix
29167         * build-aux/update-copyright: Count leading tabs as 8 spaces
29168         when computing margin.  This helps with the formatting of
29169         ChangeLogs, for example.
29170         Fix documentation a little.
29171
29172 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29173
29174         update-copyright: support EOL=\r\n
29175         * build-aux/update-copyright: Implement that.
29176
29177 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29178
29179         update-copyright: automatically format copyright statements
29180         * build-aux/update-copyright: Implement that.
29181         Also, be a little more predictable and safer by always failing
29182         when the full copyright format is not perfectly recognized as an
29183         unbroken whole.  Discussed at
29184         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
29185         Rewrite documentation.
29186
29187 2009-08-03  Bruno Haible  <bruno@clisp.org>
29188
29189         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
29190
29191 2009-08-02  Bruno Haible  <bruno@clisp.org>
29192
29193         Tests for module 'uname'.
29194         * modules/uname-tests: New file.
29195         * tests/test-uname.c: New file.
29196
29197         New module 'uname'.
29198         * lib/uname.c: New file.
29199         * m4/uname.m4: New file.
29200         * modules/uname: New file.
29201         * doc/posix-functions/uname.texi: Mention the new module.
29202
29203 2009-08-02  Bruno Haible  <bruno@clisp.org>
29204
29205         Tests for module 'sys_utsname'.
29206         * modules/sys_utsname-tests: New file.
29207         * tests/test-sys_utsname.c: New file.
29208
29209         New module 'sys_utsname'.
29210         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
29211         * m4/sys_utsname_h.m4: New file.
29212         * modules/sys_utsname: New file.
29213         * doc/posix-headers/sys_utsname.texi: Mention the new module.
29214
29215 2009-08-02  Bruno Haible  <bruno@clisp.org>
29216
29217         Implicitly initialize the sockets library.
29218         * lib/gethostname.c: Include sockets.h.
29219         (rpl_gethostname): Invoke gl_sockets_startup.
29220         * lib/socket.c: Include sockets.h.
29221         (rpl_socket): Invoke gl_sockets_startup.
29222         * modules/gethostname (Depends-on): Add sockets.
29223         * modules/socket (Depends-on): Likewise.
29224         * tests/test-poll.c: Don't include sockets.h.
29225         (main): Don't invoke gl_sockets_startup.
29226         * tests/test-select.c: Don't include sockets.h.
29227         (main): Don't invoke gl_sockets_startup.
29228
29229 2009-08-02  Bruno Haible  <bruno@clisp.org>
29230
29231         Allow multiple calls to gl_sockets_startup.
29232         * lib/sockets.c (initialized_sockets_version): New variable.
29233         (gl_sockets_startup): Do nothing if already called for this or a higher
29234         version.
29235         (gl_sockets_cleanup): Reset initialized_sockets_version.
29236
29237 2009-08-03  Simon Josefsson  <simon@josefsson.org>
29238
29239         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
29240         different project/version.
29241
29242 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
29243             Bruno Haible  <bruno@clisp.org>
29244
29245         Tests for module 'pipe-filter-gi'.
29246         * modules/pipe-filter-gi-tests: New file.
29247         * tests/test-pipe-filter-gi1.sh: New file.
29248         * tests/test-pipe-filter-gi1.c: New file.
29249         * tests/test-pipe-filter-gi2.sh: New file.
29250         * tests/test-pipe-filter-gi2-main.c: New file.
29251         * tests/test-pipe-filter-gi2-child.c: New file.
29252
29253         New module 'pipe-filter-gi'.
29254         * lib/pipe-filter-gi.c: New file.
29255         * modules/pipe-filter-gi: New file.
29256
29257 2009-08-02  Bruno Haible  <bruno@clisp.org>
29258             Paolo Bonzini  <bonzini@gnu.org>
29259
29260         Tests for module 'pipe-filter-ii'.
29261         * modules/pipe-filter-ii-tests: New file.
29262         * tests/test-pipe-filter-ii1.sh: New file.
29263         * tests/test-pipe-filter-ii1.c: New file.
29264         * tests/test-pipe-filter-ii2.sh: New file.
29265         * tests/test-pipe-filter-ii2-main.c: New file.
29266         * tests/test-pipe-filter-ii2-child.c: New file.
29267
29268         New module 'pipe-filter-ii'.
29269         * lib/pipe-filter.h: New file.
29270         * lib/pipe-filter-ii.c: New file.
29271         * lib/pipe-filter-aux.h: New file.
29272         * modules/pipe-filter-ii: New file.
29273
29274 2009-08-02  Simon Josefsson  <simon@josefsson.org>
29275
29276         * lib/gc-libgcrypt.c: Change copyright to FSF.
29277         * lib/gc-gnulib.c: Likewise.
29278
29279 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
29280
29281         * lib/gethostname.c: Include limits.h.
29282
29283 2009-08-02  Simon Josefsson  <simon@josefsson.org>
29284             Bruno Haible  <bruno@clisp.org>
29285
29286         Ensure HOST_NAME_MAX as part of the gethostname module.
29287         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
29288         define also HOST_NAME_MAX.
29289         * tests/test-gethostname.c: Include <limits.h>.
29290         (main): Check also HOST_NAME_MAX.
29291         * doc/posix-headers/limits.texi: Document the mingw problem.
29292
29293 2009-08-02  Bruno Haible  <bruno@clisp.org>
29294
29295         * lib/gethostname.c (gethostname): Fix handling of large len argument.
29296         Add comments.
29297
29298 2009-03-31  Simon Josefsson  <simon@josefsson.org>
29299
29300         * lib/gethostname.c: Add Windows wrapper.
29301         * m4/gethostname.m4: Look for gethostname in -lws2_32.
29302         * modules/gethostname: Depend on sys_socket & errno, for also
29303         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
29304         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
29305
29306 2009-07-31  Jim Meyering  <meyering@redhat.com>
29307
29308         getloadavg: fix symbol name in comment
29309         * lib/getloadavg.c: Correct a typo I introduced when adding
29310         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
29311         Matt Kraai spotted the problem.
29312
29313 2009-07-29  Matt Kraai  <mkraai@beckman.com>
29314
29315         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
29316         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
29317         code also if ! defined N_NAME_POINTER.
29318         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
29319         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
29320         but the n_name member is a 12-byte array.
29321
29322 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
29323
29324         update-copyright: generalize comment handling
29325         * build-aux/update-copyright: Handle copyright statements
29326         within more comment styles.
29327         Document usage.
29328         Report any file with an external copyright holder or parse failure.
29329
29330 2009-07-29  Jim Meyering  <meyering@redhat.com>
29331
29332         mktime: correct setting of REPLACE_MKTIME
29333         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
29334
29335         update-copyright: new module
29336         * modules/update-copyright: New file.
29337         * build-aux/update-copyright: New file.
29338         * MODULES.html.sh (maint+release support): Add update-copyright.
29339
29340 2009-07-27  Bruno Haible  <bruno@clisp.org>
29341
29342         Fix compilation error when <ctime> is used and mktime is replaced.
29343         * lib/time.in.h (mktime): New declaration.
29344         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
29345         REPLACE_MKTIME instead of defining mktime in config.h.
29346         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
29347         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
29348         Reported by Ross McFarland <rwmcfa1@neces.com>.
29349
29350 2009-07-27  Bruno Haible  <bruno@clisp.org>
29351
29352         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
29353         Reported by Matt Kraai <mkraai@beckman.com>.
29354
29355 2009-07-25  Jim Meyering  <meyering@redhat.com>
29356
29357         maint.mk: avoid warnings about missing files
29358         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
29359         diagnostic when .prev-version does not exist.
29360         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
29361         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
29362         nonexistent cfg.mk.
29363         Suggestions from Simon Josefsson.
29364
29365 2009-07-25  Bruno Haible  <bruno@clisp.org>
29366
29367         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
29368         defined as macros. Needed on QNX 6.4.1.
29369         Reported by Matt Kraai <mkraai@beckman.com>.
29370
29371 2009-07-23  Jim Meyering  <meyering@redhat.com>
29372
29373         maint.mk: invoke "make dist" with a working value of XZ_OPT
29374         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
29375
29376 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
29377
29378         Make fseeko.c compile on QNX.
29379         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
29380
29381 2009-07-22  Peter Simons  <simons@cryp.to>
29382
29383         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
29384         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
29385         * lib/md4.h: Likewise.
29386         * lib/md5.h: Likewise.
29387         * lib/sha1.h: Likewise.
29388         * lib/sha256.h: Likewise.
29389         * lib/sha512.h: Likewise.
29390
29391         tests-sha1: don't assign literal string to 'char *' variable
29392         * tests/test-sha1.c (main): Declare locals with "const" to match
29393         attributes of the right hand side.
29394
29395 2009-07-21  Eric Blake  <ebb9@byu.net>
29396
29397         dup2: fix more mingw problems
29398         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
29399         fd to itself.
29400         * doc/posix-functions/dup2.texi (dup2): Document the bug.
29401         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
29402         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
29403         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
29404         care of mingw bugs.
29405
29406 2009-07-21  Jim Meyering  <meyering@redhat.com>
29407
29408         vc-list-files: avoid failure when /bin/sh is dash
29409         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
29410         On some Debian based systems, /bin/sh is a symlink to dash, and running
29411         this command would omit the "/" following each 'tests' prefix:
29412           dash -x build-aux/vc-list-files -C . tests
29413         That is because bash and dash work differently:
29414           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
29415           bash ok
29416           dash odd
29417
29418 2009-07-21  Eric Blake  <ebb9@byu.net>
29419
29420         dup2-tests: test previous patch
29421         * modules/dup2-tests: New file.
29422         * tests/test-dup2.c: Likewise.
29423         * tests/test-open.c (main): Avoid unspecified behavior.
29424         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
29425         test.
29426
29427         dup2: work around mingw and cygwin 1.5 bug
29428         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
29429         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29430         * modules/unistd (Makefile.am): Substitute it.
29431         * lib/unistd.in.h (dup2): Declare the replacement.
29432         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
29433         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
29434         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
29435         * modules/execute (Depends-on): Add dup2.
29436         * modules/fseterr (Depends-on): Likewise.
29437         * modules/pipe (Depends-on): Likewise.
29438         * modules/posix_spawn-internal (Depends-on): Likewise.
29439
29440 2009-07-21  Bruno Haible  <bruno@clisp.org>
29441
29442         * modules/.gitattributes: New file.
29443
29444 2009-07-20  Bruno Haible  <bruno@clisp.org>
29445
29446         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
29447         (main): Use it.
29448
29449 2009-07-20  Eric Blake  <ebb9@byu.net>
29450
29451         test-pipe: make a bit more robust.
29452         * tests/test-pipe.c (myerr): Allow error messages regardless of
29453         what we do to stderr.
29454         (test_pipe): Rearrange to avoid deadlock.
29455         (child_main): Try a larger read, to ensure we avoided deadlock.
29456         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
29457         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
29458         if misused.
29459
29460 2009-07-19  Jim Meyering  <meyering@redhat.com>
29461
29462         fts: avoid false-positive cycle-detection
29463         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
29464         for each new command line argument.
29465
29466 2009-07-19  Bruno Haible  <bruno@clisp.org>
29467
29468         Fix build error on mingw with the modules sys_select and unistd.
29469         * modules/acl-tests (Depends-on): Add close.
29470         * modules/binary-io-tests (Depends-on): Likewise.
29471         * modules/closein-tests (Depends-on): Likewise.
29472         * modules/flock-tests (Depends-on): Likewise.
29473         * modules/fsync-tests (Depends-on): Likewise.
29474         * modules/lseek-tests (Depends-on): Likewise.
29475         * modules/pipe-tests (Depends-on): Likewise.
29476         * modules/posix_spawn-tests (Depends-on): Likewise.
29477         * modules/posix_spawnp-tests (Depends-on): Likewise.
29478         * modules/stat-time-tests (Depends-on): Likewise.
29479         * modules/yesno-tests (Depends-on): Likewise.
29480
29481 2009-07-19  Bruno Haible  <bruno@clisp.org>
29482
29483         Unify conditionals.
29484         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
29485         macros, not at the compiler macros.
29486         * lib/pipe.c: Likewise.
29487         * lib/execute.c: Likewise.
29488         * lib/spawni.c: Likewise.
29489
29490 2009-07-19  Bruno Haible  <bruno@clisp.org>
29491
29492         Fix handling of closed stdin/stdout/stderr on mingw.
29493         * lib/w32spawn.h: Include unistd.h.
29494         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
29495         file descriptor with O_NOINHERIT flag.
29496         (fd_safer_noinherit): New function, based on fd-safer.c.
29497         (dup_safer_noinherit): New function, based on dup-safer.c.
29498         (undup_safer_noinherit): New function.
29499         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
29500         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
29501         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
29502         instead of fd_safer.
29503         * tests/test-pipe.c: Include <windows.h>.
29504         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
29505         result.
29506
29507         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
29508         from main.
29509         (test_pipe): Pass an extra argument for disambiguation.
29510         (main): Invoke parent_main or child_main.
29511
29512         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
29513         consistently.
29514
29515 2009-07-18  Eric Blake  <ebb9@byu.net>
29516
29517         test-pipe: fix mingw build
29518         * tests/test-pipe.c (main): Avoid fcntl on mingw.
29519
29520 2009-07-18  Bruno Haible  <bruno@clisp.org>
29521
29522         * modules/pipe-tests (Makefile.am): Fix typo.
29523
29524 2009-07-18  Eric Blake  <ebb9@byu.net>
29525
29526         error: fix mingw build
29527         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
29528         Reported by Bruno Haible.
29529
29530         error: avoid undefined use of stdout
29531         * lib/error.c (error, error_at_line): Check that fd 1 is open
29532         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
29533         is handling faults and the close_stdout module wants to report the
29534         detection of closed stdout as an error.
29535
29536 2009-07-17  Eric Blake  <ebb9@byu.net>
29537
29538         pipe: be robust in face of closed fds
29539         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
29540         should cause child to misbehave.
29541         * modules/pipe-tests: New module.
29542         * tests/test-pipe.c: New file.
29543         * tests/test-pipe.sh: New file.
29544         Reported by Akim Demaille.
29545
29546 2009-07-14  Bruno Haible  <bruno@clisp.org>
29547
29548         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
29549         Reported by anonymous kc.
29550
29551 2009-07-07  Jim Meyering  <meyering@redhat.com>
29552
29553         maint.mk: don't look for translatable strings in *.m4 or *.mk
29554         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
29555         when searching for translatable strings.
29556
29557 2009-07-05  Jim Meyering  <meyering@redhat.com>
29558
29559         remove superfluous parentheses in STREQ definition
29560         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
29561         * lib/getugroups.c (STREQ): Likewise.
29562         * lib/fnmatch.c (STREQ): Likewise.
29563         Spotted by Bruno Haible.
29564
29565 2009-07-04  Jim Meyering  <meyering@redhat.com>
29566
29567         argv-iter: new module
29568         * MODULES.html.sh: Add argv-iter.
29569         * lib/argv-iter.c, lib/argv-iter.h: New files.
29570         * modules/argv-iter: New file.
29571         * modules/argv-iter-tests: New file.
29572         * tests/test-argv-iter.c: Test it.
29573
29574 2009-07-04  Bruno Haible  <bruno@clisp.org>
29575
29576         Fix assertion.
29577         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
29578         contains more exact copies of a given entry than file2, leave the extra
29579         copies unpaired rather than aborting.
29580         Reported by Eric Blake.
29581
29582 2009-07-02  Bruno Haible  <bruno@clisp.org>
29583
29584         Speedup git-merge-changelog for git cherry-pick.
29585         * lib/git-merge-changelog.c (struct entries_mapping): New type.
29586         (entries_mapping_get): New function, extracted from compute_mapping.
29587         (entries_mapping_reverse_get): New function.
29588         (compute_mapping): Add a 'full' argument. Return the result in a
29589         'struct entries_mapping'.
29590         (main): Update. Access the mappings through entries_mapping_get.
29591         Reported by Eric Blake.
29592
29593 2009-07-02  Bruno Haible  <bruno@clisp.org>
29594
29595         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
29596         best_i.
29597
29598 2009-07-02  Bruno Haible  <bruno@clisp.org>
29599
29600         Speed up approximate search for matching ChangeLog entries.
29601         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
29602         argument. Call fstrcmp_bounded instead of fstrcmp.
29603         (compute_mapping, try_split_merged_entry, main): Update callers.
29604
29605 2009-07-02  Bruno Haible  <bruno@clisp.org>
29606
29607         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
29608
29609 2009-06-30  Bruno Haible  <bruno@clisp.org>
29610
29611         Reduce the number of uc_is_cased calls.
29612         * lib/unicase.h (casing_suffix_context_t): Add
29613         'first_char_except_ignorable' field.
29614         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
29615         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
29616         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
29617         Update initializer.
29618         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
29619         case-ignorable characters.
29620         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
29621         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
29622         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
29623         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
29624         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
29625
29626 2009-06-30  Bruno Haible  <bruno@clisp.org>
29627
29628         Tests for module 'unicase/ignorable'.
29629         * modules/unicase/ignorable-tests: New file.
29630         * tests/unicase/test-ignorable.c: New file, generated by
29631         gen-uni-tables.
29632
29633         Tests for module 'unicase/cased'.
29634         * modules/unicase/cased-tests: New file.
29635         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
29636         * tests/unicase/test-predicate-part1.h: New file, derived from
29637         tests/unictype/test-predicate-part1.h.
29638         * tests/unicase/test-predicate-part2.h: New file, same as
29639         tests/unictype/test-predicate-part2.h.
29640
29641         Fix evaluation of "Before C" condition of FINAL_SIGMA.
29642         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
29643         (output_casing_properties): New function.
29644         (main): Call it.
29645         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
29646         * lib/unicase/cased.c: Include unictype/bitmap.h.
29647         (uc_is_cased): Define through a bitmap lookup.
29648         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
29649         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
29650         (uc_is_case_ignorable): Define through a bitmap lookup.
29651         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
29652         lib/unictype/bitmap.h.
29653         (Depends-on): Add inline. Clean up.
29654         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
29655         lib/unictype/bitmap.h.
29656         (Depends-on): Add inline. Clean up.
29657         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
29658         recognition.
29659         * tests/unicase/test-u16-tolower.c (main): Likewise.
29660         * tests/unicase/test-u32-tolower.c (main): Likewise.
29661
29662 2009-06-30  Bruno Haible  <bruno@clisp.org>
29663
29664         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
29665         * lib/unicase/u16-casemap.c: Likewise.
29666         * lib/unicase/u32-casemap.c: Likewise.
29667
29668 2009-06-29  Bruno Haible  <bruno@clisp.org>
29669
29670         Define u32_casefold as a wrapper around u32_ct_casefold.
29671         * lib/unicase/u32-casefold.c: Update.
29672         * modules/unicase/u32-casefold (Depends-on): Add
29673         unicase/u32-ct-casefold, unicase/empty-prefix-context,
29674         unicase/empty-suffix-context. Clean up.
29675
29676         Define u16_casefold as a wrapper around u16_ct_casefold.
29677         * lib/unicase/u16-casefold.c: Update.
29678         * modules/unicase/u16-casefold (Depends-on): Add
29679         unicase/u16-ct-casefold, unicase/empty-prefix-context,
29680         unicase/empty-suffix-context. Clean up.
29681
29682         Define u8_casefold as a wrapper around u8_ct_casefold.
29683         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
29684         * lib/unicase/u8-casefold.c: Update.
29685         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
29686         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
29687
29688         Define u32_totitle as a wrapper around u32_ct_totitle.
29689         * lib/unicase/u32-totitle.c: Update.
29690         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
29691         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
29692
29693         Define u16_totitle as a wrapper around u16_ct_totitle.
29694         * lib/unicase/u16-totitle.c: Update.
29695         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
29696         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
29697
29698         Define u8_totitle as a wrapper around u8_ct_totitle.
29699         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
29700         functions.
29701         (FUNC): Delegate to U_CT_TOTITLE.
29702         * lib/unicase/u8-totitle.c: Update.
29703         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
29704         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
29705
29706         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
29707         invocation.
29708         * modules/unicase/u32-tolower (Depends-on): Add
29709         unicase/empty-prefix-context, unicase/empty-suffix-context.
29710
29711         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
29712         invocation.
29713         * modules/unicase/u16-tolower (Depends-on): Add
29714         unicase/empty-prefix-context, unicase/empty-suffix-context.
29715
29716         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
29717         * modules/unicase/u8-tolower (Depends-on): Add
29718         unicase/empty-prefix-context, unicase/empty-suffix-context.
29719
29720         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
29721         invocation.
29722         * modules/unicase/u32-toupper (Depends-on): Add
29723         unicase/empty-prefix-context, unicase/empty-suffix-context.
29724
29725         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
29726         invocation.
29727         * modules/unicase/u16-toupper (Depends-on): Add
29728         unicase/empty-prefix-context, unicase/empty-suffix-context.
29729
29730         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
29731         * modules/unicase/u8-toupper (Depends-on): Add
29732         unicase/empty-prefix-context, unicase/empty-suffix-context.
29733
29734         New module 'unicase/u32-ct-casefold'.
29735         * lib/unicase/u32-ct-casefold.c: New file.
29736         * modules/unicase/u32-ct-casefold: New file.
29737
29738         New module 'unicase/u16-ct-casefold'.
29739         * lib/unicase/u16-ct-casefold.c: New file.
29740         * modules/unicase/u16-ct-casefold: New file.
29741
29742         New module 'unicase/u8-ct-casefold'.
29743         * lib/unicase/u8-ct-casefold.c: New file.
29744         * lib/unicase/u-ct-casefold.h: New file, derived from
29745         lib/unicase/u-casefold.h.
29746         * modules/unicase/u8-ct-casefold: New file.
29747
29748         New module 'unicase/u32-ct-totitle'.
29749         * lib/unicase/u32-ct-totitle.c: New file.
29750         * modules/unicase/u32-ct-totitle: New file.
29751
29752         New module 'unicase/u16-ct-totitle'.
29753         * lib/unicase/u16-ct-totitle.c: New file.
29754         * modules/unicase/u16-ct-totitle: New file.
29755
29756         New module 'unicase/u8-ct-totitle'.
29757         * lib/unicase/u8-ct-totitle.c: New file.
29758         * lib/unicase/u-ct-totitle.h: New file, derived from
29759         lib/unicase/u-totitle.h.
29760         * modules/unicase/u8-ct-totitle: New file.
29761
29762         New module 'unicase/u32-ct-tolower'.
29763         * lib/unicase/u32-ct-tolower.c: New file.
29764         * modules/unicase/u32-ct-tolower: New file.
29765
29766         New module 'unicase/u16-ct-tolower'.
29767         * lib/unicase/u16-ct-tolower.c: New file.
29768         * modules/unicase/u16-ct-tolower: New file.
29769
29770         New module 'unicase/u8-ct-tolower'.
29771         * lib/unicase/u8-ct-tolower.c: New file.
29772         * modules/unicase/u8-ct-tolower: New file.
29773
29774         New module 'unicase/u32-ct-toupper'.
29775         * lib/unicase/u32-ct-toupper.c: New file.
29776         * modules/unicase/u32-ct-toupper: New file.
29777
29778         New module 'unicase/u16-ct-toupper'.
29779         * lib/unicase/u16-ct-toupper.c: New file.
29780         * modules/unicase/u16-ct-toupper: New file.
29781
29782         New module 'unicase/u8-ct-toupper'.
29783         * lib/unicase/u8-ct-toupper.c: New file.
29784         * modules/unicase/u8-ct-toupper: New file.
29785
29786         Add context arguments to u*_casemap functions.
29787         * lib/unicase/unicasemap.h: Include unicase.h.
29788         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
29789         suffix_context arguments.
29790         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
29791         functions.
29792         (FUNC): Add prefix_context and suffix_context arguments. Use
29793         uc_is_cased and uc_is_case_ignorable.
29794         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
29795         * lib/unicase/u16-casemap.c: Likewise.
29796         * lib/unicase/u32-casemap.c: Likewise.
29797         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
29798         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
29799         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
29800         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
29801         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
29802         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
29803
29804         New module 'unicase/u32-suffix-context'.
29805         * lib/unicase/u32-suffix-context.c: New file.
29806         * modules/unicase/u32-suffix-context: New file.
29807
29808         New module 'unicase/u16-suffix-context'.
29809         * lib/unicase/u16-suffix-context.c: New file.
29810         * modules/unicase/u16-suffix-context: New file.
29811
29812         New module 'unicase/u8-suffix-context'.
29813         * lib/unicase/u8-suffix-context.c: New file.
29814         * lib/unicase/u-suffix-context.h: New file.
29815         * modules/unicase/u8-suffix-context: New file.
29816
29817         New module 'unicase/empty-suffix-context'.
29818         * lib/unicase/empty-suffix-context.c: New file.
29819         * modules/unicase/empty-suffix-context: New file.
29820
29821         New module 'unicase/u32-prefix-context'.
29822         * lib/unicase/u32-prefix-context.c: New file.
29823         * modules/unicase/u32-prefix-context: New file.
29824
29825         New module 'unicase/u16-prefix-context'.
29826         * lib/unicase/u16-prefix-context.c: New file.
29827         * modules/unicase/u16-prefix-context: New file.
29828
29829         New module 'unicase/u8-prefix-context'.
29830         * lib/unicase/u8-prefix-context.c: New file.
29831         * lib/unicase/u-prefix-context.h: New file.
29832         * lib/unicase/context.h: New file.
29833         * modules/unicase/u8-prefix-context: New file.
29834
29835         New module 'unicase/empty-prefix-context'.
29836         * lib/unicase/empty-prefix-context.c: New file.
29837         * modules/unicase/empty-prefix-context: New file.
29838
29839         New module 'unicase/ignorable'.
29840         * lib/unicase/ignorable.c: New file.
29841         * modules/unicase/ignorable: New file.
29842
29843         New module 'unicase/cased'.
29844         * lib/unicase/caseprop.h: New file.
29845         * lib/unicase/cased.c: New file.
29846         * modules/unicase/cased: New file.
29847
29848         New functions for case mapping of substrings.
29849         * lib/unicase.h (casing_prefix_context_t): New type.
29850         (unicase_empty_prefix_context): New variable.
29851         (u8_casing_prefix_context, u16_casing_prefix_context,
29852         u32_casing_prefix_context, u8_casing_prefixes_context,
29853         u16_casing_prefixes_context, u32_casing_prefixes_context): New
29854         declarations.
29855         (casing_suffix_context_t): New type.
29856         (unicase_empty_suffix_context): New variable.
29857         (u8_casing_suffix_context, u16_casing_suffix_context,
29858         u32_casing_suffix_context, u8_casing_suffixes_context,
29859         u16_casing_suffixes_context, u32_casing_suffixes_context,
29860         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
29861         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
29862         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
29863         declarations.
29864
29865 2009-06-28  Jim Meyering  <meyering@redhat.com>
29866
29867         boostrap: indent only with spaces
29868         * build-aux/bootstrap: Indent only with spaces, never TABs.
29869
29870         bootstrap: split long lines
29871         * build-aux/bootstrap: Keep line length < 80.
29872
29873         bootstrap: sync from coreutils
29874         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
29875         just as autoreconf does.  Verify a list of prerequisite
29876         package-name,version-number pairs if defined in bootstrap.conf.
29877         Refer to README-prereq, if prerequisites are not satisfied.
29878
29879 2009-06-27  Eric Blake  <ebb9@byu.net>
29880
29881         tests: add test for bogus NULL definition
29882         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
29883         * tests/test-stdlib.c: Likewise.
29884         * tests/test-string.c: Likewise.
29885         * tests/test-locale.c: Likewise.
29886         * tests/test-unistd.c: Likewise.
29887         * modules/stdio-tests (Depends-on): Add verify.
29888         * modules/stdlib-tests (Depends-on): Likewise.
29889         * modules/string-tests (Depends-on): Likewise.
29890         * modules/locale-tests (Depends-on): Likewise.
29891         * modules/unistd-tests (Depends-on): Likewise.
29892
29893 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
29894
29895         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
29896         self-explaining comment.
29897         * m4/selinux-selinux-h: Update serial.
29898         (gl_LIBSELINUX): New macro, adding a warning for missing development
29899         packages to code extracted from...
29900         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
29901         Add warning for missing development packages here, too.
29902
29903 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
29904
29905         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
29906
29907 2009-06-25  Eric Blake  <ebb9@byu.net>
29908
29909         version-etc: fix regression
29910         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
29911         gcc.
29912         (version_etc): Use it, to catch bugs with trailing NULL.
29913         * lib/version-etc.c (version_etc_arn): Delete unused argument.
29914         (version_etc_va): Fix logic bug.
29915         * modules/version-etc-tests: Add test.
29916         * tests/test-version-etc.c: New file.
29917         * tests/test-version-etc.sh: Likewise.
29918
29919 2009-06-25  Sam Steingold  <sds@gnu.org>
29920
29921         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
29922         mbtowc declaration.
29923
29924 2009-06-25  Eric Blake  <ebb9@byu.net>
29925
29926         fpurge: migrate into <stdio.h>
29927         * lib/fpurge.h: Delete...
29928         * lib/stdio.in.h (fpurge): ...and declare here, instead.
29929         * lib/fpurge.c (fpurge): Change declaring header.
29930         * modules/fpurge (Files): Drop deleted file.
29931         (Depends-on): Add stdio.
29932         (configure.ac): Set witness.
29933         * modules/stdio (Makefile.am): Support fpurge macros.
29934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
29935         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
29936         * lib/fflush.c: Update client.
29937         * tests/test-fpurge.c: Likewise.
29938         * NEWS: Mention the change.
29939
29940 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
29941
29942         * lib/argp-version-etc.c (program_authors): Add const
29943         qualifier.
29944         * lib/version-etc.c: Fix typos in the comments.
29945         * modules/argp-version-etc: Depends on version-etc.
29946
29947 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
29948
29949         argp-version-etc: new module.
29950
29951         * lib/argp-version-etc.c: New file.
29952         * lib/argp-version-etc.h: New file.
29953         * modules/argp-version-etc: New file.
29954         * modules/argp-version-etc-tests: New file.
29955         * tests/test-argp-version-etc.c: New test.
29956         * tests/test-argp-version-etc-1.sh: New test.
29957
29958 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
29959
29960         Provide additional interfaces and documentation for version-etc
29961         module.
29962
29963         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
29964         interfaces.
29965         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
29966         prototypes.
29967
29968 2009-06-24  Bruno Haible  <bruno@clisp.org>
29969
29970         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
29971         HAVE_LIB${NAME} macro.
29972         Reported by Sam Steingold <sds@gnu.org>.
29973
29974 2009-06-23  Simon Josefsson  <simon@josefsson.org>
29975
29976         * modules/hash-tests (test_hash_LDADD): Link to libintl when
29977         needed.
29978
29979 2009-06-21  Bruno Haible  <bruno@clisp.org>
29980
29981         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
29982         work.
29983         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
29984         together with LIB${NAME}, LTLIB${NAME}.
29985         Reported by Sam Steingold <sds@gnu.org>.
29986
29987 2009-06-20  Jim Meyering  <meyering@redhat.com>
29988
29989         tests: make sc_require_test_exit_idiom more generic
29990         * top/maint.mk (Exit_witness_file): New overridable variable.
29991         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
29992         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
29993
29994 2009-06-19  Jim Meyering  <meyering@redhat.com>
29995
29996         hash: reverse order of src/dst parameters in an internal interface
29997         * lib/hash.c (transfer_entries): Reverse order of parameters to
29998         put DST before SRC.  Adjust callers.
29999
30000         tests: test-hash: avoid wholesale duplication
30001         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
30002         Instead, use a loop and add a single conditional.
30003
30004         tests: test-hash: allow seed selection via a command line argument
30005         * tests/test-hash.c (get_seed): New function.
30006         (main): Use it.
30007
30008 2009-06-19  Eric Blake  <ebb9@byu.net>
30009
30010         hash: avoid memory leak on allocation failure
30011         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
30012         failure.  Factor repeated algorithm...
30013         (transfer_entries): ...into new helper routine.
30014         (hash_delete): React to hash_rehash return value.
30015
30016         hash: reduce memory pressure in hash_rehash no-op case
30017         * lib/hash.c (next_prime): Avoid overflow.
30018         (hash_initialize): Factor bucket size computation...
30019         (compute_bucket_size): ...into new helper function.
30020         (hash_rehash): Use new function and open coding to reduce memory
30021         pressure, and avoid a memory leak in USE_OBSTACK code.
30022         Reported by Jim Meyering.
30023
30024 2009-06-18  Eric Blake  <ebb9@byu.net>
30025
30026         hash: make rotation more obvious
30027         * modules/hash (Depends-on): Add bitrotate and stdint.
30028         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
30029         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
30030         (SIZE_MAX): Rely on headers for definition.
30031         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
30032         (raw_hasher): Use rotr_sz.
30033         Suggested by Jim Meyering.
30034
30035         hash: fix memory leak in last patch
30036         * lib/hash.c (hash_rehash): Avoid memory leak.
30037
30038         hash: avoid no-op rehashing
30039         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
30040
30041         hash: provide default callback functions
30042         * lib/hash.c (raw_hasher, raw_comparator): New functions.
30043         (hash_initialize): Use them as defaults.
30044         * tests/test-hash.c (main): Test this.
30045
30046         hash: minor optimization
30047         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
30048         when possible.
30049         (hash_initialize): Document this promise.
30050         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
30051         * tests/test-hash.c (hash_compare_strings): Test this.
30052
30053 2009-06-18  Bruno Haible  <bruno@clisp.org>
30054
30055         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
30056         going to be replaced anyway.
30057
30058 2009-06-18  Bruno Haible  <bruno@clisp.org>
30059
30060         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
30061         in one place.
30062         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
30063         be replaced anyway.
30064
30065 2009-06-18  Eric Blake  <ebb9@byu.net>
30066
30067         hash: check for resize before insertion
30068         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
30069         threshold before insertion, so that a pathological hash_rehash
30070         that fills every bucket can still trigger another rehash.
30071
30072 2009-06-18  Jim Meyering  <meyering@redhat.com>
30073
30074         hash-tests: add a loop around the small tests
30075         * tests/test-hash.c (main): Repeat small tests with selected
30076         small initial table sizes.
30077
30078 2009-06-17  Eric Blake  <ebb9@byu.net>
30079
30080         hash: minor cleanups
30081         * lib/hash.h (hash_entry): Make opaque, by moving...
30082         * lib/hash.c (hash_entry): ...here.
30083         (hash_insert): Clarify restrictions on what can be inserted.
30084         (hash_get_next): Clarify when it is safe to remove an element
30085         during traversal.
30086         (check_tuning): Skip verification when tuning is known safe.
30087         (hash_initialize): Clarify restrictions on tuning.
30088
30089 2009-06-17  Jim Meyering  <jim@meyering.net>
30090         and Eric Blake  <ebb9@byu.net>
30091
30092         hash-tests: new module
30093         * modules/hash-tests: New file.
30094         * tests/test-hash.c: New file.
30095
30096 2009-06-17  Eric Blake  <ebb9@byu.net>
30097
30098         strstr-simple: document new module
30099         * MODULES.html.sh: Document new module.
30100
30101         strstr, strcasestr: replace on platforms with broken memchr
30102         * modules/strstr: Split into...
30103         * modules/strstr-simple: ...new module that does not care about
30104         performance, but does care about glibc bug.
30105         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
30106         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
30107         if platform memchr is broken, per Debian bug 521737.
30108         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
30109         memchr.
30110         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
30111         * doc/posix-functions/strstr.texi (strstr): Document the fix.
30112         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
30113         * modules/mountlist (Depends-on): Add strstr-simple.
30114         * modules/gen-uni-tables (Depends-on): Likewise.
30115         * modules/argz (Depends-on): Add strstr.
30116
30117 2009-06-17  Bruno Haible  <bruno@clisp.org>
30118
30119         * modules/posix_spawn-internal (Depends-on): Add errno.
30120
30121 2009-06-17  Bruno Haible  <bruno@clisp.org>
30122
30123         Define missing ESTALE on Interix 3.5.
30124         * lib/errno.in.h (ESTALE): Assign a value if missing.
30125         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
30126         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
30127         missing.
30128         * doc/posix-headers/errno.texi: Mention the Interix bug.
30129         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
30130
30131 2009-06-15  Eric Blake  <ebb9@byu.net>
30132
30133         memchr, memchr2: add valgrind exception
30134         * lib/memchr.valgrind: New file.
30135         * lib/memchr2.valgrind: New file.
30136         * modules/memchr (Files): Distribute valgrind file.
30137         * modules/memchr2 (Files): Likewise.
30138
30139         docs: memchr is no longer obsolete
30140         * MODULES.html.sh: Move memchr from obsolete to string.h section.
30141         * lib/string.in.h (memchr): Simplify logic.
30142
30143 2009-06-14  Jim Meyering  <meyering@redhat.com>
30144
30145         link-follow: fix the "checking..." message to not mention trailing slash
30146         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
30147         never considered trailing slashes.
30148
30149 2009-06-14  Bruno Haible  <bruno@clisp.org>
30150
30151         * m4/memchr.m4: Mention also the bug on IA-64.
30152         * doc/posix-functions/memchr.texi: Likewise.
30153
30154 2009-06-12  Eric Blake  <ebb9@byu.net>
30155
30156         memchr: detect broken x86_64 and alpha implementations
30157         * modules/memchr-tests (Depends-on): Move mmap detection...
30158         * modules/memchr (Depends-on): ...here.
30159         (configure.ac): Set indicator.
30160         * lib/string.in.h (memchr): Declare replacement.
30161         * modules/string (Makefile.am): Trigger replacement.
30162         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
30163         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
30164         bugs.
30165         * doc/posix-functions/memchr.texi (memchr): Document the bug.
30166         * modules/getpagesize (License): Relax license.
30167
30168 2009-06-11  Bruno Haible  <bruno@clisp.org>
30169
30170         * lib/idpriv.h: Add more references.
30171
30172 2009-06-08  Bruno Haible  <bruno@clisp.org>
30173
30174         Tests for module 'idpriv-droptemp'.
30175         * modules/idpriv-droptemp-tests: New file.
30176         * tests/test-idpriv-droptemp.sh: New file.
30177         * tests/test-idpriv-droptemp.su.sh: New file.
30178         * tests/test-idpriv-droptemp.c: New file.
30179
30180         New module 'idpriv-droptemp'.
30181         * lib/idpriv-droptemp.c: New file.
30182         * modules/idpriv-droptemp: New file.
30183
30184 2009-06-08  Bruno Haible  <bruno@clisp.org>
30185
30186         Tests for module 'idpriv-drop'.
30187         * modules/idpriv-drop-tests: New file.
30188         * tests/test-idpriv-drop.sh: New file.
30189         * tests/test-idpriv-drop.su.sh: New file.
30190         * tests/test-idpriv-drop.c: New file.
30191
30192         New module 'idpriv-drop'.
30193         * lib/idpriv.h: New file.
30194         * lib-idpriv-drop.c: New file.
30195         * m4/idpriv.m4: New file.
30196         * modules/idpriv-drop: New file.
30197
30198 2009-06-08  Bruno Haible  <bruno@clisp.org>
30199
30200         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
30201         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30202         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30203         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30204         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30205         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30206         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30207
30208 2009-06-08  Eric Blake  <ebb9@byu.net>
30209
30210         test-strstr: use memory fence, when possible
30211         * tests/test-strstr.c (main): Use memory fence, in order to be
30212         more likely to trigger Debian bug 521737.
30213         * modules/strstr-tests (Files): Pull in additional files.
30214
30215         memchr: no longer obsolete, for wider field testing
30216         * modules/memchr (Status, Notice): Delete, this module is no
30217         longer obsolete.
30218         * modules/vasnprintf (Depends-on): Add memchr.
30219
30220 2009-06-07  Jim Meyering  <meyering@redhat.com>
30221
30222         hash: declare some functions with the warn_unused_result attribute
30223         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
30224
30225 2009-06-07  Bruno Haible  <bruno@clisp.org>
30226
30227         * tests/test-alignof.c: Don't test int64_t if it does not exist.
30228         Reported by Eric Blake.
30229
30230 2009-06-06  Eric Blake  <ebb9@byu.net>
30231
30232         test-alignof: fix typo with long double
30233         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
30234         compiler error.
30235
30236 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
30237
30238         Escape non-texinfo { and }s.
30239         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
30240         markup error.
30241
30242 2009-06-04  Jim Meyering  <meyering@redhat.com>
30243
30244         gitlog-to-changelog: don't infloop on an empty commit log
30245         * build-aux/gitlog-to-changelog: Warn about an empty log message.
30246         Reported by Boris Petersen <transacid@centerim.org>.
30247
30248 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
30249
30250         version-etc: extend for packagers
30251         Add three new configure options, intended for packagers:
30252           --with-packager="packager name"
30253           --with-packager-version="packager-specific version"
30254           --with-packager-bug-reports="packager bug reporting"
30255         An example with coreutils:
30256           $ ./configure \
30257             --with-packager=Gentoo \
30258             --with-packager-bug-report=http://bugs.gentoo.org/ \
30259             --with-packager-version="patchset 1.6"
30260           $ ./src/ls --version | head -n2
30261           ls (GNU coreutils) 7.1-dirty
30262           Packaged by Gentoo (patchset 1.6)
30263         Note that the bug reporting info via --help doesn't show up because
30264         coreutils uses its own custom emit_bug_reporting_address() implementation
30265         in src/system.h.  If it didn't, it'd look like:
30266           $ ./src/ls --help | tail -n4
30267           Report bugs to <bug-coreutils@gnu.org>.
30268           Report Gentoo bugs to <http://bugs.gentoo.org/>.
30269           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
30270           General help using GNU software: <http://www.gnu.org/gethelp/>.
30271         * lib/version-etc.c: Print new information, if provided.
30272         * m4/version-etc.m4: New file.
30273         * modules/version-etc (Files): Add m4/version-etc.m4.
30274         (configure.ac): Add gl_VERSION_ETC.
30275
30276 2009-05-31  Bruno Haible  <bruno@clisp.org>
30277
30278         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
30279         and 'int64_t'.
30280         * modules/alignof-tests (Dependencies): Add stdint.
30281         Reported by Eric Blake.
30282
30283 2009-05-31  Bruno Haible  <bruno@clisp.org>
30284
30285         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
30286         restriction due to compiler bugs.
30287         Reported by Eric Blake.
30288
30289 2009-05-31  Simon Josefsson  <simon@josefsson.org>
30290             Bruno Haible  <bruno@clisp.org>
30291
30292         Fix test-alignof failure.
30293         * lib/alignof.h (alignof_slot): New macro.
30294         (alignof_type): New macro, with the same semantics as the previous
30295         'alignof'.
30296         (alignof): Alias to alignof_slot.
30297         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
30298         check that the results are usable as constant expressions.
30299
30300 2009-05-31  Bruno Haible  <bruno@clisp.org>
30301
30302         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
30303         * tests/test-memchr.c (main): Check that memchr does not read past the
30304         first occurrence of the byte.
30305         * tests/test-strstr.c (main): Update comment.
30306         Suggested by Eric Blake.
30307
30308 2009-05-30  Bruno Haible  <bruno@clisp.org>
30309
30310         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
30311         detail how to use dumpbin.
30312         Reported by David Byron <dbyron@dbyron.com>.
30313
30314 2009-06-02  Simon Josefsson  <simon@josefsson.org>
30315
30316         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
30317
30318 2009-06-02  Simon Josefsson  <simon@josefsson.org>
30319
30320         * m4/manywarnings.m4: Add GCC 4.4 warnings.
30321
30322 2009-05-28  Bruno Haible  <bruno@clisp.org>
30323
30324         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
30325         build-aux/ files.
30326
30327 2009-05-28  Simon Josefsson  <simon@josefsson.org>
30328
30329         * gnulib-tool (func_import): Transform license on build-aux/ files too.
30330
30331 2009-05-27  Simon Josefsson  <simon@josefsson.org>
30332
30333         * gnulib-tool (sed_transform_main_lib_file)
30334         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
30335         regexps.
30336
30337 2009-05-26  Simon Josefsson  <simon@josefsson.org>
30338
30339         * tests/test-strstr.c: Add another self-test.
30340         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
30341         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
30342
30343 2009-05-23  Bruno Haible  <bruno@clisp.org>
30344
30345         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
30346         change.
30347
30348 2009-05-21  Bruno Haible  <bruno@clisp.org>
30349
30350         Simplify use of mode_t varargs.
30351         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
30352         uses 'mode_t' or 'int'.
30353         * lib/openat.c (openat): Likewise.
30354         * lib/open-safer.c (open_safer): Likewise.
30355         * m4/mode_t.m4: New file.
30356         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
30357         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
30358         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
30359         * modules/open (Files): Add m4/mode_t.m4.
30360         * modules/openat (Files): Likewise.
30361         * modules/fcntl-safer (Files): Likewise.
30362         Suggested by Eric Blake.
30363
30364 2009-05-21  Pádraig Brady  <P@draigbrady.com>
30365
30366         * doc/glibc-functions/fallocate.texi: New file.
30367         * doc/gnulib.texi: Include it.
30368
30369 2009-05-21  Eric Blake  <ebb9@byu.net>
30370             Bruno Haible  <bruno@clisp.org>
30371
30372         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
30373         invocations.
30374         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30375
30376 2009-05-21  Eric Blake  <ebb9@byu.net>
30377             Bruno Haible  <bruno@clisp.org>
30378
30379         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
30380         include_next. Fix of 2008-11-20 commit.
30381         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
30382         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
30383         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
30384         NEXT_MATH_H.
30385         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
30386         instead of NEXT_MATH_H.
30387
30388 2009-05-21  Bruno Haible  <bruno@clisp.org>
30389
30390         Avoid redefinition warnings for SIZE_MAX.
30391         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
30392         Reported by Simon Josefsson.
30393
30394 2009-05-21  Bruno Haible  <bruno@clisp.org>
30395
30396         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
30397         AC_CACHE_VAL.
30398
30399 2009-05-20  Bruno Haible  <bruno@clisp.org>
30400
30401         Make zeroptr.h work on mingw.
30402         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
30403         mprotect.
30404         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
30405         * modules/memchr2-tests (configure.ac): Likewise.
30406         * modules/memcmp-tests (configure.ac): Likewise.
30407         * modules/memmem-tests (configure.ac): Likewise.
30408         * modules/memrchr-tests (configure.ac): Likewise.
30409         Reported by Simon Josefsson.
30410
30411 2009-05-20  Simon Josefsson  <simon@josefsson.org>
30412
30413         * tests/test-glob.c: Include string.h for strcmp prototype.
30414
30415 2009-05-20  Simon Josefsson  <simon@josefsson.org>
30416
30417         * modules/getdelim (Depends-on): Add explicit stdint, although it
30418         was implicitly already pulled in via realloc-posix.
30419         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
30420
30421 2009-05-20  Simon Josefsson  <simon@josefsson.org>
30422
30423         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
30424         G. Christensen" <tgc@jupiterrise.com>.
30425         * m4/sys_socket_h.m4: Check for sa_family_t.
30426         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
30427         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
30428         * tests/test-sys_socket.c: Check that sa_family_t works.
30429
30430 2009-05-18  Eric Blake  <ebb9@byu.net>
30431
30432         maint.mk: allow gnulib_dir in VPATH build
30433         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
30434
30435 2009-05-15  Jim Meyering  <meyering@redhat.com>
30436
30437         maint.mk: Give gnulib_dir a default definition.
30438         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
30439         Thus, most packages no longer need to specify this variable in cfg.mk
30440
30441 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
30442
30443         rename.m4: fix typos that would make non-mingw cross-configure fail
30444         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
30445
30446 2009-05-13  Eric Blake  <ebb9@byu.net>
30447
30448         mmap-anon: avoid out-of-order autoconf expansion
30449         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
30450         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
30451         * modules/memchr-tests (Depends-on): Add extensions.
30452         * modules/memchr2-tests (Depends-on): Add extensions.
30453         * modules/memcmp-tests (Depends-on): Add extensions.
30454         * modules/memmem-tests (Depends-on): Add extensions.
30455         * modules/memrchr-tests (Depends-on): Add extensions.
30456
30457 2009-05-13  Bruno Haible  <bruno@clisp.org>
30458
30459         Make some tests ISO C 99 compliant.
30460         * tests/zerosize-ptr.h: New file.
30461         * tests/test-memchr.c: Include zerosize-ptr.h.
30462         (main): Use a zero-size object pointer instead of NULL.
30463         * tests/test-memchr2.c: Include zerosize-ptr.h.
30464         (main): Use a zero-size object pointer instead of NULL.
30465         * tests/test-memcmp.c: Include zerosize-ptr.h.
30466         (main): Use a zero-size object pointer instead of NULL.
30467         * tests/test-memmem.c: Include zerosize-ptr.h.
30468         (main): Use a zero-size object pointer instead of NULL.
30469         * tests/test-memrchr.c: Include zerosize-ptr.h.
30470         (main): Use a zero-size object pointer instead of NULL.
30471         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
30472         m4/mmap-anon.m4.
30473         (Depends-on): Add getpagesize.
30474         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30475         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
30476         m4/mmap-anon.m4.
30477         (Depends-on): Add getpagesize.
30478         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30479         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
30480         m4/mmap-anon.m4.
30481         (Depends-on): Add getpagesize.
30482         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30483         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
30484         m4/mmap-anon.m4.
30485         (Depends-on): Add getpagesize.
30486         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30487         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
30488         m4/mmap-anon.m4.
30489         (Depends-on): Add getpagesize.
30490         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30491
30492 2009-05-12  Bruno Haible  <bruno@clisp.org>
30493
30494         Tests for module 'alignof'.
30495         * modules/alignof-tests: New file.
30496         * tests/test-alignof.c: New file.
30497
30498 2009-05-12  Bruno Haible  <bruno@clisp.org>
30499
30500         Fix alignof macro.
30501         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
30502         vendor compilers that are always correct.
30503
30504 2009-05-12  Bruno Haible  <bruno@clisp.org>
30505
30506         Make the MAP_ANONYMOUS detection work on HP-UX 11.
30507         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
30508         not whether its fully works.
30509
30510 2009-05-12  Bruno Haible  <bruno@clisp.org>
30511
30512         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
30513
30514 2009-05-12  Jim Meyering  <meyering@redhat.com>
30515
30516         * top/maint.mk: Adjust backslash alignment.
30517
30518 2009-05-11  Simon Josefsson  <simon@josefsson.org>
30519
30520         * top/maint.mk: Make $(srcdir)/build-aux configurable.
30521
30522 2009-05-11  Eric Blake  <ebb9@byu.net>
30523
30524         argp: avoid undefined behavior
30525         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
30526         macros.
30527
30528 2009-05-08  Simon Josefsson  <simon@josefsson.org>
30529
30530         * tests/test-vc-list-files-git.sh: Do git config of user.email and
30531         user.name to prevent git commit from complaining.
30532
30533 2009-05-10  Bruno Haible  <bruno@clisp.org>
30534
30535         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
30536         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
30537         it rewrites every file name only once.
30538         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
30539
30540 2009-05-08  Bruno Haible  <bruno@clisp.org>
30541
30542         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
30543         instead of 'max'.
30544
30545 2009-05-08  Simon Josefsson  <simon@josefsson.org>
30546
30547         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
30548         sockaddr_storage test.
30549
30550 2009-05-07  Simon Josefsson  <simon@josefsson.org>
30551
30552         * modules/sys_socket (Makefile.am): Substitute
30553         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
30554         * m4/sys_socket_h.m4: Check for sockaddr_storage.
30555         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
30556         * tests/test-sys_socket.c: Check sockaddr_storage.
30557
30558 2009-05-08  Bruno Haible  <bruno@clisp.org>
30559
30560         New module 'alignof'.
30561         * lib/alignof.h: New file.
30562         * modules/alignof: New file.
30563
30564 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
30565             Bruno Haible  <bruno@clisp.org>
30566
30567         Fix test-file-has-acl on FreeBSD.
30568         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
30569         mask is implicitly added.
30570         * tests/test-file-has-acl.c: Include <signal.h>.
30571         (main): Terminate the test after 5 seconds.
30572         * modules/acl-tests (configure.ac): Check for alarm function.
30573
30574 2009-05-04  Bruno Haible  <bruno@clisp.org>
30575
30576         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
30577         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
30578         * modules/errno (configure.ac): Drop AC_REQUIRE.
30579         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
30580         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
30581
30582 2009-05-04  Simon Josefsson  <simon@josefsson.org>
30583
30584         * modules/glob-tests: New module.
30585         * tests/test-glob.c: Add.
30586
30587 2009-05-04  Simon Josefsson  <simon@josefsson.org>
30588
30589         * modules/fnmatch-tests: New module.
30590         * tests/test-fnmatch.c: Add.
30591
30592 2009-05-04  Eric Blake  <ebb9@byu.net>
30593
30594         maint: make the new no-submodule-changes rule VPATH-safe
30595         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
30596
30597 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
30598             Bruno Haible  <bruno@clisp.org>
30599
30600         acl: Fix infinite loop on FreeBSD.
30601         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
30602         of return value from acl_get_entry.
30603         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
30604         Likewise.
30605
30606 2009-05-03  Bruno Haible  <bruno@clisp.org>
30607
30608         * lib/acl-internal.h (acl_entries): Clarify return value.
30609         * lib/acl_entries.c (acl_entries): Likewise.
30610
30611 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
30612
30613         Bug fix in acl module.
30614         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
30615
30616 2009-05-03  Bruno Haible  <bruno@clisp.org>
30617
30618         Create gperf-generated file in the source dir, not in the build dir.
30619         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
30620         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
30621         * modules/unicase/locale-language (unicase/locale-languages.h):
30622         Likewise.
30623         * modules/unicase/special-casing (unicase/special-casing-table.h):
30624         Likewise.
30625         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
30626         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
30627         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
30628         Reported by Ralf Wildenhues.
30629
30630 2009-05-03  Bruno Haible  <bruno@clisp.org>
30631
30632         * modules/fnmatch (Description, configure.ac): Taken from
30633         fnmatch-posix.
30634         * modules/fnmatch-posix: Turn into a symbolic reference to the
30635         'fnmatch' module, and deprecate.
30636         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
30637
30638 2009-05-03  Bruno Haible  <bruno@clisp.org>
30639
30640         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
30641         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
30642         Reported by Ralf Wildenhues.
30643
30644 2009-05-04  Simon Josefsson  <simon@josefsson.org>
30645
30646         * m4/fnmatch.m4: Fix fnmatch re-define.
30647
30648 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
30649
30650         priv-set: new module and tests; adapt write-any-file
30651         * lib/priv-set.c: New file.
30652         * lib/priv-set.h: New file.
30653         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
30654         * lib/write-any-file.c: Simplify by using priv-set module.
30655         * m4/priv-set.m4: New file.
30656         * modules/priv-set: New file.
30657         * modules/unlinkdir: Add dependency on priv-set module.
30658         * modules/write-any-file: Likewise.
30659
30660         Tests for module 'priv-set'.
30661         * modules/priv-set-tests: New file.
30662         * tests/test-priv-set.c: New file.
30663
30664 2009-05-03  Jim Meyering  <meyering@redhat.com>
30665             Bruno Haible  <bruno@clisp.org>
30666
30667         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
30668         use the converted UTF-8 variant of the name instead.
30669
30670 2009-05-03  Jim Meyering  <meyering@redhat.com>
30671
30672         tests: tighten some getdate tests
30673         * tests/test-getdate.c (main): Tighten tests: require equality,
30674         not just greater than.  Set TZ envvar to UTC0.
30675
30676 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
30677
30678         getdate: correctly interpret "next monday" when run on a Monday
30679         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
30680         that e.g., "next tues" (when run on a tuesday) results in a date
30681         that is one week in the future, and not today's date.
30682         I.e., add a week when the wday is the same as the current one.
30683         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
30684         and earlier by Martin Bernreuther and Jan Minář.
30685         * tests/test-getdate.c (main): Check that "next DAY" is always in
30686         the future and that "last DAY" is always in the past.
30687
30688 2009-05-02  Jim Meyering  <meyering@redhat.com>
30689
30690         build: ensure that a release build fails when a submodule is unclean
30691         * top/maint.mk (no-submodule-changes): New rule.
30692         (alpha beta major): Depend on it.
30693
30694 2009-05-02  Bruno Haible  <bruno@clisp.org>
30695
30696         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
30697         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
30698         shell variable gl_fnmatch_required to detect which variant is
30699         requested.
30700         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
30701         gl_FUNC_FNMATCH_POSIX.
30702         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
30703         exclude fnmatch-posix.
30704
30705 2009-05-02  Bruno Haible  <bruno@clisp.org>
30706
30707         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
30708         * modules/mbsrtowcs (License): Change to LGPLv2+.
30709         * modules/strnlen1 (License): Likewise.
30710         Reported by Simon Josefsson.
30711
30712 2009-05-02  Bruno Haible  <bruno@clisp.org>
30713
30714         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
30715         "cross".
30716         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
30717         gnulib-tool was called with option --source-base=lib.
30718
30719 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30720
30721         Use automake *-local hooks without commands, for extensibility.
30722         * modules/localcharset (Makefile.am): Rename install-exec-local
30723         rule to install-exec-localcharset, and make it a prerequisite of
30724         install-exec-local.  Likewise, rename the uninstall-local rule to
30725         uninstall-localcharset, and make it a prerequisite of the former.
30726
30727 2009-05-01  Bruno Haible  <bruno@clisp.org>
30728
30729         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
30730         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
30731         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
30732         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
30733         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
30734         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
30735         m4/locale-zh.m4, m4/codeset.m4.
30736
30737         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
30738         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
30739         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
30740         m4/locale-zh.m4.
30741
30742         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
30743         REPLACE_WCRTOMB if mbstate_t must be replaced.
30744         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
30745         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
30746
30747 2009-05-01  Bruno Haible  <bruno@clisp.org>
30748
30749         Avoid compiler warnings when redefining macros defined by <libintl.h>.
30750         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
30751         dngettext, dcngettext, textdomain, bindtextdomain,
30752         bind_textdomain_codeset): Undefine before redefining.
30753
30754 2009-04-30  Bruno Haible  <bruno@clisp.org>
30755
30756         Fix bug introduced on 2009-04-25.
30757         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
30758         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
30759         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
30760         is defined.
30761         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
30762         is defined.
30763         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
30764         is defined.
30765         Reported by Elbert_Pol <elbert.pol@gmail.com>.
30766
30767 2009-04-28  Bruno Haible  <bruno@clisp.org>
30768
30769         Comment tweaks.
30770         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
30771         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
30772         * lib/unicase.h (u*_casexfrm): Likewise.
30773         Reported by Paolo Bonzini.
30774
30775 2009-04-28  Bruno Haible  <bruno@clisp.org>
30776
30777         Fix a compilation error.
30778         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
30779         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
30780         Reported by Jim Meyering.
30781
30782 2009-04-27  Bruno Haible  <bruno@clisp.org>
30783
30784         New module 'libunistring'.
30785         * modules/libunistring: New file.
30786         * m4/libunistring.m4: New file.
30787         * MODULES.html.sh (Unicode string functions): Add it.
30788
30789 2009-04-27  Eric Blake  <ebb9@byu.net>
30790
30791         maint.mk: allow package-specific header to provide <config.h>
30792         * top/maint.mk (sc_require_config_h): New variable.
30793         (sc_require_config_h, sc_require_config_h_first): Use it.
30794
30795 2009-04-27  Simon Josefsson  <simon@josefsson.org>
30796
30797         * top/maint.mk (sc_avoid_if_before_free): Except
30798         useless-if-before-free script.
30799
30800 2009-04-27  Eric Blake  <ebb9@byu.net>
30801
30802         maintainer-makefile: depend on all required helper scripts
30803         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
30804         useless-if-before-free.
30805         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
30806         version, rather than assuming gnulib checkout is available.
30807         Reported by Simen Josefsson.
30808
30809 2009-04-26  Bruno Haible  <bruno@clisp.org>
30810
30811         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
30812         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
30813         "../" or "..".
30814
30815 2009-04-26  Bruno Haible  <bruno@clisp.org>
30816
30817         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
30818         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
30819         AC_LIB_HAVE_LINKFLAGS.
30820
30821 2009-04-26  Bruno Haible  <bruno@clisp.org>
30822
30823         Simplify calling convention of u*_conv_from_encoding.
30824         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
30825         u32_conv_from_encoding): Expect a resultbuf argument and return the
30826         result directly as a pointer.
30827         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
30828         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
30829         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
30830         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
30831         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
30832         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
30833         Update.
30834         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
30835         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
30836         * lib/vasnprintf.c (VASNPRINTF): Update.
30837         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
30838         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
30839         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
30840         * NEWS: Mention the change.
30841
30842 2009-04-26  Bruno Haible  <bruno@clisp.org>
30843
30844         Simplify calling convention of u*_conv_to_encoding.
30845         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
30846         u32_conv_to_encoding): Expect a resultbuf argument and return the
30847         result directly as a pointer.
30848         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
30849         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
30850         freeing scaled_offsets if mem_iconveha failed.
30851         * lib/unicase/u-casexfrm.h (FUNC): Update.
30852         * lib/uninorm/u-normxfrm.h (FUNC): Update.
30853         * lib/vasnprintf.c (VASNPRINTF): Update.
30854         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
30855         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
30856         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
30857         * NEWS: Mention the change.
30858
30859 2009-04-26  Bruno Haible  <bruno@clisp.org>
30860
30861         Avoid test failures on AIX and OSF/1.
30862         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
30863         malloc(0).
30864         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
30865         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
30866         Likewise.
30867         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
30868         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
30869         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
30870         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
30871         * doc/posix-functions/malloc.texi: Document the portability problem
30872         related to malloc(0).
30873
30874 2009-04-26  Bruno Haible  <bruno@clisp.org>
30875
30876         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
30877         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
30878         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
30879
30880 2009-04-25  Bruno Haible  <bruno@clisp.org>
30881
30882         Avoid link error when creating a namespace clean library.
30883         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
30884         as macro with arguments if already defined as an alias.
30885         * lib/signbitf.c (gl_signbitf): Don't undefine.
30886         * lib/signbitd.c (gl_signbitd): Don't undefine.
30887         * lib/signbitl.c (gl_signbitl): Don't undefine.
30888
30889 2009-04-25  Jim Meyering  <meyering@redhat.com>
30890
30891         vc-list-files: fix another quoting bug
30892         * build-aux/vc-list-files: Avoid sed backslash expansion
30893         of pathological directory names.
30894
30895 2009-04-25  Eric Blake  <ebb9@byu.net>
30896
30897         vc-list-files: fix shell quoting error
30898         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
30899         timestamp.
30900
30901 2009-04-25  Jim Meyering  <meyering@redhat.com>
30902
30903         vc-list-files: restore lost functionality with subdir argument
30904         * build-aux/vc-list-files: When given a non-"." sub-directory
30905         argument, substitute the $dir/ prefix back onto each resulting name.
30906         Otherwise, coreutils' root_tests check would fail.
30907
30908 2009-04-24  Eric Blake  <ebb9@byu.net>
30909
30910         vc-list-files: ignore git symlinks
30911         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
30912         than ls-files, to ignore git symlinks.
30913
30914         maint.mk: import improvements from m4
30915         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
30916         (move_if_change): Delete unused macro.
30917         (news-date-check, vc-diff-check): Support VPATH builds.
30918         (announcement): Likewise.  Split --bootstrap-tools list...
30919         (boostrap-tools): ...into separate list, which can be overridden
30920         in cfg.mk.
30921         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
30922         requiring dependency on useless-if-before-free module.
30923         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
30924         Support VPATH builds.
30925
30926 2009-04-24  Jim Meyering  <meyering@redhat.com>
30927
30928         maint.mk: remove coreutils-specific rules and variables
30929         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
30930         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
30931         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
30932
30933         maint.mk: remove obsolete rule
30934         * top/maint.mk (rel-check): Remove rule.
30935         (WGET, WGETFLAGS): Remove now-unused variables.
30936
30937 2009-04-24  Simon Josefsson  <simon@josefsson.org>
30938
30939         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
30940         consistency.
30941
30942         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
30943         '$(PATH_SEPARATOR)' instead of ':'.
30944
30945 2009-04-24  Simon Josefsson  <simon@josefsson.org>
30946
30947         * lib/getopt1.c (main): Use 'const' for static array.
30948
30949 2009-04-24  Simon Josefsson  <simon@josefsson.org>
30950
30951         * top/maint.mk: Sync with coreutils.
30952         * NEWS: Explain incompatibilities.
30953
30954 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30955             Bruno Haible  <bruno@clisp.org>
30956
30957         Fix cross-compilation results.
30958         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
30959         statement, as third argument of AC_TRY_RUN.
30960         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30961         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30962         Likewise.
30963         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30964         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
30965         Likewise.
30966         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30967         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
30968         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
30969
30970 2009-04-20  Bruno Haible  <bruno@clisp.org>
30971
30972         Avoid test failure on mingw.
30973         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
30974
30975 2009-04-20  Bruno Haible  <bruno@clisp.org>
30976
30977         Avoid compilation error on mingw.
30978         * modules/localename-tests (Depends-on): Add locale.
30979
30980 2009-04-19  Bruno Haible  <bruno@clisp.org>
30981
30982         Support for building a shared library on Windows platforms.
30983         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
30984         (main): Test the presence of UNINORM_NFC here.
30985         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
30986         (main): Test the presence of UNINORM_NFD here.
30987         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
30988         (main): Test the presence of UNINORM_NFKC here.
30989         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
30990         (main): Test the presence of UNINORM_NFKD here.
30991
30992 2009-04-19  Bruno Haible  <bruno@clisp.org>
30993
30994         Avoid a compiler warning.
30995         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
30996         Change type of variable 'sequence'.
30997
30998 2009-04-19  Bruno Haible  <bruno@clisp.org>
30999
31000         * modules/configmake (Makefile.am): When the contents of configmake.h
31001         does not change, arrange to preserve its modification time.
31002
31003 2009-04-17  Simon Josefsson  <simon@josefsson.org>
31004
31005         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
31006         gettext domain.
31007
31008 2009-04-16  Jim Meyering  <meyering@redhat.com>
31009
31010         useless-if-before-free: improve conversion code
31011         * build-aux/useless-if-before-free: Adjust code-in-comment to match
31012         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
31013
31014 2009-04-14  Bruno Haible  <bruno@clisp.org>
31015
31016         * modules/fcntl (Depends-on): Add extensions.
31017         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
31018
31019 2009-04-12  Ben Pfaff  <blp@gnu.org>
31020
31021         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
31022         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
31023
31024 2009-03-20  Ben Pfaff  <blp@gnu.org>
31025
31026         Make rename replace existing destinations on Windows.
31027         * m4/rename.m4: Add test for Mingw.
31028         * lib/rename.c: Add rename replacement that uses MoveFileEx with
31029         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
31030         * doc/posix-functions/rename.texi: Document.
31031
31032 2009-04-10  Bruno Haible  <bruno@clisp.org>
31033
31034         New include file "iconveh.h".
31035         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
31036         * lib/striconveh.h: Include it.
31037         (enum iconv_ilseq_handler): Remove definition.
31038         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
31039         striconveh.h.
31040         * lib/striconveha.c: Include striconveh.h.
31041         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
31042         * modules/striconveh (Files): Add lib/iconveh.h.
31043         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
31044         lib/striconveh.h.
31045
31046 2009-04-10  Bruno Haible  <bruno@clisp.org>
31047
31048         * lib/uniconv.h: Update comment.
31049
31050 2009-04-10  Bruno Haible  <bruno@clisp.org>
31051
31052         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
31053         always.
31054         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
31055         * lib/unistr/u16-mbtouc-aux.c: Likewise.
31056         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
31057         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
31058         "unistring-notinline.h", so that the function gets defined always.
31059         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
31060         * lib/unistr/u8-uctomb.c: Likewise.
31061         * lib/unistr/u16-mbtouc.c: Likewise.
31062         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
31063         * lib/unistr/u16-uctomb.c: Likewise.
31064         * lib/unistr/u32-mbtouc.c: Likewise.
31065         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
31066         * lib/unistr/u32-uctomb.c: Likewise.
31067
31068 2009-04-10  Bruno Haible  <bruno@clisp.org>
31069
31070         Mark 'utime' obsolete.
31071         * modules/utime (Status, Notice): New sections.
31072         Suggested by Jim Meyering.
31073
31074         Fix cross-compile guess for utime test.
31075         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
31076         autoconf.
31077         * doc/posix-functions/utime.texi: Give more precisions.
31078         Reported by Jan <ipif@ymail.com>.
31079
31080 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
31081
31082         filevercmp: correct today's change
31083         * lib/filevercmp.c: Also handle coreutils' test inputs.
31084         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
31085
31086         Fix regression in 'filevercmp' module. Thanks Sven Joachim
31087         for reporting it.
31088         * lib/filevercmp.c: Special handle for "", "." and "..".
31089         * tests/test-filevercmp.c: Enlarge the set suite.
31090
31091 2009-04-07  Jim Meyering  <meyering@redhat.com>
31092
31093         useless-if-before-free: show how to remove braced useless free, too
31094         * build-aux/useless-if-before-free: still only in a comment, though.
31095
31096 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
31097
31098         maint.mk: import changes to syntax-check macros from coreutils
31099         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
31100         Use them in the relevant macros.
31101
31102 2009-04-06  Bruno Haible  <bruno@clisp.org>
31103
31104         Fix unportable use of bit-fields.
31105         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
31106         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
31107         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
31108
31109 2009-04-06  Bruno Haible  <bruno@clisp.org>
31110
31111         Avoid test failures on AIX and OSF/1.
31112         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
31113         that malloc(0) = NULL.
31114         * tests/unicase/test-u8-tolower.c (check): Likewise.
31115         * tests/unicase/test-u8-totitle.c (check): Likewise.
31116         * tests/unicase/test-u8-toupper.c (check): Likewise.
31117         * tests/unicase/test-u16-casefold.c (check): Likewise.
31118         * tests/unicase/test-u16-tolower.c (check): Likewise.
31119         * tests/unicase/test-u16-totitle.c (check): Likewise.
31120         * tests/unicase/test-u16-toupper.c (check): Likewise.
31121         * tests/unicase/test-u32-casefold.c (check): Likewise.
31122         * tests/unicase/test-u32-tolower.c (check): Likewise.
31123         * tests/unicase/test-u32-totitle.c (check): Likewise.
31124         * tests/unicase/test-u32-toupper.c (check): Likewise.
31125         * tests/uninorm/test-u8-nfc.c (check): Likewise.
31126         * tests/uninorm/test-u8-nfd.c (check): Likewise.
31127         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
31128         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
31129         * tests/uninorm/test-u16-nfc.c (check): Likewise.
31130         * tests/uninorm/test-u16-nfd.c (check): Likewise.
31131         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
31132         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
31133         * tests/uninorm/test-u32-nfc.c (check): Likewise.
31134         * tests/uninorm/test-u32-nfd.c (check): Likewise.
31135         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
31136         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
31137
31138 2009-04-05  Bruno Haible  <bruno@clisp.org>
31139
31140         Work around an autoconf limitation.
31141         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
31142         comment line if it would be longer than 3 KB.
31143
31144 2009-04-05  Bruno Haible  <bruno@clisp.org>
31145
31146         Avoid test failure with libiconv-1.13.
31147         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
31148         of the expected test results.
31149
31150 2009-04-05  Bruno Haible  <bruno@clisp.org>
31151
31152         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
31153         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
31154         that it should be installed.
31155
31156 2009-04-05  Bruno Haible  <bruno@clisp.org>
31157
31158         * gnulib-tool: New option --copy-file.
31159         (func_usage): Document it.
31160         (func_dest_tmpfilename): Moved out of func_import.
31161         (func_add_file, func_update_file): New functions, extracted from
31162         func_import.
31163         (func_import): Update.
31164
31165 2009-04-05  Karl Berry  <karl@gnu.org>
31166
31167         * README: prominently mention gnulib-tool.
31168         Rearrange sections so getting the code is near the top.
31169
31170 2009-04-05  Bruno Haible  <bruno@clisp.org>
31171
31172         * lib/unicase.h: Mention u*_cmp2.
31173         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
31174         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
31175         * lib/unicase/ulc-casecmp.c: Likewise.
31176         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
31177         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
31178         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
31179         unistr/u8-cmp.
31180         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
31181         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
31182         unistr/u16-cmp.
31183         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
31184         unistr/u32-cmp.
31185
31186         * lib/uninorm.h: Mention u*_cmp2.
31187         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
31188         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
31189         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
31190         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
31191         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
31192         unistr/u8-cmp.
31193         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
31194         unistr/u16-cmp.
31195         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
31196         unistr/u32-cmp.
31197
31198         New module 'unistr/u32-cmp2'.
31199         * lib/unistr/u32-cmp2.c: New file.
31200         * modules/unistr/u32-cmp2: New file.
31201
31202         New module 'unistr/u16-cmp2'.
31203         * lib/unistr/u16-cmp2.c: New file.
31204         * modules/unistr/u16-cmp2: New file.
31205
31206         New module 'unistr/u8-cmp2'.
31207         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
31208         * lib/unistr/u8-cmp2.c: New file.
31209         * lib/unistr/u-cmp2.h: New file.
31210         * modules/unistr/u8-cmp2: New file.
31211
31212 2009-04-05  Bruno Haible  <bruno@clisp.org>
31213
31214         * lib/unictype.h (uc_property_is_valid): New macro.
31215         * tests/unictype/test-pr_byname.c (main): Use it.
31216
31217         * lib/unistr.h: Doc fixes.
31218         * lib/uniconv.h: Doc fixes.
31219         * lib/unictype.h: Doc fixes.
31220
31221 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
31222
31223         Port coreutils 7.2 to Solaris 8.
31224
31225         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
31226         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
31227         for Solaris 8.  This is a bit of a hack, as it means it's the
31228         caller's responsibility to add -lnsl if needed, but most likely it
31229         won't be needed since only getaddrinfo uses this and getaddrinfo
31230         isn't needed on Solaris 8.
31231
31232         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
31233         problem to Solaris 8 encountered with coreutils 7.2, which
31234         resulted in a message "fnmatch.c:292: warning: passing argument 4
31235         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
31236         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
31237
31238 2009-04-03  Simon Josefsson  <simon@josefsson.org>
31239
31240         * m4/ld-version-script.m4: Add FIXME comment.
31241
31242 2009-04-02  Simon Josefsson  <simon@josefsson.org>
31243
31244         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
31245         SOVERSION variable.
31246
31247 2009-04-02  Bruno Haible  <bruno@clisp.org>
31248
31249         * Makefile (info, html, dvi, pdf): Combine the rules.
31250         Suggested by Jim Meyering.
31251
31252 2009-04-01  Bruno Haible  <bruno@clisp.org>
31253
31254         * Makefile (info, html, dvi, pdf): New targets.
31255         Reported by Reuben Thomas <rrt@sc3d.org>.
31256
31257 2009-04-01  Bruno Haible  <bruno@clisp.org>
31258
31259         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
31260         can be put into PATH.
31261         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
31262
31263 2009-04-01  Bruno Haible  <bruno@clisp.org>
31264
31265         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
31266
31267 2009-04-01  Bruno Haible  <bruno@clisp.org>
31268
31269         Rename module 'visibility'.
31270         * modules/lib-symbol-visibility: Renamed from modules/visibility.
31271         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
31272         * doc/gnulib.texi: Update.
31273         * MODULES.html.sh (Misc): Update.
31274         * NEWS: Mention the change.
31275
31276 2009-04-01  Simon Josefsson  <simon@josefsson.org>
31277
31278         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
31279         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
31280         Eric Blake <ebb9@byu.net> for review.
31281         * MODULES.html.sh: Add lib-msvc-compat.
31282         * doc/gnulib.texi: Link to new section.
31283         * m4/ld-output-def.m4: New file.
31284         * doc/ld-output-def.texi: New file.
31285
31286 2009-04-01  Simon Josefsson  <simon@josefsson.org>
31287
31288         Rename ld-version-script to lib-symbol-versions.  Suggested by
31289         Bruno Haible <bruno@clisp.org>.
31290         * modules/ld-version-script: Renamed to lib-symbol-versions.
31291         * doc/ld-version-script.texi: Fix module name.
31292         * MODULES.html.sh: Add lib-symbol-versions.
31293
31294 2009-03-31  Simon Josefsson  <simon@josefsson.org>
31295
31296         * modules/u64-tests: New file.
31297         * tests/test-u64.c: New file.
31298
31299 2009-03-04  Simon Josefsson  <simon@josefsson.org>
31300
31301         * MODULES.html.sh: Mention u64.
31302         * modules/u64: New module.
31303         * modules/crypto/sha512: Depend on u64 module instead of providing
31304         u64.h.
31305
31306 2009-03-27  Eric Blake  <ebb9@byu.net>
31307
31308         test-strerror: make debugging EAI_SYSTEM easier
31309         * modules/getaddrinfo-tests (Depends-on): Add strerror.
31310         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
31311         failure was EAI_SYSTEM.
31312
31313 2009-03-25  Bruno Haible  <bruno@clisp.org>
31314
31315         Fix a problem with --enable-relocatable on Solaris 7.
31316         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
31317         since 2008-02-24.
31318
31319 2009-03-25  Eric Blake  <ebb9@byu.net>
31320
31321         test-sockets: avoid gcc warning
31322         * tests/test-sockets.c (main): Silence compiler warning.
31323
31324 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
31325
31326         New modules nproc, pthread, contributed by Glen Lenker.
31327
31328         * MODULES.html.sh: Add pthread, nproc.
31329         * lib/nproc.c: New file.
31330         * lib/nproc.h: New file.
31331         * lib/pthread.in.h: New file.
31332         * m4/pthread.m4: New file.
31333         * modules/nproc: New file.
31334         * modules/pthread: New file.
31335
31336 2009-03-24  Simon Josefsson  <simon@josefsson.org>
31337
31338         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
31339         New variable.
31340
31341 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
31342
31343         filevercmp: handle simple~ and numbered.~3~ backup suffixes
31344         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
31345         * tests/test-filevercmp.c: Add tests for backup suffixes.
31346
31347 2009-03-24  Simon Josefsson  <simon@josefsson.org>
31348
31349         * modules/stdlib (Depends-on): Add stdint, needed when defining
31350         struct random_data on, for example, HP-UX 10.20.  Reported by
31351         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31352
31353 2009-03-24  Simon Josefsson  <simon@josefsson.org>
31354
31355         * lib/readline.c (readline): Call fflush on stdout after printing
31356         prompt.
31357
31358 2009-03-20  Bruno Haible  <bruno@clisp.org>
31359
31360         Remove dependency from 'close' module to -lws2_32 on native Windows.
31361         * lib/close-hook.h: New file.
31362         * lib/close-hook.c: New file.
31363         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
31364         w32sock.h.
31365         (_gl_close_fd_maybe_socket): Remove function.
31366         (rpl_close): Invoke execute_all_close_hooks instead of
31367         _gl_close_fd_maybe_socket.
31368         * lib/sockets.c: Include close-hook.h, w32sock.h.
31369         (close_fd_maybe_socket): New function, essentially from lib/close.c.
31370         (close_sockets_hook): New variable.
31371         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
31372         (gl_sockets_cleanup): Unregister it.
31373         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
31374         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
31375         * modules/close-hook: New file.
31376         * modules/close (Files): Remove lib/w32sock.h.
31377         (Depends-on): Add close-hook.
31378         (Link): Remove section.
31379         * modules/sockets (Files): Add lib/w32sock.h.
31380         (Depends-on): Add close-hook.
31381         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
31382         invocation.
31383         * NEWS: Mention that LIB_CLOSE is gone.
31384
31385 2009-03-23  Eric Blake  <ebb9@byu.net>
31386
31387         signal-tests: test previous patch
31388         * tests/test-signal.c: New file.
31389         * modules/signal-tests: Likewise.
31390
31391         signal.h: always support 'volatile sig_atomic_t'
31392         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
31393         (gl_SIGNAL_H_DEFAULTS): Add a default.
31394         * modules/signal (Makefile.am): Substitute if needed.
31395         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
31396         users can blindly add volatile.
31397         * doc/posix-headers/signal.texi (signal.h): Document it.
31398         Reported by Matthew Woehlke.
31399
31400 2009-03-23  Jim Meyering  <meyering@redhat.com>
31401
31402         pathmax: PATH_MAX: use pathconf only when available
31403         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
31404         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
31405         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
31406         This avoids a link failure in a PSP cross-compilation environment
31407         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
31408
31409         * lib/vasnprintf.c (divide): Fix typo in comment.
31410
31411 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31412
31413         * gnulib-tool (func_filter_filelist): Fix comment.
31414
31415 2009-03-20  Bruno Haible  <bruno@clisp.org>
31416
31417         Make sockets.h self-contained.
31418         * lib/sockets.c: Include sockets.h first.
31419         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
31420
31421 2009-03-19  Eric Blake  <ebb9@byu.net>
31422
31423         doc: mention more functions added in cygwin 1.7.0
31424         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
31425         addition.
31426         * doc/posix-functions/log2f.texi: Likewise.
31427
31428 2009-03-19  Jim Meyering  <meyering@redhat.com>
31429
31430         fsusage: avoid syntax error due to statement-before-declaration
31431         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
31432         after all declarations.  Reported by Matthew Woehlke in
31433         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
31434
31435 2009-03-18  Eric Blake  <ebb9@byu.net>
31436
31437         build-aux/compile: sync from automake
31438         * build-aux/compile: New file, from automake.
31439         * config/srclist.txt: Mention build-aux/compile.
31440
31441 2009-03-17  Bruno Haible  <bruno@clisp.org>
31442
31443         * lib/git-merge-changelog.c: Fix typo in comment.
31444         Reported by Reuben Thomas <rrt@sc3d.org>.
31445
31446 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
31447
31448         * m4/regex.m4: update and improve help for
31449         --without-included-regex.
31450
31451 2009-03-17  Simon Josefsson  <simon@josefsson.org>
31452
31453         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
31454         failure on missing include files.
31455
31456 2009-03-17  Eric Blake  <ebb9@byu.net>
31457
31458         doc: mention more functions added in cygwin 1.7.0
31459         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
31460         addition.
31461         * doc/posix-functions/fwscanf.texi: Likewise.
31462         * doc/posix-functions/swprintf.texi: Likewise.
31463         * doc/posix-functions/swscanf.texi: Likewise.
31464         * doc/posix-functions/vfwprintf.texi: Likewise.
31465         * doc/posix-functions/vfwscanf.texi: Likewise.
31466         * doc/posix-functions/vswprintf.texi: Likewise.
31467         * doc/posix-functions/vswscanf.texi: Likewise.
31468         * doc/posix-functions/vwprintf.texi: Likewise.
31469         * doc/posix-functions/vwscanf.texi: Likewise.
31470         * doc/posix-functions/wcscasecmp.texi: Likewise.
31471         * doc/posix-functions/wcsdup.texi: Likewise.
31472         * doc/posix-functions/wcsftime.texi: Likewise.
31473         * doc/posix-functions/wcsncasecmp.texi: Likewise.
31474         * doc/posix-functions/wprintf.texi: Likewise.
31475         * doc/posix-functions/wscanf.texi: Likewise.
31476         * doc/glibc-functions/gethostbyname2.texi: Likewise.
31477
31478 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31479
31480         maint.mk: really add $(AM_MAKEFLAGS)
31481         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
31482         was inadvertently omitted in the last commit.
31483         Spotted by Bruno Haible.
31484
31485         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
31486         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
31487         $(AM_MAKEFLAGS)' rather than plain `make'.
31488
31489         gnulib-tool: execute $MAKE not make
31490         * gnulib-tool: Default $MAKE to 'make'.
31491         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
31492         than make.  Initialize $MAKE in the do-autobuild script.
31493
31494         gnulib-tool: use $MAKE not make in generated files
31495         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
31496         make, in generated files.  Initialize $MAKE in the do-autobuild
31497         script.
31498
31499         * top/GNUmakefile (_have-git-version-gen): Fix typo.
31500
31501         GNUmakefile: disable parallelism only for multiple, recursive targets
31502         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
31503         additions in the Makefile.
31504         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
31505         by Automake.
31506         (.NOTPARALLEL): Only disable parallel builds if multiple targets
31507         are listed on the command line and at least one of them is
31508         listed in $(ALL_RECURSIVE_TARGETS).
31509
31510 2009-03-14  Bruno Haible  <bruno@clisp.org>
31511
31512         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
31513         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
31514         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
31515         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
31516         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
31517         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
31518         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
31519         unistr/u8-uctomb.
31520         * modules/unistr/u8-strchr (Depends-on): Likewise.
31521         * modules/unistr/u8-strrchr (Depends-on): Likewise.
31522         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
31523         unistr/u16-uctomb.
31524         * modules/unistr/u16-strchr (Depends-on): Likewise.
31525         * modules/unistr/u16-strrchr (Depends-on): Likewise.
31526
31527 2009-03-12  Bruno Haible  <bruno@clisp.org>
31528
31529         Work around select() bug on Interix 3.5.
31530         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
31531         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
31532         * m4/select.m4: New file.
31533         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
31534         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
31535         * modules/select (Files): Add m4/select.m4.
31536         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
31537         * modules/nanosleep (Depends-on): Add select.
31538         * modules/poll (Depends-on): Likewise.
31539         * doc/posix-functions/select.texi: Mention the Interix bug.
31540         Reported by Markus Duft <mduft@gentoo.org>.
31541
31542         * lib/select.c: Renamed from lib/winsock-select.c.
31543         * modules/select (Files): Add lib/select.c, remove
31544         lib/winsock-select.c.
31545         (configure.ac): Update.
31546
31547 2009-03-12  Jim Meyering  <meyering@redhat.com>
31548
31549         avoid gcc warnings about unused macro definitions
31550         * lib/readtokens.c (STREQ): Remove unused definition.
31551         * lib/xmalloc.c (SIZE_MAX): Likewise.
31552         * lib/openat-die.c (N_): Likewise.
31553         * lib/mountlist.c (SIZE_MAX): Remove definition.
31554         Instead, include <stdint.h>.
31555         * lib/readutmp.c: Likewise.
31556         * modules/readutmp (Depends-on): Add stdint.
31557         * modules/mountlist (Depends-on): Add stdint.
31558         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
31559
31560 2009-03-10  Bruno Haible  <bruno@clisp.org>
31561
31562         Tests for module 'mbmemcasecoll'.
31563         * modules/mbmemcasecoll-tests: New file.
31564         * tests/test-mbmemcasecoll1.sh: New file.
31565         * tests/test-mbmemcasecoll2.sh: New file.
31566         * tests/test-mbmemcasecoll3.sh: New file.
31567         * tests/test-mbmemcasecoll.c: New file.
31568
31569         New module 'mbmemcasecoll'.
31570         * lib/mbmemcasecoll.h: New file.
31571         * lib/mbmemcasecoll.c: New file.
31572         * modules/mbmemcasecoll: New file.
31573
31574         * tests/test-mbmemcasecmp.h: New file, extracted from
31575         tests/test-mbmemcasecmp.c.
31576         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
31577         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
31578         (main): Update.
31579         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
31580
31581 2009-03-09  Bruno Haible  <bruno@clisp.org>
31582
31583         Tests for module 'mbmemcasecmp'.
31584         * modules/mbmemcasecmp-tests: New file.
31585         * tests/test-mbmemcasecmp1.sh: New file.
31586         * tests/test-mbmemcasecmp2.sh: New file.
31587         * tests/test-mbmemcasecmp3.sh: New file.
31588         * tests/test-mbmemcasecmp.c: New file.
31589
31590         New module 'mbmemcasecmp'.
31591         * lib/mbmemcasecmp.h: New file.
31592         * lib/mbmemcasecmp.c: New file.
31593         * modules/mbmemcasecmp: New file.
31594
31595 2009-03-09  Bruno Haible  <bruno@clisp.org>
31596
31597         Tests for module 'unicase/ulc-casecoll'.
31598         * modules/unicase/ulc-casecoll-tests: New file.
31599         * tests/unicase/test-ulc-casecoll1.sh: New file.
31600         * tests/unicase/test-ulc-casecoll2.sh: New file.
31601         * tests/unicase/test-ulc-casecoll.c: New file.
31602
31603         New module 'unicase/ulc-casecoll'.
31604         * lib/unicase.h (ulc_casecoll): New declaration.
31605         * lib/unicase/ulc-casecoll.c: New file.
31606         * modules/unicase/ulc-casecoll: New file.
31607
31608         New module 'unicase/ulc-casexfrm'.
31609         * lib/unicase.h (ulc_casexfrm): New declaration.
31610         * lib/unicase/ulc-casexfrm.c: New file.
31611         * modules/unicase/ulc-casexfrm: New file.
31612
31613 2009-03-09  Bruno Haible  <bruno@clisp.org>
31614
31615         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
31616         invocations.
31617
31618         * m4/mbscasecmp.m4: Remove file.
31619         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
31620         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
31621
31622         * m4/mbscasestr.m4: Remove file.
31623         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
31624         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
31625
31626         * m4/mbschr.m4: Remove file.
31627         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
31628         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
31629
31630         * m4/mbscspn.m4: Remove file.
31631         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
31632         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
31633
31634         * m4/mbslen.m4: Remove file.
31635         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
31636         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
31637
31638         * m4/mbsncasecmp.m4: Remove file.
31639         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
31640         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
31641
31642         * m4/mbsnlen.m4: Remove file.
31643         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
31644         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
31645
31646         * m4/mbspbrk.m4: Remove file.
31647         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
31648         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
31649
31650         * m4/mbspcasecmp.m4: Remove file.
31651         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
31652         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
31653
31654         * m4/mbsrchr.m4: Remove file.
31655         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
31656         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
31657
31658         * m4/mbssep.m4: Remove file.
31659         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
31660         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
31661
31662         * m4/mbsspn.m4: Remove file.
31663         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
31664         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
31665
31666         * m4/mbsstr.m4: Remove file.
31667         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
31668         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
31669
31670         * m4/mbstok_r.m4: Remove file.
31671         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
31672         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
31673
31674         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
31675
31676         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
31677         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
31678
31679         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
31680
31681 2009-03-08  Bruno Haible  <bruno@clisp.org>
31682
31683         Tests for module 'unicase/ulc-casecmp'.
31684         * modules/unicase/ulc-casecmp-tests: New file.
31685         * tests/unicase/test-ulc-casecmp1.sh: New file.
31686         * tests/unicase/test-ulc-casecmp2.sh: New file.
31687         * tests/unicase/test-ulc-casecmp.c: New file.
31688
31689         New module 'unicase/ulc-casecmp'.
31690         * lib/unicase.h (ulc_casecmp): New declaration.
31691         * lib/unicase/ulc-casecmp.c: New file.
31692         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
31693         'const SRC_UNIT *'.
31694         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
31695         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
31696         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
31697         * modules/unicase/ulc-casecmp: New file.
31698
31699         Tests for module 'unicase/u32-is-cased'.
31700         * modules/unicase/u32-is-cased-tests: New file.
31701         * tests/unicase/test-u32-is-cased.c: New file.
31702
31703         Tests for module 'unicase/u16-is-cased'.
31704         * modules/unicase/u16-is-cased-tests: New file.
31705         * tests/unicase/test-u16-is-cased.c: New file.
31706
31707         Tests for module 'unicase/u8-is-cased'.
31708         * modules/unicase/u8-is-cased-tests: New file.
31709         * tests/unicase/test-u8-is-cased.c: New file.
31710         * tests/unicase/test-is-cased.h: New file.
31711
31712         New module 'unicase/u32-is-cased'.
31713         * lib/unicase/u32-is-cased.c: New file.
31714         * modules/unicase/u32-is-cased: New file.
31715
31716         New module 'unicase/u16-is-cased'.
31717         * lib/unicase/u16-is-cased.c: New file.
31718         * modules/unicase/u16-is-cased: New file.
31719
31720         New module 'unicase/u8-is-cased'.
31721         * lib/unicase/u8-is-cased.c: New file.
31722         * lib/unicase/u-is-cased.h: New file.
31723         * modules/unicase/u8-is-cased: New file.
31724
31725         Tests for module 'unicase/u32-is-casefolded'.
31726         * modules/unicase/u32-is-casefolded-tests: New file.
31727         * tests/unicase/test-u32-is-casefolded.c: New file.
31728
31729         Tests for module 'unicase/u16-is-casefolded'.
31730         * modules/unicase/u16-is-casefolded-tests: New file.
31731         * tests/unicase/test-u16-is-casefolded.c: New file.
31732
31733         Tests for module 'unicase/u8-is-casefolded'.
31734         * modules/unicase/u8-is-casefolded-tests: New file.
31735         * tests/unicase/test-u8-is-casefolded.c: New file.
31736         * tests/unicase/test-is-casefolded.h: New file.
31737
31738         New module 'unicase/u32-is-casefolded'.
31739         * lib/unicase/u32-is-casefolded.c: New file.
31740         * modules/unicase/u32-is-casefolded: New file.
31741
31742         New module 'unicase/u16-is-casefolded'.
31743         * lib/unicase/u16-is-casefolded.c: New file.
31744         * modules/unicase/u16-is-casefolded: New file.
31745
31746         New module 'unicase/u8-is-casefolded'.
31747         * lib/unicase/u8-is-casefolded.c: New file.
31748         * modules/unicase/u8-is-casefolded: New file.
31749
31750         Tests for module 'unicase/u32-is-titlecase'.
31751         * modules/unicase/u32-is-titlecase-tests: New file.
31752         * tests/unicase/test-u32-is-titlecase.c: New file.
31753
31754         Tests for module 'unicase/u16-is-titlecase'.
31755         * modules/unicase/u16-is-titlecase-tests: New file.
31756         * tests/unicase/test-u16-is-titlecase.c: New file.
31757
31758         Tests for module 'unicase/u8-is-titlecase'.
31759         * modules/unicase/u8-is-titlecase-tests: New file.
31760         * tests/unicase/test-u8-is-titlecase.c: New file.
31761         * tests/unicase/test-is-titlecase.h: New file.
31762
31763         New module 'unicase/u32-is-titlecase'.
31764         * lib/unicase/u32-is-titlecase.c: New file.
31765         * modules/unicase/u32-is-titlecase: New file.
31766
31767         New module 'unicase/u16-is-titlecase'.
31768         * lib/unicase/u16-is-titlecase.c: New file.
31769         * modules/unicase/u16-is-titlecase: New file.
31770
31771         New module 'unicase/u8-is-titlecase'.
31772         * lib/unicase/u8-is-titlecase.c: New file.
31773         * modules/unicase/u8-is-titlecase: New file.
31774
31775         Tests for module 'unicase/u32-is-lowercase'.
31776         * modules/unicase/u32-is-lowercase-tests: New file.
31777         * tests/unicase/test-u32-is-lowercase.c: New file.
31778
31779         Tests for module 'unicase/u16-is-lowercase'.
31780         * modules/unicase/u16-is-lowercase-tests: New file.
31781         * tests/unicase/test-u16-is-lowercase.c: New file.
31782
31783         Tests for module 'unicase/u8-is-lowercase'.
31784         * modules/unicase/u8-is-lowercase-tests: New file.
31785         * tests/unicase/test-u8-is-lowercase.c: New file.
31786         * tests/unicase/test-is-lowercase.h: New file.
31787
31788         New module 'unicase/u32-is-lowercase'.
31789         * lib/unicase/u32-is-lowercase.c: New file.
31790         * modules/unicase/u32-is-lowercase: New file.
31791
31792         New module 'unicase/u16-is-lowercase'.
31793         * lib/unicase/u16-is-lowercase.c: New file.
31794         * modules/unicase/u16-is-lowercase: New file.
31795
31796         New module 'unicase/u8-is-lowercase'.
31797         * lib/unicase/u8-is-lowercase.c: New file.
31798         * modules/unicase/u8-is-lowercase: New file.
31799
31800         Tests for module 'unicase/u32-is-uppercase'.
31801         * modules/unicase/u32-is-uppercase-tests: New file.
31802         * tests/unicase/test-u32-is-uppercase.c: New file.
31803
31804         Tests for module 'unicase/u16-is-uppercase'.
31805         * modules/unicase/u16-is-uppercase-tests: New file.
31806         * tests/unicase/test-u16-is-uppercase.c: New file.
31807
31808         Tests for module 'unicase/u8-is-uppercase'.
31809         * modules/unicase/u8-is-uppercase-tests: New file.
31810         * tests/unicase/test-u8-is-uppercase.c: New file.
31811         * tests/unicase/test-is-uppercase.h: New file.
31812
31813         New module 'unicase/u32-is-uppercase'.
31814         * lib/unicase/u32-is-uppercase.c: New file.
31815         * modules/unicase/u32-is-uppercase: New file.
31816
31817         New module 'unicase/u16-is-uppercase'.
31818         * lib/unicase/u16-is-uppercase.c: New file.
31819         * modules/unicase/u16-is-uppercase: New file.
31820
31821         New module 'unicase/u8-is-uppercase'.
31822         * lib/unicase/u8-is-uppercase.c: New file.
31823         * modules/unicase/u8-is-uppercase: New file.
31824
31825         New module 'unicase/u32-is-invariant'.
31826         * lib/unicase/u32-is-invariant.c: New file.
31827         * modules/unicase/u32-is-invariant: New file.
31828
31829         New module 'unicase/u16-is-invariant'.
31830         * lib/unicase/u16-is-invariant.c: New file.
31831         * modules/unicase/u16-is-invariant: New file.
31832
31833         New module 'unicase/u8-is-invariant'.
31834         * lib/unicase/u8-is-invariant.c: New file.
31835         * lib/unicase/invariant.h: New file.
31836         * lib/unicase/u-is-invariant.h: New file.
31837         * modules/unicase/u8-is-invariant: New file.
31838
31839         Tests for module 'unicase/u32-casecoll'.
31840         * modules/unicase/u32-casecoll-tests: New file.
31841         * tests/unicase/test-u32-casecoll.c: New file.
31842
31843         Tests for module 'unicase/u16-casecoll'.
31844         * modules/unicase/u16-casecoll-tests: New file.
31845         * tests/unicase/test-u16-casecoll.c: New file.
31846
31847         Tests for module 'unicase/u8-casecoll'.
31848         * modules/unicase/u8-casecoll-tests: New file.
31849         * tests/unicase/test-u8-casecoll.c: New file.
31850
31851         New module 'unicase/u32-casecoll'.
31852         * lib/unicase/u32-casecoll.c: New file.
31853         * modules/unicase/u32-casecoll: New file.
31854
31855         New module 'unicase/u16-casecoll'.
31856         * lib/unicase/u16-casecoll.c: New file.
31857         * modules/unicase/u16-casecoll: New file.
31858
31859         New module 'unicase/u8-casecoll'.
31860         * lib/unicase/u8-casecoll.c: New file.
31861         * lib/unicase/u-casecoll.h: New file.
31862         * modules/unicase/u8-casecoll: New file.
31863
31864         New module 'unicase/u32-casexfrm'.
31865         * lib/unicase/u32-casexfrm.c: New file.
31866         * modules/unicase/u32-casexfrm: New file.
31867
31868         New module 'unicase/u16-casexfrm'.
31869         * lib/unicase/u16-casexfrm.c: New file.
31870         * modules/unicase/u16-casexfrm: New file.
31871
31872         New module 'unicase/u8-casexfrm'.
31873         * lib/unicase/u8-casexfrm.c: New file.
31874         * lib/unicase/u-casexfrm.h: New file.
31875         * modules/unicase/u8-casexfrm: New file.
31876
31877         Tests for module 'unicase/u32-casecmp'.
31878         * modules/unicase/u32-casecmp-tests: New file.
31879         * tests/unicase/test-u32-casecmp.c: New file.
31880
31881         Tests for module 'unicase/u16-casecmp'.
31882         * modules/unicase/u16-casecmp-tests: New file.
31883         * tests/unicase/test-u16-casecmp.c: New file.
31884
31885         Tests for module 'unicase/u8-casecmp'.
31886         * modules/unicase/u8-casecmp-tests: New file.
31887         * tests/unicase/test-u8-casecmp.c: New file.
31888         * tests/unicase/test-casecmp.h: New file.
31889
31890         New module 'unicase/u32-casecmp'.
31891         * lib/unicase/u32-casecmp.c: New file.
31892         * modules/unicase/u32-casecmp: New file.
31893
31894         New module 'unicase/u16-casecmp'.
31895         * lib/unicase/u16-casecmp.c: New file.
31896         * modules/unicase/u16-casecmp: New file.
31897
31898         New module 'unicase/u8-casecmp'.
31899         * lib/unicase/u8-casecmp.c: New file.
31900         * lib/unicase/u-casecmp.h: New file.
31901         * modules/unicase/u8-casecmp: New file.
31902
31903         Tests for module 'unicase/u32-casefold'.
31904         * modules/unicase/u32-casefold-tests: New file.
31905         * tests/unicase/test-u32-casefold.c: New file.
31906
31907         Tests for module 'unicase/u16-casefold'.
31908         * modules/unicase/u16-casefold-tests: New file.
31909         * tests/unicase/test-u16-casefold.c: New file.
31910
31911         Tests for module 'unicase/u8-casefold'.
31912         * modules/unicase/u8-casefold-tests: New file.
31913         * tests/unicase/test-u8-casefold.c: New file.
31914
31915         New module 'unicase/u32-casefold'.
31916         * lib/unicase/u32-casefold.c: New file.
31917         * modules/unicase/u32-casefold: New file.
31918
31919         New module 'unicase/u16-casefold'.
31920         * lib/unicase/u16-casefold.c: New file.
31921         * modules/unicase/u16-casefold: New file.
31922
31923         New module 'unicase/u8-casefold'.
31924         * lib/unicase/u8-casefold.c: New file.
31925         * lib/unicase/u-casefold.h: New file.
31926         * modules/unicase/u8-casefold: New file.
31927
31928         New module 'unicase/tocasefold'.
31929         * lib/unicase/casefold.h: New file.
31930         * lib/unicase/tocasefold.c: New file.
31931         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
31932         * modules/unicase/tocasefold: New file.
31933
31934         Tests for module 'unicase/u32-totitle'.
31935         * modules/unicase/u32-totitle-tests: New file.
31936         * tests/unicase/test-u32-totitle.c: New file.
31937
31938         Tests for module 'unicase/u16-totitle'.
31939         * modules/unicase/u16-totitle-tests: New file.
31940         * tests/unicase/test-u16-totitle.c: New file.
31941
31942         Tests for module 'unicase/u8-totitle'.
31943         * modules/unicase/u8-totitle-tests: New file.
31944         * tests/unicase/test-u8-totitle.c: New file.
31945
31946         New module 'unicase/u32-totitle'.
31947         * lib/unicase/u32-totitle.c: New file.
31948         * modules/unicase/u32-totitle: New file.
31949
31950         New module 'unicase/u16-totitle'.
31951         * lib/unicase/u16-totitle.c: New file.
31952         * modules/unicase/u16-totitle: New file.
31953
31954         New module 'unicase/u8-totitle'.
31955         * lib/unicase/u8-totitle.c: New file.
31956         * lib/unicase/u-totitle.h: New file.
31957         * modules/unicase/u8-totitle: New file.
31958
31959         Tests for module 'unicase/u32-tolower'.
31960         * modules/unicase/u32-tolower-tests: New file.
31961         * tests/unicase/test-u32-tolower.c: New file.
31962
31963         Tests for module 'unicase/u16-tolower'.
31964         * modules/unicase/u16-tolower-tests: New file.
31965         * tests/unicase/test-u16-tolower.c: New file.
31966
31967         Tests for module 'unicase/u8-tolower'.
31968         * modules/unicase/u8-tolower-tests: New file.
31969         * tests/unicase/test-u8-tolower.c: New file.
31970
31971         New module 'unicase/u32-tolower'.
31972         * lib/unicase/u32-tolower.c: New file.
31973         * modules/unicase/u32-tolower: New file.
31974
31975         New module 'unicase/u16-tolower'.
31976         * lib/unicase/u16-tolower.c: New file.
31977         * modules/unicase/u16-tolower: New file.
31978
31979         New module 'unicase/u8-tolower'.
31980         * lib/unicase/u8-tolower.c: New file.
31981         * modules/unicase/u8-tolower: New file.
31982
31983         Tests for module 'unicase/u32-toupper'.
31984         * modules/unicase/u32-toupper-tests: New file.
31985         * tests/unicase/test-u32-toupper.c: New file.
31986
31987         Tests for module 'unicase/u16-toupper'.
31988         * modules/unicase/u16-toupper-tests: New file.
31989         * tests/unicase/test-u16-toupper.c: New file.
31990
31991         Tests for module 'unicase/u8-toupper'.
31992         * modules/unicase/u8-toupper-tests: New file.
31993         * tests/unicase/test-u8-toupper.c: New file.
31994
31995         New module 'unicase/u32-toupper'.
31996         * lib/unicase/u32-toupper.c: New file.
31997         * modules/unicase/u32-toupper: New file.
31998
31999         New module 'unicase/u16-toupper'.
32000         * lib/unicase/u16-toupper.c: New file.
32001         * modules/unicase/u16-toupper: New file.
32002
32003         New module 'unicase/u8-toupper'.
32004         * lib/unicase/u8-toupper.c: New file.
32005         * modules/unicase/u8-toupper: New file.
32006
32007         New module 'unicase/u32-casemap'.
32008         * lib/unicase/u32-casemap.c: New file.
32009         * modules/unicase/u32-casemap: New file.
32010
32011         New module 'unicase/u16-casemap'.
32012         * lib/unicase/u16-casemap.c: New file.
32013         * modules/unicase/u16-casemap: New file.
32014
32015         New module 'unicase/u8-casemap'.
32016         * lib/unicase/unicasemap.h: New file.
32017         * lib/unicase/u8-casemap.c: New file.
32018         * lib/unicase/u-casemap.h: New file.
32019         * modules/unicase/u8-casemap: New file.
32020
32021         New module 'unicase/special-casing'.
32022         * lib/unicase/special-casing.h: New file.
32023         * lib/unicase/special-casing.c: New file.
32024         * lib/unicase/special-casing-table.gperf: New file, generated by
32025         gen-uni-tables.c.
32026         * modules/unicase/special-casing: New file.
32027
32028         Tests for module 'unicase/locale-language'.
32029         * modules/unicase/locale-language-tests: New file.
32030         * tests/unicase/test-locale-language.sh: New file.
32031         * tests/unicase/test-locale-language.c: New file.
32032
32033         New module 'unicase/locale-language'.
32034         * lib/unicase/locale-language.c: New file.
32035         * lib/unicase/locale-languages.gperf: New file.
32036         * modules/unicase/locale-language: New file.
32037
32038         Generate more tables for case conversion and case folding.
32039         * lib/gen-uni-tables.c (SCC_*): New enum items.
32040         (struct special_casing_rule): New type.
32041         (casing_rules, num_casing_rules, allocated_casing_rules): New
32042         variables.
32043         (add_casing_rule, fill_casing_rules): New functions.
32044         (struct casefold_rule): New type.
32045         (casefolding_rules, num_casefolding_rules,
32046         allocated_casefolding_rules): New variables.
32047         (fill_casefolding_rules): New function.
32048         (unicode_casefold): New variable.
32049         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
32050         sort_casing_rules, output_casing_rules): New functions.
32051         (main): Accept to more arguments: SpecialCasing.txt and
32052         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
32053         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
32054         Output mapping for casefolding.
32055
32056         * lib/unicase.h: Include stdbool.h, uninorm.h.
32057         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
32058         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
32059         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
32060         arguments.
32061         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
32062         resultp arguments.
32063         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
32064         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
32065         resultp arguments.
32066         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
32067         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
32068         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
32069         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
32070         declarations.
32071         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
32072
32073 2009-03-08  Bruno Haible  <bruno@clisp.org>
32074
32075         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
32076         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
32077         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
32078         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
32079
32080 2009-03-07  Bruno Haible  <bruno@clisp.org>
32081
32082         Adjust u*_normcmp, u*_normcoll API.
32083         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
32084         u16_normcoll, u32_normcoll): Change failure conventions.
32085         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
32086         errno and return -1.
32087         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
32088
32089 2009-03-07  Bruno Haible  <bruno@clisp.org>
32090
32091         Tests for module 'uninorm/u32-normcoll'.
32092         * modules/uninorm/u32-normcoll-tests: New file.
32093         * tests/uninorm/test-u32-normcoll.c: New file.
32094
32095         Tests for module 'uninorm/u16-normcoll'.
32096         * modules/uninorm/u16-normcoll-tests: New file.
32097         * tests/uninorm/test-u16-normcoll.c: New file.
32098
32099         Tests for module 'uninorm/u8-normcoll'.
32100         * modules/uninorm/u8-normcoll-tests: New file.
32101         * tests/uninorm/test-u8-normcoll.c: New file.
32102
32103 2009-03-07  Bruno Haible  <bruno@clisp.org>
32104
32105         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
32106         tests/uninorm/test-u32-normcmp.c.
32107         * tests/uninorm/test-u32-normcmp.c: Include it.
32108         (test_nonascii): New function, extracted from main. Add some more
32109         tests.
32110         (main): Invoke test_ascii and test_nonascii.
32111         * modules/uninorm/u32-normcmp-tests (Files): Add
32112         tests/uninorm/test-u32-normcmp.h.
32113         (Depends-on): Remove uninorm/u32-normcmp.
32114
32115         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
32116         tests/uninorm/test-u16-normcmp.c.
32117         * tests/uninorm/test-u16-normcmp.c: Include it.
32118         (test_nonascii): New function, extracted from main. Add some more
32119         tests.
32120         (main): Invoke test_ascii and test_nonascii.
32121         * modules/uninorm/u16-normcmp-tests (Files): Add
32122         tests/uninorm/test-u16-normcmp.h.
32123         (Depends-on): Remove uninorm/u16-normcmp.
32124
32125         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
32126         tests/uninorm/test-u8-normcmp.c.
32127         * tests/uninorm/test-u8-normcmp.c: Include it.
32128         (test_nonascii): New function, extracted from main. Add some more
32129         tests.
32130         (main): Invoke test_ascii and test_nonascii.
32131         * modules/uninorm/u8-normcmp-tests (Files): Add
32132         tests/uninorm/test-u8-normcmp.h.
32133         (Depends-on): Remove uninorm/u8-normcmp.
32134
32135 2009-03-07  Bruno Haible  <bruno@clisp.org>
32136
32137         New module 'uninorm/u32-normcoll'.
32138         * lib/uninorm/u32-normcoll.c: New file.
32139         * modules/uninorm/u32-normcoll: New file.
32140
32141         New module 'uninorm/u16-normcoll'.
32142         * lib/uninorm/u16-normcoll.c: New file.
32143         * modules/uninorm/u16-normcoll: New file.
32144
32145         New module 'uninorm/u8-normcoll'.
32146         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
32147         declarations.
32148         * lib/uninorm/u8-normcoll.c: New file.
32149         * lib/uninorm/u-normcoll.h: New file.
32150         * modules/uninorm/u8-normcoll: New file.
32151
32152         New module 'uninorm/u32-normxfrm'.
32153         * lib/uninorm/u32-normxfrm.c: New file.
32154         * modules/uninorm/u32-normxfrm: New file.
32155
32156         New module 'uninorm/u16-normxfrm'.
32157         * lib/uninorm/u16-normxfrm.c: New file.
32158         * modules/uninorm/u16-normxfrm: New file.
32159
32160         New module 'uninorm/u8-normxfrm'.
32161         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
32162         declarations.
32163         * lib/uninorm/u8-normxfrm.c: New file.
32164         * lib/uninorm/u-normxfrm.h: New file.
32165         * modules/uninorm/u8-normxfrm: New file.
32166
32167 2009-03-07  Bruno Haible  <bruno@clisp.org>
32168
32169         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
32170         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
32171         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
32172
32173 2009-03-07  Bruno Haible  <bruno@clisp.org>
32174
32175         New module 'memxfrm'.
32176         * lib/memxfrm.h: New file.
32177         * lib/memxfrm.c: New file.
32178         * modules/memxfrm: New file.
32179
32180 2009-03-07  Bruno Haible  <bruno@clisp.org>
32181
32182         New module 'memcmp2'.
32183         * lib/memcmp2.h: New file.
32184         * lib/memcmp2.c: New file.
32185         * modules/memcmp2: New file.
32186
32187 2009-03-07  Bruno Haible  <bruno@clisp.org>
32188
32189         Tests for module 'uninorm/decomposing-form'.
32190         * modules/uninorm/decomposing-form-tests: New file.
32191         * tests/uninorm/test-decomposing-form.c: New file.
32192
32193         New module 'uninorm/decomposing-form'.
32194         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
32195         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
32196         Add 'decomposing_variant' field.
32197         * lib/uninorm/decomposing-form.c: New file.
32198         * lib/uninorm/nfc.c (uninorm_nfc): Update.
32199         * lib/uninorm/nfd.c (uninorm_nfd): Update.
32200         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
32201         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
32202         * modules/uninorm/decomposing-form: New file.
32203         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
32204         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
32205
32206 2009-03-07  Bruno Haible  <bruno@clisp.org>
32207
32208         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
32209         strings.
32210
32211 2009-03-06  Bruno Haible  <bruno@clisp.org>
32212
32213         Tests for module 'uninorm/u32-normcmp'.
32214         * tests/uninorm/test-u32-normcmp.c: New file.
32215         * modules/uninorm/u32-normcmp-tests: New file.
32216
32217         Tests for module 'uninorm/u16-normcmp'.
32218         * tests/uninorm/test-u16-normcmp.c: New file.
32219         * modules/uninorm/u16-normcmp-tests: New file.
32220
32221         Tests for module 'uninorm/u8-normcmp'.
32222         * tests/uninorm/test-u8-normcmp.c: New file.
32223         * modules/uninorm/u8-normcmp-tests: New file.
32224
32225         New module 'uninorm/u32-normcmp'.
32226         * lib/uninorm/u32-normcmp.c: New file.
32227         * modules/uninorm/u32-normcmp: New file.
32228
32229         New module 'uninorm/u16-normcmp'.
32230         * lib/uninorm/u16-normcmp.c: New file.
32231         * modules/uninorm/u16-normcmp: New file.
32232
32233         New module 'uninorm/u8-normcmp'.
32234         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
32235         declarations.
32236         * lib/uninorm/u8-normcmp.c: New file.
32237         * lib/uninorm/u-normcmp.h: New file.
32238         * modules/uninorm/u8-normcmp: New file.
32239
32240 2009-03-06  Bruno Haible  <bruno@clisp.org>
32241
32242         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
32243         Reported by Eric Blake.
32244
32245 2009-03-06  Eric Blake  <ebb9@byu.net>
32246             Bruno Haible  <bruno@clisp.org>
32247
32248         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
32249         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
32250         condition.
32251         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
32252         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
32253         condition.
32254         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
32255
32256 2009-03-06  Eric Blake  <ebb9@byu.net>
32257
32258         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
32259         to avoid compiler warnings.
32260         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
32261
32262 2009-03-05  Bruno Haible  <bruno@clisp.org>
32263
32264         * tests/test-ftell.c (main): Disable test beyond end of file on
32265         FreeMiNT.
32266         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
32267
32268 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
32269
32270         * lib/filevercmp.c: Move hidden files up in ordering.
32271         * tests/test-filevercmp.c: Add tests for hidden files.
32272
32273 2009-03-04  Bruno Haible  <bruno@clisp.org>
32274
32275         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
32276         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
32277         AM_CFLAGS.
32278         Reported by Simon Josefsson.
32279
32280 2009-03-03  Bruno Haible  <bruno@clisp.org>
32281
32282         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
32283         Reported by Simon Josefsson.
32284
32285         * doc/ld-version-script.texi: Update node reference.
32286
32287 2009-03-03  Bruno Haible  <bruno@clisp.org>
32288
32289         * modules/visibility (License): Change to 'unlimited'.
32290         Suggested by Simon Josefsson.
32291
32292 2009-03-03  Jim Meyering  <meyering@redhat.com>
32293
32294         unlinkdir: cannot_unlink_dir may modify process state
32295         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
32296         it's neither thread-safe nor appropriate for use in a library.
32297
32298 2009-03-03  Eric Blake  <ebb9@byu.net>
32299
32300         test-closein: silence test under Darwin
32301         * tests/test-closein.sh: Ignore stderr from cat, since we don't
32302         care if it dies from EPIPE or EBADF.
32303
32304 2009-03-03  Bruno Haible  <bruno@clisp.org>
32305
32306         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
32307         earlier.
32308         * doc/visibility.texi: Fix @node and @section.
32309
32310 2009-03-03  Simon Josefsson  <simon@josefsson.org>
32311
32312         * doc/gnulib.texi: Link to sections for ld version script and
32313         visibility.
32314         * doc/visibility.texi: Add @node and @section.
32315         * modules/ld-version-script: New module.
32316         * m4/ld-version-script.m4: New file.
32317         * doc/ld-version-script.texi: New file.
32318
32319 2009-03-02  David Lutterkort  <lutter@redhat.com>
32320
32321         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
32322         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32323
32324 2009-03-02  Bruno Haible  <bruno@clisp.org>
32325
32326         * doc/visibility.texi: Mention libtool's -export-symbols option.
32327
32328 2009-03-02  Jim Meyering  <meyering@redhat.com>
32329
32330         announce-gen: new option: --no-print-checksums
32331         * build-aux/announce-gen (usage): Describe it.
32332         (print_checksums): Print a newline here, not in the [*] footnote.
32333         (main): Honor it.
32334
32335 2009-03-01  Bruno Haible  <bruno@clisp.org>
32336
32337         Use socklen_t in the native Windows replacements prototypes.
32338         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
32339         instead of 'int'.
32340         * lib/getsockopt.c (rpl_getsockopt): Likewise.
32341         * lib/setsockopt.c (rpl_setsockopt): Likewise.
32342         * modules/getsockopt (Depends-on): Add socklen.
32343         * modules/setsockopt (Depends-on): Add socklen.
32344
32345 2009-03-01  Bruno Haible  <bruno@clisp.org>
32346
32347         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
32348         least 4.2.
32349
32350 2009-03-01  Eric Blake  <ebb9@byu.net>
32351             Bruno Haible  <bruno@clisp.org>
32352
32353         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
32354         error messages.
32355         * lib/wait-process.c (wait_subprocess): Omit error message about
32356         deadly signal sent to the child of termsigp != NULL.
32357
32358 2009-03-01  Eric Blake  <ebb9@byu.net>
32359
32360         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
32361
32362 2009-03-01  Bruno Haible  <bruno@clisp.org>
32363
32364         Avoid a gcc warning.
32365         * tests/test-sched.c (b): Make global.
32366         Reported by Eric Blake.
32367
32368 2009-01-19  Martin Lambers  <marlam@marlam.de>
32369
32370         Provide POSIX semantics for socket timeout options on W32.
32371         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
32372         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
32373         * modules/setsockopt: Depend on sys_time module for struct timeval.
32374         * modules/getsockopt: Depend on sys_time module for struct timeval.
32375
32376 2009-03-01  Simon Josefsson  <simon@josefsson.org>
32377
32378         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
32379         __USE_GNU, for consistency with netdb.in.h.
32380         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32381
32382 2009-03-01  Bruno Haible  <bruno@clisp.org>
32383
32384         More support for FreeMiNT.
32385         * lib/fseeko.c (rpl_fseeko): Complete last commit.
32386         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32387
32388 2009-03-01  Bruno Haible  <bruno@clisp.org>
32389
32390         More support for FreeMiNT.
32391         * lib/fpurge.c (fpurge): Correct last commit.
32392         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32393
32394 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32395
32396         Fix unportable awk script in vc-list-files.
32397         * build-aux/vc-list-files: In the replacement awk script, use
32398         substr with a second argument of 1, not zero.
32399         Report by Simon Josefsson.
32400
32401 2009-02-28  Bruno Haible  <bruno@clisp.org>
32402
32403         More support for FreeMiNT.
32404         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
32405         to FreeMiNT today.
32406         * lib/fwriting.c (fwriting): Likewise.
32407         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
32408
32409 2009-02-28  Bruno Haible  <bruno@clisp.org>
32410
32411         * tests/test-freadseek.c (main): Disable test beyond end of file on
32412         FreeMiNT.
32413         * tests/test-ftello.c (main): Likewise.
32414         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
32415
32416 2009-02-28  Bruno Haible  <bruno@clisp.org>
32417
32418         Add tentative support for FreeMiNT.
32419         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
32420         * lib/fpurge.c (fpurge): Likewise.
32421         * lib/freadable.c (freadable): Likewise.
32422         * lib/freading.c (freading): Likewise.
32423         * lib/freadptr.c (freadptr): Likewise.
32424         * lib/freadseek.c (freadptrinc): Likewise.
32425         * lib/fseeko.c (rpl_fseeko): Likewise.
32426         * lib/fseterr.c (fseterr): Likewise.
32427         * lib/fwritable.c (fwritable): Likewise.
32428         * lib/fwriting.c (fwriting): Likewise.
32429         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
32430         Hourihane.
32431         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32432
32433 2009-02-28  Bruno Haible  <bruno@clisp.org>
32434
32435         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
32436         SIGCHLD.
32437         Reported by Jim Meyering.
32438
32439 2009-02-28  Bruno Haible  <bruno@clisp.org>
32440
32441         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
32442         Mention the results of these tests on various platforms.
32443         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
32444         order.
32445         * doc/posix-functions/printf.texi: Likewise.
32446         * doc/posix-functions/snprintf.texi: Likewise.
32447         * doc/posix-functions/sprintf.texi: Likewise.
32448         * doc/posix-functions/vfprintf.texi: Likewise.
32449         * doc/posix-functions/vprintf.texi: Likewise.
32450         * doc/posix-functions/vsnprintf.texi: Likewise.
32451         * doc/posix-functions/vsprintf.texi: Likewise.
32452         * doc/glibc-functions/obstack_printf.texi: Likewise.
32453         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
32454
32455 2009-02-28  Bruno Haible  <bruno@clisp.org>
32456
32457         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
32458         Reported by Loïc Minier <lool@dooz.org>.
32459
32460 2009-02-27  Bruno Haible  <bruno@clisp.org>
32461
32462         * gnulib-tool (func_import): Make the sed expression used to create the
32463         sed script for updating the .gitignore file POSIX compliant.
32464         Reported by Eric Blake.
32465
32466 2009-02-27  Bruno Haible  <bruno@clisp.org>
32467
32468         * gnulib-tool (sed): Don't alias as "sed --posix".
32469         Reported by Eric Blake.
32470
32471 2009-02-27  Bruno Haible  <bruno@clisp.org>
32472
32473         Avoid test link errors.
32474         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
32475         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
32476         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
32477         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
32478         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32479
32480 2009-02-27  Bruno Haible  <bruno@clisp.org>
32481
32482         Avoid spurious "(cached)" in configure output.
32483         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
32484         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
32485         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
32486         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
32487         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
32488         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
32489         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
32490         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
32491         Reported by Eric Blake.
32492
32493 2009-02-27  Eric Blake  <ebb9@byu.net>
32494
32495         printf: fix regression in previous patch
32496         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
32497
32498 2009-02-27  Bruno Haible  <bruno@clisp.org>
32499
32500         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
32501         value.
32502         * lib/stdint.in.h: Likewise.
32503         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
32504
32505 2009-02-27  Eric Blake  <ebb9@byu.net>
32506
32507         doc: mention more functions added in cygwin 1.7.0
32508         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
32509         addition.
32510         * doc/posix-functions/open_wmemstream.texi: Likewise.
32511         * doc/posix-functions/wcsnlen.texi: Likewise.
32512         * doc/posix-functions/wcsnrtombs.texi: Likewise.
32513         * doc/posix-functions/wcstod.texi: Likewise.
32514         * doc/posix-functions/wcstof.texi: Likewise.
32515         * doc/posix-functions/wcstoimax.texi: Likewise.
32516         * doc/posix-functions/wcstok.texi: Likewise.
32517         * doc/posix-functions/wcstoumax.texi: Likewise.
32518
32519         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
32520         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
32521         * doc/posix-functions/fprintf.texi: Update.
32522         * doc/posix-functions/printf.texi: Update.
32523         * doc/posix-functions/snprintf.texi: Update.
32524         * doc/posix-functions/sprintf.texi: Update.
32525         * doc/posix-functions/vfprintf.texi: Update.
32526         * doc/posix-functions/vprintf.texi: Update.
32527         * doc/posix-functions/vsnprintf.texi: Update.
32528         * doc/posix-functions/vsprintf.texi: Update.
32529         * doc/glibc-functions/obstack_printf.texi: Update.
32530         * doc/glibc-functions/obstack_vprintf.texi: Update.
32531
32532 2009-02-26  Eric Blake  <ebb9@byu.net>
32533
32534         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
32535         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
32536         compilation bug by using runtime conversion.
32537         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32538         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
32539         * modules/ceill-tests (Files): Use nan.h.
32540         * modules/floorl-tests (Files): Likewise.
32541         * modules/frexpl-tests (Files): Likewise.
32542         * modules/isnanl-tests (Files): Likewise.
32543         * modules/ldexpl-tests (Files): Likewise.
32544         * modules/roundl-tests (Files): Likewise.
32545         * modules/truncl-tests (Files): Likewise.
32546         * tests/test-ceill.c (main): Use a working NaN.
32547         * tests/test-floorl.c (main): Likewise.
32548         * tests/test-frexpl.c (main): Likewise.
32549         * tests/test-isnan.c (test_long_double): Likewise.
32550         * tests/test-isnanl.h (main): Likewise.
32551         * tests/test-ldexpl.h (main): Likewise.
32552         * tests/test-roundl.h (main): Likewise.
32553         * tests/test-truncl.h (main): Likewise.
32554         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
32555
32556 2009-02-26  Eric Blake  <ebb9@byu.net>
32557             Bruno Haible  <bruno@clisp.org>
32558
32559         Work around a *printf bug with %ls on Solaris.
32560         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
32561         precision is specified, sprintf stops converting the wide string
32562         argument when the number of bytes that have been produced by this
32563         conversion equals or exceeds the precision.
32564         * doc/posix-functions/fprintf.texi: Update.
32565         * doc/posix-functions/printf.texi: Update.
32566         * doc/posix-functions/snprintf.texi: Update.
32567         * doc/posix-functions/sprintf.texi: Update.
32568         * doc/posix-functions/vfprintf.texi: Update.
32569         * doc/posix-functions/vprintf.texi: Update.
32570         * doc/posix-functions/vsnprintf.texi: Update.
32571         * doc/posix-functions/vsprintf.texi: Update.
32572         * doc/glibc-functions/obstack_printf.texi: Update.
32573         * doc/glibc-functions/obstack_vprintf.texi: Update.
32574
32575 2009-02-26  Eric Blake  <ebb9@byu.net>
32576
32577         stdlib: favor compiler check of random.h
32578         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
32579         to avoid an ObjC random.h installed by Swarm.
32580
32581 2009-02-26  Bruno Haible  <bruno@clisp.org>
32582
32583         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
32584         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
32585         Reported by Gary V. Vaughan <gary@gnu.org>.
32586
32587 2009-02-26  Bruno Haible  <bruno@clisp.org>
32588
32589         Fix *printf behaviour regarding the %ls directive.
32590         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
32591         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
32592         NEED_PRINTF_DIRECTIVE_LS.
32593         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
32594         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
32595         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32596         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
32597         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
32598         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
32599         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
32600         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32601         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32602         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32603         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32604         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
32605         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32606         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32607         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32608         * doc/posix-functions/fprintf.texi: Update.
32609         * doc/posix-functions/printf.texi: Update.
32610         * doc/posix-functions/snprintf.texi: Update.
32611         * doc/posix-functions/sprintf.texi: Update.
32612         * doc/posix-functions/vfprintf.texi: Update.
32613         * doc/posix-functions/vprintf.texi: Update.
32614         * doc/posix-functions/vsnprintf.texi: Update.
32615         * doc/posix-functions/vsprintf.texi: Update.
32616         * doc/glibc-functions/obstack_printf.texi: Update.
32617         * doc/glibc-functions/obstack_vprintf.texi: Update.
32618         Reported by Eric Blake.
32619
32620 2009-02-25  Bruno Haible  <bruno@clisp.org>
32621
32622         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
32623         with known value.
32624         Reported by Gary V. Vaughan <gary@gnu.org>.
32625
32626 2009-02-25  Bruno Haible  <bruno@clisp.org>
32627
32628         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
32629         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
32630         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
32631         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
32632         Reported by Gary V. Vaughan <gary@gnu.org>.
32633
32634 2009-02-25  Bruno Haible  <bruno@clisp.org>
32635
32636         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
32637         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
32638         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
32639         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
32640         Reported by Gary V. Vaughan <gary@gnu.org>.
32641
32642 2009-02-25  Eric Blake  <ebb9@byu.net>
32643
32644         tests: skip fseek/ftell tests if ungetc is broken
32645         * m4/ungetc.m4: New file.
32646         * modules/fseek-tests: Split test, so ungetc dependency is
32647         separate from rest of test.
32648         * modules/fseeko-tests: Likewise.
32649         * modules/ftell-tests: Likewise.
32650         * modules/ftello-tests: Likewise.
32651         * tests/test-fseek.c (main): Isolate ungetc dependency.
32652         * tests/test-fseeko.c (main): Likewise.
32653         * tests/test-ftell.c (main): Likewise.
32654         * tests/test-ftello.c (main): Likewise.
32655         * tests/test-fseek2.sh: New file.
32656         * tests/test-fseeko2.sh: Likewise.
32657         * tests/test-ftell2.sh: Likewise.
32658         * tests/test-ftello2.sh: Likewise.
32659
32660 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
32661
32662         test-getaddrinfo: fix usage of skip return code 77
32663         * tests/test-gettaddrinfo.c: Return skip code 77 only
32664         for first occurance of skip (4x77 is not 77)
32665
32666 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
32667
32668         strtod: avoid C99 decl-after-statement
32669         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
32670
32671 2009-02-24  Eric Blake  <ebb9@byu.net>
32672
32673         strtod: detect HP-UX 11.31 bug
32674         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
32675         Reported by Gary V. Vaughan.
32676
32677 2009-02-23  Bruno Haible  <bruno@clisp.org>
32678
32679         Fix invalid read past end of memory block.
32680         * lib/vasnprintf.c (DCHAR_SET): Define.
32681         (local_wcslen): Define only when needed.
32682         (local_strnlen, local_wcsnlen): New functions.
32683         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
32684         directives that involve a conversion ourselves.
32685         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
32686         wcsnlen, mbrtowc, wcrtomb.
32687         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
32688         * tests/test-vasprintf-posix.c (test_function): Likewise.
32689         * tests/test-snprintf-posix.h (test_function): Likewise.
32690         * tests/test-sprintf-posix.h (test_function): Likewise.
32691         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32692
32693 2009-02-22  Bruno Haible  <bruno@clisp.org>
32694
32695         Implement new clarified decomposition of Hangul syllables.
32696         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
32697         of type LTV, return only a pairwise decomposition.
32698         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
32699         Likewise.
32700         * tests/uninorm/test-decomposition.c (main): Updated expected result.
32701         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
32702         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
32703
32704 2009-02-22  Bruno Haible  <bruno@clisp.org>
32705
32706         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
32707         zero-length results and shrink excess allocated memory.
32708         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
32709         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
32710         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
32711         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
32712         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
32713         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
32714         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
32715         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
32716         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
32717         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
32718         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
32719         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
32720
32721 2009-02-21  Bruno Haible  <bruno@clisp.org>
32722
32723         * doc/gnulib.texi: Include safe-alloc.texi earlier.
32724         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
32725         spaces after a period. Put a space between a macro name and its
32726         argument list. Trivial rewordings.
32727         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
32728         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
32729         (main): Return 0 explicitly.
32730
32731 2009-02-21  Bruno Haible  <bruno@clisp.org>
32732
32733         Tests for module 'uninorm/filter'.
32734         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
32735         * modules/uninorm/filter-tests: New file.
32736
32737         New module 'uninorm/filter'.
32738         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
32739         uninorm_filter_flush, uninorm_filter_free): New declarations.
32740         * lib/uninorm/uninorm-filter.c: New file.
32741         * modules/uninorm/filter: New file.
32742
32743 2009-02-21  Bruno Haible  <bruno@clisp.org>
32744
32745         Tests for module 'uninorm/nfkc'.
32746         * tests/uninorm/test-nfkc.c: New file.
32747         * tests/uninorm/test-u8-nfkc.c: New file.
32748         * tests/uninorm/test-u16-nfkc.c: New file.
32749         * tests/uninorm/test-u32-nfkc.c: New file.
32750         * tests/uninorm/test-u32-nfkc-big.sh: New file.
32751         * tests/uninorm/test-u32-nfkc-big.c: New file.
32752         * modules/uninorm/nfkc-tests: New file.
32753
32754         New module 'uninorm/nfkc'.
32755         * lib/uninorm/nfkc.c: New file.
32756         * modules/uninorm/nfkc: New file.
32757
32758         Tests for module 'uninorm/nfkd'.
32759         * tests/uninorm/test-nfkd.c: New file.
32760         * tests/uninorm/test-u8-nfkd.c: New file.
32761         * tests/uninorm/test-u16-nfkd.c: New file.
32762         * tests/uninorm/test-u32-nfkd.c: New file.
32763         * tests/uninorm/test-u32-nfkd-big.sh: New file.
32764         * tests/uninorm/test-u32-nfkd-big.c: New file.
32765         * modules/uninorm/nfkd-tests: New file.
32766
32767         New module 'uninorm/nfkd'.
32768         * lib/uninorm/nfkd.c: New file.
32769         * modules/uninorm/nfkd: New file.
32770
32771         Tests for module 'uninorm/nfc'.
32772         * tests/uninorm/test-nfc.c: New file.
32773         * tests/uninorm/test-u8-nfc.c: New file.
32774         * tests/uninorm/test-u16-nfc.c: New file.
32775         * tests/uninorm/test-u32-nfc.c: New file.
32776         * tests/uninorm/test-u32-nfc-big.sh: New file.
32777         * tests/uninorm/test-u32-nfc-big.c: New file.
32778         * modules/uninorm/nfc-tests: New file.
32779
32780         New module 'uninorm/nfc'.
32781         * lib/uninorm/nfc.c: New file.
32782         * modules/uninorm/nfc: New file.
32783
32784         Tests for module 'uninorm/nfd'.
32785         * tests/uninorm/test-nfd.c: New file.
32786         * tests/uninorm/test-u8-nfd.c: New file.
32787         * tests/uninorm/test-u16-nfd.c: New file.
32788         * tests/uninorm/test-u32-nfd.c: New file.
32789         * tests/uninorm/test-u32-nfd-big.sh: New file.
32790         * tests/uninorm/test-u32-nfd-big.c: New file.
32791         * tests/uninorm/test-u32-normalize-big.h: New file.
32792         * tests/uninorm/test-u32-normalize-big.c: New file.
32793         * tests/uninorm/NormalizationTest.txt: New file, created from
32794         Unicode 5.1.0 NormalizationTest.txt.
32795         * modules/uninorm/nfd-tests: New file.
32796
32797         New module 'uninorm/nfd'.
32798         * lib/uninorm/nfd.c: New file.
32799         * modules/uninorm/nfd: New file.
32800
32801         New module 'uninorm/u32-normalize'.
32802         * lib/uninorm/u32-normalize.c: New file.
32803         * modules/uninorm/u32-normalize: New file.
32804
32805         New module 'uninorm/u16-normalize'.
32806         * lib/uninorm/u16-normalize.c: New file.
32807         * modules/uninorm/u16-normalize: New file.
32808
32809         New module 'uninorm/u8-normalize'.
32810         * lib/uninorm/u8-normalize.c: New file.
32811         * lib/uninorm/normalize-internal.h: New file.
32812         * lib/uninorm/u-normalize-internal.h: New file.
32813         * modules/uninorm/u8-normalize: New file.
32814
32815         New module 'uninorm/decompose-internal'.
32816         * lib/uninorm/decompose-internal.c: New file.
32817         * modules/uninorm/decompose-internal: New file.
32818
32819         Tests for module 'uninorm/composition'.
32820         * tests/uninorm/test-composition.c: New file.
32821         * modules/uninorm/composition-tests: New file.
32822
32823         New module 'uninorm/composition'.
32824         * lib/uninorm/composition.c: New file.
32825         * lib/uninorm/composition-table.gperf: New file, generated by
32826         gen-uni-tables.
32827         * modules/uninorm/composition: New file.
32828
32829         Tests for module 'uninorm/compat-decomposition'.
32830         * tests/uninorm/test-compat-decomposition.c: New file.
32831         * modules/uninorm/compat-decomposition-tests: New file.
32832
32833         New module 'uninorm/compat-decomposition'.
32834         * lib/uninorm/decompose-internal.h: New file.
32835         * lib/uninorm/compat-decomposition.c: New file.
32836         * modules/uninorm/compat-decomposition: New file.
32837
32838         Tests for module 'uninorm/canonical-decomposition'.
32839         * tests/uninorm/test-canonical-decomposition.c: New file.
32840         * modules/uninorm/canonical-decomposition-tests: New file.
32841
32842         New module 'uninorm/canonical-decomposition'.
32843         * lib/uninorm/canonical-decomposition.c: New file.
32844         * modules/uninorm/canonical-decomposition: New file.
32845
32846         Tests for module 'uninorm/decomposition'.
32847         * tests/uninorm/test-decomposition.c: New file.
32848         * modules/uninorm/decomposition-tests: New file.
32849
32850         New module 'uninorm/decomposition'.
32851         * lib/uninorm/decomposition.c: New file.
32852         * modules/uninorm/decomposition: New file.
32853
32854         New module 'uninorm/decomposition-table'.
32855         * lib/uninorm/decomposition-table.h: New file.
32856         * lib/uninorm/decomposition-table.c: New file.
32857         * lib/uninorm/decomposition-table1.h: New file, generated by
32858         gen-uni-tables.
32859         * lib/uninorm/decomposition-table2.h: New file, generated by
32860         gen-uni-tables.
32861         * modules/uninorm/decomposition-table: New file.
32862
32863         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
32864         (UC_DECOMP_*): New enumeration items.
32865         (get_decomposition): New function.
32866         (struct decomp_table): New type.
32867         (output_decomposition, output_decomposition_tables): New functions.
32868         (unicode_composition_exclusions): New variable.
32869         (fill_composition_exclusions, debug_output_composition_tables): New
32870         functions.
32871         (main): Accept one more argument. Invoke fill_composition_exclusions.
32872         Output decomposition and composition tables.
32873
32874         New module 'uninorm/base'.
32875         * lib/uninorm.h: New file.
32876         * lib/unictype.h: Update comment.
32877         * modules/uninorm/base: New file.
32878
32879 2009-02-21  David Lutterkort  <lutter@redhat.com>
32880
32881         Tests for module 'safe-alloc'.
32882         * tests/test-safe-alloc.c: New file.
32883         * modules/safe-alloc-tests: New file.
32884
32885         New module 'safe-alloc'.
32886         * lib/safe-alloc.h: New file.
32887         * lib/safe-alloc.c: New file.
32888         * m4/safe-alloc.m4: New file.
32889         * modules/safe-alloc: New file.
32890         * doc/safe-alloc.texi: New file.
32891         * doc/gnulib.texi: Include it.
32892         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
32893         safe-alloc.
32894
32895 2009-02-18  Bruno Haible  <bruno@clisp.org>
32896
32897         Fix link error on non-glibc systems.
32898         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
32899         variable.
32900         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32901
32902 2009-02-18  Jim Meyering  <meyering@redhat.com>
32903
32904         fts: avoid used-uninitialized error due to recent change
32905         * lib/fts.c (fts_read): Guard uses of the new member,
32906         parent->fts_n_dirs_remaining, since it's not relevant for
32907         the parent of a directory specified on the command-line.
32908
32909 2009-02-17  James Youngman  <jay@gnu.org>
32910             Bruno Haible  <bruno@clisp.org>
32911
32912         * m4/include_next.m4: Reformulate comment.
32913
32914 2009-02-16  Jim Meyering  <meyering@redhat.com>
32915
32916         fts: add #if guards so that the fts_lgpl module still builds
32917         * lib/fts.c: Guard just-added hash-table-using parts with
32918         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
32919         Reported by Simon Josefsson.
32920
32921 2009-02-15  Bruno Haible  <bruno@clisp.org>
32922
32923         * modules/array-mergesort-tests: New file.
32924         * tests/test-array-mergesort.c: New file.
32925
32926         New module 'array-mergesort'.
32927         * modules/array-mergesort: New file.
32928         * lib/array-mergesort.h: New file.
32929
32930 2009-02-15  Bruno Haible  <bruno@clisp.org>
32931
32932         Fix 2009-02-07 commit.
32933         * lib/gen-uni-tables.c (output_predicate, output_category,
32934         output_combclass, output_bidi_category, output_decimal_digit,
32935         output_digit, output_numeric, output_mirror, output_scripts,
32936         output_ident_category, output_simple_mapping): Fix format directives.
32937         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
32938
32939 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
32940
32941         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
32942         fixes are available from IBM.
32943
32944 2009-02-13  Jim Meyering  <meyering@redhat.com>
32945
32946         fts: arrange not to stat non-directories in more cases
32947         This makes GNU find (when it doesn't need to stat each file)
32948         *much* more efficient at traversing reiserfs file systems.
32949         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
32950         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
32951         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
32952         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
32953         (leaf_optimization_applies): New function.
32954         (LCO_hash, LCO_compare): New helper functions.
32955         (link_count_optimize_ok): New function.
32956         (fts_stat): Initialize new member (if dir).
32957         (fts_read): Decrement parent's fts_n_dirs_remaining count if
32958         we've just stat'ed a directory.  Skip the stat call when possible.
32959         ---
32960         Note this AFS-related exchange:
32961         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
32962         and note find's pioctl call in find/fstype.c.
32963         But that is necessary only if you want to enable the
32964         optimization for AFS, and for now, I don't.
32965
32966         fts: move a function definition "up" (no semantic change)
32967         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
32968         "up" to precede upcoming use of a related function.
32969
32970 2009-02-11  Jim Meyering  <meyering@redhat.com>
32971
32972         fts: correct internal computation of nlinks (optimization-related)
32973         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
32974         whether the current entry is a directory, so don't test it.
32975
32976 2009-02-10  Bruno Haible  <bruno@clisp.org>
32977
32978         Tests for module 'uniwbrk/ulc-wordbreaks'.
32979         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
32980         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
32981         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
32982
32983         Tests for module 'uniwbrk/u32-wordbreaks'.
32984         * modules/uniwbrk/u32-wordbreaks-tests: New file.
32985         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
32986
32987         Tests for module 'uniwbrk/u16-wordbreaks'.
32988         * modules/uniwbrk/u16-wordbreaks-tests: New file.
32989         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
32990
32991         Tests for module 'uniwbrk/u8-wordbreaks'.
32992         * modules/uniwbrk/u8-wordbreaks-tests: New file.
32993         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
32994
32995 2009-02-10  Bruno Haible  <bruno@clisp.org>
32996
32997         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
32998         property.
32999         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
33000         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
33001         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
33002
33003 2009-02-10  Simon Josefsson  <simon@josefsson.org>
33004
33005         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
33006         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
33007
33008 2009-02-10  Bruno Haible  <bruno@clisp.org>
33009
33010         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
33011         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
33012         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
33013         * lib/unilbrk/u8-possible-linebreaks.c: Update.
33014         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
33015         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
33016
33017 2009-02-09  Simon Josefsson  <simon@josefsson.org>
33018
33019         * lib/sockets.h (gl_fd_to_handle): New function.
33020
33021         * tests/test-sockets.c: Call gl_fd_to_handle.
33022
33023 2009-02-09  Bruno Haible  <bruno@clisp.org>
33024
33025         * doc/havelib.texi: Document the conventions on bi-arch systems.
33026
33027 2009-02-08  Bruno Haible  <bruno@clisp.org>
33028
33029         Document the AC_LIB_LINKFLAGS macro.
33030         * doc/havelib.texi: New file, mostly written on 2005-05-24.
33031         * doc/gnulib.texi: Include it.
33032
33033 2009-02-08  Bruno Haible  <bruno@clisp.org>
33034
33035         Fix wrong order of sections, compared to TOC.
33036         * doc/gnulib.texi: Include relocatable-maint.texi after the
33037         "Regular expressions" node, not before.
33038
33039 2009-02-08  Bruno Haible  <bruno@clisp.org>
33040
33041         Tests for module 'unicase/totitle'.
33042         * modules/unicase/totitle-tests: New file.
33043
33044         Tests for module 'unicase/tolower'.
33045         * modules/unicase/tolower-tests: New file.
33046
33047         Tests for module 'unicase/toupper'.
33048         * modules/unicase/toupper-tests: New file.
33049         * tests/unicase/test-mapping-part1.h: New file.
33050         * tests/unicase/test-mapping-part2.h: New file.
33051
33052         New module 'unicase/totitle'.
33053         * modules/unicase/totitle: New file.
33054         * lib/unicase/totitle.c: New file.
33055
33056         New module 'unicase/tolower'.
33057         * modules/unicase/tolower: New file.
33058         * lib/unicase/tolower.c: New file.
33059
33060         New module 'unicase/toupper'.
33061         * modules/unicase/toupper: New file.
33062         * lib/unicase/toupper.c: New file.
33063         * lib/unicase/simple-mapping.h: New file.
33064
33065         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
33066         (mapping_table): New structure.
33067         (output_simple_mapping): New function.
33068         (main): Invoke output_simple_mapping_test and output_simple_mapping.
33069         * modules/gen-uni-tables (Description): Update.
33070         * lib/unicase/toupper.h: New file, automatically generated by
33071         gen-uni-tables.
33072         * lib/unicase/tolower.h: New file, automatically generated by
33073         gen-uni-tables.
33074         * lib/unicase/totitle.h: New file, automatically generated by
33075         gen-uni-tables.
33076         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
33077         gen-uni-tables.
33078         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
33079         gen-uni-tables.
33080         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
33081         gen-uni-tables.
33082
33083         New module 'unicase/base'.
33084         * modules/unicase/base: New file.
33085         * lib/unicase.h: New file.
33086
33087 2009-02-08  Bruno Haible  <bruno@clisp.org>
33088
33089         New module 'uniwbrk/ulc-wordbreaks'.
33090         * modules/uniwbrk/ulc-wordbreaks: New file.
33091         * lib/uniwbrk/ulc-wordbreaks.c: New file.
33092
33093         New module 'uniwbrk/u32-wordbreaks'.
33094         * modules/uniwbrk/u32-wordbreaks: New file.
33095         * lib/uniwbrk/u32-wordbreaks.c: New file.
33096
33097         New module 'uniwbrk/u16-wordbreaks'.
33098         * modules/uniwbrk/u16-wordbreaks: New file.
33099         * lib/uniwbrk/u16-wordbreaks.c: New file.
33100
33101         New module 'uniwbrk/u8-wordbreaks'.
33102         * modules/uniwbrk/u8-wordbreaks: New file.
33103         * lib/uniwbrk/u8-wordbreaks.c: New file.
33104         * lib/uniwbrk/u-wordbreaks.h: New file.
33105
33106         New module 'uniwbrk/table'.
33107         * modules/uniwbrk/table: New file.
33108         * lib/uniwbrk/wbrktable.h: New file.
33109         * lib/uniwbrk/wbrktable.c: New file.
33110
33111         New module 'uniwbrk/wordbreak-property'.
33112         * modules/uniwbrk/wordbreak-property: New file.
33113         * lib/uniwbrk/wordbreak-property.c: New file.
33114
33115         * lib/gen-uni-tables.c (WBP_*): New enum items.
33116         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
33117         (unicode_org_wbp): New variable.
33118         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
33119         New functions.
33120         (wbp_table): New structure.
33121         (output_wbp, output_wbrk_tables): New functions.
33122         (main): Accept additional argument. Invoke fill_org_wbp,
33123         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
33124         output_wbrk_tables.
33125         * modules/gen-uni-tables (Description): Update.
33126         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
33127         gen-uni-tables.
33128
33129         New module 'uniwbrk/base'.
33130         * modules/uniwbrk/base: New file.
33131         * lib/uniwbrk.h: New file.
33132
33133 2009-02-08  Bruno Haible  <bruno@clisp.org>
33134
33135         Update to Unicode 5.1.0.
33136         * lib/gen-uni-tables.c (is_property_alphabetic): Include
33137         U+2185..U+2188.
33138         (is_property_default_ignorable_code_point): Don't include characters
33139         of category Cc or Cs and not-a-characters.
33140         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
33141         U+0D79, U+109E, U+109F, U+A60C.
33142         * lib/unictype/bidi_of.h: Regenerated.
33143         * lib/unictype/blocks.h: Regenerated.
33144         * lib/unictype/categ_C.h: Regenerated.
33145         * lib/unictype/categ_Cf.h: Regenerated.
33146         * lib/unictype/categ_Cn.h: Regenerated.
33147         * lib/unictype/categ_L.h: Regenerated.
33148         * lib/unictype/categ_Ll.h: Regenerated.
33149         * lib/unictype/categ_Lm.h: Regenerated.
33150         * lib/unictype/categ_Lo.h: Regenerated.
33151         * lib/unictype/categ_Lu.h: Regenerated.
33152         * lib/unictype/categ_M.h: Regenerated.
33153         * lib/unictype/categ_Mc.h: Regenerated.
33154         * lib/unictype/categ_Me.h: Regenerated.
33155         * lib/unictype/categ_Mn.h: Regenerated.
33156         * lib/unictype/categ_N.h: Regenerated.
33157         * lib/unictype/categ_Nd.h: Regenerated.
33158         * lib/unictype/categ_Nl.h: Regenerated.
33159         * lib/unictype/categ_No.h: Regenerated.
33160         * lib/unictype/categ_P.h: Regenerated.
33161         * lib/unictype/categ_Pd.h: Regenerated.
33162         * lib/unictype/categ_Pe.h: Regenerated.
33163         * lib/unictype/categ_Pf.h: Regenerated.
33164         * lib/unictype/categ_Pi.h: Regenerated.
33165         * lib/unictype/categ_Po.h: Regenerated.
33166         * lib/unictype/categ_Ps.h: Regenerated.
33167         * lib/unictype/categ_S.h: Regenerated.
33168         * lib/unictype/categ_Sk.h: Regenerated.
33169         * lib/unictype/categ_Sm.h: Regenerated.
33170         * lib/unictype/categ_So.h: Regenerated.
33171         * lib/unictype/categ_of.h: Regenerated.
33172         * lib/unictype/combining.h: Regenerated.
33173         * lib/unictype/ctype_alnum.h: Regenerated.
33174         * lib/unictype/ctype_alpha.h: Regenerated.
33175         * lib/unictype/ctype_graph.h: Regenerated.
33176         * lib/unictype/ctype_lower.h: Regenerated.
33177         * lib/unictype/ctype_print.h: Regenerated.
33178         * lib/unictype/ctype_punct.h: Regenerated.
33179         * lib/unictype/ctype_upper.h: Regenerated.
33180         * lib/unictype/decdigit.h: Regenerated.
33181         * lib/unictype/digit.h: Regenerated.
33182         * lib/unictype/mirror.h: Regenerated.
33183         * lib/unictype/numeric.h: Regenerated.
33184         * lib/unictype/pr_alphabetic.h: Regenerated.
33185         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
33186         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
33187         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
33188         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
33189         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
33190         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
33191         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
33192         * lib/unictype/pr_combining.h: Regenerated.
33193         * lib/unictype/pr_dash.h: Regenerated.
33194         * lib/unictype/pr_decimal_digit.h: Regenerated.
33195         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
33196         * lib/unictype/pr_deprecated.h: Regenerated.
33197         * lib/unictype/pr_diacritic.h: Regenerated.
33198         * lib/unictype/pr_extender.h: Regenerated.
33199         * lib/unictype/pr_format_control.h: Regenerated.
33200         * lib/unictype/pr_grapheme_base.h: Regenerated.
33201         * lib/unictype/pr_grapheme_extend.h: Regenerated.
33202         * lib/unictype/pr_grapheme_link.h: Regenerated.
33203         * lib/unictype/pr_id_continue.h: Regenerated.
33204         * lib/unictype/pr_id_start.h: Regenerated.
33205         * lib/unictype/pr_ideographic.h: Regenerated.
33206         * lib/unictype/pr_ignorable_control.h: Regenerated.
33207         * lib/unictype/pr_lowercase.h: Regenerated.
33208         * lib/unictype/pr_math.h: Regenerated.
33209         * lib/unictype/pr_numeric.h: Regenerated.
33210         * lib/unictype/pr_other_alphabetic.h: Regenerated.
33211         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
33212         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
33213         * lib/unictype/pr_other_id_continue.h: Regenerated.
33214         * lib/unictype/pr_other_lowercase.h: Regenerated.
33215         * lib/unictype/pr_other_math.h: Regenerated.
33216         * lib/unictype/pr_punctuation.h: Regenerated.
33217         * lib/unictype/pr_sentence_terminal.h: Regenerated.
33218         * lib/unictype/pr_soft_dotted.h: Regenerated.
33219         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
33220         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
33221         * lib/unictype/pr_unified_ideograph.h: Regenerated.
33222         * lib/unictype/pr_uppercase.h: Regenerated.
33223         * lib/unictype/pr_xid_continue.h: Regenerated.
33224         * lib/unictype/pr_xid_start.h: Regenerated.
33225         * lib/unictype/pr_zero_width.h: Regenerated.
33226         * lib/unictype/scripts.h: Regenerated.
33227         * lib/unictype/scripts_byname.gperf: Regenerated.
33228         * lib/unictype/sy_java_ident.h: Regenerated.
33229         * lib/unilbrk/lbrkprop1.h: Regenerated.
33230         * lib/unilbrk/lbrkprop2.h: Regenerated.
33231         * tests/unictype/test-categ_C.c: Regenerated.
33232         * tests/unictype/test-categ_Cf.c: Regenerated.
33233         * tests/unictype/test-categ_Cn.c: Regenerated.
33234         * tests/unictype/test-categ_L.c: Regenerated.
33235         * tests/unictype/test-categ_Ll.c: Regenerated.
33236         * tests/unictype/test-categ_Lm.c: Regenerated.
33237         * tests/unictype/test-categ_Lo.c: Regenerated.
33238         * tests/unictype/test-categ_Lu.c: Regenerated.
33239         * tests/unictype/test-categ_M.c: Regenerated.
33240         * tests/unictype/test-categ_Mc.c: Regenerated.
33241         * tests/unictype/test-categ_Me.c: Regenerated.
33242         * tests/unictype/test-categ_Mn.c: Regenerated.
33243         * tests/unictype/test-categ_N.c: Regenerated.
33244         * tests/unictype/test-categ_Nd.c: Regenerated.
33245         * tests/unictype/test-categ_Nl.c: Regenerated.
33246         * tests/unictype/test-categ_No.c: Regenerated.
33247         * tests/unictype/test-categ_P.c: Regenerated.
33248         * tests/unictype/test-categ_Pd.c: Regenerated.
33249         * tests/unictype/test-categ_Pe.c: Regenerated.
33250         * tests/unictype/test-categ_Pf.c: Regenerated.
33251         * tests/unictype/test-categ_Pi.c: Regenerated.
33252         * tests/unictype/test-categ_Po.c: Regenerated.
33253         * tests/unictype/test-categ_Ps.c: Regenerated.
33254         * tests/unictype/test-categ_S.c: Regenerated.
33255         * tests/unictype/test-categ_Sk.c: Regenerated.
33256         * tests/unictype/test-categ_Sm.c: Regenerated.
33257         * tests/unictype/test-categ_So.c: Regenerated.
33258         * tests/unictype/test-ctype_alnum.c: Regenerated.
33259         * tests/unictype/test-ctype_alpha.c: Regenerated.
33260         * tests/unictype/test-ctype_graph.c: Regenerated.
33261         * tests/unictype/test-ctype_lower.c: Regenerated.
33262         * tests/unictype/test-ctype_print.c: Regenerated.
33263         * tests/unictype/test-ctype_punct.c: Regenerated.
33264         * tests/unictype/test-ctype_upper.c: Regenerated.
33265         * tests/unictype/test-decdigit.h: Regenerated.
33266         * tests/unictype/test-digit.h: Regenerated.
33267         * tests/unictype/test-numeric.h: Regenerated.
33268         * tests/unictype/test-pr_alphabetic.c: Regenerated.
33269         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
33270         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
33271         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
33272         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
33273         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
33274         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
33275         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
33276         * tests/unictype/test-pr_combining.c: Regenerated.
33277         * tests/unictype/test-pr_dash.c: Regenerated.
33278         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
33279         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
33280         * tests/unictype/test-pr_deprecated.c: Regenerated.
33281         * tests/unictype/test-pr_diacritic.c: Regenerated.
33282         * tests/unictype/test-pr_extender.c: Regenerated.
33283         * tests/unictype/test-pr_format_control.c: Regenerated.
33284         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
33285         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
33286         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
33287         * tests/unictype/test-pr_id_continue.c: Regenerated.
33288         * tests/unictype/test-pr_id_start.c: Regenerated.
33289         * tests/unictype/test-pr_ideographic.c: Regenerated.
33290         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
33291         * tests/unictype/test-pr_lowercase.c: Regenerated.
33292         * tests/unictype/test-pr_math.c: Regenerated.
33293         * tests/unictype/test-pr_numeric.c: Regenerated.
33294         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
33295         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
33296         Regenerated.
33297         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
33298         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
33299         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
33300         * tests/unictype/test-pr_other_math.c: Regenerated.
33301         * tests/unictype/test-pr_punctuation.c: Regenerated.
33302         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
33303         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
33304         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
33305         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
33306         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
33307         * tests/unictype/test-pr_uppercase.c: Regenerated.
33308         * tests/unictype/test-pr_xid_continue.c: Regenerated.
33309         * tests/unictype/test-pr_xid_start.c: Regenerated.
33310         * tests/unictype/test-pr_zero_width.c: Regenerated.
33311
33312         Update to Unicode 5.1.0.
33313         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
33314         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
33315         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
33316         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
33317         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
33318         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
33319         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
33320         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
33321         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
33322         (nonspacing_table_ind): Update.
33323         * tests/uniwidth/test-uc_width2.sh: Update expected result.
33324
33325         Update to Unicode 5.1.0.
33326         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
33327         code transform.
33328         * lib/uniname/uniname.c (unicode_character_name,
33329         unicode_name_character): Add the range 0x1Fxxx to the code transform.
33330         * lib/uniname/uninames.h: Regenerated.
33331         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
33332
33333 2009-02-07  Bruno Haible  <bruno@clisp.org>
33334
33335         Merge gen-ctype and gen-lbrk into a single program.
33336         * lib/gen-uni-tables.c: New file, incorporating
33337         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
33338         Add directory prefixes to the names of the generated files.
33339         * lib/unictype/gen-ctype.c: Remove file.
33340         * lib/unilbrk/gen-lbrk.c: Remove file.
33341         * modules/gen-uni-tables: New file.
33342         * modules/unictype/gen-ctype: Remove file.
33343         * modules/unilbrk/gen-lbrk: Remove file.
33344
33345 2009-02-07  Bruno Haible  <bruno@clisp.org>
33346
33347         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
33348
33349         New module 'unistr/u32-strcoll'.
33350         * modules/unistr/u32-strcoll: New file.
33351         * lib/unistr/u32-strcoll.c: New file.
33352
33353         New module 'unistr/u16-strcoll'.
33354         * modules/unistr/u16-strcoll: New file.
33355         * lib/unistr/u16-strcoll.c: New file.
33356
33357         New module 'unistr/u8-strcoll'.
33358         * modules/unistr/u8-strcoll: New file.
33359         * lib/unistr/u8-strcoll.c: New file.
33360         * lib/unistr/u-strcoll.h: New file.
33361
33362 2009-02-07  Bruno Haible  <bruno@clisp.org>
33363
33364         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
33365         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
33366         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
33367         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
33368         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
33369         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
33370
33371 2009-02-07  Bruno Haible  <bruno@clisp.org>
33372
33373         Make 64-bit clean.
33374         * lib/unictype/gen-ctype.c (output_predicate, output_category,
33375         output_combclass, output_bidi_category, output_decimal_digit,
33376         output_digit, output_numeric, output_mirror, output_scripts,
33377         output_ident_category): Use proper width specifier in format strings.
33378
33379 2009-02-07  Bruno Haible  <bruno@clisp.org>
33380
33381         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
33382         failure behaviour.
33383
33384 2009-02-07  Jim Meyering  <meyering@redhat.com>
33385
33386         regex: avoid compilation failure with upcoming gcc-4.4
33387         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
33388         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
33389         "... error: integer overflow in preprocessor expression".
33390
33391 2009-02-05  Ben Pfaff  <blp@gnu.org>
33392
33393         Fix link errors on Windows when close module is used.
33394         * modules/close: Add $(LIB_CLOSE) to Link section.
33395         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
33396         $(LIB_CLOSE) on Windows.
33397
33398 2009-02-05  Jim Meyering  <meyering@redhat.com>
33399
33400         still avoid unused-parameter warnings, but do it cleanly
33401         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
33402         (get_fs_usage): Cast to void instead.
33403         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
33404         (dev_from_mount_options, read_file_system_list): Cast to void.
33405         Prompted by Bruno Haible.
33406
33407 2009-02-04  Jim Meyering  <meyering@redhat.com>
33408
33409         fsusage.c: correct copyright year
33410         * lib/fsusage.c: Reflect year in which the change is pushed into
33411
33412         avoid misc. warnings
33413         * lib/fsusage.c (UNUSED_PARAM): Define.
33414         (get_fs_usage): Mark parameter "disk" as unused.
33415         * lib/getugroups.c (getgrent): Use "void" in prototype.
33416         * lib/mountlist.c: Mark unused parameters.
33417         (read_file_system_list): Declare a local with "const".
33418         * lib/nanosleep.c (getnow): Declare static.
33419         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
33420
33421         dirfd: set errno upon failure
33422         * lib/dirfd.c: Include <errno.h>.
33423         Set errno to ENOTSUP when returning -1.
33424         * modules/dirfd (Depends-on): Add errno.
33425         Suggested by John Kodis <kodis@comcast.net>.
33426
33427 2009-02-01  Bruno Haible  <bruno@clisp.org>
33428
33429         Don't assume sizeof (long) >= sizeof (void *).
33430         * lib/memcmp.c: Include stdint.h.
33431         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
33432         srcp2 to 'const byte *'.
33433         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
33434         types to uintptr_t.
33435         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
33436         * modules/memcmp (Depends-on): Add stdint.
33437         Reported by Ozkan Sezer <sezeroz@gmail.com>.
33438
33439 2009-01-30  Eric Blake  <ebb9@byu.net>
33440
33441         fix more require-before-expand issues
33442         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
33443         expand, AC_PROG_AWK.
33444         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
33445
33446 2009-01-28  Eric Blake  <ebb9@byu.net>
33447
33448         version-etc: use consistent URL formatting
33449         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
33450         Improve formatting.  Use fputs for string without %.
33451
33452 2009-01-28  Jim Meyering  <meyering@redhat.com>
33453
33454         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
33455         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
33456         "underquoted definition of NAME" from autoconf-2.59.
33457
33458 2009-01-28  Bruno Haible  <bruno@clisp.org>
33459
33460         * doc/gnulib.texi: Add "Obsolete modules" to index.
33461
33462 2009-01-28  Jim Meyering  <meyering@redhat.com>
33463
33464         useless-if-before-free: recognize more variants
33465         * build-aux/useless-if-before-free: Also recognize e.g.,
33466         if (NULL != p) free (p);
33467
33468 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
33469
33470         test-getaddrinfo: skip (don't fail) this test when there's no network
33471         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
33472         on the presumption that it means you lack network access.
33473
33474 2009-01-26  Jim Meyering  <meyering@redhat.com>
33475
33476         fflush: avoid warnings on modern systems
33477         * lib/fflush.c (rpl_fflush): Move declarations of locals,
33478         pos and result, into scopes where they're used.
33479
33480 2009-01-26  Eric Blake  <ebb9@byu.net>
33481
33482         Silence warning reintroduced by recent extensions patch.
33483         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
33484         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
33485         autoconf.
33486
33487         Backport improved autoconf semantics of AC_DEFUN_ONCE.
33488         * m4/00gnulib.m4: New file.
33489         * gnulib-tool (func_get_filelist): Always use it.
33490         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
33491         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
33492
33493 2009-01-25  Bruno Haible  <bruno@clisp.org>
33494
33495         Make test-quotearg work on MacOS X and AIX.
33496         * tests/test-quotearg.sh: New file.
33497         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
33498         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
33499         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
33500         include <libintl.h>.
33501         (fake_locale): Remove variable.
33502         (gettext, dgettext, dcgettext): Remove functions.
33503         (main): Instead of setting a fake locale, set a real locale. Call
33504         textdomain and bindtextdomain.
33505         * modules/quotearg-tests (Files): Add the new files.
33506         (Depends-on): Add gettext, setenv, unsetenv.
33507         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
33508         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
33509         Augment TESTS_ENVIRONMENT.
33510
33511 2009-01-25  Bruno Haible  <bruno@clisp.org>
33512
33513         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
33514         fr_FR.ISO8859-1 locale on MacOS X.
33515         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
33516         ja_JP.eucJP locale on MacOS X.
33517         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
33518         zh_CN.GB18030 locale on MacOS X.
33519
33520 2009-01-25  Bruno Haible  <bruno@clisp.org>
33521
33522         Avoid link errors on MacOS X 10.3.
33523         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
33524         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
33525
33526 2009-01-25  Bruno Haible  <bruno@clisp.org>
33527
33528         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
33529         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
33530         * modules/pipe (Files): Remove m4/posix_spawn.m4.
33531         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
33532         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
33533         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
33534         posix_spawnattr_init, posix_spawnattr_setsigmask,
33535         posix_spawnattr_setflags, posix_spawnattr_destroy.
33536
33537         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
33538         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
33539         * modules/execute (Files): Remove m4/posix_spawn.m4.
33540         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
33541         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
33542         posix_spawnattr_init, posix_spawnattr_setsigmask,
33543         posix_spawnattr_setflags, posix_spawnattr_destroy.
33544
33545 2009-01-25  Bruno Haible  <bruno@clisp.org>
33546
33547         * lib/glthread/threadlib.c: Include <stdlib.h>.
33548
33549 2009-01-25  Bruno Haible  <bruno@clisp.org>
33550
33551         * lib/glthread/threadlib.c (dummy): New declaration.
33552
33553 2009-01-25  Bruno Haible  <bruno@clisp.org>
33554
33555         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
33556         multibyte characters also for the GB18030 encoding. Don't crash when
33557         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
33558
33559 2009-01-25  Bruno Haible  <bruno@clisp.org>
33560
33561         Avoid redefining 'struct random_data' on OSF/1 5.1.
33562         * lib/stdlib.in.h: Include <random.h> if it exists.
33563         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
33564         HAVE_RANDOM_H. Include <random.h> when testing whether
33565         'struct random_data' exists.
33566         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
33567
33568 2009-01-25  Bruno Haible  <bruno@clisp.org>
33569
33570         Don't install charset.alias on MacOS X >= 10.3.
33571         * lib/localcharset.c (DARWIN7): New macro.
33572         (get_charset_aliases): Hardcode the result for Darwin7.
33573         * modules/localcharset (install-exec-local): Don't install
33574         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
33575
33576 2009-01-25  Bruno Haible  <bruno@clisp.org>
33577
33578         Don't install charset.alias on mingw and Cygwin.
33579         * modules/localcharset (install-exec-local): Don't install
33580         charset.alias on mingw and Cygwin, if the file does not yet exist.
33581         The result for these platforms is hardcoded in localcharset.c.
33582
33583 2009-01-25  Bruno Haible  <bruno@clisp.org>
33584
33585         Make it possible again to use AC_GNU_SOURCE together with gnulib.
33586         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
33587         before requiring AC_USE_SYSTEM_EXTENSIONS.
33588
33589 2009-01-25  Jim Meyering  <meyering@redhat.com>
33590
33591         c-strtod: avoid warnings
33592         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
33593         "assignment discards qualifiers from pointer target type" warnings.
33594
33595 2009-01-24  Bruno Haible  <bruno@clisp.org>
33596
33597         Add support for non-UTF-8 locales on MacOS X.
33598         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
33599         canonical encodings. For Darwin 7 and newer, don't map traditional
33600         encodings to UTF-8.
33601         Reported by Vincent Lefevre <vincent@vinc17.org>
33602         at <http://savannah.gnu.org/bugs/?25235>.
33603
33604 2009-01-24  Bruno Haible  <bruno@clisp.org>
33605
33606         * doc/gnulib.texi (Obsolete modules): New section.
33607         Reported by Mike Frysinger <vapier@gentoo.org>.
33608
33609 2009-01-24  Bruno Haible  <bruno@clisp.org>
33610
33611         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
33612         (%.dvi): New rule.
33613
33614 2009-01-24  Bruno Haible  <bruno@clisp.org>
33615
33616         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
33617         Reported by Eric Blake.
33618
33619 2009-01-24  Bruno Haible  <bruno@clisp.org>
33620
33621         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
33622         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
33623         Reported by Gary V. Vaughan <gary@gnu.org>.
33624
33625 2009-01-24  Bruno Haible  <bruno@clisp.org>
33626
33627         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
33628
33629 2009-01-23  Bruno Haible  <bruno@clisp.org>
33630
33631         Make c-strtod, c-strtold usable in libraries.
33632         * lib/c-strtod.c: Include string.h instead of xalloc.h.
33633         (C_STRTOD): Call strdup instead of xstrdup.
33634         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
33635         * modules/c-strtold (Depends-on): Likewise.
33636         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
33637         * NEWS: Mention the change.
33638         Reported by Michael Gold <mgold@ncf.ca>.
33639
33640 2009-01-23  Jim Meyering  <meyering@redhat.com>
33641
33642         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
33643         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
33644         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
33645
33646 2009-01-23  Simon Josefsson  <simon@josefsson.org>
33647
33648         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
33649         GNU CoreUtils.
33650         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
33651         * modules/version-etc (Description): Update.
33652
33653 2009-01-22  Bruno Haible  <bruno@clisp.org>
33654
33655         Cache the C locale object.
33656         * lib/c-strtod.c (c_locale_cache): New variable.
33657         (c_locale): New function.
33658         (C_STRTOD): Use it, and don't call freelocale.
33659         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
33660         Suggested by Paolo Bonzini.
33661
33662 2009-01-21  Bruno Haible  <bruno@clisp.org>
33663
33664         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
33665         conditions other than overflow.
33666
33667 2009-01-21  Bruno Haible  <bruno@clisp.org>
33668
33669         * lib/c-strtod.c: Include errno.h.
33670         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
33671         value from STRTOD_L and STRTOD.
33672
33673 2009-01-21  Bruno Haible  <bruno@clisp.org>
33674         and Jim Meyering  <meyering@redhat.com>
33675
33676         nanosleep: skip configure test (fail it) for apple universal builds
33677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
33678         universal builds, assume that nanosleep does not work.
33679         * modules/nanosleep (Depends-on): Add multiarch.
33680
33681         mktime: skip configure test (fail it) for apple universal builds
33682         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
33683         universal builds, assume that mktime does not work.
33684         * modules/mktime (Depends-on): Add multiarch.
33685
33686 2009-01-21  Eric Blake  <ebb9@byu.net>
33687
33688         multiarch: avoid expand-before-require warning
33689         * modules/multiarch (configure.ac): Require, rather than expand,
33690         gl_MULTIARCH.
33691         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
33692         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
33693         enforce that all clients require it.  Partial reversion of
33694         2008-12-29 patch.
33695
33696         error: avoid expand-before-require warning
33697         * modules/errno (configure.ac): Require, rather than expand,
33698         gl_HEADER_ERRNO_H.
33699         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
33700         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
33701         enforce that all clients require it.
33702
33703         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
33704         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
33705         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
33706         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
33707
33708 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
33709
33710         Revert:
33711         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
33712
33713         regex: do not depend on obsolete modules.
33714         * modules/regex: Remove memcmp and memmove.
33715
33716 2009-01-20  Bruno Haible  <bruno@clisp.org>
33717
33718         Make the 'link' module link on Windows NT 4.
33719         * lib/link.c (_WIN32_WINNT): Don't define.
33720         (CreateHardLinkFuncType): New type.
33721         (CreateHardLinkFunc, initialized): New variables.
33722         (initialize): New function.
33723         (link): Invoke CreateHardLink indirectly through the function pointer.
33724
33725 2009-01-20  Bruno Haible  <bruno@clisp.org>
33726
33727         Fix compilation failure on mingw.
33728         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
33729
33730 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
33731
33732         * doc/c-strtod.texi: Mention a couple of restrictions.
33733
33734 2009-01-20  Jim Meyering  <meyering@redhat.com>
33735
33736         gettimeofday: move more declarations out of functions
33737         * lib/gettimeofday.c: Move extern declarations of tzset and
33738         gmtime out of containing functions.  Prompted by Bruno Haible.
33739
33740 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
33741
33742         regex: do not depend on obsolete modules.
33743         * modules/regex: Remove memcmp and memmove.
33744
33745 2009-01-19  Bruno Haible  <bruno@clisp.org>
33746
33747         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
33748         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
33749         gl_BIGENDIAN, not AC_C_BIGENDIAN.
33750         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
33751         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
33752
33753 2009-01-19  Bruno Haible  <bruno@clisp.org>
33754
33755         * tests/test-link.c: Include <errno.h>.
33756         (main): Exit with code 77 when a hard link cannot be created due to
33757         the file system.
33758         * tests/test-link.sh: Skip test when a hard link cannot be created due
33759         to the file system.
33760         Suggested by Eric Blake.
33761
33762 2009-01-19  Martin Lambers  <marlam@marlam.de>
33763
33764         * modules/link-tests: New file.
33765         * tests/test-link.sh: New file.
33766         * tests/test-link.c: New file.
33767
33768 2009-01-19  Eric Blake  <ebb9@byu.net>
33769
33770         doc: mention another function added in cygwin 1.7.0
33771         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
33772         Another new function in cygwin 1.7.
33773
33774 2009-01-19  Bruno Haible  <bruno@clisp.org>
33775
33776         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
33777         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
33778         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
33779         gl_BIGENDIAN, not AC_C_BIGENDIAN.
33780         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
33781         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
33782         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
33783         * m4/md4.m4 (gl_MD4): Likewise.
33784         * m4/md5.m4 (gl_MD5): Likewise.
33785         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
33786         * m4/sha1.m4 (gl_SHA1): Likewise.
33787         * m4/sha256.m4 (gl_SHA256): Likewise.
33788         * m4/sha512.m4 (gl_SHA512): Likewise.
33789
33790 2009-01-19  Bruno Haible  <bruno@clisp.org>
33791
33792         * modules/uniname/uniname-tests (Depends-on): Add progname.
33793         * tests/uniname/test-uninames.c: Include progname.h.
33794         (main): Call set_program_name.
33795
33796         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
33797         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
33798         (main): Call set_program_name.
33799
33800         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
33801         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
33802         (main): Call set_program_name.
33803
33804         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
33805         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
33806         (main): Call set_program_name.
33807
33808         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
33809         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
33810         (main): Call set_program_name.
33811
33812         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
33813         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
33814         (main): Call set_program_name.
33815
33816         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
33817         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
33818         (main): Call set_program_name.
33819
33820         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
33821         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
33822         (main): Call set_program_name.
33823
33824         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
33825         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
33826         (main): Call set_program_name.
33827
33828 2009-01-19  Eric Blake  <ebb9@byu.net>
33829
33830         test-unistd: test previous patch
33831         * tests/test-unistd.c: Test *_FILENO macros.
33832
33833         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
33834         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
33835         Guarantee a definition.
33836         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
33837         * modules/unistd-safer (Depends-on): Add dependency on unistd.
33838         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
33839         * lib/dup-safer.c (STDERR_FILENO): Likewise.
33840         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
33841         Likewise.
33842         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
33843         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
33844         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
33845         Likewise.
33846         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
33847         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
33848         (STDERR_FILENO): Likewise.
33849         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
33850         (STDERR_FILENO): Likewise.
33851         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
33852         (STDERR_FILENO): Likewise.
33853         Reported by Elbert Pol.
33854
33855 2009-01-19  Eric Blake  <ebb9@byu.net>
33856
33857         doc: mention more functions added in cygwin 1.7.0
33858         * doc/posix-functions/abort.texi (abort): Update wording related
33859         to cygwin.
33860         * doc/posix-functions/daylight.texi (daylight): Likewise.
33861         * doc/posix-functions/optarg.texi (optarg): Likewise.
33862         * doc/posix-functions/optarg.texi (opterr): Likewise.
33863         * doc/posix-functions/optarg.texi (optind): Likewise.
33864         * doc/posix-functions/optarg.texi (optopt): Likewise.
33865         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
33866         worked in 1.5.x, and was withdrawn in 1.7.
33867         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
33868         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
33869         cygwin versions.
33870         * doc/posix-functions/perror.texi (perror): Likewise.
33871         * doc/posix-functions/printf.texi (printf): Likewise.
33872         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
33873         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
33874         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
33875         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
33876         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
33877         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
33878         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
33879         Likewise.
33880         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
33881         Likewise.
33882         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
33883         this function.
33884         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
33885         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
33886         Likewise.
33887         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
33888         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
33889         * doc/posix-functions/confstr.texi (confstr): Likewise.
33890         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
33891         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
33892         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
33893         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
33894         * doc/posix-functions/fputws.texi (fputws): Likewise.
33895         * doc/posix-functions/fwide.texi (fwide): Likewise.
33896         * doc/posix-functions/getwc.texi (getwc): Likewise.
33897         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
33898         * doc/posix-functions/putwc.texi (putwc): Likewise.
33899         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
33900         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
33901         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
33902         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
33903         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
33904         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
33905         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
33906         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
33907         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
33908         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
33909         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
33910
33911 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
33912
33913         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
33914         * lib/ioctl.c: Include <sys/ioctl.h>.
33915
33916 2009-01-19  Simon Josefsson  <simon@josefsson.org>
33917
33918         * modules/getdate-tests (Depends-on): Add progname.
33919         * tests/test-getdate.c: Use progname module, to avoid link errors
33920         on non-glibc systems.
33921
33922 2009-01-18  Simon Josefsson  <simon@josefsson.org>
33923
33924         * modules/filenamecat-tests (Depends-on): Add progname.
33925         * modules/fstrcmp-tests (Depends-on): Likewise.
33926
33927         * tests/test-filenamecat.c: Use progname module, to avoid link
33928         errors on non-glibc systems.
33929         * tests/test-fstrcmp.c: Likewise.
33930
33931 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
33932
33933         gettimeofday: avoid warning: nested extern declaration of 'localtime'
33934         * lib/gettimeofday.c: Move extern declaration out of function.
33935
33936 2009-01-18  Bruno Haible  <bruno@clisp.org>
33937
33938         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
33939         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
33940         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
33941
33942 2009-01-18  Bruno Haible  <bruno@clisp.org>
33943
33944         * lib/strftime.c (MEMPCPY): Remove unused macro.
33945         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
33946
33947 2009-01-18  Martin Lambers  <marlam@marlam.de>
33948
33949         New module 'link'.
33950         * lib/unistd.in.h (link): New declaration.
33951         * lib/link.c: New file.
33952         * m4/link.m4: New file.
33953         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
33954         HAVE_LINK.
33955         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
33956         * modules/link: New file.
33957         * doc/posix-functions/link.texi: Mention the new module.
33958
33959 2009-01-18  Bruno Haible  <bruno@clisp.org>
33960
33961         * tests/test-avltree_list.c (main): Call set_program_name.
33962         * tests/test-avltree_oset.c (main): Likewise.
33963         * tests/test-obstack-printf.c: Include progname.h.
33964         (main): Call set_program_name.
33965         * tests/test-quotearg.c: Include progname.h.
33966         (main): Call set_program_name.
33967         * tests/test-xmemdup0.c: Include progname.h.
33968         (main): Call set_program_name.
33969
33970 2009-01-18  Bruno Haible  <bruno@clisp.org>
33971
33972         New module 'alphasort'.
33973         * lib/dirent.in.h (alphasort): New declaration.
33974         * lib/alphasort.c: New file, from glibc with modifications.
33975         * m4/alphasort.m4: New file.
33976         * modules/alphasort: New file.
33977         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
33978         HAVE_ALPHASORT.
33979         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
33980         HAVE_ALPHASORT.
33981         * doc/posix-functions/alphasort.texi: Mention the new module and the
33982         portability problems.
33983
33984 2009-01-18  Bruno Haible  <bruno@clisp.org>
33985
33986         New module 'scandir'.
33987         * lib/dirent.in.h (scandir): New declaration.
33988         * lib/scandir.c: New file, from glibc with modifications.
33989         * m4/scandir.m4: New file.
33990         * modules/scandir: New file.
33991         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
33992         HAVE_SCANDIR.
33993         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
33994         HAVE_SCANDIR.
33995         * doc/posix-functions/scandir.texi: Mention the new module and the
33996         portability problems.
33997
33998 2009-01-17  Bruno Haible  <bruno@clisp.org>
33999
34000         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
34001         Update documentation.
34002         (func_remove_suffix): Escape all dots in the suffix. Update
34003         documentation.
34004         (func_filter_filelist): Update documentation.
34005         Reported by Ralf Wildenhues.
34006
34007 2009-01-17  Bruno Haible  <bruno@clisp.org>
34008
34009         * modules/dprintf-posix-tests: New file.
34010         * tests/test-dprintf-posix.sh: New file.
34011         * tests/test-dprintf-posix.c: New file.
34012
34013         New modules 'dprintf', 'dprintf-posix'.
34014         * lib/stdio.in.h (dprintf): New declaration.
34015         * lib/dprintf.c: New file.
34016         * m4/dprintf.m4: New file.
34017         * m4/dprintf-posix.m4: New file.
34018         * modules/dprintf: New file.
34019         * modules/dprintf-posix: New file.
34020         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
34021         HAVE_DPRINTF, REPLACE_DPRINTF.
34022         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
34023         HAVE_DPRINTF, REPLACE_DPRINTF.
34024         * doc/posix-functions/dprintf.texi: Mention the new modules.
34025
34026 2009-01-17  Bruno Haible  <bruno@clisp.org>
34027
34028         * modules/vdprintf-posix-tests: New file.
34029         * tests/test-vdprintf-posix.sh: New file.
34030         * tests/test-vdprintf-posix.c: New file.
34031
34032         New modules 'vdprintf', 'vdprintf-posix'.
34033         * lib/stdio.in.h (vdprintf): New declaration.
34034         * lib/vdprintf.c: New file.
34035         * m4/vdprintf.m4: New file.
34036         * m4/vdprintf-posix.m4: New file.
34037         * modules/vdprintf: New file.
34038         * modules/vdprintf-posix: New file.
34039         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
34040         HAVE_VDPRINTF, REPLACE_VDPRINTF.
34041         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
34042         HAVE_VDPRINTF, REPLACE_VDPRINTF.
34043         * doc/posix-functions/vdprintf.texi: Mention the new modules.
34044
34045 2009-01-17  Bruno Haible  <bruno@clisp.org>
34046
34047         Fix replacement of fopen on mingw.
34048         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
34049         mingw.
34050
34051 2009-01-17  Bruno Haible  <bruno@clisp.org>
34052
34053         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
34054         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
34055
34056 2009-01-17  Bruno Haible  <bruno@clisp.org>
34057
34058         Avoid test-fflush2.sh failure on mingw.
34059         * tests/test-fflush2.c: Include binary-io.h.
34060         (main): Put standard input into binary mode.
34061         * modules/fflush-tests (Depends-on): Add binary-io.
34062
34063 2009-01-17  Bruno Haible  <bruno@clisp.org>
34064
34065         * lib/wchar.in.h: In another particular situation, include only the
34066         system's <wchar.h> file.
34067         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
34068         Reported by Albert Chin-A-Young <china@thewrittenword.com>
34069         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
34070
34071 2009-01-17  Bruno Haible  <bruno@clisp.org>
34072
34073         Support for stripping executables in --enable-relocatable.
34074         * build-aux/install-reloc: Expect one more argument, or an environment
34075         variable RELOC_STRIP_PROG. If set, strip the destination program and
34076         its wrapper.
34077         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
34078         RELOC_STRIP_PROG.
34079         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
34080         to set RELOCATABLE_STRIP.
34081         * NEWS: Mention the new Makefile requirement.
34082
34083 2009-01-17  Bruno Haible  <bruno@clisp.org>
34084
34085         * build-aux/install-reloc: Remove debugging information left over by
34086         C compiler on MacOS X.
34087
34088 2009-01-17  Bruno Haible  <bruno@clisp.org>
34089
34090         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
34091         * lib/progreloc.c (find_executable): Fix type of pointer passed to
34092         _NSGetExecutablePath.
34093
34094 2009-01-16  Jim Meyering  <meyering@redhat.com>
34095
34096         strerror: avoid warnings about discarding "const"
34097         * lib/strerror.c (rpl_strerror): Instead of returning a const
34098         string from each and every "case", use a variable, and add a single
34099         cast after the switch.
34100
34101 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
34102
34103         * lib/arpa_inet.in.h: Add extern "C" block for C++.
34104
34105 2009-01-16  Bruno Haible  <bruno@clisp.org>
34106
34107         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
34108         array initializer syntax that also works in C++ mode.
34109         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34110
34111 2009-01-16  Jim Meyering  <meyering@redhat.com>
34112
34113         poll: suppress a warning
34114         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
34115         to ignore "...unsigned expression < 0 is always false" warnings.
34116
34117 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
34118
34119         poll: remove declarations of unused variables
34120         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
34121         sockbuf and optlen.
34122
34123 2009-01-15  Bruno Haible  <bruno@clisp.org>
34124
34125         Make fflush-after-ungetc POSIX compliant on BSD systems.
34126         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
34127         (clear_ungetc_buffer): Implement also for other systems.
34128         (rpl_fflush): On glibc systems, invoke
34129         clear_ungetc_buffer_preserving_position. Otherwise, invoke
34130         clear_ungetc_buffer after fetching the stream's position, not before.
34131
34132 2009-01-15  Bruno Haible  <bruno@clisp.org>
34133
34134         Make fflush-after-ungetc POSIX compliant on glibc systems.
34135         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
34136         after ungetc.
34137         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
34138         (rpl_fflush): On glibc systems, simply call the system's fflush
34139         function after clearing the ungetc buffer.
34140         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
34141         Instead, lseek only to the end of file, then use the system's fseeko
34142         for the rest. On glibc systems, reset the EOF indicator bit.
34143
34144 2009-01-15  Jim Meyering  <meyering@redhat.com>
34145
34146         openmp.m4: revert quote-adding change, for portability to older autoconf
34147         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
34148         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
34149         Simon Josefsson noticed the problem when using autoconf-2.61.
34150
34151 2009-01-15  Bruno Haible  <bruno@clisp.org>
34152
34153         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
34154         * tests/test-fflush2.c (ASSERT): Always fail.
34155         (main): Add two tests for fflush() after ungetc(), taking into account
34156         the Austin Group's clarification.
34157         Suggested by Eric Blake.
34158
34159 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
34160
34161         mktime.m4: remove K&R-style function prototypes
34162         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
34163         for the Sun C++ compiler.
34164
34165 2009-01-14  Bruno Haible  <bruno@clisp.org>
34166
34167         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
34168         while including <wchar.h>.
34169         * lib/wchar.in.h: In two particular situations on HP-UX, include only
34170         the system's <wchar.h> file.
34171         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34172
34173 2009-01-14  Bruno Haible  <bruno@clisp.org>
34174
34175         * m4/csharp.m4: Don't mention gettext on the serial number line.
34176         * m4/csharpexec.m4: Likewise.
34177         * m4/eaccess.m4: Likewise.
34178         * m4/javaexec.m4: Likewise.
34179         * m4/sig_atomic_t.m4: Likewise.
34180         * m4/tmpdir.m4: Likewise.
34181         * m4/intldir.m4: Bump gettext version.
34182         * m4/lib-ld.m4: Likewise.
34183
34184 2009-01-14  Bruno Haible  <bruno@clisp.org>
34185
34186         * lib/progname.c (set_program_name): Add more comments.
34187         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34188
34189 2009-01-14  Simon Josefsson  <simon@josefsson.org>
34190
34191         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
34192         were sys/stat.h does not define it.
34193
34194 2009-01-14  Jim Meyering  <meyering@redhat.com>
34195
34196         many *.m4 files: improve m4 quoting
34197         99% of this change was performed by running the following commands:
34198         git ls-files | grep '\.m4$' | xargs perl -pi \
34199           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
34200           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
34201           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
34202           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
34203         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
34204         The remainder were to add Copyright dates, increment serial numbers,
34205         undo some changes in comments, exclude m4/intl.m4, and add quotes
34206         around the "1" in ",1" where the unusual spacing prohibited the
34207         above regexps from doing the job.  For more details, see
34208         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
34209         * m4/acl.m4: Modified.
34210         * m4/afs.m4: Likewise.
34211         * m4/alloca.m4: Likewise.
34212         * m4/argp.m4: Likewise.
34213         * m4/argz.m4: Likewise.
34214         * m4/atexit.m4: Likewise.
34215         * m4/bison-i18n.m4: Likewise.
34216         * m4/bison.m4: Likewise.
34217         * m4/byteswap.m4: Likewise.
34218         * m4/c-stack.m4: Likewise.
34219         * m4/c-strtod.m4: Likewise.
34220         * m4/calloc.m4: Likewise.
34221         * m4/canonicalize-lgpl.m4: Likewise.
34222         * m4/chown.m4: Likewise.
34223         * m4/clock_time.m4: Likewise.
34224         * m4/codeset.m4: Likewise.
34225         * m4/copy-file.m4: Likewise.
34226         * m4/csharp.m4: Likewise.
34227         * m4/csharpcomp.m4: Likewise.
34228         * m4/csharpexec.m4: Likewise.
34229         * m4/d-ino.m4: Likewise.
34230         * m4/d-type.m4: Likewise.
34231         * m4/dirfd.m4: Likewise.
34232         * m4/double-slash-root.m4: Likewise.
34233         * m4/eaccess.m4: Likewise.
34234         * m4/eealloc.m4: Likewise.
34235         * m4/environ.m4: Likewise.
34236         * m4/errno_h.m4: Likewise.
34237         * m4/euidaccess.m4: Likewise.
34238         * m4/execute.m4: Likewise.
34239         * m4/fatal-signal.m4: Likewise.
34240         * m4/fchdir.m4: Likewise.
34241         * m4/fcntl_h.m4: Likewise.
34242         * m4/fileblocks.m4: Likewise.
34243         * m4/filenamecat.m4: Likewise.
34244         * m4/findprog.m4: Likewise.
34245         * m4/flexmember.m4: Likewise.
34246         * m4/fnmatch.m4: Likewise.
34247         * m4/fopen.m4: Likewise.
34248         * m4/fpending.m4: Likewise.
34249         * m4/fprintf-posix.m4: Likewise.
34250         * m4/free.m4: Likewise.
34251         * m4/frexp.m4: Likewise.
34252         * m4/frexpl.m4: Likewise.
34253         * m4/fsusage.m4: Likewise.
34254         * m4/ftruncate.m4: Likewise.
34255         * m4/gc-camellia.m4: Likewise.
34256         * m4/gc-random.m4: Likewise.
34257         * m4/gc.m4: Likewise.
34258         * m4/getaddrinfo.m4: Likewise.
34259         * m4/getcwd-abort-bug.m4: Likewise.
34260         * m4/getcwd-path-max.m4: Likewise.
34261         * m4/getdate.m4: Likewise.
34262         * m4/getdomainname.m4: Likewise.
34263         * m4/getgroups.m4: Likewise.
34264         * m4/gethostname.m4: Likewise.
34265         * m4/gethrxtime.m4: Likewise.
34266         * m4/getline.m4: Likewise.
34267         * m4/getloadavg.m4: Likewise.
34268         * m4/getndelim2.m4: Likewise.
34269         * m4/getpass.m4: Likewise.
34270         * m4/gettext.m4: Likewise.
34271         * m4/gettime.m4: Likewise.
34272         * m4/gettimeofday.m4: Likewise.
34273         * m4/gnulib-common.m4: Likewise.
34274         * m4/group-member.m4: Likewise.
34275         * m4/host-os.m4: Likewise.
34276         * m4/iconv.m4: Likewise.
34277         * m4/iconv_open.m4: Likewise.
34278         * m4/inet_ntop.m4: Likewise.
34279         * m4/inet_pton.m4: Likewise.
34280         * m4/inline.m4: Likewise.
34281         * m4/intldir.m4: Likewise.
34282         * m4/intlmacosx.m4: Likewise.
34283         * m4/intmax.m4: Likewise.
34284         * m4/intmax_t.m4: Likewise.
34285         * m4/inttypes.m4: Likewise.
34286         * m4/inttypes_h.m4: Likewise.
34287         * m4/inttypes-pri.m4: Likewise.
34288         * m4/isapipe.m4: Likewise.
34289         * m4/isnand.m4: Likewise.
34290         * m4/isnanf.m4: Likewise.
34291         * m4/isnanl.m4: Likewise.
34292         * m4/javacomp.m4: Likewise.
34293         * m4/javaexec.m4: Likewise.
34294         * m4/jm-winsz1.m4: Likewise.
34295         * m4/jm-winsz2.m4: Likewise.
34296         * m4/lchown.m4: Likewise.
34297         * m4/lcmessage.m4: Likewise.
34298         * m4/ldexpl.m4: Likewise.
34299         * m4/lib-ld.m4: Likewise.
34300         * m4/lib-link.m4: Likewise.
34301         * m4/libsigsegv.m4: Likewise.
34302         * m4/link-follow.m4: Likewise.
34303         * m4/localcharset.m4: Likewise.
34304         * m4/locale-fr.m4: Likewise.
34305         * m4/locale-ja.m4: Likewise.
34306         * m4/locale-tr.m4: Likewise.
34307         * m4/locale-zh.m4: Likewise.
34308         * m4/lock.m4: Likewise.
34309         * m4/longlong.m4: Likewise.
34310         * m4/ls-mntd-fs.m4: Likewise.
34311         * m4/lstat.m4: Likewise.
34312         * m4/malloc.m4: Likewise.
34313         * m4/mathl.m4: Likewise.
34314         * m4/mbrtowc.m4: Likewise.
34315         * m4/mbstate_t.m4: Likewise.
34316         * m4/mbswidth.m4: Likewise.
34317         * m4/memchr.m4: Likewise.
34318         * m4/memcmp.m4: Likewise.
34319         * m4/memcpy.m4: Likewise.
34320         * m4/memmem.m4: Likewise.
34321         * m4/memmove.m4: Likewise.
34322         * m4/mempcpy.m4: Likewise.
34323         * m4/memrchr.m4: Likewise.
34324         * m4/memset.m4: Likewise.
34325         * m4/minmax.m4: Likewise.
34326         * m4/mkdir-slash.m4: Likewise.
34327         * m4/mkdtemp.m4: Likewise.
34328         * m4/mktime.m4: Likewise.
34329         * m4/mmap-anon.m4: Likewise.
34330         * m4/mountlist.m4: Likewise.
34331         * m4/nanosleep.m4: Likewise.
34332         * m4/nls.m4: Likewise.
34333         * m4/nocrash.m4: Likewise.
34334         * m4/open.m4: Likewise.
34335         * m4/openat.m4: Likewise.
34336         * m4/openmp.m4: Likewise.
34337         * m4/pathmax.m4: Likewise.
34338         * m4/perl.m4: Likewise.
34339         * m4/physmem.m4: Likewise.
34340         * m4/pipe.m4: Likewise.
34341         * m4/po.m4: Likewise.
34342         * m4/poll.m4: Likewise.
34343         * m4/posixtm.m4: Likewise.
34344         * m4/posixver.m4: Likewise.
34345         * m4/printf-frexp.m4: Likewise.
34346         * m4/printf-frexpl.m4: Likewise.
34347         * m4/printf-posix.m4: Likewise.
34348         * m4/printf-posix-rpl.m4: Likewise.
34349         * m4/printf.m4: Likewise.
34350         * m4/progtest.m4: Likewise.
34351         * m4/putenv.m4: Likewise.
34352         * m4/readline.m4: Likewise.
34353         * m4/readlink.m4: Likewise.
34354         * m4/readutmp.m4: Likewise.
34355         * m4/realloc.m4: Likewise.
34356         * m4/regex.m4: Likewise.
34357         * m4/relocatable.m4: Likewise.
34358         * m4/relocatable-lib.m4: Likewise.
34359         * m4/rename-dest-slash.m4: Likewise.
34360         * m4/rename.m4: Likewise.
34361         * m4/rmdir-errno.m4: Likewise.
34362         * m4/rmdir.m4: Likewise.
34363         * m4/roundf.m4: Likewise.
34364         * m4/roundl.m4: Likewise.
34365         * m4/rpmatch.m4: Likewise.
34366         * m4/save-cwd.m4: Likewise.
34367         * m4/selinux-selinux-h.m4: Likewise.
34368         * m4/setenv.m4: Likewise.
34369         * m4/settime.m4: Likewise.
34370         * m4/sig2str.m4: Likewise.
34371         * m4/sig_atomic_t.m4: Likewise.
34372         * m4/signalblocking.m4: Likewise.
34373         * m4/signbit.m4: Likewise.
34374         * m4/sigpipe.m4: Likewise.
34375         * m4/sockets.m4: Likewise.
34376         * m4/sockpfaf.m4: Likewise.
34377         * m4/st_dm_mode.m4: Likewise.
34378         * m4/stat-time.m4: Likewise.
34379         * m4/stdbool.m4: Likewise.
34380         * m4/stdint.m4: Likewise.
34381         * m4/stdint_h.m4: Likewise.
34382         * m4/stpcpy.m4: Likewise.
34383         * m4/stpncpy.m4: Likewise.
34384         * m4/strcase.m4: Likewise.
34385         * m4/strchrnul.m4: Likewise.
34386         * m4/strcspn.m4: Likewise.
34387         * m4/strdup.m4: Likewise.
34388         * m4/strftime.m4: Likewise.
34389         * m4/strndup.m4: Likewise.
34390         * m4/strnlen.m4: Likewise.
34391         * m4/strpbrk.m4: Likewise.
34392         * m4/strptime.m4: Likewise.
34393         * m4/strsep.m4: Likewise.
34394         * m4/strtod.m4: Likewise.
34395         * m4/strtoimax.m4: Likewise.
34396         * m4/strtok_r.m4: Likewise.
34397         * m4/strtol.m4: Likewise.
34398         * m4/strtoll.m4: Likewise.
34399         * m4/strtoul.m4: Likewise.
34400         * m4/strtoull.m4: Likewise.
34401         * m4/strtoumax.m4: Likewise.
34402         * m4/strverscmp.m4: Likewise.
34403         * m4/threadlib.m4: Likewise.
34404         * m4/timegm.m4: Likewise.
34405         * m4/tm_gmtoff.m4: Likewise.
34406         * m4/tmpdir.m4: Likewise.
34407         * m4/tmpfile.m4: Likewise.
34408         * m4/tzset.m4: Likewise.
34409         * m4/uintmax_t.m4: Likewise.
34410         * m4/unlinkdir.m4: Likewise.
34411         * m4/unlocked-io.m4: Likewise.
34412         * m4/uptime.m4: Likewise.
34413         * m4/userspec.m4: Likewise.
34414         * m4/utimbuf.m4: Likewise.
34415         * m4/utime.m4: Likewise.
34416         * m4/utimes-null.m4: Likewise.
34417         * m4/utimes.m4: Likewise.
34418         * m4/vararrays.m4: Likewise.
34419         * m4/vasnprintf.m4: Likewise.
34420         * m4/vfprintf-posix.m4: Likewise.
34421         * m4/vprintf-posix.m4: Likewise.
34422         * m4/wait-process.m4: Likewise.
34423         * m4/wchar_t.m4: Likewise.
34424         * m4/wint_t.m4: Likewise.
34425         * m4/write-any-file.m4: Likewise.
34426         * m4/yield.m4: Likewise.
34427
34428 2009-01-13  Bruno Haible  <bruno@clisp.org>
34429
34430         Avoid test-copy-file.sh failures when ACL support insufficient.
34431         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
34432         TESTS_ENVIRONMENT.
34433         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
34434         Reported by Jim Meyering.
34435
34436 2009-01-13  Bruno Haible  <bruno@clisp.org>
34437
34438         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
34439         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
34440         * modules/unistdio/u8-printf-parse (Files): Likewise.
34441         * modules/unistdio/u32-printf-parse (Files): Likewise.
34442         * modules/unistdio/ulc-printf-parse (Files): Likewise.
34443
34444 2009-01-13  Simon Josefsson  <simon@josefsson.org>
34445
34446         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
34447         and m4/inttypes_h.m4 too.
34448
34449 2009-01-12  Eric Blake  <ebb9@byu.net>
34450
34451         tests: IRIX 6.2 cc can't compile -0.0 into .data
34452         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
34453         rather than at compile-time.
34454         * tests/test-floorl.c (minus_zero): Likewise.
34455         * tests/test-frexpl.c (minus_zero): Likewise.
34456         * tests/test-isnan.c (minus_zerol): Likewise.
34457         * tests/test-isnanl.h (minus_zero): Likewise.
34458         * tests/test-ldexpl.c (minus_zero): Likewise.
34459         * tests/test-roundl.c (minus_zero): Likewise.
34460         * tests/test-signbit.c (minus_zerol): Likewise.
34461         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
34462         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
34463         * tests/test-truncl.c (minus_zero): Likewise.
34464         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
34465         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
34466         Reported by Tom G. Christensen and Nelson H. F. Beebe.
34467
34468 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
34469
34470         regex: fix glibc bug 9697
34471         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
34472         handling.
34473
34474 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
34475
34476         regex: fix glibc bug 697
34477         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
34478         being NULL also if there are no backreferences.
34479
34480 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
34481
34482         regex: merge glibc changes
34483         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
34484         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
34485         re_string_skip_chars, re_string_reconstruct): Likewise.
34486         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
34487
34488 2009-01-07  Jim Meyering  <meyering@redhat.com>
34489
34490         poll: filter through cppi
34491         * lib/poll.c: Indent cpp directives to reflect nesting.
34492
34493 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
34494
34495         poll: don't return uninitialized
34496         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
34497
34498 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
34499
34500         avoid compile failure on AIX 6.1
34501         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
34502         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
34503
34504 2009-01-04  Jim Meyering  <meyering@redhat.com>
34505
34506         remove duplicate inclusion of <stdio.h>
34507         * tests/test-fprintf-posix.c: Likewise.
34508         * tests/test-printf-posix.c: Likewise.
34509         * tests/test-snprintf-posix.c: Likewise.
34510         * tests/test-sprintf-posix.c: Likewise.
34511         * tests/test-vasprintf-posix.c: Likewise.
34512         * tests/test-vfprintf-posix.c: Likewise.
34513         * tests/test-vprintf-posix.c: Likewise.
34514         * tests/test-vsnprintf-posix.c: Likewise.
34515         * tests/test-vsprintf-posix.c: Likewise.
34516
34517 2009-01-03  Jim Meyering  <meyering@redhat.com>
34518
34519         gnulib-tool: fix sed-based filtering
34520         * gnulib-tool (func_filter_filelist): Remove extra backslash
34521         in sed_fff_filter definition.
34522
34523 2009-01-02  Jim Meyering  <meyering@redhat.com>
34524
34525         strftime: avoid compilation failure on Solaris 2.6
34526         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
34527         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
34528         Don't #define mbrlen or mbsinit, since now they're guaranteed to
34529         be available.  Reported by Tom G. Christensen.  Details in
34530         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
34531
34532 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34533             Bruno Haible  <bruno@clisp.org>
34534
34535         Speed up gnulib-tool by doing more string processing through shell
34536         built-ins.
34537         * gnulib-tool (fast_func_append): New variable.
34538         (func_remove_prefix, func_remove_suffix): New functions.
34539         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
34540         (func_filter_filelist): New function.
34541         (func_get_dependencies): Use func_remove_suffix instead of sed.
34542         (func_get_automake_snippet): Use func_filter_filelist instead of a
34543         subshell and sed invocation.
34544
34545 2009-01-01  Bruno Haible  <bruno@clisp.org>
34546
34547         Fix a security bug.
34548         * gnulib-tool (func_import, import, update): Don't allow the characters
34549         '"', '$', '`', '\' in macro arguments that become part of commands that
34550         are evaluated.
34551
34552 2009-01-01  Bruno Haible  <bruno@clisp.org>
34553
34554         * gnulib-tool (func_reset_sigpipe): Add more comments.
34555
34556 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34557
34558         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
34559         func_emit_tests_Makefile_am, func_import): Abort loops early if we
34560         already know the answer.
34561
34562 2009-01-01  Jim Meyering  <meyering@redhat.com>
34563
34564         * lib/version-etc.c (version_etc_va): Update copyright year.
34565
34566 2008-12-30  Bruno Haible  <bruno@clisp.org>
34567
34568         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
34569         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
34570         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
34571
34572 2008-12-29  Eric Blake  <ebb9@byu.net>
34573
34574         multiarch: avoid autoconf AC_REQUIRE bug
34575         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
34576         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
34577         2.63 and older.
34578         Reported by Bruno Haible, and analyzed in
34579         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
34580
34581 2008-12-29  Bruno Haible  <bruno@clisp.org>
34582
34583         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
34584         files in subdirectories correctly.
34585         Reported by Ralf Wildenhues.
34586
34587 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34588
34589         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
34590         rather than 'join FILE -', for Solaris join.
34591
34592 2008-12-29  Bruno Haible  <bruno@clisp.org>
34593
34594         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
34595         quoting.
34596         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
34597         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
34598         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
34599         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
34600         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
34601         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
34602         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
34603         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
34604         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
34605         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
34606         * m4/nls.m4 (AM_NLS): Likewise.
34607         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
34608         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
34609         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
34610         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
34611         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
34612         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
34613         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
34614         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
34615         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
34616         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
34617         * m4/xsize.m4 (gl_XSIZE): Likewise.
34618         Suggested by Jim Meyering.
34619
34620 2008-11-17  Bruce Korb  <bkorb@gnu.org>
34621
34622         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
34623         * lib/parse-duration.c: use a switch instead of cascading if's.
34624
34625 2008-12-29  Eric Blake  <ebb9@byu.net>
34626
34627         wchar.h: supply WEOF on Irix 5.3
34628         * lib/wchar.in.h (wint_t): Also supply WEOF.
34629         * lib/wctype.in.h (wint_t): Likewise.
34630         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
34631         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
34632         Reported by Tom G. Christensen.
34633
34634 2008-12-26  Bruno Haible  <bruno@clisp.org>
34635
34636         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
34637         i486, i586, i686.
34638
34639 2008-12-26  Bruno Haible  <bruno@clisp.org>
34640
34641         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
34642
34643 2008-12-26  Bruno Haible  <bruno@clisp.org>
34644
34645         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
34646         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
34647         not __STDC_CONSTANT_MACROS.
34648         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
34649
34650 2008-12-25  Bruno Haible  <bruno@clisp.org>
34651
34652         Add support for universal builds to vasnprintf.
34653         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
34654         universal builds, guess no.
34655         * modules/vasnprintf-posix (Depends-on): Add multiarch.
34656         * modules/vasprintf-posix (Depends-on): Likewise.
34657         * modules/fprintf-posix (Depends-on): Likewise.
34658         * modules/vfprintf-posix (Depends-on): Likewise.
34659         * modules/snprintf-posix (Depends-on): Likewise.
34660         * modules/vsnprintf-posix (Depends-on): Likewise.
34661         * modules/sprintf-posix (Depends-on): Likewise.
34662         * modules/vsprintf-posix (Depends-on): Likewise.
34663         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
34664         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
34665         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
34666         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
34667         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
34668         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
34669         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
34670
34671         Add support for universal builds to <inttypes.h>.
34672         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
34673         _SCNu64_PREFIX): In Apple
34674         universal builds, define directly, using _LP64.
34675         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
34676         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
34677         * modules/inttypes (Depends-on): Add multiarch.
34678         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
34679
34680         Add support for universal builds to <stdint.h>.
34681         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
34682         universal builds, define directly, using _LP64.
34683         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
34684         Apple universal builds, don't test for the size and suffix of ptrdiff_t
34685         and size_t.
34686         * modules/stdint (Depends-on): Add multiarch.
34687         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
34688
34689         New module 'multiarch'.
34690         * modules/multiarch: New file.
34691         * m4/multiarch.m4: New file.
34692
34693 2008-12-25  Bruno Haible  <bruno@clisp.org>
34694
34695         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
34696
34697 2008-12-25  Bruno Haible  <bruno@clisp.org>
34698
34699         * modules/btowc (License): Relicense under LGPLv2+.
34700         * modules/mbsinit (License): Likewise.
34701         * modules/mbrtowc (License): Likewise.
34702         * modules/wcrtomb (License): Likewise.
34703         * modules/streq (License): Likewise.
34704         Reported by David Lutterkort <lutter@redhat.com>.
34705
34706 2008-12-23  Bruno Haible  <bruno@clisp.org>
34707
34708         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
34709
34710 2008-12-23  Bruno Haible  <bruno@clisp.org>
34711
34712         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
34713         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
34714         GETADDRINFO_LIB, not in LIBS.
34715         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
34716         * modules/canon-host (Link): Likewise.
34717         * NEWS: Mention the change.
34718         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
34719         GETADDRINFO_LIB.
34720
34721 2008-12-22  Bruno Haible  <bruno@clisp.org>
34722
34723         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
34724         * doc/posix-functions/iswalpha_l.texi: Likewise.
34725         * doc/posix-functions/iswblank_l.texi: Likewise.
34726         * doc/posix-functions/iswcntrl_l.texi: Likewise.
34727         * doc/posix-functions/iswctype_l.texi: Likewise.
34728         * doc/posix-functions/iswdigit_l.texi: Likewise.
34729         * doc/posix-functions/iswgraph_l.texi: Likewise.
34730         * doc/posix-functions/iswlower_l.texi: Likewise.
34731         * doc/posix-functions/iswprint_l.texi: Likewise.
34732         * doc/posix-functions/iswpunct_l.texi: Likewise.
34733         * doc/posix-functions/iswspace_l.texi: Likewise.
34734         * doc/posix-functions/iswupper_l.texi: Likewise.
34735         * doc/posix-functions/iswxdigit_l.texi: Likewise.
34736         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
34737         * doc/posix-functions/open_wmemstream.texi: Likewise.
34738         * doc/posix-functions/swscanf.texi: Likewise.
34739         * doc/posix-functions/towctrans_l.texi: Likewise.
34740         * doc/posix-functions/towlower.texi: Likewise.
34741         * doc/posix-functions/towlower_l.texi: Likewise.
34742         * doc/posix-functions/towupper.texi: Likewise.
34743         * doc/posix-functions/towupper_l.texi: Likewise.
34744         * doc/posix-functions/vfwprintf.texi: Likewise.
34745         * doc/posix-functions/vfwscanf.texi: Likewise.
34746         * doc/posix-functions/vswscanf.texi: Likewise.
34747         * doc/posix-functions/vwprintf.texi: Likewise.
34748         * doc/posix-functions/vwscanf.texi: Likewise.
34749         * doc/posix-functions/wcpcpy.texi: Likewise.
34750         * doc/posix-functions/wcpncpy.texi: Likewise.
34751         * doc/posix-functions/wcscasecmp.texi: Likewise.
34752         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
34753         * doc/posix-functions/wcscoll_l.texi: Likewise.
34754         * doc/posix-functions/wcsdup.texi: Likewise.
34755         * doc/posix-functions/wcsncasecmp.texi: Likewise.
34756         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
34757         * doc/posix-functions/wcsnlen.texi: Likewise.
34758         * doc/posix-functions/wcsnrtombs.texi: Likewise.
34759         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
34760         * doc/posix-functions/wctrans_l.texi: Likewise.
34761         * doc/posix-functions/wctype_l.texi: Likewise.
34762         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
34763         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
34764         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
34765         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
34766         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
34767         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
34768         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
34769         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
34770         * doc/glibc-functions/wcschrnul.texi: Likewise.
34771         * doc/glibc-functions/wcsftime_l.texi: Likewise.
34772         * doc/glibc-functions/wcstod_l.texi: Likewise.
34773         * doc/glibc-functions/wcstof_l.texi: Likewise.
34774         * doc/glibc-functions/wcstol_l.texi: Likewise.
34775         * doc/glibc-functions/wcstold_l.texi: Likewise.
34776         * doc/glibc-functions/wcstoll_l.texi: Likewise.
34777         * doc/glibc-functions/wcstoq.texi: Likewise.
34778         * doc/glibc-functions/wcstoul_l.texi: Likewise.
34779         * doc/glibc-functions/wcstoull_l.texi: Likewise.
34780         * doc/glibc-functions/wcstouq.texi: Likewise.
34781         * doc/glibc-functions/wmempcpy.texi: Likewise.
34782
34783 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
34784             Eric Blake  <ebb9@byu.net>
34785             Paolo Bonzini  <bonzini@gnu.org>
34786             Bruno Haible  <bruno@clisp.org>
34787
34788         Make c-stack work on Haiku.
34789         * lib/c-stack.c (SA_ONSTACK): Define fallback.
34790         (c_stack_action): Use SA_ONSTACK flag.
34791
34792 2008-12-22  Bruno Haible  <bruno@clisp.org>
34793
34794         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
34795
34796 2008-12-22  Bruno Haible  <bruno@clisp.org>
34797
34798         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
34799         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
34800         being overridden.
34801         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
34802         New macros.
34803         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
34804         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
34805         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
34806         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
34807
34808 2008-12-22  Bruno Haible  <bruno@clisp.org>
34809
34810         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
34811         from test code.
34812
34813 2008-12-22  Eric Blake  <ebb9@byu.net>
34814
34815         Avoid gcc warnings on cygwin.
34816         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
34817         Avoid unused variable.
34818         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
34819         Likewise.
34820
34821 2008-12-22  Bruno Haible  <bruno@clisp.org>
34822
34823         Remove HAVE_MBRTOWC conditionals.
34824         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
34825         (mbscasecmp): Assume mbrtowc function.
34826         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
34827         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
34828         * lib/mbschr.c: Include mbuiter.h unconditionally.
34829         (mbschr): Assume mbrtowc function.
34830         * lib/mbscspn.c: Include mbuiter.h unconditionally.
34831         (mbscspn): Assume mbrtowc function.
34832         * lib/mbslen.c: Include mbuiter.h unconditionally.
34833         (mbslen): Assume mbrtowc function.
34834         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
34835         (mbsncasecmp): Assume mbrtowc function.
34836         * lib/mbsnlen.c: Include mbiter.h unconditionally.
34837         (mbsnlen): Assume mbrtowc function.
34838         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
34839         (mbspbrk): Assume mbrtowc function.
34840         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
34841         (mbspcasecmp): Assume mbrtowc function.
34842         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
34843         (mbsrchr): Assume mbrtowc function.
34844         * lib/mbssep.c: Include mbuiter.h unconditionally.
34845         (mbssep): Assume mbrtowc function.
34846         * lib/mbsspn.c: Include mbuiter.h unconditionally.
34847         (mbsspn): Assume mbrtowc function.
34848         * lib/mbsstr.c: Include mbuiter.h unconditionally.
34849         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
34850         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
34851         (mbstok_r): Assume mbrtowc function.
34852         * lib/propername.c: Include mbuiter.h unconditionally.
34853         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
34854         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
34855         (trim2): Assume mbrtowc function.
34856         * lib/mbswidth.c (mbsinit): Remove fallback definition.
34857         (mbsnwidth): Assume mbrtowc function.
34858         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
34859         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
34860         fallback definitions.
34861         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
34862
34863 2008-12-22  Bruno Haible  <bruno@clisp.org>
34864
34865         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
34866
34867 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
34868
34869         * modules/regex: Request emulations for the mb*/wc* functions we need.
34870         * m4/regex.m4: Don't look for those functions here.
34871         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
34872
34873 2008-12-22  Bruno Haible  <bruno@clisp.org>
34874
34875         * modules/fnmatch (Depends-on): Remove duplicated dependency.
34876
34877 2008-12-21  Bruno Haible  <bruno@clisp.org>
34878
34879         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
34880         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
34881         (Include): Remove conditionalization.
34882         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
34883         (Include): Remove conditionalization.
34884         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
34885         (Include): Remove conditionalization.
34886         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
34887         * m4/mbfile.m4 (gl_MBFILE): Likewise.
34888         * NEWS: Mention the change.
34889         Reported by Alan Hourihane <alanh@fairlite.co.uk>
34890         via Sergey Poznyakoff <gray@gnu.org.ua>.
34891
34892 2008-12-21  Bruno Haible  <bruno@clisp.org>
34893
34894         * MODULES.html.sh (Extended multibyte and wide character utilities
34895         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
34896         wcrtomb, wcsrtombs.
34897         (Support for systems lacking POSIX:2008): Add accept, bind, close,
34898         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
34899         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
34900         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
34901
34902 2008-12-21  Bruno Haible  <bruno@clisp.org>
34903
34904         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
34905
34906 2008-12-21  Bruno Haible  <bruno@clisp.org>
34907
34908         * modules/wcsnrtombs-tests: New file.
34909         * tests/test-wcsnrtombs1.sh: New file.
34910         * tests/test-wcsnrtombs2.sh: New file.
34911         * tests/test-wcsnrtombs3.sh: New file.
34912         * tests/test-wcsnrtombs4.sh: New file.
34913         * tests/test-wcsnrtombs.c: New file.
34914
34915         New module 'wcsnrtombs'.
34916         * lib/wchar.in.h (wcsnrtombs): New declaration.
34917         * lib/wcsnrtombs.c: New file.
34918         * lib/wcsrtombs-state.c: New file.
34919         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
34920         (internal_state): Remove variable.
34921         * m4/wcsnrtombs.m4: New file.
34922         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
34923         compilation units.
34924         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
34925         HAVE_WCSNRTOMBS.
34926         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
34927         HAVE_WCSNRTOMBS.
34928         * modules/wcsnrtombs: New file.
34929         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
34930         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
34931
34932 2008-12-21  Bruno Haible  <bruno@clisp.org>
34933
34934         * modules/wcsrtombs-tests: New file.
34935         * tests/test-wcsrtombs1.sh: New file.
34936         * tests/test-wcsrtombs2.sh: New file.
34937         * tests/test-wcsrtombs3.sh: New file.
34938         * tests/test-wcsrtombs4.sh: New file.
34939         * tests/test-wcsrtombs.c: New file.
34940
34941         New module 'wcsrtombs'.
34942         * lib/wchar.in.h (wcsrtombs): New declaration.
34943         * lib/wcsrtombs.c: New file.
34944         * m4/wcsrtombs.m4: New file.
34945         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
34946         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
34947         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
34948         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
34949         * modules/wcsrtombs: New file.
34950         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
34951         bugs.
34952
34953 2008-12-21  Bruno Haible  <bruno@clisp.org>
34954
34955         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
34956         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
34957         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
34958         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
34959         if not correct.
34960         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
34961         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
34962         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
34963         m4/locale-zh.m4, m4/codeset.m4.
34964         * doc/posix-functions/wcrtomb.texi: Document the bug.
34965
34966 2008-12-21  Bruno Haible  <bruno@clisp.org>
34967
34968         Work around a btowc() bug on IRIX 6.5.
34969         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
34970         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
34971         REPLACE_WTOBC if not.
34972         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
34973         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
34974         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
34975
34976 2008-12-21  Bruno Haible  <bruno@clisp.org>
34977
34978         * modules/wcrtomb-tests: New file.
34979         * tests/test-wcrtomb.sh: New file.
34980         * tests/test-wcrtomb.c: New file.
34981
34982         New module 'wcrtomb'.
34983         * lib/wchar.in.h (wcrtomb): New declaration.
34984         * lib/wcrtomb.c: New file.
34985         * m4/wcrtomb.m4: New file.
34986         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
34987         HAVE_WCRTOMB.
34988         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
34989         HAVE_WCRTOMB.
34990         * modules/wcrtomb: New file.
34991         * doc/posix-functions/wcrtomb.texi: Mention the new module.
34992
34993 2008-12-21  Bruno Haible  <bruno@clisp.org>
34994
34995         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
34996         * modules/mbsrtowcs (Files): Likewise.
34997         * modules/wctob (Files): Likewise.
34998         * modules/c-strcase-tests (Files): Likewise.
34999         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35000         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35001         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35002         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35003         * modules/vasnprintf-posix-tests (Files): Likewise.
35004
35005 2008-12-21  William Pursell  <bill.pursell@gmail.com>
35006
35007         gitlog-to-changelog: pass all command-line arguments to git-log
35008         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
35009         it is sometimes convenient to filter the commits in various ways.
35010         gitlog-to-changelog only allows --since to specify a start date,
35011         but git-log itself supports many other filtering mechanisms.
35012         At the moment, I want to filter by branch name.  Rather than
35013         adding a --branch option to gitlog-to-changelog, it seems more
35014         flexible to simply pass all options directly to git-log and let
35015         git do the work.  Notice that this effectively makes --since a
35016         redundant option for gitlog-to-changelog, but removing it would
35017         require current usage to change since calls would then require
35018         an additional '--'.
35019
35020 2008-12-21  Bruno Haible  <bruno@clisp.org>
35021
35022         * modules/mbsnrtowcs-tests: New file.
35023         * tests/test-mbsnrtowcs1.sh: New file.
35024         * tests/test-mbsnrtowcs2.sh: New file.
35025         * tests/test-mbsnrtowcs3.sh: New file.
35026         * tests/test-mbsnrtowcs4.sh: New file.
35027         * tests/test-mbsnrtowcs.c: New file.
35028
35029         New module 'mbsnrtowcs'.
35030         * lib/wchar.in.h (mbsnrtowcs): New declaration.
35031         * lib/mbsnrtowcs.c: New file.
35032         * lib/mbsrtowcs-state.c: New file.
35033         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
35034         (internal_state): Remove variable.
35035         * m4/mbsnrtowcs.m4: New file.
35036         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
35037         compilation units.
35038         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
35039         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
35040         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
35041         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
35042         * modules/mbsnrtowcs: New file.
35043         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
35044         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
35045         portability problem.
35046
35047 2008-12-21  Bruno Haible  <bruno@clisp.org>
35048
35049         Work around mbsrtowcs bug.
35050         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
35051         (gl_FUNC_MBSRTOWCS): Invoke it.
35052         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
35053         m4/locale-zh.m4.
35054         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
35055
35056 2008-12-21  Bruno Haible  <bruno@clisp.org>
35057
35058         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
35059
35060 2008-12-21  Bruno Haible  <bruno@clisp.org>
35061
35062         Update doc for AIX.
35063         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
35064         16-bit wchar_t type.
35065         * doc/posix-functions/btowc.texi: Likewise.
35066         * doc/posix-functions/fgetwc.texi: Likewise.
35067         * doc/posix-functions/fgetws.texi: Likewise.
35068         * doc/posix-functions/fputwc.texi: Likewise.
35069         * doc/posix-functions/fputws.texi: Likewise.
35070         * doc/posix-functions/fwide.texi: Likewise.
35071         * doc/posix-functions/fwprintf.texi: Likewise.
35072         * doc/posix-functions/fwscanf.texi: Likewise.
35073         * doc/posix-functions/getwchar.texi: Likewise.
35074         * doc/posix-functions/getwc.texi: Likewise.
35075         * doc/posix-functions/iswalnum.texi: Likewise.
35076         * doc/posix-functions/iswalpha.texi: Likewise.
35077         * doc/posix-functions/iswblank.texi: Likewise.
35078         * doc/posix-functions/iswcntrl.texi: Likewise.
35079         * doc/posix-functions/iswctype.texi: Likewise.
35080         * doc/posix-functions/iswdigit.texi: Likewise.
35081         * doc/posix-functions/iswgraph.texi: Likewise.
35082         * doc/posix-functions/iswlower.texi: Likewise.
35083         * doc/posix-functions/iswprint.texi: Likewise.
35084         * doc/posix-functions/iswpunct.texi: Likewise.
35085         * doc/posix-functions/iswspace.texi: Likewise.
35086         * doc/posix-functions/iswupper.texi: Likewise.
35087         * doc/posix-functions/iswxdigit.texi: Likewise.
35088         * doc/posix-functions/mbrtowc.texi: Likewise.
35089         * doc/posix-functions/mbsrtowcs.texi: Likewise.
35090         * doc/posix-functions/mbstowcs.texi: Likewise.
35091         * doc/posix-functions/mbtowc.texi: Likewise.
35092         * doc/posix-functions/putwchar.texi: Likewise.
35093         * doc/posix-functions/putwc.texi: Likewise.
35094         * doc/posix-functions/swprintf.texi: Likewise.
35095         * doc/posix-functions/tolower.texi: Likewise.
35096         * doc/posix-functions/toupper.texi: Likewise.
35097         * doc/posix-functions/towctrans.texi: Likewise.
35098         * doc/posix-functions/ungetwc.texi: Likewise.
35099         * doc/posix-functions/vswprintf.texi: Likewise.
35100         * doc/posix-functions/wcrtomb.texi: Likewise.
35101         * doc/posix-functions/wcscat.texi: Likewise.
35102         * doc/posix-functions/wcschr.texi: Likewise.
35103         * doc/posix-functions/wcscmp.texi: Likewise.
35104         * doc/posix-functions/wcscoll.texi: Likewise.
35105         * doc/posix-functions/wcscpy.texi: Likewise.
35106         * doc/posix-functions/wcscspn.texi: Likewise.
35107         * doc/posix-functions/wcsftime.texi: Likewise.
35108         * doc/posix-functions/wcslen.texi: Likewise.
35109         * doc/posix-functions/wcsncat.texi: Likewise.
35110         * doc/posix-functions/wcsncmp.texi: Likewise.
35111         * doc/posix-functions/wcsncpy.texi: Likewise.
35112         * doc/posix-functions/wcspbrk.texi: Likewise.
35113         * doc/posix-functions/wcsrchr.texi: Likewise.
35114         * doc/posix-functions/wcsrtombs.texi: Likewise.
35115         * doc/posix-functions/wcsspn.texi: Likewise.
35116         * doc/posix-functions/wcsstr.texi: Likewise.
35117         * doc/posix-functions/wcstod.texi: Likewise.
35118         * doc/posix-functions/wcstof.texi: Likewise.
35119         * doc/posix-functions/wcstoimax.texi: Likewise.
35120         * doc/posix-functions/wcstok.texi: Likewise.
35121         * doc/posix-functions/wcstold.texi: Likewise.
35122         * doc/posix-functions/wcstoll.texi: Likewise.
35123         * doc/posix-functions/wcstol.texi: Likewise.
35124         * doc/posix-functions/wcstombs.texi: Likewise.
35125         * doc/posix-functions/wcstoull.texi: Likewise.
35126         * doc/posix-functions/wcstoul.texi: Likewise.
35127         * doc/posix-functions/wcstoumax.texi: Likewise.
35128         * doc/posix-functions/wcswidth.texi: Likewise.
35129         * doc/posix-functions/wcsxfrm.texi: Likewise.
35130         * doc/posix-functions/wctob.texi: Likewise.
35131         * doc/posix-functions/wctomb.texi: Likewise.
35132         * doc/posix-functions/wctrans.texi: Likewise.
35133         * doc/posix-functions/wctype.texi: Likewise.
35134         * doc/posix-functions/wcwidth.texi: Likewise.
35135         * doc/posix-functions/wmemchr.texi: Likewise.
35136         * doc/posix-functions/wmemcmp.texi: Likewise.
35137         * doc/posix-functions/wmemcpy.texi: Likewise.
35138         * doc/posix-functions/wmemmove.texi: Likewise.
35139         * doc/posix-functions/wmemset.texi: Likewise.
35140         * doc/posix-functions/wprintf.texi: Likewise.
35141         * doc/posix-functions/wscanf.texi: Likewise.
35142
35143 2008-12-21  Bruno Haible  <bruno@clisp.org>
35144
35145         Update doc for HP-UX 11.11.
35146         * doc/posix-functions/btowc.texi: Clarify that the function is missing
35147         in HP-UX version 11.00, not in all versions of HP-UX 11.
35148         * doc/posix-functions/fwide.texi: Likewise.
35149         * doc/posix-functions/fwprintf.texi: Likewise.
35150         * doc/posix-functions/fwscanf.texi: Likewise.
35151         * doc/posix-functions/inet_ntop.texi: Likewise.
35152         * doc/posix-functions/inet_pton.texi: Likewise.
35153         * doc/posix-functions/mbrlen.texi: Likewise.
35154         * doc/posix-functions/mbrtowc.texi: Likewise.
35155         * doc/posix-functions/mbsinit.texi: Likewise.
35156         * doc/posix-functions/mbsrtowcs.texi: Likewise.
35157         * doc/posix-functions/swprintf.texi: Likewise.
35158         * doc/posix-functions/swscanf.texi: Likewise.
35159         * doc/posix-functions/towctrans.texi: Likewise.
35160         * doc/posix-functions/vfwprintf.texi: Likewise.
35161         * doc/posix-functions/vswprintf.texi: Likewise.
35162         * doc/posix-functions/vwprintf.texi: Likewise.
35163         * doc/posix-functions/wcrtomb.texi: Likewise.
35164         * doc/posix-functions/wcsrtombs.texi: Likewise.
35165         * doc/posix-functions/wcsstr.texi: Likewise.
35166         * doc/posix-functions/wctob.texi: Likewise.
35167         * doc/posix-functions/wctrans.texi: Likewise.
35168         * doc/posix-functions/wmemchr.texi: Likewise.
35169         * doc/posix-functions/wmemcmp.texi: Likewise.
35170         * doc/posix-functions/wmemcpy.texi: Likewise.
35171         * doc/posix-functions/wmemmove.texi: Likewise.
35172         * doc/posix-functions/wmemset.texi: Likewise.
35173         * doc/posix-functions/wprintf.texi: Likewise.
35174         * doc/posix-functions/wscanf.texi: Likewise.
35175
35176 2008-12-21  Bruno Haible  <bruno@clisp.org>
35177
35178         Work around a portability problem.
35179         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
35180         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
35181
35182 2008-12-20  Bruno Haible  <bruno@clisp.org>
35183
35184         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
35185         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
35186         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
35187         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
35188         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
35189
35190         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
35191         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
35192         set.
35193         (GNULIB_defined_mbstate_t): New macro.
35194         (mbsinit): Redefine if REPLACE_MBSINIT is set.
35195         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
35196         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
35197         reuses the system's mbrtowc function but works around the bugs.
35198         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
35199         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
35200         macros.
35201         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
35202         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
35203         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
35204         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
35205         REPLACE_MBSINIT if mbsinit needs to be overridden.
35206         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
35207         REPLACE_MBSINIT, REPLACE_MBRTOWC.
35208         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
35209         REPLACE_MBSINIT, REPLACE_MBRTOWC.
35210         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
35211         m4/locale-zh.m4.
35212         (Depends): Add mbsinit.
35213         * modules/mbsinit (Depends): Add mbrtowc.
35214         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
35215
35216 2008-12-20  Bruno Haible  <bruno@clisp.org>
35217
35218         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
35219         so that there are no conversion errors on AIX.
35220         * tests/test-mbsrtowcs.c (main): LIkewise.
35221
35222 2008-12-20  Bruno Haible  <bruno@clisp.org>
35223
35224         Work around wctob bug on Solaris <= 9.
35225         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
35226         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
35227         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
35228         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
35229         * modules/wctob (Files): Add m4/locale-fr.m4.
35230         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
35231
35232 2008-12-20  Bruno Haible  <bruno@clisp.org>
35233
35234         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
35235         /dev/null.
35236         * tests/test-select-in.sh: Likewise.
35237         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35238
35239 2008-12-20  Bruno Haible  <bruno@clisp.org>
35240
35241         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
35242         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
35243         Cygwin 1.5.x.
35244
35245 2008-12-20  Bruno Haible  <bruno@clisp.org>
35246
35247         Ensure mbstate_t is defined on HP-UX 11.11.
35248         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
35249         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
35250         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
35251         AC_USE_SYSTEM_EXTENSIONS.
35252         * modules/fnmatch (Depends-on): Add extensions.
35253         * modules/mbrlen (Depends-on): Likewise.
35254         * modules/mbrtowc (Depends-on): Likewise.
35255         * modules/mbsinit (Depends-on): Likewise.
35256         * modules/mbsrtowcs (Depends-on): Likewise.
35257         * modules/mbswidth (Depends-on): Likewise.
35258         * modules/quotearg (Depends-on): Likewise.
35259         * modules/strftime (Depends-on): Likewise.
35260
35261 2008-12-20  Bruno Haible  <bruno@clisp.org>
35262
35263         Ensure wctob is declared on IRIX 6.5.
35264         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
35265         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
35266         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
35267         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
35268         of HAVE_WCTOB.
35269         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
35270         HAVE_WCTOB.
35271         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
35272
35273 2008-12-19  Bruno Haible  <bruno@clisp.org>
35274
35275         * modules/mbsrtowcs-tests: New file.
35276         * tests/test-mbsrtowcs1.sh: New file.
35277         * tests/test-mbsrtowcs2.sh: New file.
35278         * tests/test-mbsrtowcs3.sh: New file.
35279         * tests/test-mbsrtowcs4.sh: New file.
35280         * tests/test-mbsrtowcs.c: New file.
35281
35282         New module 'mbsrtowcs'.
35283         * lib/wchar.in.h (mbsrtowcs): New declaration.
35284         * lib/mbsrtowcs.c: New file.
35285         * m4/mbsrtowcs.m4: New file.
35286         * modules/mbsrtowcs: New file.
35287         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
35288         HAVE_MBSRTOWCS.
35289         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
35290         HAVE_MBSRTOWCS.
35291         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
35292
35293 2008-12-19  Bruno Haible  <bruno@clisp.org>
35294
35295         New module 'mbrlen'.
35296         * lib/wchar.in.h (mbrlen): New declaration.
35297         * lib/mbrlen.c: New file.
35298         * m4/mbrlen.m4: New file.
35299         * modules/mbrlen: New file.
35300         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
35301         HAVE_MBRLEN.
35302         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
35303         HAVE_MBRLEN.
35304         * doc/posix-functions/mbrlen.texi: Document the new module.
35305
35306 2008-12-19  Bruno Haible  <bruno@clisp.org>
35307
35308         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
35309         * modules/mbrtowc (Depends-on): Add verify.
35310         Suggested by Paul Eggert.
35311
35312 2008-12-18  Bruno Haible  <bruno@clisp.org>
35313
35314         * modules/mbsinit-tests: New file.
35315         * tests/test-mbsinit.sh: New file.
35316         * tests/test-mbsinit.c: New file.
35317
35318 2008-12-18  Bruno Haible  <bruno@clisp.org>
35319
35320         * modules/mbrtowc-tests: New file.
35321         * tests/test-mbrtowc1.sh: New file.
35322         * tests/test-mbrtowc2.sh: New file.
35323         * tests/test-mbrtowc3.sh: New file.
35324         * tests/test-mbrtowc4.sh: New file.
35325         * tests/test-mbrtowc.c: New file.
35326
35327         New module 'mbrtowc'.
35328         * lib/wchar.in.h (mbstate_t): Override when the system does not have
35329         mbsinit and mbrtowc.
35330         (mbrtowc): New declaration.
35331         * lib/mbrtowc.c: New file.
35332         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
35333         * modules/mbrtowc: New file.
35334         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
35335         HAVE_MBRTOWC.
35336         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
35337         HAVE_MBRTOWC.
35338         * doc/posix-functions/mbrtowc.texi: Document the new module.
35339
35340 2008-12-18  Bruno Haible  <bruno@clisp.org>
35341
35342         New module 'wctob'.
35343         * lib/wchar.in.h (wctob): New declaration.
35344         * lib/wctob.c: New file.
35345         * m4/wctob.m4: New file.
35346         * modules/wctob: New file.
35347         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
35348         HAVE_WCTOB.
35349         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
35350         * doc/posix-functions/wctob.texi: Document the new module.
35351
35352 2008-12-18  Bruno Haible  <bruno@clisp.org>
35353
35354         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
35355         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
35356
35357 2008-12-18  Simon Josefsson  <simon@josefsson.org>
35358
35359         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
35360         G. Christensen" <tgc@jupiterrise.com>.
35361
35362         * lib/flock.c: Need to include errno.h.  Reported by "Tom
35363         G. Christensen" <tgc@jupiterrise.com>.
35364
35365         * lib/flock.c: Need to include string.h.  Reported by "Tom
35366         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
35367         <ebb9@byu.net>.
35368
35369 2008-12-18  Bruno Haible  <bruno@clisp.org>
35370
35371         * m4/locale-ja.m4: New file, from GNU gettext.
35372
35373 2008-12-17  Bruno Haible  <bruno@clisp.org>
35374
35375         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
35376         Suggested by Eric Blake.
35377
35378 2008-12-17  Bruno Haible  <bruno@clisp.org>
35379
35380         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
35381
35382 2008-12-17  Bruno Haible  <bruno@clisp.org>
35383
35384         * lib/mbsinit.c: Include verify.h. Verify an assumption.
35385         * modules/mbsinit (Depends-on): Add verify.
35386         Suggested by Paul Eggert.
35387
35388 2008-12-17  Bruno Haible  <bruno@clisp.org>
35389
35390         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
35391         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
35392         gl_FUNC_MBRTOWC.
35393         * m4/mbiter.m4 (gl_MBITER): LIkewise.
35394         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
35395         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
35396         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
35397         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
35398         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
35399         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
35400         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
35401         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
35402         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
35403         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
35404         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
35405         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
35406         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
35407         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
35408         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
35409         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
35410         * modules/trim (configure.ac): Likewise.
35411
35412 2008-12-17  Bruno Haible  <bruno@clisp.org>
35413
35414         * modules/btowc-tests: New file.
35415         * tests/test-btowc1.sh: New file.
35416         * tests/test-btowc2.sh: New file.
35417         * tests/test-btowc.c: New file.
35418
35419         New module 'btowc'.
35420         * lib/wchar.in.h (btowc): New declaration.
35421         * lib/btowc.c: New file.
35422         * m4/btowc.m4: New file.
35423         * modules/btowc: New file.
35424         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
35425         HAVE_BTOWC.
35426         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
35427         * doc/posix-functions/btowc.texi: Document the new module.
35428
35429 2008-12-17  Bruno Haible  <bruno@clisp.org>
35430
35431         New module 'mbsinit'.
35432         * lib/wchar.in.h (mbsinit): New declaration.
35433         * lib/mbsinit.c: New file.
35434         * m4/mbsinit.m4: New file.
35435         * modules/mbsinit: New file.
35436         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
35437         HAVE_MBSINIT.
35438         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
35439         HAVE_MBSINIT.
35440         * doc/posix-functions/mbsinit.texi: Document the new module.
35441
35442 2008-12-16  Bruno Haible  <bruno@clisp.org>
35443
35444         * lib/unistd.in.h: Add comment.
35445         * tests/test-environ.c: Don't include <stdlib.h>.
35446
35447 2008-12-16  Bruno Haible  <bruno@clisp.org>
35448
35449         * lib/parse-duration.h (parse_duration): Document return value
35450         convention.
35451         * lib/parse-duration.c: Include specification header first. Add
35452         comments.
35453         (_): Remove macro.
35454         (parse_year_month_day, parse_hour_minute_second): Move side effects
35455         outside of strchr call.
35456         (parse_non_iso8601): Move side effects outside of isspace call.
35457         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
35458         call.
35459
35460 2008-12-16  Bruno Haible  <bruno@clisp.org>
35461
35462         * tests/test-parse-duration.sh: Produce no output when the test
35463         succeeds.
35464
35465 2008-12-16  Bruno Haible  <bruno@clisp.org>
35466
35467         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
35468         expressions.
35469
35470 2008-12-15  Bruno Haible  <bruno@clisp.org>
35471
35472         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
35473         * doc/glibc-functions/flistxattr.texi: Likewise.
35474         * doc/glibc-functions/fopencookie.texi: Likewise.
35475         * doc/glibc-functions/fremovexattr.texi: Likewise.
35476         * doc/glibc-functions/fsetxattr.texi: Likewise.
35477         * doc/glibc-functions/getxattr.texi: Likewise.
35478         * doc/glibc-functions/lgetxattr.texi: Likewise.
35479         * doc/glibc-functions/listxattr.texi: Likewise.
35480         * doc/glibc-functions/llistxattr.texi: Likewise.
35481         * doc/glibc-functions/lremovexattr.texi: Likewise.
35482         * doc/glibc-functions/lsetxattr.texi: Likewise.
35483         * doc/glibc-functions/removexattr.texi: Likewise.
35484         * doc/glibc-functions/setxattr.texi: Likewise.
35485         * doc/posix-functions/open_memstream.texi: Likewise.
35486
35487 2008-12-15  Eric Blake  <ebb9@byu.net>
35488
35489         Update doc for cygwin 1.7.
35490         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
35491         functions.
35492         * doc/posix-functions/fchmodat.texi: Likewise.
35493         * doc/posix-functions/fchownat.texi: Likewise.
35494         * doc/posix-functions/fdopendir.texi: Likewise.
35495         * doc/posix-functions/fmemopen.texi: Likewise.
35496         * doc/posix-functions/freeaddrinfo.texi: Likewise.
35497         * doc/posix-functions/fstatat.texi: Likewise.
35498         * doc/posix-functions/futimens.texi: Likewise.
35499         * doc/posix-functions/gai_strerror.texi: Likewise.
35500         * doc/posix-functions/getaddrinfo.texi: Likewise.
35501         * doc/posix-functions/getnameinfo.texi: Likewise.
35502         * doc/posix-functions/if_freenameindex.texi: Likewise.
35503         * doc/posix-functions/if_indextoname.texi: Likewise.
35504         * doc/posix-functions/if_nameindex.texi: Likewise.
35505         * doc/posix-functions/if_nametoindex.texi: Likewise.
35506         * doc/posix-functions/insque.texi: Likewise.
35507         * doc/posix-functions/linkat.texi: Likewise.
35508         * doc/posix-functions/llrint.texi: Likewise.
35509         * doc/posix-functions/llrintf.texi: Likewise.
35510         * doc/posix-functions/llrintl.texi: Likewise.
35511         * doc/posix-functions/lockf.texi: Likewise.
35512         * doc/posix-functions/lrintl.texi: Likewise.
35513         * doc/posix-functions/mkdirat.texi: Likewise.
35514         * doc/posix-functions/mkfifoat.texi: Likewise.
35515         * doc/posix-functions/mknodat.texi: Likewise.
35516         * doc/posix-functions/mq_close.texi: Likewise.
35517         * doc/posix-functions/mq_getattr.texi: Likewise.
35518         * doc/posix-functions/mq_notify.texi: Likewise.
35519         * doc/posix-functions/mq_open.texi: Likewise.
35520         * doc/posix-functions/mq_receive.texi: Likewise.
35521         * doc/posix-functions/mq_send.texi: Likewise.
35522         * doc/posix-functions/mq_setattr.texi: Likewise.
35523         * doc/posix-functions/mq_timedreceive.texi: Likewise.
35524         * doc/posix-functions/mq_timedsend.texi: Likewise.
35525         * doc/posix-functions/mq_unlink.texi: Likewise.
35526         * doc/posix-functions/open_memstream.texi: Likewise.
35527         * doc/posix-functions/openat.texi: Likewise.
35528         * doc/posix-functions/posix_fadvise.texi: Likewise.
35529         * doc/posix-functions/posix_fallocate.texi: Likewise.
35530         * doc/posix-functions/posix_madvise.texi: Likewise.
35531         * doc/posix-functions/posix_memalign.texi: Likewise.
35532         * doc/posix-functions/posix_openpt.texi: Likewise.
35533         * doc/posix-functions/readlinkat.texi: Likewise.
35534         * doc/posix-functions/remque.texi: Likewise.
35535         * doc/posix-functions/renameat.texi: Likewise.
35536         * doc/posix-functions/rintl.texi: Likewise.
35537         * doc/posix-functions/sem_unlink.texi: Likewise.
35538         * doc/posix-functions/shm_open.texi: Likewise.
35539         * doc/posix-functions/shm_unlink.texi: Likewise.
35540         * doc/posix-functions/signgam.texi: Likewise.
35541         * doc/posix-functions/sigset.texi: Likewise.
35542         * doc/posix-functions/stpcpy.texi: Likewise.
35543         * doc/posix-functions/stpncpy.texi: Likewise.
35544         * doc/posix-functions/strerror.texi: Likewise.
35545         * doc/posix-functions/strtod.texi: Likewise.
35546         * doc/posix-functions/symlinkat.texi: Likewise.
35547         * doc/posix-functions/unlinkat.texi: Likewise.
35548         * doc/posix-functions/utimensat.texi: Likewise.
35549         * doc/glibc-functions/bindresvport.texi: Likewise.
35550         * doc/glibc-functions/dn_expand.texi: Likewise.
35551         * doc/glibc-functions/exp10.texi: Likewise.
35552         * doc/glibc-functions/exp10f.texi: Likewise.
35553         * doc/glibc-functions/fgetxattr.texi: Likewise.
35554         * doc/glibc-functions/flistxattr.texi: Likewise.
35555         * doc/glibc-functions/fopencookie.texi: Likewise.
35556         * doc/glibc-functions/freeifaddrs.texi: Likewise.
35557         * doc/glibc-functions/fremovexattr.texi: Likewise.
35558         * doc/glibc-functions/fsetxattr.texi: Likewise.
35559         * doc/glibc-functions/getifaddrs.texi: Likewise.
35560         * doc/glibc-functions/getxattr.texi: Likewise.
35561         * doc/glibc-functions/lgetxattr.texi: Likewise.
35562         * doc/glibc-functions/listxattr.texi: Likewise.
35563         * doc/glibc-functions/llistxattr.texi: Likewise.
35564         * doc/glibc-functions/lremovexattr.texi: Likewise.
35565         * doc/glibc-functions/lsetxattr.texi: Likewise.
35566         * doc/glibc-functions/pow10.texi: Likewise.
35567         * doc/glibc-functions/pow10f.texi: Likewise.
35568         * doc/glibc-functions/rcmd_af.texi: Likewise.
35569         * doc/glibc-functions/removexattr.texi: Likewise.
35570         * doc/glibc-functions/res_init.texi: Likewise.
35571         * doc/glibc-functions/res_mkquery.texi: Likewise.
35572         * doc/glibc-functions/res_query.texi: Likewise.
35573         * doc/glibc-functions/res_querydomain.texi: Likewise.
35574         * doc/glibc-functions/res_send.texi: Likewise.
35575         * doc/glibc-functions/rresvport_af.texi: Likewise.
35576         * doc/glibc-functions/setxattr.texi: Likewise.
35577         * doc/glibc-functions/strcasestr.texi: Likewise.
35578
35579 2008-12-15  Bruno Haible  <bruno@clisp.org>
35580
35581         Fix compilation error on OSF/1 4.0.
35582         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
35583         <sys/time.h>, simply delegate to the system header.
35584         Reported by Daniel Richard G. <oss@teragram.com>.
35585
35586 2008-12-15  Bruno Haible  <bruno@clisp.org>
35587
35588         * doc/posix-functions/openat.texi: Mention the 'openat' module.
35589         * doc/posix-functions/fchmodat.texi: Likewise.
35590         * doc/posix-functions/fchownat.texi: Likewise.
35591         * doc/posix-functions/fdopendir.texi: Likewise.
35592         * doc/posix-functions/fstatat.texi: Likewise.
35593         * doc/posix-functions/mkdirat.texi: Likewise.
35594         * doc/posix-functions/unlinkat.texi: Likewise.
35595
35596 2008-12-14  Bruno Haible  <bruno@clisp.org>
35597
35598         Update doc for POSIX:2008.
35599         * doc/posix-functions/faccessat.texi: New file.
35600         * doc/posix-functions/fchmodat.texi: New file.
35601         * doc/posix-functions/fchownat.texi: New file.
35602         * doc/posix-functions/fdopendir.texi: New file.
35603         * doc/posix-functions/fstatat.texi: New file.
35604         * doc/posix-functions/futimens.texi: New file.
35605         * doc/posix-functions/linkat.texi: New file.
35606         * doc/posix-functions/mkdirat.texi: New file.
35607         * doc/posix-functions/mkfifoat.texi: New file.
35608         * doc/posix-functions/mknodat.texi: New file.
35609         * doc/posix-functions/open_wmemstream.texi: New file.
35610         * doc/posix-functions/openat.texi: New file.
35611         * doc/posix-functions/psiginfo.texi: New file.
35612         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
35613         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
35614         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
35615         * doc/posix-functions/readlinkat.texi: New file.
35616         * doc/posix-functions/renameat.texi: New file.
35617         * doc/posix-functions/strerror_l.texi: New file.
35618         * doc/posix-functions/symlinkat.texi: New file.
35619         * doc/posix-functions/unlinkat.texi: New file.
35620         * doc/posix-functions/utimensat.texi: New file.
35621         * doc/gnulib.texi (Function Substitutes): Add these subsections.
35622
35623 2008-12-14  Bruno Haible  <bruno@clisp.org>
35624
35625         Update doc for POSIX:2008.
35626         * doc/posix-functions/alphasort.texi: Renamed from
35627         doc/glibc-functions/alphasort.texi.
35628         * doc/posix-functions/dirfd.texi: Renamed from
35629         doc/glibc-functions/dirfd.texi.
35630         * doc/posix-functions/dprintf.texi: Renamed from
35631         doc/glibc-functions/dprintf.texi.
35632         * doc/posix-functions/duplocale.texi: Renamed from
35633         doc/glibc-functions/duplocale.texi.
35634         * doc/posix-functions/fexecve.texi: Renamed from
35635         doc/glibc-functions/fexecve.texi.
35636         * doc/posix-functions/fmemopen.texi: Renamed from
35637         doc/glibc-functions/fmemopen.texi.
35638         * doc/posix-functions/freelocale.texi: Renamed from
35639         doc/glibc-functions/freelocale.texi.
35640         * doc/posix-functions/getdate_err.texi: Renamed from
35641         doc/glibc-functions/getdate_err.texi.
35642         * doc/posix-functions/isalnum_l.texi: Renamed from
35643         doc/glibc-functions/isalnum_l.texi.
35644         * doc/posix-functions/isalpha_l.texi: Renamed from
35645         doc/glibc-functions/isalpha_l.texi.
35646         * doc/posix-functions/isblank_l.texi: Renamed from
35647         doc/glibc-functions/isblank_l.texi.
35648         * doc/posix-functions/iscntrl_l.texi: Renamed from
35649         doc/glibc-functions/iscntrl_l.texi.
35650         * doc/posix-functions/isdigit_l.texi: Renamed from
35651         doc/glibc-functions/isdigit_l.texi.
35652         * doc/posix-functions/isgraph_l.texi: Renamed from
35653         doc/glibc-functions/isgraph_l.texi.
35654         * doc/posix-functions/islower_l.texi: Renamed from
35655         doc/glibc-functions/islower_l.texi.
35656         * doc/posix-functions/isprint_l.texi: Renamed from
35657         doc/glibc-functions/isprint_l.texi.
35658         * doc/posix-functions/ispunct_l.texi: Renamed from
35659         doc/glibc-functions/ispunct_l.texi.
35660         * doc/posix-functions/isspace_l.texi: Renamed from
35661         doc/glibc-functions/isspace_l.texi.
35662         * doc/posix-functions/isupper_l.texi: Renamed from
35663         doc/glibc-functions/isupper_l.texi.
35664         * doc/posix-functions/iswalnum_l.texi: Renamed from
35665         doc/glibc-functions/iswalnum_l.texi.
35666         * doc/posix-functions/iswalpha_l.texi: Renamed from
35667         doc/glibc-functions/iswalpha_l.texi.
35668         * doc/posix-functions/iswblank_l.texi: Renamed from
35669         doc/glibc-functions/iswblank_l.texi.
35670         * doc/posix-functions/iswcntrl_l.texi: Renamed from
35671         doc/glibc-functions/iswcntrl_l.texi.
35672         * doc/posix-functions/iswctype_l.texi: Renamed from
35673         doc/glibc-functions/iswctype_l.texi.
35674         * doc/posix-functions/iswdigit_l.texi: Renamed from
35675         doc/glibc-functions/iswdigit_l.texi.
35676         * doc/posix-functions/iswgraph_l.texi: Renamed from
35677         doc/glibc-functions/iswgraph_l.texi.
35678         * doc/posix-functions/iswlower_l.texi: Renamed from
35679         doc/glibc-functions/iswlower_l.texi.
35680         * doc/posix-functions/iswprint_l.texi: Renamed from
35681         doc/glibc-functions/iswprint_l.texi.
35682         * doc/posix-functions/iswpunct_l.texi: Renamed from
35683         doc/glibc-functions/iswpunct_l.texi.
35684         * doc/posix-functions/iswspace_l.texi: Renamed from
35685         doc/glibc-functions/iswspace_l.texi.
35686         * doc/posix-functions/iswupper_l.texi: Renamed from
35687         doc/glibc-functions/iswupper_l.texi.
35688         * doc/posix-functions/iswxdigit_l.texi: Renamed from
35689         doc/glibc-functions/iswxdigit_l.texi.
35690         * doc/posix-functions/isxdigit_l.texi: Renamed from
35691         doc/glibc-functions/isxdigit_l.texi.
35692         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
35693         doc/glibc-functions/mbsnrtowcs.texi.
35694         * doc/posix-functions/mkdtemp.texi: Renamed from
35695         doc/glibc-functions/mkdtemp.texi.
35696         * doc/posix-functions/newlocale.texi: Renamed from
35697         doc/glibc-functions/newlocale.texi.
35698         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
35699         doc/glibc-functions/nl_langinfo_l.texi.
35700         * doc/posix-functions/open_memstream.texi: Renamed from
35701         doc/glibc-functions/open_memstream.texi.
35702         * doc/posix-functions/opterr.texi: Renamed from
35703         doc/glibc-functions/opterr.texi.
35704         * doc/posix-functions/optind.texi: Renamed from
35705         doc/glibc-functions/optind.texi.
35706         * doc/posix-functions/optopt.texi: Renamed from
35707         doc/glibc-functions/optopt.texi.
35708         * doc/posix-functions/psignal.texi: Renamed from
35709         doc/glibc-functions/psignal.texi.
35710         * doc/posix-functions/scandir.texi: Renamed from
35711         doc/glibc-functions/scandir.texi.
35712         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
35713         doc/glibc-functions/sched_get_priority_min.texi.
35714         * doc/posix-functions/signgam.texi: Renamed from
35715         doc/glibc-functions/signgam.texi.
35716         * doc/posix-functions/stpcpy.texi: Renamed from
35717         doc/glibc-functions/stpcpy.texi.
35718         * doc/posix-functions/stpncpy.texi: Renamed from
35719         doc/glibc-functions/stpncpy.texi.
35720         * doc/posix-functions/strcasecmp_l.texi: Renamed from
35721         doc/glibc-functions/strcasecmp_l.texi.
35722         * doc/posix-functions/strcoll_l.texi: Renamed from
35723         doc/glibc-functions/strcoll_l.texi.
35724         * doc/posix-functions/strfmon_l.texi: Renamed from
35725         doc/glibc-functions/strfmon_l.texi.
35726         * doc/posix-functions/strftime_l.texi: Renamed from
35727         doc/glibc-functions/strftime_l.texi.
35728         * doc/posix-functions/strncasecmp_l.texi: Renamed from
35729         doc/glibc-functions/strncasecmp_l.texi.
35730         * doc/posix-functions/strndup.texi: Renamed from
35731         doc/glibc-functions/strndup.texi.
35732         * doc/posix-functions/strnlen.texi: Renamed from
35733         doc/glibc-functions/strnlen.texi.
35734         * doc/posix-functions/strsignal.texi: Renamed from
35735         doc/glibc-functions/strsignal.texi.
35736         * doc/posix-functions/strxfrm_l.texi: Renamed from
35737         doc/glibc-functions/strxfrm_l.texi.
35738         * doc/posix-functions/timer_gettime.texi: Renamed from
35739         doc/glibc-functions/timer_gettime.texi.
35740         * doc/posix-functions/tolower_l.texi: Renamed from
35741         doc/glibc-functions/tolower_l.texi.
35742         * doc/posix-functions/toupper_l.texi: Renamed from
35743         doc/glibc-functions/toupper_l.texi.
35744         * doc/posix-functions/towctrans_l.texi: Renamed from
35745         doc/glibc-functions/towctrans_l.texi.
35746         * doc/posix-functions/towlower_l.texi: Renamed from
35747         doc/glibc-functions/towlower_l.texi.
35748         * doc/posix-functions/towupper_l.texi: Renamed from
35749         doc/glibc-functions/towupper_l.texi.
35750         * doc/posix-functions/uselocale.texi: Renamed from
35751         doc/glibc-functions/uselocale.texi.
35752         * doc/posix-functions/vdprintf.texi: Renamed from
35753         doc/glibc-functions/vdprintf.texi.
35754         * doc/posix-functions/wcpcpy.texi:
35755         Renamed from doc/glibc-functions/wcpcpy.texi.
35756         * doc/posix-functions/wcpncpy.texi: Renamed from
35757         doc/glibc-functions/wcpncpy.texi.
35758         * doc/posix-functions/wcscasecmp.texi: Renamed from
35759         doc/glibc-functions/wcscasecmp.texi.
35760         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
35761         doc/glibc-functions/wcscasecmp_l.texi.
35762         * doc/posix-functions/wcscoll_l.texi: Renamed from
35763         doc/glibc-functions/wcscoll_l.texi.
35764         * doc/posix-functions/wcsdup.texi: Renamed from
35765         doc/glibc-functions/wcsdup.texi.
35766         * doc/posix-functions/wcsncasecmp.texi: Renamed from
35767         doc/glibc-functions/wcsncasecmp.texi.
35768         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
35769         doc/glibc-functions/wcsncasecmp_l.texi.
35770         * doc/posix-functions/wcsnlen.texi: Renamed from
35771         doc/glibc-functions/wcsnlen.texi.
35772         * doc/posix-functions/wcsnrtombs.texi: Renamed from
35773         doc/glibc-functions/wcsnrtombs.texi.
35774         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
35775         doc/glibc-functions/wcsxfrm_l.texi.
35776         * doc/posix-functions/wctrans_l.texi: Renamed from
35777         doc/glibc-functions/wctrans_l.texi.
35778         * doc/posix-functions/wctype_l.texi: Renamed from
35779         doc/glibc-functions/wctype_l.texi.
35780         * doc/gnulib.texi (Function Substitutes): Add these subsections.
35781         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
35782         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
35783         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
35784         these subsections.
35785         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
35786         Remove sections.
35787
35788 2008-12-14  Bruno Haible  <bruno@clisp.org>
35789
35790         Update doc for POSIX:2008.
35791         * doc/posix-functions/*.texi: Update URL of POSIX specification.
35792
35793 2008-12-14  Bruno Haible  <bruno@clisp.org>
35794
35795         Update doc for POSIX:2008.
35796         * doc/pastposix-functions/bcmp.texi: Renamed from
35797         doc/posix-functions/bcmp.texi.
35798         * doc/pastposix-functions/bcopy.texi: Renamed from
35799         doc/posix-functions/bcopy.texi.
35800         * doc/pastposix-functions/bsd_signal.texi: Renamed from
35801         doc/posix-functions/bsd_signal.texi.
35802         * doc/pastposix-functions/bzero.texi: Renamed from
35803         doc/posix-functions/bzero.texi.
35804         * doc/pastposix-functions/ecvt.texi: Renamed from
35805         doc/posix-functions/ecvt.texi.
35806         * doc/pastposix-functions/fcvt.texi: Renamed from
35807         doc/posix-functions/fcvt.texi.
35808         * doc/pastposix-functions/ftime.texi: Renamed from
35809         doc/posix-functions/ftime.texi.
35810         * doc/pastposix-functions/gcvt.texi: Renamed from
35811         doc/posix-functions/gcvt.texi.
35812         * doc/pastposix-functions/getcontext.texi: Renamed from
35813         doc/posix-functions/getcontext.texi.
35814         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
35815         doc/posix-functions/gethostbyaddr.texi.
35816         * doc/pastposix-functions/gethostbyname.texi: Renamed from
35817         doc/posix-functions/gethostbyname.texi.
35818         * doc/pastposix-functions/getwd.texi: Renamed from
35819         doc/posix-functions/getwd.texi.
35820         * doc/pastposix-functions/h_errno.texi: Renamed from
35821         doc/posix-functions/h_errno.texi.
35822         * doc/pastposix-functions/index.texi: Renamed from
35823         doc/posix-functions/index.texi.
35824         * doc/pastposix-functions/makecontext.texi: Renamed from
35825         doc/posix-functions/makecontext.texi.
35826         * doc/pastposix-functions/mktemp.texi: Renamed from
35827         doc/posix-functions/mktemp.texi.
35828         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
35829         doc/posix-functions/pthread_attr_getstackaddr.texi.
35830         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
35831         doc/posix-functions/pthread_attr_setstackaddr.texi.
35832         * doc/pastposix-functions/rindex.texi: Renamed from
35833         doc/posix-functions/rindex.texi.
35834         * doc/pastposix-functions/scalb.texi: Renamed from
35835         doc/posix-functions/scalb.texi.
35836         * doc/pastposix-functions/setcontext.texi: Renamed from
35837         doc/posix-functions/setcontext.texi.
35838         * doc/pastposix-functions/swapcontext.texi: Renamed from
35839         doc/posix-functions/swapcontext.texi.
35840         * doc/pastposix-functions/ualarm.texi: Renamed from
35841         doc/posix-functions/ualarm.texi.
35842         * doc/pastposix-functions/usleep.texi: Renamed from
35843         doc/posix-functions/usleep.texi.
35844         * doc/pastposix-functions/vfork.texi: Renamed from
35845         doc/posix-functions/vfork.texi.
35846         * doc/pastposix-functions/wcswcs.texi: Renamed from
35847         doc/posix-functions/wcswcs.texi.
35848         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
35849         (Function Substitutes): Update.
35850
35851 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35852
35853         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
35854         m4/strerror.m4.
35855
35856 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35857             Bruno Haible  <bruno@clisp.org>
35858
35859         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
35860
35861 2008-12-13  Bruno Haible  <bruno@clisp.org>
35862
35863         * modules/strtoull (Depends-on): Remove unistd.
35864
35865 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35866
35867         * modules/strtoull (Depends-on): Add stdlib.
35868
35869 2008-12-11  Simon Josefsson  <simon@josefsson.org>
35870
35871         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
35872
35873 2008-12-10  Jim Meyering  <meyering@redhat.com>
35874
35875         gl_ASSERT: don't say assertions are disabled when they're not
35876         * m4/assert.m4 (gl_ASSERT): Do not make configure report
35877         "checking whether to enable assertions... no", when they are in
35878         fact enabled.  This is solely a bug in the output of configure.
35879         In spite of saying "no", NDEBUG was not defined in that case.
35880         Also, as noted by Eric Blake, leave assertions enabled upon
35881         --enable-assert=INVALID.
35882
35883 2008-12-10  Bruno Haible  <bruno@clisp.org>
35884
35885         Change MODULES.html to refer to POSIX:2008 where possible.
35886         * MODULES.html.sh (POSIX2008_URL): New variable.
35887         (posix_headers): Remove sys/timeb, ucontext.
35888         (posix2001_headers): New variable.
35889         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
35890         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
35891         index, makecontext, mktemp, pthread_attr_getstackaddr,
35892         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
35893         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
35894         (posix2001_functions): New variable.
35895         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
35896         otherwise.
35897
35898 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35899
35900         add missing include to parse-duration.c
35901         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
35902         * modules/parse-duration (Depends-on): Add xalloc.
35903
35904         fix sed script reading maint.mk
35905         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
35906         (syntax-check-rules): Use it.
35907
35908 2008-12-09  Bruno Haible  <bruno@clisp.org>
35909
35910         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
35911         MacOS X 10.4/PowerPC.
35912         Reported by Simon Josefsson.
35913
35914 2008-12-08  Jim Meyering  <meyering@redhat.com>
35915
35916         work around mingw's lack of some S_IF definitions
35917         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
35918         Reported by Simon Josefsson.
35919
35920 2008-12-08  Bruno Haible  <bruno@clisp.org>
35921
35922         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
35923         applied to variables. Needed on MacOS X 10.4/PowerPC.
35924         Reported by Simon Josefsson.
35925
35926 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
35927         and Eric Blake  <ebb9@byu.net>
35928
35929         assert: honor --enable-assert
35930         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
35931         order to honor --enable-assert, rather than treating it as a
35932         synonym for --disable-assert.
35933
35934 2008-12-08  Jim Meyering  <meyering@redhat.com>
35935
35936         * lib/posixtm.c: Remove now-useless declaration of mktime.
35937
35938         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
35939
35940 2008-12-07  Bruno Haible  <bruno@clisp.org>
35941
35942         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
35943         test_once): Mark functions as static.
35944         * tests/test-tls.c (test_tls): Likewise.
35945
35946 2008-12-07  Bruno Haible  <bruno@clisp.org>
35947
35948         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
35949         iconv_register_autodetect.
35950
35951 2008-12-07  Jim Meyering  <meyering@redhat.com>
35952
35953         posixtm.c: avoid a warning
35954         * lib/posixtm.c (posixtime): Don't initialize tm0.
35955         It's no longer needed to placate gcc4's -Wuninitialized,
35956         and the attempt to placate would elicit a new warning.
35957
35958         unicodeio.c: mark unused parameters
35959         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
35960         (fallback_failure_callback): Likewise.
35961
35962 2008-12-07  Bruno Haible  <bruno@clisp.org>
35963
35964         * gnulib-tool (func_create_testdir): When building the tests
35965         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
35966         Reported by Simon Josefsson.
35967
35968 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35969
35970         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
35971
35972 2008-12-06  Bruno Haible  <bruno@clisp.org>
35973
35974         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
35975         Suggested by Eric Blake.
35976
35977 2008-12-06  Bruno Haible  <bruno@clisp.org>
35978
35979         Fix a c-stack test failure on MacOS X.
35980         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
35981         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
35982         handler for SIGBUS as well.
35983         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
35984         install a signal handler for SIGBUS as well.
35985         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
35986
35987 2008-12-06  Bruno Haible  <bruno@clisp.org>
35988
35989         Advocacy documentation.
35990         * doc/gnulib-intro.texi (Benefits): New section.
35991         * doc/gnulib.texi: Update.
35992
35993 2008-12-06  Bruno Haible  <bruno@clisp.org>
35994
35995         Document the 'manywarnings' module.
35996         * doc/manywarnings.texi: New file.
35997         * doc/gnulib.texi: Include it.
35998
35999 2008-12-05  Eric Blake  <ebb9@byu.net>
36000
36001         tests: silence some gcc warnings
36002         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
36003         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
36004         type mismatches.
36005
36006 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36007             Bruno Haible  <bruno@clisp.org>
36008
36009         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
36010
36011 2008-11-29  Jim Meyering  <meyering@redhat.com>
36012
36013         unicodeio.c: mark unused parameters
36014         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
36015         (fallback_failure_callback): Likewise.
36016
36017         fts: fix a thinko
36018         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
36019         (set_stat_type): Return S_IF*-valued "type" directly.
36020         Prompted by James Youngman's spotting a related bug.
36021         Confirmed by further testing through find.
36022
36023         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
36024         * lib/fts.c (D_TYPE): Define.
36025         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
36026         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
36027         (s_ifmt_shift_bits): New function.
36028         (set_stat_type): New function.
36029         (fts_build): When not calling fts_stat, call set_stat_type
36030         to propagate dirent.d_type info to fts_read caller.
36031         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
36032         fts_statp->st_mode type information may be valid.
36033
36034 2008-11-28  Simon Josefsson  <simon@josefsson.org>
36035
36036         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
36037         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
36038         <sds@gnu.org>.
36039
36040 2008-11-20  Bruno Haible  <bruno@clisp.org>
36041
36042         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
36043         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
36044         INCLUDE_NEXT.
36045         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
36046         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
36047         * modules/math (Makefile.am): Substitute
36048         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
36049         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36050
36051 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
36052             Bruno Haible  <bruno@clisp.org>
36053
36054         * lib/stdint.in.h: Define all type macros so that their expansion is
36055         a single typedef'ed token. Fixes a compilation failure in Boost which
36056         does "using ::int8_t;".
36057
36058 2008-11-18  Simon Josefsson  <simon@josefsson.org>
36059
36060         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
36061         gl_MANYWARN_ALL_GCC.
36062         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
36063         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
36064         * modules/manywarnings: New file.
36065         * MODULES.html.sh: Mention manywarnings module.
36066
36067 2008-11-18  Bruno Haible  <bruno@clisp.org>
36068
36069         * doc/gnulib-tool.texi (Unit tests): New section.
36070
36071 2008-11-18  Simon Josefsson  <simon@josefsson.org>
36072
36073         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
36074         paths like 'lib/po/foo.po'.
36075
36076 2008-11-17  Simon Josefsson  <simon@josefsson.org>
36077
36078         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
36079         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
36080
36081 2008-11-17  Simon Josefsson  <simon@josefsson.org>
36082
36083         * m4/warnings.m4: Use CPPFLAGS to really check whether the
36084         parameter works.
36085
36086 2008-11-17  Simon Josefsson  <simon@josefsson.org>
36087
36088         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
36089
36090 2008-11-17  Bruce Korb  <bkorb@gnu.org>
36091
36092         * modules/parse-duration-tests: New file.
36093         * tests/test-parse-duration.sh: New file.
36094         * tests/test-parse-duration.c: New file.
36095
36096         New module 'parse-duration'.
36097         * lib/parse-duration.h: New file.
36098         * lib/parse-duration.c: New file.
36099         * modules/parse-duration: New file.
36100
36101 2008-11-17  Bruno Haible  <bruno@clisp.org>
36102
36103         * tests/test-select-out.sh: Comment out the first pipe test.
36104         Reported by Simon Josefsson.
36105
36106 2008-11-17  Bruno Haible  <bruno@clisp.org>
36107
36108         * modules/getaddrinfo (Depends-on): Add servent, hostent.
36109         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
36110         gl_HOSTENT.
36111
36112 2008-11-17  Bruno Haible  <bruno@clisp.org>
36113
36114         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
36115         -lnetwork and -lnet. Needed for Haiku and BeOS.
36116
36117 2008-11-16  Bruno Haible  <bruno@clisp.org>
36118
36119         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
36120
36121 2008-11-16  Bruno Haible  <bruno@clisp.org>
36122
36123         Avoid test failure on Haiku.
36124         * tests/test-fsync.c: Include <errno.h>.
36125         (main): Don't require that fsync (0) fails.
36126
36127 2008-11-15  Bruno Haible  <bruno@clisp.org>
36128
36129         New module 'hostent'.
36130         * modules/hostent: New file.
36131         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
36132
36133 2008-11-15  Bruno Haible  <bruno@clisp.org>
36134
36135         New module 'servent'.
36136         * modules/servent: New file.
36137         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
36138
36139 2008-11-15  Bruno Haible  <bruno@clisp.org>
36140
36141         Avoid generating same test program with two different rules.
36142         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
36143         test-frexp to test-frexp-nolibm.
36144         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
36145         test-frexpl to test-frexpl-nolibm.
36146
36147 2008-11-15  Bruno Haible  <bruno@clisp.org>
36148
36149         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
36150         $(FREXPL_LIBM).
36151
36152 2008-11-15  Bruno Haible  <bruno@clisp.org>
36153
36154         * lib/netdb.in.h: Activate the definitions also when the system's
36155         <netdb.h> has 'struct addrinfo'.
36156         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
36157         EAI_OVERFLOW or AI_NUMERICSERV.
36158         * doc/posix-headers/netdb.texi: Document the problem.
36159
36160 2008-11-15  Bruno Haible  <bruno@clisp.org>
36161
36162         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
36163
36164         Make the 'sched' module work on platforms where <sched.h> exists but
36165         is incomplete (such as Haiku).
36166         * lib/sched.in.h; Include the system's <sched.h> if it exists.
36167         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
36168         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
36169         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
36170         HAVE_STRUCT_SCHED_PARAM.
36171         * modules/sched (Depends-on): Add include_next.
36172         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
36173         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
36174         * doc/posix-headers/sched.texi: Document the issue.
36175
36176 2008-11-13  Jim Meyering  <meyering@redhat.com>
36177
36178         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
36179         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
36180         test would fail due to the difference in the Report bugs to ...
36181         line.  The expected address is empty, "<>", while the actual
36182         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
36183
36184 2008-11-12  Bruno Haible  <bruno@clisp.org>
36185
36186         lstat: don't compile lstat.c on systems lacking lstat
36187         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
36188         which don't have lstat; this is handled by lib/sys_stat.in.h already.
36189         Reported by Daniel P. Berrange via Jim Meyering.
36190
36191 2008-11-12  Jim Meyering  <meyering@redhat.com>
36192
36193         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
36194
36195 2008-11-12  Simon Josefsson  <simon@josefsson.org>
36196
36197         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
36198         instead.
36199
36200 2008-11-12  Bruno Haible  <bruno@clisp.org>
36201
36202         * lib/unicodeio.c: Include unistr.h.
36203         (utf8_wctomb): Remove function.
36204         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
36205
36206 2008-11-12  Simon Josefsson  <simon@josefsson.org>
36207
36208         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
36209         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
36210         <bruno@clisp.org>.
36211         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
36212
36213 2008-11-12  Simon Josefsson  <simon@josefsson.org>
36214
36215         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
36216         * doc/gnulib.texi: Add section for warnings.
36217
36218 2008-11-11  Bruno Haible  <bruno@clisp.org>
36219
36220         * lib/sockets.h: Add a comment.
36221
36222 2008-11-11  Karl Berry  <karl@gnu.org>
36223
36224         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
36225
36226 2008-11-11  Eric Blake  <ebb9@byu.net>
36227
36228         fdl.texi: avoid git symlinks
36229         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
36230
36231 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36232
36233         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
36234
36235 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36236
36237         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
36238         (gl_WARN_ADD): Substitute $2 if literal.
36239
36240 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36241
36242         * m4/warning.m4: Remove.
36243
36244 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36245
36246         * m4/warnings.m4: Almost complete rewrite. :-)
36247
36248 2008-11-10  Simon Josefsson  <simon@josefsson.org>
36249
36250         * modules/warnings: New module.
36251         * m4/warnings.m4: New file.
36252         * MODULES.html.sh: Mention warnings module.
36253         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
36254         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36255
36256 2008-11-10  Eric Blake  <ebb9@byu.net>
36257
36258         fdl.texi: make a symlink to the latest version
36259         * doc/standards.texi: Revert today's earlier change.
36260         * doc/fdl-1.2.texi: Rename from old fdl.texi...
36261         * doc/fdl.texi: ...and replace this with a symlink to the newer
36262         fdl-1.3.texi.
36263
36264 2008-11-10  Bruno Haible  <bruno@clisp.org>
36265
36266         * tests/test-select-fd.c (main): Accept the result file name as fourth
36267         argument.
36268         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
36269         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
36270
36271 2008-11-10  Bruno Haible  <bruno@clisp.org>
36272
36273         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
36274         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
36275         as autoconf-substituted macros.
36276         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
36277         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
36278         gl_NETDB_H_DEFAULTS. Set these variables.
36279         * modules/netdb (Makefile.am): Substitute these variables.
36280
36281 2008-11-10  Eric Blake  <ebb9@byu.net>
36282
36283         standards.texi: include correct file for FDL 1.3
36284         * doc/standards.texi (GNU Free Documentation License): Change
36285         include file to pull in FDL 1.3, not 1.2.
36286
36287         fdl.texi: revert accidental change to license
36288         * doc/fdl.texi: This is FDL 1.2, not 1.3.
36289
36290 2008-11-10  Bruno Haible  <bruno@clisp.org>
36291
36292         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
36293         cross-compiling guesses also when the native compile gives no result.
36294
36295 2008-11-10  Bruno Haible  <bruno@clisp.org>
36296
36297         * lib/spawni.c (__spawni): Force variable into the stack.
36298
36299 2008-11-10  Bruno Haible  <bruno@clisp.org>
36300
36301         Add support for Haiku.
36302         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
36303         glibc and BeOS, but also on Haiku.
36304         * lib/fpurge.c (fpurge): Likewise.
36305         * lib/freadable.c (freadable): Likewise.
36306         * lib/freadahead.c (freadahead): Likewise.
36307         * lib/freading.c (freading): Likewise.
36308         * lib/freadptr.c (freadptr): Likewise.
36309         * lib/freadseek.c (freadptrinc): Likewise.
36310         * lib/fseeko.c (rpl_fseeko): Likewise.
36311         * lib/fseterr.c (fseterr): Likewise.
36312         * lib/fwritable.c (fwritable): Likewise.
36313         * lib/fwriting.c (fwriting): Likewise.
36314         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
36315
36316 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
36317
36318         * lib/config.charset: Treat Haiku like BeOS.
36319
36320 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
36321
36322         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
36323         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
36324
36325 2008-11-08  Bruno Haible  <bruno@clisp.org>
36326
36327         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
36328         AC_CACHE_CHECK.
36329
36330 2008-11-08  Bruno Haible  <bruno@clisp.org>
36331
36332         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
36333
36334 2008-11-08  Bruno Haible  <bruno@clisp.org>
36335
36336         * tests/test-select-fd.c: New file.
36337         * tests/test-select-in.sh: New file.
36338         * tests/test-select-out.sh: New file.
36339         * tests/test-select-stdin.c: New file.
36340         * modules/select-tests (Files): Add the new files.
36341         (Depends-on): Add gettimeofday.
36342         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
36343         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
36344         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
36345
36346 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
36347             Bruno Haible  <bruno@clisp.org>
36348
36349         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
36350
36351 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
36352
36353         * build-aux/pmccabe2html: Added support for C++ source files.
36354
36355 2008-11-05  Ben Pfaff  <blp@gnu.org>
36356
36357         Fix lib/close.c build on Windows.
36358         * modules/close (Files): Add lib/w32sock.h.
36359
36360 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
36361
36362         Accept Bison's NEWS format.
36363         * build-aux/announce-gen (print_news_deltas): Tweak
36364         $re_prefix.
36365
36366 2008-11-04  Bruno Haible  <bruno@clisp.org>
36367
36368         * modules/random_r (Maintainer): Add glibc.
36369
36370 2008-11-04  Simon Josefsson  <simon@josefsson.org>
36371
36372         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
36373         by karl@freefriends.org (Karl Berry).
36374         * doc/alloca.texi: Likewise.
36375         * doc/c-ctype.texi: Likewise.
36376         * doc/c-strcase.texi: Likewise.
36377         * doc/c-strcaseeq.texi: Likewise.
36378         * doc/c-strcasestr.texi: Likewise.
36379         * doc/c-strstr.texi: Likewise.
36380         * doc/c-strtod.texi: Likewise.
36381         * doc/c-strtold.texi: Likewise.
36382         * doc/ctime.texi: Likewise.
36383         * doc/error.texi: Likewise.
36384         * doc/fdl.texi: Likewise.
36385         * doc/gcd.texi: Likewise.
36386         * doc/getdate.texi: Likewise.
36387         * doc/gnulib-intro.texi: Likewise.
36388         * doc/gnulib-tool.texi: Likewise.
36389         * doc/gnulib.texi: Likewise.
36390         * doc/inet_ntoa.texi: Likewise.
36391         * doc/maintain.texi: Likewise.
36392         * doc/make-stds.texi: Likewise.
36393         * doc/quote.texi: Likewise.
36394         * doc/regexprops-generic.texi: Likewise.
36395         * doc/standards.texi: Likewise.
36396         * doc/verify.texi: Likewise.
36397         * doc/visibility.texi: Likewise.
36398         * doc/gnulib.texi (GNU Free Documentation License): Include
36399         fdl-1.3.texi instead of fdl.texi.
36400
36401 2008-11-04  Simon Josefsson  <simon@josefsson.org>
36402
36403         * doc/fdl-1.3.texi: New file, from
36404         <http://www.gnu.org/licenses/fdl-1.3.texi>.
36405         * modules/fdl-1.3: Add.
36406         * MODULES.html.sh: Add fdl-1.3.
36407
36408 2008-11-03  Bruno Haible  <bruno@clisp.org>
36409
36410         Make determination of absolute name of header file work with AIX xlc.
36411         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
36412         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
36413         preprocessing.
36414         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
36415         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
36416
36417 2008-11-03  Simon Josefsson  <simon@josefsson.org>
36418
36419         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
36420         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
36421         <ludo@gnu.org>.
36422
36423 2008-11-02  Bruno Haible  <bruno@clisp.org>
36424
36425         Mark 'strpbrk' obsolete.
36426         * modules/strpbrk (Status, Notice): New sections.
36427         * modules/strtok_r (Depends-on): Add strpbrk.
36428
36429 2008-11-02  Bruno Haible  <bruno@clisp.org>
36430
36431         Mark 'strdup' obsolete.
36432         * modules/strdup (Status, Notice): New sections.
36433         * modules/findprog (Depends-on): Add strdup.
36434         * modules/getaddrinfo (Depends-on): Likewise.
36435         * modules/localename (Depends-on): Likewise.
36436         * modules/relocatable-lib (Depends-on): Likewise.
36437         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
36438         * modules/relocatable-prog (Depends-on): Likewise.
36439         * modules/trim (Depends-on): Likewise.
36440         * modules/unictype/gen-ctype (Depends-on): Likewise.
36441         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
36442
36443 2008-11-02  Bruno Haible  <bruno@clisp.org>
36444
36445         Mark 'strcspn' obsolete.
36446         * modules/strcspn (Status, Notice): New sections.
36447
36448 2008-11-02  Bruno Haible  <bruno@clisp.org>
36449
36450         Mark 'rmdir' obsolete.
36451         * modules/rmdir (Status, Notice): New sections.
36452         * modules/clean-temp (Depends-on): Add rmdir.
36453         * modules/openat (Depends-on): Likewise.
36454
36455 2008-11-02  Bruno Haible  <bruno@clisp.org>
36456
36457         Mark 'raise' obsolete.
36458         * modules/raise (Status, Notice): New sections.
36459         (Include): Specify <signal.h>.
36460         * modules/stdio (Depends-on): Add raise.
36461         * modules/write (Depends-on): Likewise.
36462
36463 2008-11-02  Bruno Haible  <bruno@clisp.org>
36464
36465         Mark 'memset' obsolete.
36466         * modules/memset (Status, Notice): New sections.
36467
36468 2008-11-02  Bruno Haible  <bruno@clisp.org>
36469
36470         Mark 'memmove' obsolete.
36471         * modules/memmove (Status, Notice): New sections.
36472         * modules/argp (Depends-on): Add memmove.
36473         * modules/argz (Depends-on): Likewise.
36474         * modules/canonicalize (Depends-on): Likewise.
36475         * modules/canonicalize-lgpl (Depends-on): Likewise.
36476         * modules/fts (Depends-on): Likewise.
36477         * modules/getcwd (Depends-on): Likewise.
36478         * modules/human (Depends-on): Likewise.
36479         * modules/regex (Depends-on): Likewise.
36480         * modules/striconveh (Depends-on): Likewise.
36481         * modules/trim (Depends-on): Likewise.
36482         * modules/unistr/u8-move (Depends-on): Likewise.
36483         * modules/unistr/u16-move (Depends-on): Likewise.
36484         * modules/unistr/u32-move (Depends-on): Likewise.
36485
36486 2008-11-02  Bruno Haible  <bruno@clisp.org>
36487
36488         Mark 'memcpy' obsolete.
36489         * modules/memcpy (Status, Notice): New sections.
36490
36491 2008-11-02  Bruno Haible  <bruno@clisp.org>
36492
36493         Mark 'memcmp' obsolete.
36494         * modules/memcmp (Status, Notice): New sections.
36495         * modules/argmatch (Depends-on): Add memchr.
36496         * modules/backupfile (Depends-on): Likewise.
36497         * modules/c-strcasestr (Depends-on): Likewise.
36498         * modules/crypto/des (Depends-on): Likewise.
36499         * modules/csharpcomp (Depends-on): Likewise.
36500         * modules/fnmatch (Depends-on): Likewise.
36501         * modules/git-merge-changelog (Depends-on): Likewise.
36502         * modules/isnand (Depends-on): Likewise.
36503         * modules/isnand-nolibm (Depends-on): Likewise.
36504         * modules/isnanf (Depends-on): Likewise.
36505         * modules/isnanf-nolibm (Depends-on): Likewise.
36506         * modules/isnanl (Depends-on): Likewise.
36507         * modules/isnanl-nolibm (Depends-on): Likewise.
36508         * modules/mbchar (Depends-on): Likewise.
36509         * modules/memcoll (Depends-on): Likewise.
36510         * modules/quotearg (Depends-on): Likewise.
36511         * modules/regex (Depends-on): Likewise.
36512         * modules/relocatable-prog (Depends-on): Likewise.
36513         * modules/same (Depends-on): Likewise.
36514         * modules/signbit (Depends-on): Likewise.
36515         * modules/strcasestr-simple (Depends-on): Likewise.
36516         * modules/unictype/gen-ctype (Depends-on): Likewise.
36517         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
36518         * modules/uniname/uniname (Depends-on): Likewise.
36519         * modules/unistr/u8-cmp (Depends-on): Likewise.
36520
36521 2008-11-02  Bruno Haible  <bruno@clisp.org>
36522
36523         Mark 'memchr' obsolete.
36524         * modules/memchr (Status, Notice): New sections.
36525         * modules/argp (Depends-on): Add memchr.
36526         * modules/base64 (Depends-on): Likewise.
36527         * modules/c-strcasestr (Depends-on): Likewise.
36528         * modules/chdir-long (Depends-on): Likewise.
36529         * modules/fnmatch (Depends-on): Likewise.
36530         * modules/getsubopt (Depends-on): Likewise.
36531         * modules/git-merge-changelog (Depends-on): Likewise.
36532         * modules/glob (Depends-on): Likewise.
36533         * modules/strcasestr-simple (Depends-on): Likewise.
36534         * modules/strnlen (Depends-on): Likewise.
36535
36536 2008-11-02  Bruno Haible  <bruno@clisp.org>
36537
36538         Mark 'atexit' obsolete.
36539         * modules/atexit (Status, Notice): New sections.
36540         * modules/chdir-long (Depends-on): Add atexit.
36541         * modules/wait-process (Depends-on): Likewise.
36542
36543 2008-11-02  Bruno Haible  <bruno@clisp.org>
36544
36545         * gnulib-tool: New option --with-obsolete.
36546         (func_usage): Document it.
36547         (func_modules_transitive_closure): Drop obsolete dependencies if
36548         incobsolete is not true.
36549         (func_import): Read and save the incobsolete variable to the cache.
36550
36551 2008-11-02  Bruno Haible  <bruno@clisp.org>
36552
36553         * modules/TEMPLATE-EXTENDED: New field 'Status'.
36554         * gnulib-tool: New option --extract-status.
36555         (func_usage): Document it.
36556         (sed_extract_prog): Recognize it.
36557         (func_get_status): New function.
36558
36559 2008-10-30  Simon Josefsson  <simon@josefsson.org>
36560
36561         * modules/sockets (License): Change from LGPL to LGPLv2+.
36562
36563 2008-10-28  Simon Josefsson  <simon@josefsson.org>
36564
36565         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
36566
36567 2008-10-28  Simon Josefsson  <simon@josefsson.org>
36568
36569         * MODULES.html.sh (Support for systems lacking POSIX:2001):
36570         Mention times and sys_times.
36571         * modules/sys_times, modules/sys_times-tests: New modules.
36572         * modules/times, modules/times-tests: Likewise
36573         * m4/sys_times_h.m4: New file.
36574         * lib/sys_times.in.h: Likewise
36575         * lib/times.c: Likewise.
36576         * tests/test-sys_times.c: Likewise.
36577         * tests/test-times.c: Likewise.
36578         * doc/posix-headers/sys_times.texi: Update.
36579         * doc/posix-functions/times.texi: Update.
36580
36581 2008-10-28  Jim Meyering  <meyering@redhat.com>
36582
36583         * modules/tempname (Depends-on): Add lstat.
36584
36585         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
36586
36587 2008-10-28  Simon Josefsson  <simon@josefsson.org>
36588
36589         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
36590         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
36591         using idiom used elsewhere in gnulib.
36592
36593 2008-10-27  Jim Meyering  <meyering@redhat.com>
36594
36595         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
36596
36597 2008-10-27  Simon Josefsson  <simon@josefsson.org>
36598
36599         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
36600         TESTS_ENVIRONMENT, for shell scripts that needs to call built
36601         programs.
36602         * tests/test-argp-2.sh: Use $EXEEXT when needed.
36603
36604 2008-10-27  Simon Josefsson  <simon@josefsson.org>
36605
36606         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
36607
36608 2008-10-27  Bruno Haible  <bruno@clisp.org>
36609
36610         * tests/test-lstat.c: Include <stdio.h>.
36611
36612 2008-10-27  Simon Josefsson  <simon@josefsson.org>
36613
36614         * modules/lstat-tests: New module.
36615         * tests/test-lstat.c: New file.
36616
36617 2008-10-26  Jim Meyering  <meyering@redhat.com>
36618
36619         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
36620
36621 2008-10-26  Simon Josefsson  <simon@josefsson.org>
36622             Bruno Haible  <bruno@clisp.org>
36623
36624         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
36625         * modules/configmake (Include): Add a note that the include must come
36626         after all system headers.
36627         * lib/javaversion.c: Include configmake.h after all other includes.
36628
36629 2008-10-26  Bruno Haible  <bruno@clisp.org>
36630
36631         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
36632         HAVE_STRUCT_RANDOM_DATA to 1.
36633         (gl_STDLIB_H): Simplify.
36634
36635 2008-10-26  Simon Josefsson  <simon@josefsson.org>
36636
36637         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
36638         substitute HAVE_STRUCT_RANDOM_DATA.
36639         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
36640         random_data.
36641         * modules/stdlib (Makefile.am): Substitute
36642         HAVE_STRUCT_RANDOM_DATA.
36643
36644 2008-10-26  Simon Josefsson  <simon@josefsson.org>
36645
36646         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
36647         * doc/gnulib-intro.texi (Copyright): Likewise.
36648
36649 2008-10-26  Simon Josefsson  <simon@josefsson.org>
36650
36651         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
36652         findings.
36653
36654 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
36655             Bruno Haible  <bruno@clisp.org>
36656
36657         * lib/unistd.in.h: Include <winsock2.h>.
36658         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
36659         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
36660         Provide dummy declarations.
36661         (gethostname): Override.
36662         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
36663         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
36664         gl_PREREQ_SYS_H_WINSOCK2.
36665         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
36666         * doc/posix-functions/gethostname.texi: More details.
36667
36668 2008-10-25  Bruno Haible  <bruno@clisp.org>
36669
36670         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
36671         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
36672         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
36673
36674         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
36675         here ...
36676         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
36677         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
36678         gl_UNISTD_H_DEFAULTS.
36679
36680 2008-10-25  Eric Blake  <ebb9@byu.net>
36681
36682         signbit: avoid spurious compiler failure
36683         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
36684         declarations inside function.
36685
36686 2008-10-24  Simon Josefsson  <simon@josefsson.org>
36687             Bruno Haible  <bruno@clisp.org>
36688
36689         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
36690         * modules/random_r (Depends-on): Add stdint.
36691
36692 2008-10-24  Bruno Haible  <bruno@clisp.org>
36693
36694         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
36695         Eggert.
36696         * modules/strerror (License): Likewise.
36697
36698 2008-10-24  Jim Meyering  <meyering@redhat.com>
36699
36700         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
36701         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
36702
36703 2008-10-24  Eric Blake  <ebb9@byu.net>
36704
36705         getgroups: fix compilation when getgroups is available
36706         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
36707         but with <config.h> override of getgroups disabled.
36708
36709 2008-10-24  Simon Josefsson  <simon@josefsson.org>
36710
36711         * doc/gnulib.texi (Header files): Add note about C++ problems.
36712         Explained by Bruno Haible <bruno@clisp.org>.
36713
36714 2008-10-23  Bruno Haible  <bruno@clisp.org>
36715
36716         Define a dummy SA_NODEFER macro on Interix.
36717         * lib/signal.in.h (SA_NODEFER): Define fallback.
36718         Reported by Aleksey Cheusov <cheusov@tut.by> via
36719         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
36720
36721 2008-10-23  Bruno Haible  <bruno@clisp.org>
36722
36723         * modules/freadahead (License): Change to LGPLv2+.
36724         Suggested by Simon Josefsson.
36725
36726 2008-10-23  Jim Meyering  <meyering@redhat.com>
36727
36728         random_r: new module
36729         * modules/random_r: New file.
36730         * m4/random_r.m4: New file.
36731         * lib/random_r.c: New file, from glibc.
36732         * modules/random_r-tests: New file.
36733         * tests/test-random_r.c: New file.
36734         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
36735          Declare.
36736         (RAND_MAX): Define.
36737         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
36738         * modules/stdlib: Substitute them, too.
36739         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
36740         * doc/glibc-functions/initstate_r.texi: Mention the new module.
36741         * doc/glibc-functions/random_r.texi: Likewise.
36742         * doc/glibc-functions/setstate_r.texi: Likewise.
36743         * doc/glibc-functions/srandom_r.texi: Likewise.
36744         * config/srclist.txt: Mention it.
36745
36746 2008-10-23  David Lutterkort  <lutter@redhat.com>
36747
36748         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
36749         link requirement
36750
36751 2008-10-23  Jim Meyering  <meyering@redhat.com>
36752
36753         selinux-h: mark parameters of stub functions as intentionally unused
36754         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
36755         * lib/se-context.in.h: Likewise.
36756
36757 2008-10-22  Simon Josefsson  <simon@josefsson.org>
36758
36759         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
36760
36761 2008-10-22  Simon Josefsson  <simon@josefsson.org>
36762
36763         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
36764
36765 2008-10-22  Eric Blake  <ebb9@byu.net>
36766
36767         glthread/thread: avoid compiler warning
36768         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
36769         Add unreachable abort to silence compiler.
36770
36771 2008-10-22  Eric Blake  <ebb9@byu.net>
36772
36773         netdb: also supply struct addrinfo for cygwin 1.5.x
36774         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
36775         older cygwin.
36776         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
36777         cygwin.
36778         * doc/posix-headers/netdb.texi (netdb.h): Document this.
36779
36780 2008-10-22  Bruno Haible  <bruno@clisp.org>
36781
36782         * users.txt: Update entry about pspp.
36783
36784 2008-10-21  Bruno Haible  <bruno@clisp.org>
36785
36786         Simplification.
36787         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
36788         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
36789
36790         Simplification.
36791         * lib/ioctl.c (ioctl): Don't undefine.
36792         * lib/socket.c (socket): Don't undefine.
36793
36794         Remove unused module indicator macros.
36795         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
36796         GNULIB_$1 as a C macro.
36797
36798         * doc/posix-functions/close.texi: Undo last change.
36799         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
36800         Windows platforms.
36801
36802 2008-10-21  Bruno Haible  <bruno@clisp.org>
36803
36804         Add gethostname() declaration to <unistd.h>.
36805         * lib/unistd.in.h (gethostname): New declaration.
36806         * lib/gethostname.c: Include <unistd.h>.
36807         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
36808         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
36809         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
36810         and HAVE_GETHOSTNAME.
36811         * modules/gethostname (Depends-on): Add unistd.
36812         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36813         (Include): Specify <unistd.h>.
36814         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
36815         HAVE_GETHOSTNAME.
36816         * tests/test-gethostname.c: Include <unistd.h> first.
36817
36818 2008-10-21  Bruno Haible  <bruno@clisp.org>
36819
36820         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
36821         * modules/select-tests (Depends-on): Likewise.
36822         Reported by Simon Josefsson.
36823
36824 2008-10-21  Simon Josefsson  <simon@josefsson.org>
36825
36826         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
36827         * lib/accept.c: New file, based on winsock.c.
36828         * lib/bind.c: New file, based on winsock.c.
36829         * lib/connect.c: New file, based on winsock.c.
36830         * lib/getpeername.c: New file, based on winsock.c.
36831         * lib/getsockname.c: New file, based on winsock.c.
36832         * lib/getsockopt.c: New file, based on winsock.c.
36833         * lib/ioctl.c: New file, based on winsock.c.
36834         * lib/listen.c: New file, based on winsock.c.
36835         * lib/recv.c: New file, based on winsock.c.
36836         * lib/recvfrom.c: New file, based on winsock.c.
36837         * lib/send.c: New file, based on winsock.c.
36838         * lib/sendto.c: New file, based on winsock.c.
36839         * lib/setsockopt.c: New file, based on winsock.c.
36840         * lib/shutdown.c: New file, based on winsock.c.
36841         * lib/socket.c: New file, based on winsock.c.
36842         * lib/w32sock.h: New file, based on winsock.c.
36843         * lib/winsock.c: Remove file.
36844         * modules/accept: Likewise.
36845         * modules/bind: Likewise.
36846         * modules/connect: Likewise.
36847         * modules/getpeername: Likewise.
36848         * modules/getsockname: Likewise.
36849         * modules/getsockopt: Likewise.
36850         * modules/ioctl: Likewise.
36851         * modules/listen: Likewise.
36852         * modules/recv: Likewise.
36853         * modules/recvfrom: Likewise.
36854         * modules/send: Likewise.
36855         * modules/sendto: Likewise.
36856         * modules/setsockopt: Likewise.
36857         * modules/shutdown: Likewise.
36858         * modules/socket: Use socket.c instead of winsock.c.
36859         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
36860         * doc/posix-functions/accept.texi: Doc fix.
36861         * doc/posix-functions/bind.texi: Doc fix.
36862         * doc/posix-functions/close.texi: Doc fix.
36863         * doc/posix-functions/connect.texi: Doc fix.
36864         * doc/posix-functions/getpeername.texi: Doc fix.
36865         * doc/posix-functions/getsockname.texi: Doc fix.
36866         * doc/posix-functions/getsockopt.texi: Doc fix.
36867         * doc/posix-functions/ioctl.texi: Doc fix.
36868         * doc/posix-functions/listen.texi: Doc fix.
36869         * doc/posix-functions/recv.texi: Doc fix.
36870         * doc/posix-functions/recvfrom.texi: Doc fix.
36871         * doc/posix-functions/send.texi: Doc fix.
36872         * doc/posix-functions/sendto.texi: Doc fix.
36873         * doc/posix-functions/setsockopt.texi: Doc fix.
36874         * doc/posix-functions/shutdown.texi: Doc fix.
36875         * doc/posix-functions/socket.texi: Doc fix.
36876
36877 2008-10-20  Bruno Haible  <bruno@clisp.org>
36878
36879         Take into account the role of SIGABRT_COMPAT on Windows 2008.
36880         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
36881         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
36882         as an alias for SIGABRT.
36883         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
36884         (sigaction): Map it to SIGABRT.
36885         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
36886
36887 2008-10-20  Bruno Haible  <bruno@clisp.org>
36888
36889         * lib/fts.c: Don't include lstat.h.
36890         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
36891
36892         Move the lstat() declaration to <sys/stat.h>.
36893         * lib/lstat.h: Remove file.
36894         * lib/sys_stat.in.h: Add special invocation convention.
36895         (lstat): New declaration.
36896         * lib/lstat.c (orig_lstat): New function.
36897         (rpl_lstat): Use orig_lstat instead of lstat.
36898         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
36899         AC_C_INLINE. Set REPLACE_LSTAT.
36900         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
36901         and REPLACE_LSTAT.
36902         * modules/lstat (Files): Remove lib/lstat.h.
36903         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
36904         (Include): Specify <sys/stat.h> instead of lstat.h.
36905         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
36906         REPLACE_LSTAT.
36907         * NEWS: Mention the change.
36908
36909 2008-10-20  Bruno Haible  <bruno@clisp.org>
36910
36911         * modules/posix_spawn-tests: New file.
36912         * tests/test-posix_spawn3.c: New file.
36913
36914 2008-10-20  Bruno Haible  <bruno@clisp.org>
36915
36916         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
36917         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
36918         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
36919         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
36920         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
36921
36922 2008-10-20  Bruno Haible  <bruno@clisp.org>
36923
36924         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
36925         of posix_spawn on AIX 5.3.
36926
36927 2008-10-20  Bruno Haible  <bruno@clisp.org>
36928
36929         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
36930
36931 2008-10-20  Bruno Haible  <bruno@clisp.org>
36932
36933         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
36934         of AC_LANG_PROGRAM.
36935
36936 2008-10-20  Simon Josefsson  <simon@josefsson.org>
36937
36938         * lib/netdb.in.h: Don't define GNU specific constants until they
36939         are supported or needed.  Reported by Bruno Haible
36940         <bruno@clisp.org>.
36941
36942 2008-10-20  Simon Josefsson  <simon@josefsson.org>
36943
36944         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
36945
36946 2008-10-20  Simon Josefsson  <simon@josefsson.org>
36947
36948         * lib/getaddrinfo.h: Remove file.
36949         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
36950         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
36951         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
36952         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
36953         * modules/netdb: Substitute GNULIB_GETADDRINFO.
36954         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
36955         * tests/test-getaddrinfo.c: Likewise.
36956         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
36957         * NEWS: Mention change.
36958
36959 2008-10-19  Bruno Haible  <bruno@clisp.org>
36960
36961         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
36962
36963 2008-10-19  Bruno Haible  <bruno@clisp.org>
36964
36965         * lib/wait-process.c: Include simply <sys/wait.h>.
36966         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
36967         WIFSTOPPED): Remove fallback definitions.
36968         * modules/wait-process (Depends-on): Add sys_wait.
36969
36970         New module 'sys_wait'.
36971         * modules/sys_wait: New file.
36972         * lib/sys_wait.in.h: New file, partially copied from
36973         lib/wait-process.c.
36974         * m4/sys_wait_h.m4: New file.
36975         * doc/posix-headers/sys_wait.texi: Mention the new module.
36976
36977 2008-10-19  Bruno Haible  <bruno@clisp.org>
36978
36979         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
36980
36981 2008-10-19  Bruno Haible  <bruno@clisp.org>
36982
36983         Assume that waitpid() fills an 'int' status, not a 'union wait'.
36984         * lib/wait-process.c (WAIT_T): Remove type.
36985         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
36986         (wait_subprocess): Update.
36987
36988 2008-10-19  Bruno Haible  <bruno@clisp.org>
36989
36990         New module 'atoll'.
36991         * modules/atoll: New file.
36992         * lib/stdlib.in.h (atoll): New declaration.
36993         * lib/atoll.c: New file, from glibc with modifications.
36994         * m4/atoll.m4: New file.
36995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
36996         HAVE_ATOLL.
36997         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
36998         * doc/posix-functions/atoll.texi: Mention the new module.
36999
37000 2008-10-19  Bruno Haible  <bruno@clisp.org>
37001
37002         Add strtoull() declaration to <stdlib.h>.
37003         * lib/stdlib.in.h (strtoull): New declaration.
37004         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
37005         Set HAVE_STRTOULL.
37006         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
37007         HAVE_STRTOULL.
37008         * modules/strtoull (Depends-on): Add stdlib.
37009         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37010         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
37011         HAVE_STRTOULL.
37012
37013 2008-10-19  Bruno Haible  <bruno@clisp.org>
37014
37015         Add strtoll() declaration to <stdlib.h>.
37016         * lib/stdlib.in.h (strtoll): New declaration.
37017         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
37018         Set HAVE_STRTOLL.
37019         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
37020         HAVE_STRTOLL.
37021         * modules/strtoll (Depends-on): Add stdlib.
37022         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37023         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
37024
37025 2008-10-19  Bruno Haible  <bruno@clisp.org>
37026
37027         * modules/bcopy (Depends-on): Add strings.
37028         (Include): Specify <strings.h>.
37029
37030 2008-10-19  Bruno Haible  <bruno@clisp.org>
37031
37032         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
37033
37034 2008-10-19  Bruno Haible  <bruno@clisp.org>
37035
37036         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
37037         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
37038         mingw.
37039
37040 2008-10-19  Bruno Haible  <bruno@clisp.org>
37041
37042         * lib/atanl.c: Don't include isnanl.h.
37043         * lib/cosl.c: Likewise.
37044         * lib/ldexpl.c: Likewise.
37045         * lib/logl.c: Likewise.
37046         * lib/sinl.c: Likewise.
37047         * lib/sqrtl.c: Likewise.
37048         * lib/tanl.c: Likewise.
37049
37050         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
37051         * lib/isnanf.h: Remove file.
37052         * lib/isnand.h: Remove file.
37053         * lib/isnanl.h: Remove file.
37054         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
37055         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
37056         macros.
37057         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
37058         HAVE_ISNANF, don't define it as a C macro.
37059         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
37060         HAVE_ISNAND, don't define it as a C macro.
37061         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
37062         HAVE_ISNANL, don't define it as a C macro.
37063         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
37064         HAVE_ISNAN[FDL].
37065         * modules/isnanf (Files): Remove lib/isnanf.h.
37066         (Depends-on): Add math.
37067         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
37068         (Include): Specify <math.h> instead of isnanf.h.
37069         * modules/isnand (Files): Remove lib/isnand.h.
37070         (Depends-on): Add math.
37071         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
37072         (Include): Specify <math.h> instead of isnand.h.
37073         * modules/isnanl (Files): Remove lib/isnanl.h.
37074         (Depends-on): Add math.
37075         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
37076         (Include): Specify <math.h> instead of isnanl.h.
37077         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
37078         HAVE_ISNAN[FDL].
37079         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
37080         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
37081         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
37082         * NEWS: Mention the change.
37083
37084 2008-10-18  Bruno Haible  <bruno@clisp.org>
37085
37086         Add getusershell(), setusershell(), endusershell() declarations to
37087         <unistd.h>.
37088         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
37089         declarations.
37090         * lib/getusershell.c: Include unistd.h.
37091         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
37092         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
37093         HAVE_GETUSERSHELL.
37094         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
37095         and HAVE_GETUSERSHELL.
37096         * modules/getusershell (Depends-on): Add unistd, extensions.
37097         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37098         (Include): Specify <unistd.h>.
37099         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
37100         HAVE_GETUSERSHELL.
37101
37102 2008-10-18  Bruno Haible  <bruno@clisp.org>
37103
37104         Add a getloadavg() declaration to <stdlib.h>.
37105         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
37106         getloadavg declaration.
37107         (getloadavg): New declaration.
37108         * lib/getloadavg.c: Include <stdlib.h> first.
37109         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
37110         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
37111         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
37112         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
37113         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
37114         * modules/getloadavg (Depends-on): Add stdlib, extensions.
37115         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37116         (Include): Specify <stdlib.h>.
37117         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
37118         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
37119
37120 2008-10-18  Bruno Haible  <bruno@clisp.org>
37121
37122         * lib/dirchownmod.c: Don't include lchmod.h.
37123
37124         Move the lchmod() declaration to <sys/stat.h>.
37125         * lib/lchmod.h: Remove file.
37126         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
37127         (lchmod): New declaration, moved here from lib/lchown.h.
37128         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
37129         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
37130         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
37131         and HAVE_LCHMOD.
37132         * modules/lchmod (Files): Remove lib/lchmod.h.
37133         (Depends-on): Add sys_stat, extensions.
37134         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
37135         (Include): Specify <sys/stat.h> instead of lchmod.h.
37136         * modules/sys_stat (Depends-on): Add link-warning.
37137         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
37138         definition of GL_LINK_WARNING.
37139         * NEWS: Mention the change.
37140
37141 2008-10-18  Bruno Haible  <bruno@clisp.org>
37142
37143         * lib/fchdir.c: Don't include dirfd.h.
37144         * lib/fts.c: Likewise.
37145         * lib/getcwd.c: Likewise.
37146         * lib/glob.c: Likewise.
37147
37148         Move the dirfd() declaration to <dirent.h>.
37149         * lib/dirfd.h: Remove file.
37150         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
37151         (dirfd): New declaration.
37152         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
37153         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
37154         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
37155         HAVE_DECL_DIRFD.
37156         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
37157         HAVE_DECL_DIRFD.
37158         * modules/dirfd (Files): Remove lib/dirfd.h.
37159         (Depends-on): Add dirent, extensions.
37160         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
37161         (Include): Specify <dirent.h> instead of dirfd.h.
37162         * modules/dirent (Depends-on): Add link-warning.
37163         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
37164         definition of GL_LINK_WARNING.
37165         * NEWS: Mention the change.
37166
37167 2008-10-18  Bruno Haible  <bruno@clisp.org>
37168
37169         Move the euidaccess() declaration to <unistd.h>.
37170         * lib/euidaccess.h: Remove file.
37171         * lib/unistd.in.h (euidaccess): New declaration.
37172         * lib/euidaccess.c: Don't include euidaccess.h.
37173         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
37174         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
37175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
37176         and HAVE_EUIDACCESS.
37177         * modules/euidaccess (Files): Remove lib/euidaccess.h.
37178         (Depends-on): Add unistd.
37179         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37180         (Include): Specify <unistd.h> instead of euidaccess.h.
37181         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
37182         HAVE_EUIDACCESS.
37183         * NEWS: Mention the change.
37184
37185 2008-10-18  Bruno Haible  <bruno@clisp.org>
37186
37187         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
37188
37189         Move the getdomainname() declaration to <unistd.h>.
37190         * lib/getdomainname.h: Remove file.
37191         * lib/unistd.in.h (getdomainname): New declaration.
37192         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
37193         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
37194         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
37195         HAVE_GETDOMAINNAME.
37196         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37197         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
37198         * modules/getdomainname (Files): Remove lib/getdomainname.h.
37199         (Depends-on): Add unistd, extensions.
37200         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37201         (Includes): Specify <unistd.h> instead of getdomainname.h.
37202         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
37203         HAVE_GETDOMAINNAME.
37204         * NEWS: Mention the change.
37205
37206 2008-10-18  Bruno Haible  <bruno@clisp.org>
37207
37208         * modules/dirent: New file.
37209         * m4/dirent_h.m4: New file.
37210         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
37211         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
37212         * modules/fchdir (Files): Remove lib/dirent.in.h.
37213         (Depends-on): Add dirent.
37214         (Makefile.am): Move rules to modules/dirent.
37215         * doc/posix-headers/dirent.texi: Mention the new module.
37216
37217 2008-10-18  Bruno Haible  <bruno@clisp.org>
37218
37219         Avoid -Wunused-parameter warnings in public gnulib header files.
37220         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
37221         macro.
37222         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
37223
37224 2008-10-18  Bruno Haible  <bruno@clisp.org>
37225
37226         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
37227         * doc/glibc-functions/error.texi: Mention the module 'error'.
37228         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
37229         * doc/glibc-functions/getdomainname.texi: Mention the module
37230         'getdomainname'.
37231         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
37232         * doc/glibc-functions/getpagesize.texi: Mention the module
37233         'getpagesize'.
37234         * doc/glibc-functions/getusershell.texi: Mention the module
37235         'getusershell'.
37236         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
37237         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
37238         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
37239         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
37240         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
37241         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
37242         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
37243         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
37244         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
37245         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
37246         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
37247         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
37248         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
37249         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
37250
37251 2008-10-17  Bruno Haible  <bruno@clisp.org>
37252
37253         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
37254         HP-UX and IRIX, use -0.0L.
37255         * tests/test-ceill.c (minus_zero): Likewise.
37256         * tests/test-floorl.c (minus_zero): Likewise.
37257         * tests/test-frexpl.c (minus_zero): Likewise.
37258         * tests/test-isnan.c (minus_zerol): Likewise.
37259         * tests/test-isnanl.h (minus_zero): Likewise.
37260         * tests/test-ldexpl.c (minus_zero): Likewise.
37261         * tests/test-roundl.c (minus_zero): Likewise.
37262         * tests/test-signbit.c (minus_zerol): Likewise.
37263         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
37264         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
37265         * tests/test-truncl.c (minus_zero): Likewise.
37266         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
37267         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
37268         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
37269         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
37270
37271 2008-10-17  Bruno Haible  <bruno@clisp.org>
37272
37273         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
37274         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
37275         that it gets activated only for gcc >= 3.0.
37276         * lib/dirent.in.h: Likewise.
37277         * lib/errno.in.h: Likewise.
37278         * lib/fcntl.in.h: Likewise.
37279         * lib/float.in.h: Likewise.
37280         * lib/iconv.in.h: Likewise.
37281         * lib/inttypes.in.h: Likewise.
37282         * lib/locale.in.h: Likewise.
37283         * lib/math.in.h: Likewise.
37284         * lib/netdb.in.h: Likewise.
37285         * lib/netinet_in.in.h: Likewise.
37286         * lib/search.in.h: Likewise.
37287         * lib/signal.in.h: Likewise.
37288         * lib/spawn.in.h: Likewise.
37289         * lib/stdarg.in.h: Likewise.
37290         * lib/stdint.in.h: Likewise.
37291         * lib/stdio.in.h: Likewise.
37292         * lib/stdlib.in.h: Likewise.
37293         * lib/string.in.h: Likewise.
37294         * lib/strings.in.h: Likewise.
37295         * lib/sys_file.in.h: Likewise.
37296         * lib/sys_ioctl.in.h: Likewise.
37297         * lib/sys_select.in.h: Likewise.
37298         * lib/sys_socket.in.h: Likewise.
37299         * lib/sys_stat.in.h: Likewise.
37300         * lib/sys_time.in.h: Likewise.
37301         * lib/sysexits.in.h: Likewise.
37302         * lib/time.in.h: Likewise.
37303         * lib/unistd.in.h: Likewise.
37304         * lib/wchar.in.h: Likewise.
37305         * lib/wctype.in.h: Likewise.
37306         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37307
37308 2008-10-17  Jim Meyering  <meyering@redhat.com>
37309
37310         ignore-value: don't depend on inline module
37311         * modules/ignore-value (Depends-on): Remove 'inline'.
37312         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
37313         Suggestion from Bruno Haible.
37314
37315 2008-10-17  Bruno Haible  <bruno@clisp.org>
37316
37317         New implementation of condition variables for Win32.
37318         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
37319         (gl_linked_waitqueue_t): New type.
37320         (gl_cond_t): Use it.
37321         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
37322         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
37323         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
37324         (glthread_cond_init_func, glthread_cond_wait_func,
37325         glthread_cond_timedwait_func, glthread_cond_signal_func,
37326         glthread_cond_broadcast_func, glthread_cond_destroy_func):
37327         Reimplemented on the basis of gl_linked_waitqueue_t.
37328         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
37329         gl_waitqueue_t.
37330         (gl_rwlock_t): Update.
37331         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
37332
37333 2008-10-17  Simon Josefsson  <simon@josefsson.org>
37334
37335         * modules/recvfrom (Depends-on): Add dependency on getpeername.
37336         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37337
37338 2008-10-17  Jim Meyering  <meyering@redhat.com>
37339
37340         ignore-value: new module
37341         * modules/ignore-value: New file.
37342         * lib/ignore-value.h: New file.
37343         * MODULES.html.sh (Compiler warning management): New section,
37344         just for this module.  More to come.
37345
37346 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37347
37348         open-safer.c: avoid 'signed and unsigned in conditional...' warning
37349         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
37350         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
37351
37352 2008-10-16  Jim Meyering  <meyering@redhat.com>
37353
37354         openat-die.c: avoid 'no previous prototype' warning
37355         * lib/openat-die.c: Include "openat.h".
37356         Reported by Reuben Thomas <rrt@sc3d.org>.
37357
37358 2008-10-16  Simon Josefsson  <simon@josefsson.org>
37359
37360         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
37361         * lib/netdb.in.h: Fix typo.
37362         Reported by Bruno Haible  <bruno@clisp.org>
37363
37364         * lib/netdb.in.h: Include sys/socket.h for platforms without
37365         netdb.h, to get structures like hostent on MinGW.
37366         * modules/netdb (Depends-on): Add sys_socket.
37367
37368 2008-10-15  Simon Josefsson  <simon@josefsson.org>
37369
37370         * modules/netdb, modules/netdb-tests: New file.
37371         * m4/netdb_h.m4: New file.
37372         * lib/netdb.in.h: Add, currently just an empty file pending
37373         definitions.
37374         * tests/test-netdb.c: New file.
37375         * doc/posix-headers/netdb.texi: Mention that we replace it if
37376         needed.
37377         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37378         netdb.
37379
37380 2008-10-15  Simon Josefsson  <simon@josefsson.org>
37381
37382         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
37383         with code.
37384
37385 2008-10-13  Bruno Haible  <bruno@clisp.org>
37386
37387         * lib/glthread/cond.c (glthread_cond_wait_func,
37388         glthread_cond_timedwait_func): Add a comment.
37389
37390 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
37391
37392         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
37393         * tests/test-select.c: Likewise,
37394
37395 2008-10-13  Bruno Haible  <bruno@clisp.org>
37396
37397         * lib/glthread/cond.c (glthread_cond_wait_func,
37398         glthread_cond_timedwait_func): Fix variable name.
37399         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37400
37401 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
37402
37403         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
37404         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
37405         struct sockaddr.sa_len.
37406         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
37407
37408 2008-10-13  Simon Josefsson  <simon@josefsson.org>
37409
37410         * build-aux/pmccabe2html: Add css and css_url parameters.
37411
37412 2008-10-12  Bruno Haible  <bruno@clisp.org>
37413
37414         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
37415         calling aclx_get.
37416         Reported by Rainer Tammer <tammer@tammer.net>.
37417
37418 2008-10-12  Bruno Haible  <bruno@clisp.org>
37419
37420         Use msvcrt aware primitives for creation/termination of Win32 threads.
37421         * lib/glthread/thread.c: Include <process.h>.
37422         (glthread_create_func): Use _beginthreadex instead of CreateThread.
37423         (wrapper_func): Update signature.
37424         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
37425
37426 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
37427             Bruno Haible  <bruno@clisp.org>
37428
37429         Provide a Win32 implementation of the 'cond' module.
37430         * lib/glthread/cond.h [USE_WIN32]: New implementation.
37431         * lib/glthread/cond.c (glthread_cond_init_func,
37432         glthread_cond_wait_func, glthread_cond_timedwait_func,
37433         glthread_cond_signal_func, glthread_cond_broadcast_func,
37434         glthread_cond_destroy_func) [USE_WIN32]: New functions.
37435         * modules/cond (Dependencies): Add gettimeofday.
37436
37437 2008-10-11  Bruno Haible  <bruno@clisp.org>
37438
37439         Make sleep work on older versions of mingw.
37440         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
37441         only whether it exists.
37442         * doc/posix-functions/sleep.texi: Mention the problem with older
37443         versions of mingw.
37444
37445 2008-10-11  Bruno Haible  <bruno@clisp.org>
37446
37447         New module 'shutdown'.
37448         * modules/shutdown: New file.
37449         * lib/sys_socket.in.h (shutdown): New declaration.
37450         * lib/winsock.c (shutdown): New function.
37451         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
37452         GNULIB_SHUTDOWN.
37453         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
37454         * doc/posix-functions/shutdown.texi: Document the new module.
37455
37456 2008-10-11  Jim Meyering  <meyering@redhat.com>
37457
37458         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
37459
37460 2008-10-11  Bruno Haible  <bruno@clisp.org>
37461
37462         New module 'fclose'.
37463         * modules/fclose: New file.
37464         * lib/stdio.in.h (fclose): New declaration.
37465         * lib/fclose.c: New file.
37466         * m4/fclose.m4: New file.
37467         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
37468         REPLACE_FCLOSE.
37469         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
37470         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
37471         REPLACE_FCLOSE.
37472         * modules/close (Depends-on): fclose.
37473         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
37474
37475 2008-10-11  Bruno Haible  <bruno@clisp.org>
37476
37477         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
37478         set errno and don't call _close.
37479
37480 2008-10-10  Bruno Haible  <bruno@clisp.org>
37481
37482         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
37483         ACL, not afterwards. Fixes test failure on Cygwin.
37484
37485 2008-10-09  Ben Pfaff  <blp@gnu.org>
37486
37487         * build-aux/announce-gen: Fix gnulib version related part of usage
37488         message.  Die with a useful error message if no tarballs are
37489         found.
37490
37491 2008-10-10  Jim Meyering  <meyering@redhat.com>
37492
37493         bootstrap: use git's --depth=N option only if it's supported
37494         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
37495         recognize the --depth option.  Reported by Pádraig Brady.
37496
37497 2008-10-09  Bruno Haible  <bruno@clisp.org>
37498
37499         New module 'ioctl'.
37500         * modules/ioctl: New file.
37501         * lib/sys_socket.in.h (ioctl): Remove declaration.
37502         * lib/winsock.c: Include <sys/ioctl.h>.
37503         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
37504         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
37505         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
37506         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
37507         * doc/posix-functions/ioctl.texi: Mention the new module.
37508
37509 2008-10-09  Bruno Haible  <bruno@clisp.org>
37510
37511         New module 'sys_ioctl'.
37512         * lib/sys_ioctl.in.h: New file.
37513         * m4/sys_ioctl_h.m4: New file.
37514         * modules/sys_ioctl: New file.
37515         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
37516
37517 2008-10-09  Bruno Haible  <bruno@clisp.org>
37518
37519         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
37520         * lib/winsock.c: Include <stdarg.h>.
37521         (rpl_ioctl): Change to second argument 'int' and then varargs.
37522
37523 2008-10-09  Bruno Haible  <bruno@clisp.org>
37524
37525         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
37526         when the sys_socket module is present and the system has <winsock2.h>.
37527
37528 2008-10-09  Bruno Haible  <bruno@clisp.org>
37529
37530         * doc/posix-functions/close.texi: Mention module 'close' instead of
37531         module 'sys_socket'.
37532
37533 2008-10-09  Bruno Haible  <bruno@clisp.org>
37534
37535         * doc/glibc-headers/sys_ioctl.texi: New file.
37536         * doc/gnulib.texi: Include it.
37537
37538 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37539             Bruno Haible  <bruno@clisp.org>
37540
37541         Combine the two replacements of 'close'.
37542         * lib/sys_socket.in.h (close): Define to a reminder to include
37543         <unistd.h>.
37544         (_gl_close_fd_maybe_socket): New declaration.
37545         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
37546         * lib/winsock.c (close): Remove undefinition.
37547         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
37548         needed for the gnulib module 'close'.
37549         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
37550         define to an error symbol or to a warning, if suitable.
37551         * lib/close.c: Include <sys/socket.h>.
37552         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
37553         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
37554         UNISTD_H_HAVE_WINSOCK2_H.
37555         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
37556         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37557         UNISTD_H_HAVE_WINSOCK2_H.
37558         * modules/sys_socket (Files): Add m4/unistd_h.m4.
37559         (configure.ac): Set a module indicator.
37560         (Makefile.am): Substitute GNULIB_CLOSE.
37561         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
37562         * modules/poll-tests (Depends-on): Add close.
37563         * modules/select-tests (Depends-on): Likewise.
37564
37565 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37566             Bruno Haible  <bruno@clisp.org>
37567
37568         New module 'close'.
37569         * modules/close: New file.
37570         * lib/unistd.in.h (close): Move declaration out of the
37571         FCHDIR_REPLACEMENT scope.
37572         (_gl_unregister_fd): New declaration.
37573         * lib/close.c: New file.
37574         * lib/fchdir.c (rpl_close): Remove function.
37575         * m4/close.m4: New file.
37576         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
37577         close.
37578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
37579         REPLACE_CLOSE.
37580         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
37581         REPLACE_CLOSE.
37582         * modules/fchdir (Depends-on): Add close.
37583
37584 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37585             Bruno Haible  <bruno@clisp.org>
37586
37587         * lib/fcntl.in.h (open): Simplify conditionals.
37588         (_gl_register_fd): New declaration.
37589         * lib/fchdir.c (rpl_open): Remove function.
37590         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
37591         also.
37592         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
37593         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
37594         open.
37595
37596 2008-10-09  Jim Meyering  <meyering@redhat.com>
37597
37598         GNUmakefile: use the more name-space-friendly "_version"
37599         * top/GNUmakefile (_dummy): Update.
37600         (_version): Rename from "version".
37601
37602 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37603             Bruno Haible  <bruno@clisp.org>
37604
37605         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
37606         rpl_close.
37607         (_gl_register_fd): New function, extracted from rpl_open.
37608         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
37609         (rpl_open, rpl_opendir): Use _gl_register_fd.
37610
37611 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37612
37613         Fix organization of 'open' replacement.
37614         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
37615         (gl_FUNC_OPEN): Use it.
37616         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
37617
37618 2008-10-08  Bruno Haible  <bruno@clisp.org>
37619
37620         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
37621
37622 2008-10-08  Simon Josefsson  <simon@josefsson.org>
37623
37624         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
37625         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
37626         listen).
37627
37628 2008-10-08  Eric Blake  <ebb9@byu.net>
37629
37630         GNUmakefile: add 'make version' target
37631         * top/GNUmakefile (_curr-ver): Split version update rules...
37632         (version): ...into a target.
37633
37634 2008-10-07  Bruno Haible  <bruno@clisp.org>
37635
37636         Use a more portable replacement expression for -0.0L.
37637         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
37638         instead of -0.0L. Fix m4 quotation.
37639
37640         * tests/test-signbit.c: Include <float.h>.
37641         (minus_zero): New variable.
37642         (test_signbitl): Use minus_zero instead of -zero.
37643         * modules/signbit-tests (Depends-on): Add float.
37644
37645         * tests/test-ceill.c: Include <float.h>.
37646         (zero): Remove variable.
37647         (minus_zero): New variable.
37648         (main): Use minus_zero instead of -zero.
37649         * modules/ceill-tests (Depends-on): Add float.
37650
37651         * tests/test-floorl.c: Include <float.h>.
37652         (zero): Remove variable.
37653         (minus_zero): New variable.
37654         (main): Use minus_zero instead of -zero.
37655         * modules/floorl-tests (Depends-on): Add float.
37656
37657         * tests/test-roundl.c: Include <float.h>.
37658         (zero): Remove variable.
37659         (minus_zero): New variable.
37660         (main): Use minus_zero instead of -zero.
37661         * modules/roundl-tests (Depends-on): Add float.
37662
37663         * tests/test-truncl.c: Include <float.h>.
37664         (zero): Remove variable.
37665         (minus_zero): New variable.
37666         (main): Use minus_zero instead of -zero.
37667         * modules/truncl-tests (Depends-on): Add float.
37668
37669         * tests/test-frexpl.c (zero): Remove variable.
37670         (minus_zero): New variable.
37671         (main): Use minus_zero instead of -zero.
37672         * modules/frexpl-tests (Depends-on): Add float.
37673
37674         * tests/test-isnan.c (zerol): Remove variable.
37675         (minus_zerol): New variable.
37676         (test_long_double): Use minus_zerol instead of -zerol.
37677         * modules/isnan-tests (Depends-on): Add float.
37678
37679         * tests/test-isnanl.h (zero): Remove variable.
37680         (minus_zero): New variable.
37681         (main): Use minus_zero instead of -zero.
37682         * modules/isnanl-nolibm-tests (Depends-on): Add float.
37683         * modules/isnanl-tests (Depends-on): Add float.
37684
37685         * tests/test-ldexpl.c (zero): Remove variable.
37686         (minus_zero): New variable.
37687         (main): Use minus_zero instead of -zero.
37688         * modules/ldexpl-tests (Depends-on): Add float.
37689
37690         * tests/test-snprintf-posix.h (zerol): Remove variable.
37691         (minus_zerol): New variable.
37692         (test_function): Use minus_zerol instead of -zerol.
37693         * modules/snprintf-posix-tests (Depends-on): Add float.
37694         * modules/vsnprintf-posix-tests (Depends-on): Add float.
37695
37696         * tests/test-sprintf-posix.h (zerol): Remove variable.
37697         (minus_zerol): New variable.
37698         (test_function): Use minus_zerol instead of -zerol.
37699         * modules/sprintf-posix-tests (Depends-on): Add float.
37700         * modules/vsprintf-posix-tests (Depends-on): Add float.
37701
37702         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
37703         (minus_zerol): New variable.
37704         (test_function): Use minus_zerol instead of -zerol.
37705         * modules/vasnprintf-posix-tests (Depends-on): Add float.
37706
37707         * tests/test-vasprintf-posix.c (zerol): Remove variable.
37708         (minus_zerol): New variable.
37709         (test_function): Use minus_zerol instead of -zerol.
37710         * modules/vasprintf-posix-tests (Depends-on): Add float.
37711
37712 2008-10-07  Simon Josefsson  <simon@josefsson.org>
37713
37714         * MODULES.html.sh (Support for building documentation): Mention
37715         pmccabe2html.  Sort entries.
37716
37717         Add pmccabe2html module, from gnupdf.
37718         * build-aux/pmccabe.css: New file.
37719         * build-aux/pmccabe2html: New file.
37720         * m4/pmccabe2html.m4: New file.
37721         * modules/pmccabe2html: New file.
37722
37723 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
37724
37725         flock: new module
37726         * MODULES.html.sh: Add to list of modules.
37727         * lib/flock.c: flock implementation for Windows and Unix systems
37728         which have fcntl.
37729         * doc/glibc-functions/flock.texi: Update documentation.
37730         * lib/sys_file.in.h: <sys/file.h> header file.
37731         * m4/flock.m4: M4 macros.
37732         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
37733         * modules/flock: flock module.
37734         * modules/flock-tests: flock tests module.
37735         * modules/sys_file: sys/file.h module.
37736         * tests/test-flock.c: test suite for flock.
37737
37738 2008-10-06  Jim Meyering  <meyering@redhat.com>
37739
37740         bootstrap: check for LT_INIT more portably still ;-)
37741         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
37742         Spotted by Bruno Haible.
37743
37744 2008-10-06  Eric Blake  <ebb9@byu.net>
37745
37746         test-signbit: avoid tripping Irix cc bug on -0.0L
37747         * tests/test-signbit.c (minus_zerol): Delete, and replace with
37748         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
37749         entire testsuite consistent and avoids an Irix 6.2 bug.
37750
37751 2008-10-05  Bruno Haible  <bruno@clisp.org>
37752             Jim Meyering  <jim@meyering.net>
37753
37754         Add an option for ignoring EPIPE during close_stdout.
37755         * lib/closeout.h: Include <stdbool.h>.
37756         (close_stdout_set_ignore_EPIPE): New declaration.
37757         * lib/closeout.c: Include <stdbool.h>.
37758         (ignore_EPIPE): New variable.
37759         (close_stdout_set_ignore_EPIPE): New function.
37760         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
37761         * lib/close-stream.c (close_stream): Mention the possible EPIPE
37762         failure.
37763         * modules/closeout (Depends-on): Add stdbool.
37764
37765 2008-10-05  Bruno Haible  <bruno@clisp.org>
37766
37767         * modules/accept: New file.
37768         * modules/bind: New file.
37769         * modules/connect: New file.
37770         * modules/getpeername: New file.
37771         * modules/getsockname: New file.
37772         * modules/getsockopt: New file.
37773         * modules/listen: New file.
37774         * modules/recv: New file.
37775         * modules/recvfrom: New file.
37776         * modules/send: New file.
37777         * modules/sendto: New file.
37778         * modules/setsockopt: New file.
37779         * modules/socket: New file.
37780         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
37781         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
37782         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
37783         the particular module is requested. Add a link warning when the
37784         particular module is not requested.
37785         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
37786         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
37787         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
37788         the particular module is requested.
37789         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
37790         gl_SYS_SOCKET_H_DEFAULTS): New macros.
37791         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
37792         * modules/sys_socket (Depends-on): Add link-warning.
37793         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
37794         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
37795         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
37796         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
37797         GL_LINK_WARNING.
37798         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
37799         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
37800         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
37801         * doc/posix-functions/getpeername.texi: Mention the new module
37802         'getpeername'.
37803         * doc/posix-functions/getsockname.texi: Mention the new module
37804         'getsockname'.
37805         * doc/posix-functions/getsockopt.texi: Mention the new module
37806         'getsockopt'.
37807         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
37808         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
37809         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
37810         * doc/posix-functions/send.texi: Mention the new module 'send'.
37811         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
37812         * doc/posix-functions/setsockopt.texi: Mention the new module
37813         'setsockopt'.
37814         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
37815         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
37816         listen, connect, accept.
37817         * modules/select-tests (Depends-on): Likewise.
37818
37819 2008-10-05  Bruno Haible  <bruno@clisp.org>
37820
37821         * lib/winsock.c (strerror): Remove unused #undef.
37822         (rpl_close): Remove unused local variable.
37823
37824         * modules/sys_socket (Depends-on); Add errno.
37825
37826 2008-10-05  Bruno Haible  <bruno@clisp.org>
37827
37828         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
37829         (select): Add a link warning when the 'select' module is not used.
37830         * modules/sys_select (Depends-on): Add link-warning.
37831         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
37832         Suggested by Paolo Bonzini.
37833
37834 2008-10-05  Jim Meyering  <meyering@redhat.com>
37835
37836         bootstrap: check for LT_INIT more portably
37837         * build-aux/bootstrap: Avoid using grep -E, since it's not
37838         portable enough.  Suggestion from Bruno Haible.
37839
37840 2008-10-05  Bruno Haible  <bruno@clisp.org>
37841
37842         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
37843         as being fixed by gnulib.
37844
37845 2008-10-05  Bruno Haible  <bruno@clisp.org>
37846
37847         * modules/select-tests: New file, mostly copied from
37848         modules/sys_select-tests.
37849         * tests/test-select.c: New file, mostly copied from
37850         tests/test-sys_select.c.
37851         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
37852         * modules/sys_select-tests (Depends-on): Remove all dependencies.
37853         (Makefile.am): Remove test_sys_select_LDADD.
37854
37855         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
37856         to an undefined symbol, for an error message.
37857         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
37858         (gl_SYS_SELECT_H_DEFAULTS): New macro.
37859         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
37860         winsock-select.c here.
37861         * modules/sys_select (Files): Remove lib/winsock-select.c.
37862         (Depends-on): Remove alloca.
37863         (Makefile.am): Substitute GNULIB_SELECT.
37864         * modules/select: New file.
37865         * doc/posix-functions/select.texi: Update.
37866
37867 2008-10-05  Bruno Haible  <bruno@clisp.org>
37868
37869         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
37870         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
37871         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
37872         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
37873         getdtablesize.
37874         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
37875         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
37876
37877 2008-10-05  Bruno Haible  <bruno@clisp.org>
37878
37879         * modules/getdtablesize-tests: New file.
37880         * tests/test-getdtablesize.c: New file.
37881
37882         New module 'getdtablesize'.
37883         * lib/unistd.in.h (getdtablesize): New declaration.
37884         * lib/getdtablesize.c: New file.
37885         * m4/getdtablesize.m4: New file.
37886         * modules/getdtablesize: New file.
37887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37888         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
37889         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
37890         HAVE_GETDTABLESIZE.
37891         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
37892
37893 2008-10-05  Bruno Haible  <bruno@clisp.org>
37894
37895         * modules/sched (Makefile.am): Fix typo.
37896         Reported by Simon Josefsson.
37897
37898 2008-10-05  Jim Meyering  <meyering@redhat.com>
37899
37900         bootstrap: check for LT_INIT, too
37901         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
37902         are deprecated.  Suggestion from Ralf Wildenhues.
37903
37904 2008-10-05  Bruno Haible  <bruno@clisp.org>
37905
37906         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
37907         overriding them by ours.
37908         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
37909
37910 2008-10-05  Jim Meyering  <meyering@redhat.com>
37911
37912         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
37913         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
37914         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
37915
37916 2008-10-04  Bruno Haible  <bruno@clisp.org>
37917
37918         * modules/dup2 (License): Change to LGPLv2+.
37919         * modules/sleep (License): Likewise.
37920         * modules/perror (License): Likewise.
37921         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
37922         Blake.
37923         * modules/signal (License): Likewise.
37924         * modules/sigprocmask (License): Likewise.
37925         * modules/raise (License): Change to LGPLv2+, with approval by Jim
37926         Meyering.
37927
37928 2008-10-04  Bruno Haible  <bruno@clisp.org>
37929
37930         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
37931         Reported by Rainer Tammer <tammer@tammer.net>.
37932
37933 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
37934             Bruno Haible  <bruno@clisp.org>
37935
37936         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
37937         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
37938         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
37939
37940 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
37941
37942         filevercmp: new module
37943         * lib/filevercmp.h: New function filevercmp comparing version strings.
37944         * lib/filevercmp.c: Implementation of filevercmp function.
37945         * modules/filevercmp: Module metadata.
37946         * tests/test-filevercmp.c: Unit test for new module.
37947         * modules/filevercmp-tests: Unit test metadata.
37948         * MODULES.html.sh: Add filevercmp module.
37949
37950 2008-10-03  Bruno Haible  <bruno@clisp.org>
37951
37952         * lib/c-ctype.h: Add comment.
37953         Reported by Jim Meyering.
37954
37955 2008-10-02  Bruno Haible  <bruno@clisp.org>
37956
37957         * modules/posix_spawn-internal (Depends-on): Add 'open'.
37958
37959 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
37960
37961         * build-aux/bootstrap: Allow renaming bootstrap, and change the
37962         name of bootstrap.conf accordingly.
37963
37964 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
37965
37966         * build-aux/bootstrap: Install git-merge-changelog configuration
37967         items into .gitconfig if needed.
37968
37969 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
37970
37971         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
37972         git repository, and initialize/update it accordingly.
37973
37974 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
37975
37976         * modules/fsync-tests: New file.
37977         * tests/test-fsync.c: New file.
37978
37979         New module 'fsync'.
37980         * lib/fsync.c: New file.
37981         * m4/fsync.m4: New file.
37982         * modules/fsync: New file.
37983         * lib/unistd.in.h (fsync): New declaration.
37984         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
37985         GNULIB_FSYNC and HAVE_FSYNC.
37986         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
37987         * MODULES.html.sh (posix_functions): Add fsync.
37988         * doc/posix-functions/fsync.texi: Mention the new module.
37989
37990 2008-10-02  Jim Meyering  <meyering@redhat.com>
37991
37992         fts.c: sync with similar code from coreutils' remove.c
37993         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
37994         Guard also with "#if defined __linux__", since for now at least,
37995         this code is Linux-kernel-specific.
37996
37997 2008-10-02  Jim Meyering  <meyering@redhat.com>
37998
37999         fts: bug fixes
38000         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
38001         Include <sys/vfs.h>, not <sys/statfs.h>.
38002
38003         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
38004         Include <sys/vfs.h>, not <sys/statfs.h>.
38005
38006 2008-10-01  Bruno Haible  <bruno@clisp.org>
38007
38008         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
38009         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
38010         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
38011         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
38012         * doc/posix-functions/posix_spawnp.texi: Likewise.
38013         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
38014         whether posix_spawn actually works.
38015         * m4/pipe.m4 (gl_PIPE): Likewise.
38016         * modules/execute (Files): Add m4/posix_spawn.m4.
38017         * modules/pipe (Files): Add m4/posix_spawn.m4.
38018         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
38019
38020 2008-10-01  Jim Meyering  <meyering@redhat.com>
38021
38022         remove trailing spaces
38023         * NEWS: Likewise.
38024         * lib/poll.c (poll): Likewise.
38025         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
38026         * lib/winsock.c (rpl_close): Likewise.
38027         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
38028         * modules/yield: Likewise.
38029         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
38030         * tests/test-sys_select.c (connect_to_socket): Likewise.
38031
38032         fts.c: adjust a new interface to be more generally useful
38033         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
38034         (fts_build): Adjust caller.
38035
38036 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38037
38038         * modules/cond-tests: New file.
38039         * tests/test-cond.c: New file.
38040
38041 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38042             Bruno Haible  <bruno@clisp.org>
38043
38044         * modules/cond (Dependencies): Add errno, time.
38045         * lib/glthread/cond.h: Include <time.h>.
38046         (gl_cond_define, gl_cond_define_initialized): Use the same definition
38047         across platforms.
38048
38049 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38050             Bruno Haible  <bruno@clisp.org>
38051
38052         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
38053
38054 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38055             Bruno Haible  <bruno@clisp.org>
38056
38057         * modules/tls-tests (Depends-on): Add thread, yield.
38058         (configure.ac): Remove all checks.
38059         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
38060         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
38061         gl_thread_self): Remove definitions. Include glthread/thread.h and
38062         glthread/yield.h instead.
38063         (test_tls): Pass an additional NULL argument to gl_thread_join.
38064
38065 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38066             Bruno Haible  <bruno@clisp.org>
38067
38068         * modules/lock-tests (Depends-on): Add thread, yield.
38069         (configure.ac): Remove all checks.
38070         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
38071         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
38072         gl_thread_self): Remove definitions. Include glthread/thread.h and
38073         glthread/yield.h instead.
38074         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
38075         additional NULL argument to gl_thread_join.
38076
38077 2008-09-30  Bruno Haible  <bruno@clisp.org>
38078
38079         Fix the Win32 implementation of the 'thread' module.
38080         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
38081         pointer type.
38082         (gl_thread_self): Invoke gl_thread_self_func.
38083         (gl_thread_self_func): New declaration.
38084         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
38085         (do_init_self_key, init_self_key): New functions.
38086         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
38087         Remove some fields.
38088         (running_threads, running_lock): Remove variables.
38089         (get_current_thread_handle): New function.
38090         (gl_thread_self_func, wrapper_func, glthread_create_func,
38091         glthread_join_func, gl_thread_exit_func): Largely rewritten and
38092         simplified.
38093
38094 2008-09-30  Bruno Haible  <bruno@clisp.org>
38095
38096         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
38097         files.
38098
38099 2008-09-30  Jim Meyering  <meyering@redhat.com>
38100
38101         fts.m4: correct the test for statfs.f_type
38102         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
38103         when checking for statfs.f_type.
38104
38105 2008-09-15  Simon Josefsson  <simon@josefsson.org>
38106
38107         tests: avoid some compiler warnings
38108         * tests/test-memchr.c (main): Pass NULL indirectly.
38109         * tests/test-getdate.c (main): Remove unused variable 'ret'.
38110
38111 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
38112
38113         getdate.y: disallow countable dayshifts like "4 yesterday ago"
38114         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
38115         exactly specified dayshifts.
38116         (dayshift): New rule.
38117         (rel): Add dayshift.
38118         (relative_time_table) [tomorrow, yesterday, today, now]:
38119         Use tDAY_SHIFT in place of tDAY_UNIT.
38120         * tests/test-getdate.c: Add tests for now-disallowed countable
38121         dayshifts, e.g., "4 yesterday ago".
38122
38123 2008-09-29  Bruno Haible  <bruno@clisp.org>
38124
38125         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
38126         * tests/test-posix_spawn1.in.sh: Renamed from
38127         tests/test-posix_spawn.in.sh.
38128         * tests/test-posix_spawn2.c: New file.
38129         * tests/test-posix_spawn2.in.sh: New file.
38130         * modules/posix_spawnp-tests (Files): Update.
38131         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
38132
38133 2008-09-29  Bruno Haible  <bruno@clisp.org>
38134
38135         Propagate effects of putenv/setenv/unsetenv to child processes.
38136         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
38137         * lib/pipe.c (create_pipe): Likewise.
38138
38139 2008-09-29  Bruno Haible  <bruno@clisp.org>
38140
38141         Enable use of shell scripts as executables in mingw.
38142         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
38143         run the program as a shell script.
38144         * lib/pipe.c (create_pipe): Likewise.
38145         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
38146         resulting array.
38147
38148 2008-09-29  Eric Blake  <ebb9@byu.net>
38149
38150         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
38151
38152 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
38153
38154         * doc/posix-functions/accept.texi: Update mingw problems.
38155         * doc/posix-functions/bind.texi: Update mingw problems.
38156         * doc/posix-functions/close.texi: Update mingw problems.
38157         * doc/posix-functions/connect.texi: Update mingw problems.
38158         * doc/posix-functions/getpeername.texi: Update mingw problems.
38159         * doc/posix-functions/getsockname.texi: Update mingw problems.
38160         * doc/posix-functions/getsockopt.texi: Update mingw problems.
38161         * doc/posix-functions/ioctl.texi: Update mingw problems.
38162         * doc/posix-functions/listen.texi: Update mingw problems.
38163         * doc/posix-functions/recv.texi: Update mingw problems.
38164         * doc/posix-functions/recvfrom.texi: Update mingw problems.
38165         * doc/posix-functions/select.texi: Update mingw problems.
38166         * doc/posix-functions/send.texi: Update mingw problems.
38167         * doc/posix-functions/sendto.texi: Update mingw problems.
38168         * doc/posix-functions/setsockopt.texi: Update mingw problems.
38169         * doc/posix-functions/socket.texi: Update mingw problems.
38170
38171 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
38172             Bruno Haible  <bruno@clisp.org>
38173
38174         * lib/sys_select.in.h: Include sys/time.h.
38175         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
38176         * modules/sys_select: Depend on sys_time.
38177         * tests/test-sys_select.c: Test that sys/select.h defines struct
38178         timeval fully.
38179
38180 2008-09-29  Bruno Haible  <bruno@clisp.org>
38181
38182         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
38183         * lib/sys_select.in.h: Likewise.
38184
38185 2008-09-29  Bruno Haible  <bruno@clisp.org>
38186
38187         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
38188
38189 2008-09-29  Bruno Haible  <bruno@clisp.org>
38190
38191         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
38192         Set LIBSOCKET instead of augmenting LIBS.
38193         * modules/sockets (Link): New section.
38194         * modules/sockets-tests (test_sockets_LDADD): New variable.
38195         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
38196         * modules/poll-tests (test_poll_LDADD): New variable.
38197         * NEWS: Document the change.
38198
38199 2008-09-29  Bruno Haible  <bruno@clisp.org>
38200
38201         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
38202         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
38203         ARPA_INET_H directly.
38204         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38205
38206 2008-09-28  Bruno Haible  <bruno@clisp.org>
38207
38208         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
38209         from gl_HEADER_SYS_SOCKET.
38210         (gl_HEADER_SYS_SOCKET): Invoke it.
38211         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38212
38213 2008-09-28  Bruno Haible  <bruno@clisp.org>
38214
38215         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
38216         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
38217         Needed on OSF/1 4.0.
38218
38219 2008-09-28  Bruno Haible  <bruno@clisp.org>
38220
38221         Override open more carefully.
38222         * lib/open.c (orig_open): New function.
38223         (rpl_open): Use orig_open instead of open.
38224         * lib/fcntl.in.h: Add special invocation convention.
38225         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
38226         (gl_FUNC_OPEN): Invoke it.
38227
38228         Override freopen more carefully.
38229         * lib/freopen.c (orig_freopen): New function.
38230         (rpl_freopen): Use orig_freopen instead of freopen.
38231         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
38232         (gl_FUNC_FREOPEN): Invoke it.
38233
38234         Override fopen more carefully.
38235         * lib/fopen.c (orig_fopen): New function.
38236         (rpl_fopen): Use orig_fopen instead of fopen.
38237         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
38238         (gl_FUNC_FOPEN): Invoke it.
38239         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
38240
38241 2008-09-28  Bruno Haible  <bruno@clisp.org>
38242
38243         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
38244         SIGPIPE.
38245
38246 2008-09-28  Bruno Haible  <bruno@clisp.org>
38247
38248         * tests/test-sigaction.c (handler, main): Disable the check whether
38249         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
38250         glibc systems with LinuxThreads.
38251
38252 2008-09-28  Bruno Haible  <bruno@clisp.org>
38253
38254         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
38255
38256         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
38257         with AIX xlc.
38258         * lib/fcntl.in.h (open): Likewise.
38259         Reported by Rainer Tammer <tammer@tammer.net>.
38260
38261 2008-09-28  Bruno Haible  <bruno@clisp.org>
38262
38263         * modules/posix_spawnp-tests: New file.
38264         * tests/test-posix_spawn.c: New file.
38265         * tests/test-posix_spawn.in.sh: New file.
38266
38267         New module 'posix_spawnp'.
38268         * modules/posix_spawnp: New file.
38269         * lib/spawnp.c: New file, from GNU libc with modifications.
38270         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
38271
38272         New module 'posix_spawn'.
38273         * modules/posix_spawn: New file.
38274         * lib/spawn.c: New file, from GNU libc with modifications.
38275         * doc/posix-functions/posix_spawn.texi: Mention the new module.
38276
38277         New module 'posix_spawnattr_destroy'.
38278         * modules/posix_spawnattr_destroy: New file.
38279         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
38280         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
38281         module.
38282
38283         New module 'posix_spawnattr_setsigmask'.
38284         * modules/posix_spawnattr_setsigmask: New file.
38285         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
38286         modifications.
38287         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
38288         new module.
38289
38290         New module 'posix_spawnattr_getsigmask'.
38291         * modules/posix_spawnattr_getsigmask: New file.
38292         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
38293         modifications.
38294         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
38295         new module.
38296
38297         New module 'posix_spawnattr_setsigdefault'.
38298         * modules/posix_spawnattr_setsigdefault: New file.
38299         * lib/spawnattr_setdefault.c: New file, from GNU libc with
38300         modifications.
38301         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
38302         new module.
38303
38304         New module 'posix_spawnattr_getsigdefault'.
38305         * modules/posix_spawnattr_getsigdefault: New file.
38306         * lib/spawnattr_getdefault.c: New file, from GNU libc with
38307         modifications.
38308         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
38309         new module.
38310
38311         New module 'posix_spawnattr_setschedpolicy'.
38312         * modules/posix_spawnattr_setschedpolicy: New file.
38313         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
38314         modifications.
38315         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
38316         new module.
38317
38318         New module 'posix_spawnattr_getschedpolicy'.
38319         * modules/posix_spawnattr_getschedpolicy: New file.
38320         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
38321         modifications.
38322         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
38323         new module.
38324
38325         New module 'posix_spawnattr_setschedparam'.
38326         * modules/posix_spawnattr_setschedparam: New file.
38327         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
38328         modifications.
38329         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
38330         new module.
38331
38332         New module 'posix_spawnattr_getschedparam'.
38333         * modules/posix_spawnattr_getschedparam: New file.
38334         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
38335         modifications.
38336         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
38337         new module.
38338
38339         New module 'posix_spawnattr_setpgroup'.
38340         * modules/posix_spawnattr_setpgroup: New file.
38341         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
38342         modifications.
38343         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
38344         module.
38345
38346         New module 'posix_spawnattr_getpgroup'.
38347         * modules/posix_spawnattr_getpgroup: New file.
38348         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
38349         modifications.
38350         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
38351         module.
38352
38353         New module 'posix_spawnattr_setflags'.
38354         * modules/posix_spawnattr_setflags: New file.
38355         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
38356         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
38357         module.
38358
38359         New module 'posix_spawnattr_getflags'.
38360         * modules/posix_spawnattr_getflags: New file.
38361         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
38362         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
38363         module.
38364
38365         New module 'posix_spawnattr_init'.
38366         * modules/posix_spawnattr_init: New file.
38367         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
38368         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
38369         module.
38370
38371         New module 'posix_spawn_file_actions_destroy'.
38372         * modules/posix_spawn_file_actions_destroy: New file.
38373         * lib/spawn_faction_destroy.c: New file, from GNU libc with
38374         modifications.
38375         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
38376         the new module.
38377
38378         New module 'posix_spawn_file_actions_addopen'.
38379         * modules/posix_spawn_file_actions_addopen: New file.
38380         * lib/spawn_faction_addopen.c: New file, from GNU libc with
38381         modifications.
38382         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
38383         the new module.
38384
38385         New module 'posix_spawn_file_actions_adddup2'.
38386         * modules/posix_spawn_file_actions_adddup2: New file.
38387         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
38388         modifications.
38389         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
38390         the new module.
38391
38392         New module 'posix_spawn_file_actions_addclose'.
38393         * modules/posix_spawn_file_actions_addclose: New file.
38394         * lib/spawn_faction_addclose.c: New file, from GNU libc with
38395         modifications.
38396         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
38397         the new module.
38398
38399         New module 'posix_spawn_file_actions_init'.
38400         * modules/posix_spawn_file_actions_init: New file.
38401         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
38402         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
38403         new module.
38404
38405         New module 'posix_spawn-internal'.
38406         * modules/posix_spawn-internal: New file.
38407         * lib/spawn_int.h: New file, from GNU libc with modifications.
38408         * lib/spawni.c: New file, from GNU libc with modifications.
38409         * m4/posix_spawn.m4: New file.
38410
38411         New module 'spawn'.
38412         * modules/spawn: New file.
38413         * lib/spawn.in.h: New file, from GNU libc with modifications.
38414         * m4/spawn_h.m4: New file.
38415         * doc/posix-headers/spawn.texi: Mention the new module.
38416
38417 2008-09-28  Bruno Haible  <bruno@clisp.org>
38418
38419         * modules/sched-tests: New file.
38420         * tests/test-sched.c: New file.
38421
38422         New module 'sched'.
38423         * modules/sched: New file.
38424         * lib/sched.in.h: New file.
38425         * m4/sched_h.m4: New file.
38426         * doc/posix-headers/sched.texi: Mention the new module.
38427
38428 2008-09-27  Eric Blake  <ebb9@byu.net>
38429
38430         Fix previous patch, and tweak references to $0.
38431         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
38432         (func_version, func_gnulib_dir): Don't call this program
38433         gnulib-tool.
38434         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
38435         with using $0 in function.
38436         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
38437         (func_fatal_error): Reuse the name the user invoked us with.
38438
38439 2008-09-27  Bruno Haible  <bruno@clisp.org>
38440
38441         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
38442         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
38443         (gl_ICONV_H): Not here.
38444         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
38445         instead of assigning ICONV_H directly.
38446
38447         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
38448         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
38449         WCHAR_H directly.
38450
38451 2008-09-27  Bruno Haible  <bruno@clisp.org>
38452
38453         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
38454         * modules/arpa_inet (Depends-on): Add link-warning.
38455         (Makefile.am): Insert the definition of GL_LINK-WARNING.
38456         * modules/unistd (Makefile.am): Likewise.
38457
38458 2008-09-26  Bruno Haible  <bruno@clisp.org>
38459
38460         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
38461         variables.
38462         (func_version): Essentially copied from gnulib-tool.
38463         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
38464         func_readlink): Copied from gnulib-tool.
38465
38466 2008-09-26  Bruno Haible  <bruno@clisp.org>
38467
38468         * gnulib-tool (func_version): Change directory to $gnulib_dir before
38469         invoking git-version-gen.
38470
38471 2008-09-26  Bruno Haible  <bruno@clisp.org>
38472
38473         * posix-modules: Update to directory names changed on 2008-01-19.
38474         Remove commas in output before splitting into words. No more need to
38475         avoid 'ftruncate' since 2007-02-19.
38476
38477 2008-09-26  Bruno Haible  <bruno@clisp.org>
38478
38479         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
38480
38481 2008-09-26  Bruno Haible  <bruno@clisp.org>
38482
38483         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
38484         * modules/fwriteerror (Depends-on): Add errno.
38485
38486 2008-09-26  Bruno Haible  <bruno@clisp.org>
38487
38488         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
38489         * tests/test-vc-list-files-cvs.sh: Likewise.
38490
38491 2008-09-26  Bruno Haible  <bruno@clisp.org>
38492
38493         * doc/posix-headers/sys_resource.texi: Reorder items.
38494
38495 2008-09-26  Jim Meyering  <meyering@redhat.com>
38496
38497         fts: tweak inode comparison function
38498         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
38499         inode numbers, as documented.
38500
38501         fts: sort dirent entries on inode number before traversing
38502         This avoids a quadratic, seek-related performance penalty when
38503         operating on a directory containing many entries (measurable at 10k;
38504         3.5 hours at 2 million entries with a cold cache) on certain types
38505         of file systems, including ext3 and ext4, but not tmpfs.
38506         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
38507         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
38508         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
38509         (fs_handles_readdir_ordered_dirents_efficiently): New function.
38510         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
38511         (fts_build): Set the stat.st_ino member from D_INO.
38512         If it is likely to be useful, sort dirent entries on inode number.
38513
38514         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
38515         and the struct statfs.f_type member.
38516         * modules/fts (Depends-on): Add d-ino.
38517
38518 2008-09-26  Bruno Haible  <bruno@clisp.org>
38519
38520         * modules/sigpipe-die (Depends-on): Add sigpipe.
38521
38522         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
38523         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
38524         and GNULIB_STDIO_H_SIGPIPE are set.
38525         * lib/stdio-write.c: New file.
38526         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
38527         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
38528         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
38529         REPLACE_STDIO_WRITE_FUNCS.
38530         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
38531         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
38532         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
38533         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
38534         * modules/stdio (Files): Add lib/stdio-write.c.
38535         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
38536         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
38537         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
38538         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
38539         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
38540         REPLACE_FPRINTF_POSIX.
38541         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
38542         REPLACE_PRINTF_POSIX.
38543         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
38544         REPLACE_VFPRINTF_POSIX.
38545         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
38546         REPLACE_VPRINTF_POSIX.
38547         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
38548         SIGPIPE issue.
38549         * doc/posix-functions/fputc.texi: Likewise.
38550         * doc/posix-functions/fputs.texi: Likewise.
38551         * doc/posix-functions/fwrite.texi: Likewise.
38552         * doc/posix-functions/printf.texi: Likewise.
38553         * doc/posix-functions/putc.texi: Likewise.
38554         * doc/posix-functions/putchar.texi: Likewise.
38555         * doc/posix-functions/puts.texi: Likewise.
38556         * doc/posix-functions/vfprintf.texi: Likewise.
38557         * doc/posix-functions/vprintf.texi: Likewise.
38558
38559         * modules/safe-write (Depends-on): Add write.
38560
38561         * modules/sigpipe-tests: New file.
38562         * tests/test-sigpipe.c: New file.
38563         * tests/test-sigpipe.sh: New file.
38564
38565         * modules/write: New file.
38566         * lib/unistd.in.h: Include <sys/types.h>.
38567         (write): New declaration.
38568         * lib/write.c: New file.
38569         * m4/write.m4: New file.
38570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38571         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
38572         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
38573         GNULIB_WRITE, REPLACE_WRITE.
38574         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
38575         and the SIGPIPE issue.
38576
38577         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
38578         (raise): New declaration.
38579         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
38580         (ext_signal): New function.
38581         (rpl_raise): New function.
38582         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
38583         GNULIB_SIGNAL_H_SIGPIPE.
38584         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
38585         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
38586
38587         * modules/sigpipe: New file.
38588         * m4/sigpipe.m4: New file.
38589
38590 2008-09-25  Derek Price  <derek@ximbiot.com>
38591             Bruno Haible  <bruno@clisp.org>
38592
38593         * gnulib-tool (func_import): Report all license incompatibilities, not
38594         just the first one.
38595
38596 2008-09-25  Bruno Haible  <bruno@clisp.org>
38597
38598         * gnulib-tool (func_import): When computing the edits, consider not
38599         only the Makefile.ams that exist but also those that will be generated.
38600
38601 2008-09-25  Simon Josefsson  <simon@josefsson.org>
38602
38603         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
38604         fixes gnulib-tool --test warning about duplicate dependency.
38605
38606 2008-09-25  Bruno Haible  <bruno@clisp.org>
38607
38608         * gnulib-tool: Don't ask the user to perform edits in the generated
38609         Makefile.ams.
38610         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
38611         apply to the Makefile.am being generated.
38612         (func_emit_tests_Makefile_am): Execute edits that apply to the
38613         Makefile.am being generated.
38614         (func_import): Setup list of Makefile.am edits before emitting the
38615         Makefile.ams, not at the end.
38616         (func_create_testdir): Update.
38617         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38618
38619 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38620
38621         * gnulib-tool (func_import): Store the --tests-base option in the
38622         comment in gnulib-cache.m4.
38623
38624 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
38625
38626         * NEWS: Document increased portability that sys_select now provides.
38627
38628         * lib/sys_select.in.h: Install select wrapper.
38629         * lib/sys_socket.in.h: Use more descriptive name when there is no
38630         select wrapper.
38631         * lib/winsock-select.c: New.
38632         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
38633         Require gl_HEADER_SYS_SOCKET.
38634         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
38635         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
38636         * tests/test-sys_select.c: Add functional tests.
38637
38638 2008-09-24  Eric Blake  <ebb9@byu.net>
38639
38640         open, fopen: close fd leak in last patch
38641         * lib/open.c (rpl_open): Close fd before returning error.
38642         * lib/fopen.c (rpl_fopen): Close fd before returning error.
38643         * doc/posix-functions/open.texi (open): Document that Irix also
38644         has the bug.
38645         * doc/posix-functions/fopen.texi (fopen): Likewise.
38646         Reported by Paolo Bonzini.
38647
38648 2008-09-24  Bruno Haible  <bruno@clisp.org>
38649
38650         Ensure that a filename ending in a slash cannot be used to access a
38651         non-directory.
38652         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
38653         to check whether it's really a directory.
38654         * lib/fopen.c: Include fcntl.h, unistd.h.
38655         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
38656         and fdopen().
38657         * modules/fopen (Depends-on): Add unistd.
38658         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
38659         * tests/test-fopen.c (main): Likewise.
38660         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
38661         * doc/posix-functions/fopen.texi: Likewise.
38662         Reported by Eric Blake.
38663
38664 2008-09-23  Eric Blake  <ebb9@byu.net>
38665
38666         c-stack: avoid compiler optimizations when provoking overflow
38667         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
38668         recursion harder to optimize, to ensure a stack overflow occurs.
38669         * tests/test-c-stack.c (recurse): Likewise.
38670         Borrowed from libsigsegv.
38671
38672         c-stack: work around Irix sigaltstack bug
38673         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
38674         whether sigaltstack uses wrong end of stack_t (copied in part from
38675         libsigsegv).
38676         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
38677         Irix bug, without requiring an over-allocation.
38678         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
38679         bug.
38680
38681         fopen: document mingw bug on directories
38682         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
38683         not allowing a stream visiting a directory, even though reading
38684         from such a stream is not portable.
38685
38686 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
38687
38688         * lib/poll.c: Rewrite.
38689         * modules/poll: Depend on alloca.
38690
38691 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
38692
38693         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
38694         instead define prototypes for a full set of wrappers.  Ensure
38695         that Cygwin does not use the compatibility code, which is only
38696         for MinGW.
38697         * lib/winsock.c: New.
38698         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
38699         * modules/sys_socket: Add lib/winsock.c.
38700
38701         * modules/poll-tests: Add errno and perror.
38702         * tests/test-poll.c: Use ioctl, not ioctlsocket.
38703
38704 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
38705
38706         * tests/test-poll.c: Downgrade minimum needed Winsock version.
38707
38708 2008-09-23  Bruno Haible  <bruno@clisp.org>
38709
38710         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
38711         * doc/glibc-functions/*: Likewise.
38712
38713 2008-09-23  Simon Josefsson  <simon@josefsson.org>
38714
38715         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
38716         success.
38717
38718 2008-09-22  Eric Blake  <ebb9@byu.net>
38719             Bruno Haible  <bruno@clisp.org>
38720
38721         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
38722         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
38723         supply %A but mishandle pseudo-NaN.
38724         Reported by Simon Josefsson.
38725
38726 2008-09-21  Bruno Haible  <bruno@clisp.org>
38727
38728         * tests/test-lock.c (main): Tweak skip message.
38729         * tests/test-tls.c (main): Likewise.
38730
38731 2008-09-21  Bruno Haible  <bruno@clisp.org>
38732
38733         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
38734         whether 'struct sigaction' has sa_sigaction here...
38735         (gl_PREREQ_SIG_HANDLER_H): ... not here.
38736         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
38737
38738 2008-09-21  Bruno Haible  <bruno@clisp.org>
38739
38740         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
38741         section.
38742         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
38743         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
38744         the new section.
38745         (Support for obsolete systems lacking POSIX:2001): New section.
38746         (String handling <string.h>): Move strdup to the new section.
38747         Suggested by Simon Josefsson and Paolo Bonzini.
38748
38749 2008-09-21  Bruno Haible  <bruno@clisp.org>
38750
38751         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
38752         exponents in %e and %g results on 'long double'. Needed for mingw's
38753         improved *printf functions.
38754         * tests/test-vasprintf-posix.c (test_function): Likewise.
38755         * tests/test-snprintf-posix.h (test_function): Likewise.
38756         * tests/test-sprintf-posix.h (test_function): Likewise.
38757         Reported by Eric Blake.
38758
38759 2008-09-21  Bruno Haible  <bruno@clisp.org>
38760
38761         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
38762         * tests/test-sprintf-posix.h (test_function): Likewise.
38763
38764 2008-09-21  Bruno Haible  <bruno@clisp.org>
38765
38766         * modules/getpass (Depends-on): Add strdup-posix.
38767
38768         New module 'strdup-posix'.
38769         * modules/strdup-posix: New file.
38770         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
38771         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
38772         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38773         REPLACE_STRDUP.
38774         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
38775         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
38776         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38777         strdup-posix.
38778
38779         * modules/strdup (Depends-on): Remove malloc-posix.
38780
38781 2008-09-20  Bruno Haible  <bruno@clisp.org>
38782
38783         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
38784         Wildenhues.
38785
38786 2008-09-20  Bruno Haible  <bruno@clisp.org>
38787
38788         Ensure that wint_t gets defined on IRIX 5.3.
38789         * lib/wchar.in.h (wint_t): Define if not defined by the system.
38790         * lib/wctype.in.h (wint_t): Likewise.
38791         (__wctype_wint_t): Remove type.
38792         (isw*): Use wint_t instead of __wctype_wint_t.
38793         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
38794         * modules/wchar (Files): Add m4/wint_t.m4.
38795         (Makefile.am): Substitute HAVE_WINT_T.
38796         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
38797         * tests/test-wctype.c: Check that wint_t is defined.
38798         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
38799         * doc/posix-headers/wctype.texi: Likewise.
38800         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38801
38802 2008-09-18  Bruno Haible  <bruno@clisp.org>
38803
38804         * gnulib-tool (func_exit): Update comment.
38805
38806 2008-09-18  Simon Josefsson  <simon@josefsson.org>
38807
38808         * modules/getaddrinfo (Depends-on): Remove strdup, this module
38809         assumes strdup exists and does not depend on strdup to return
38810         ENOMEM on out of memory conditions.
38811
38812 2008-09-18  Bruno Haible  <bruno@clisp.org>
38813
38814         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
38815         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
38816         digits for the exponent.
38817
38818 2008-09-18  Jim Meyering  <meyering@redhat.com>
38819             Bruno Haible  <bruno@clisp.org>
38820
38821         * lib/vasnprintf.c (decimal_point_char): Define also if
38822         NEED_PRINTF_INFINITE_LONG_DOUBLE.
38823
38824 2008-09-16  Bruno Haible  <bruno@clisp.org>
38825         and Eric Blake  <ebb9@byu.net>
38826
38827         vasnprintf: support Irix 5.3
38828         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
38829         that mishandle long double infinity.
38830         Reported by Tom G. Christensen.
38831
38832 2008-09-16  Bruno Haible  <bruno@clisp.org>
38833
38834         * doc/glibc-functions/scandir.texi: Mention the function is missing on
38835         Solaris 9.
38836         * doc/glibc-functions/alphasort.texi: Likewise.
38837         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
38838
38839 2008-09-16  Jim Meyering  <meyering@redhat.com>
38840
38841         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
38842         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
38843         a umask modification leak out of a subshell.  Otherwise, the
38844         opensolaris /bin/sh would be accepted and thus cause unwarranted
38845         failures in the coreutils test suite.
38846
38847 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
38848
38849         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
38850         to succeed.
38851
38852 2008-09-16  Jim Meyering  <meyering@redhat.com>
38853
38854         avoid spurious test failure when library is built without ACL support
38855         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
38856         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
38857         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
38858         * tests/test-copy-acl.sh: Likewise.
38859
38860 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38861
38862         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
38863         based on character occurrence counts.
38864
38865 2008-09-15  Eric Blake  <ebb9@byu.net>
38866
38867         tests: avoid some compiler warnings
38868         * tests/test-memchr.c (main): Pass NULL indirectly.
38869         * tests/test-closein.c (main): Avoid unused variable.
38870
38871 2008-09-15  Bruno Haible  <bruno@clisp.org>
38872
38873         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
38874         are missing on OpenBSD 4.0 individually.
38875         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38876
38877 2008-09-15  Bruno Haible  <bruno@clisp.org>
38878
38879         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
38880         * doc/posix-functions/strerror.texi: Mention also Cygwin.
38881         * doc/posix-functions/perror.texi: Likewise.
38882         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
38883         is missing.
38884         Reported by Eric Blake.
38885
38886         * lib/errno.in.h: Use replacement values >= 2000.
38887         Reported by Eric Blake.
38888
38889 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38890
38891         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
38892         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
38893         limit.
38894         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
38895         compareseq was aborted.
38896
38897 2008-09-14  Bruno Haible  <bruno@clisp.org>
38898
38899         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
38900         yvec_edit_count.
38901         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
38902         (fstrcmp_bounded): Simplify result computation accordingly.
38903
38904 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38905
38906         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
38907         (fstrcmp): Define in terms of fstrcmp_bounded.
38908         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
38909         lower_bound argument.
38910         Return quickly if the result is certainly < lower_bound.
38911         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
38912
38913 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38914
38915         * lib/diffseq.h (EARLY_ABORT): New macro.
38916         (compareseq): Change return type to bool. Return true when EARLY_ABORT
38917         evaluates to true.
38918
38919 2008-09-14  Bruno Haible  <bruno@clisp.org>
38920
38921         * modules/perror-tests: New file.
38922         * tests/test-perror.sh: New file.
38923         * tests/test-perror.c: New file.
38924
38925         New module 'perror'.
38926         * lib/stdio.in.h (perror): New declaration.
38927         * lib/perror.c: New file.
38928         * m4/perror.m4: New file.
38929         * modules/perror: New file.
38930         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
38931         * doc/posix-functions/perror.texi: Mention the perror module.
38932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
38933         REPLACE_PERROR.
38934         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
38935         REPLACE_PERROR.
38936
38937 2008-09-14  Bruno Haible  <bruno@clisp.org>
38938
38939         * modules/stdio (Makefile.am): Reorder to match the order in
38940         lib/stdio.in.h.
38941         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38942
38943 2008-09-13  Bruno Haible  <bruno@clisp.org>
38944
38945         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
38946
38947 2008-09-13  Bruno Haible  <bruno@clisp.org>
38948
38949         Extend strerror to cover the added errno values.
38950         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
38951         (rpl_strerror): Provide error messages for the added errno values and
38952         for the WSA* values.
38953         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
38954         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
38955         strerror.
38956         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
38957         * modules/strerror (Depends-on): Add errno.
38958         * doc/posix-functions/strerror.texi: Document the change.
38959         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
38960         and EOVERFLOW.
38961
38962 2008-09-13  Bruno Haible  <bruno@clisp.org>
38963
38964         * modules/EOVERFLOW: Remove file.
38965         * m4/eoverflow.m4: Remove file.
38966         * modules/EOVERFLOW-tests: Remove file.
38967         * tests/test-EOVERFLOW.c: Remove file.
38968         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
38969         * modules/ftell (Depends-on): Likewise.
38970         * modules/getdelim (Depends-on): Likewise.
38971         * modules/getugroups (Depends-on): Likewise.
38972         * modules/poll (Depends-on): Likewise.
38973         * modules/snprintf (Depends-on): Likewise.
38974         * modules/sprintf-posix (Depends-on): Likewise.
38975         * modules/vasnprintf (Depends-on): Likewise.
38976         * modules/vasprintf (Depends-on): Likewise.
38977         * modules/vfprintf-posix (Depends-on): Likewise.
38978         * modules/vsnprintf (Depends-on): Likewise.
38979         * modules/vsprintf-posix (Depends-on): Likewise.
38980         * modules/xvasprintf (Depends-on): Likewise.
38981         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
38982         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
38983         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
38984         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
38985         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38986         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
38987         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
38988         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
38989         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38990         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
38991         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
38992         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
38993         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38994         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
38995         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
38996         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
38997         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38998         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
38999         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
39000         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
39001         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
39002         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
39003         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
39004         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
39005         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
39006         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
39007         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
39008         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
39009         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
39010         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
39011         * MODULES.html.sh: Remove EOVERFLOW.
39012         * NEWS: Mention the change.
39013
39014 2008-09-13  Bruno Haible  <bruno@clisp.org>
39015
39016         * modules/errno-tests: New file.
39017         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
39018
39019         * lib/errno.in.h: New file.
39020         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
39021         * modules/errno: New file.
39022         * doc/posix-headers/errno.texi: Update documentation.
39023         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
39024
39025 2008-09-13  Bruno Haible  <bruno@clisp.org>
39026
39027         * tests/test-poll.c: Use #if for native Windows, rather than testing
39028         __MSVCRT__.
39029
39030 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39031             Bruno Haible  <bruno@clisp.org>
39032
39033         * lib/glob.c: Don't include <pwd.h> on native Windows.
39034         (WINDOWS32): New macro.
39035         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
39036
39037 2008-09-13  Bruno Haible  <bruno@clisp.org>
39038
39039         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
39040         (ETIMEDOUT): Remove macro.
39041         (glthread_cond_timedwait_multithreaded): New declaration.
39042         (glthread_cond_timedwait): Use it.
39043         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
39044         (glthread_cond_timedwait_multithreaded): New function.
39045
39046 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
39047
39048         * modules/poll-tests: Do not check for io.h.
39049         * tests/test-poll.c: Check for __MSVCRT__ instead.
39050
39051 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
39052
39053         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
39054         * modules/poll-tests: Add inet_pton, stdbool, sockets.
39055         * tests/test-poll.c: Use them.  Use _pipe on Windows.
39056
39057 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
39058
39059         * modules/poll-tests: New.
39060         * tests/test-poll.c: New.
39061
39062 2008-09-12  Eric Blake  <ebb9@byu.net>
39063
39064         frexp: test for NetBSD failure on -0.0
39065         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
39066         not all, bugs from NetBSD 3.0 have been fixed.
39067         * doc/posix-functions/frexp.texi (frexp): Document bug.
39068         Reported by Thomas Klausner.
39069
39070         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
39071         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
39072         literal -0.0.
39073         Reported by Jonathan C. Patschke <jp@centtech.com>.
39074
39075 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39076
39077         * lib/glthread/cond.h: Use dummy implementation also if
39078         USE_WIN32_THREADS.
39079
39080 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39081
39082         * modules/fnmatch-posix (License): Change to LGPLv2+.
39083         * modules/fnmatch-gnu (License): Likewise.
39084
39085 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39086
39087         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
39088
39089 2008-09-11  Jim Meyering  <meyering@redhat.com>
39090
39091         * users.txt: Add gtk-vnc.
39092
39093 2008-09-08  Simon Josefsson  <simon@josefsson.org>
39094
39095         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
39096         rotate amounts.
39097
39098         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
39099         required for 16-bit and 8-bit rotates.
39100         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
39101         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
39102         UINT8_MAX instead of hard-coded constants.
39103         Suggested by Paul Eggert.
39104
39105 2008-09-07  Bruno Haible  <bruno@clisp.org>
39106
39107         * tests/test-striconveh.c (main): Check behaviour when converting from
39108         UTF-7.
39109
39110         Make striconveh work better with stateful encodings.
39111         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
39112         that iconv does not increment the inptr when returning -1/EINVAL.
39113
39114 2008-09-07  Bruno Haible  <bruno@clisp.org>
39115
39116         * build-aux/config.rpath: Update according to libtool-2.2.6.
39117         * build-aux/config.libpath: Likewise.
39118
39119 2008-09-06  Bruno Haible  <bruno@clisp.org>
39120
39121         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
39122         * lib/freadptr.c (freadptr): Likewise.
39123         * lib/freadseek.c (freadptrinc): Likewise.
39124         Reported by Simon Josefsson.
39125
39126 2008-09-06  Bruno Haible  <bruno@clisp.org>
39127
39128         * modules/freadptr (License): Change to LGPLv2+.
39129         * modules/freadseek (License): Likewise.
39130         Suggested by Eric Blake.
39131
39132         * modules/memchr2 (License): Change to LGPLv2+.
39133         Approved by Eric Blake.
39134
39135 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39136             Bruno Haible  <bruno@clisp.org>
39137
39138         Make gnulib-tool work with native 'sed' on AIX.
39139         * gnulib-tool (sed_noop): New variable.
39140         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
39141         func_add_or_update, func_create_testdir): Use it to initialize sed
39142         script variables.
39143         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39144
39145 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
39146             Bruno Haible  <bruno@clisp.org>
39147
39148         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
39149         also works after #include directives.
39150
39151 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
39152
39153         getdate.y: reject an out-of-range timezone value
39154         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
39155         the range [-24...+24].  When specified with only one or two digits,
39156         * tests/test-getdate.c: Tests for the fix.
39157         * doc/getdate.texi: Document this change.
39158
39159 2008-09-03  Bruno Haible  <bruno@clisp.org>
39160
39161         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
39162
39163 2008-09-02  Simon Josefsson  <simon@josefsson.org>
39164
39165         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
39166         <bruce.korb@gmail.com> with ideas from Ben Pfaff
39167         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
39168         Blake <ebb9@byu.net>.
39169
39170         * tests/test-bitrotate.c: Add more test vectors.
39171
39172 2008-09-02  Eric Blake  <ebb9@byu.net>
39173
39174         vasnprintf-posix: handle large precision via %.*d
39175         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
39176         when handling it ourselves.
39177         * tests/test-vasnprintf-posix.c (test_function): Add test.
39178         * tests/test-snprintf-posix.h (test_function): Likewise.
39179         * tests/test-sprintf-posix.h (test_function): Likewise.
39180         * tests/test-vasprintf-posix.c (test_function): Likewise.
39181         Reported by Alain Guibert.
39182
39183 2008-09-01  Eric Blake  <ebb9@byu.net>
39184
39185         c-stack: make configure-time check more robust
39186         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
39187         successful sigaction call.
39188         Reported by Tom G. Christensen.
39189
39190 2008-09-01  Bruno Haible  <bruno@clisp.org>
39191
39192         New module 'findprog-lgpl'.
39193         * modules/findprog-lgpl: New file.
39194         * lib/findprog-lgpl.c: New file.
39195         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
39196         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
39197         to decide whether to use strdup or xstrdup, concatenated_filename or
39198         xconcatenated_filename.
39199
39200 2008-09-01  Bruno Haible  <bruno@clisp.org>
39201
39202         Split module 'concat-filename' into 'concat-filename' (LGPL) and
39203         'xconcat-filename' (GPL).
39204         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
39205         (License): Change to LGPLv2+.
39206         * modules/xconcat-filename: New file.
39207         * lib/concat-filename.h (concatenated_filename): Change specification.
39208         (xconcatenated_filename): New declaration.
39209         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
39210         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
39211         memory situations.
39212         * lib/xconcat-filename.c: New file.
39213         * NEWS: Mention the change.
39214         * lib/findprog.c: Include concat-filename.h, not filename.h.
39215         (find_in_path): Use xconcatenated_filename instead of
39216         concatenated_filename.
39217         * lib/javacomp.c: Include concat-filename.h, not filename.h.
39218         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
39219         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
39220         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
39221         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
39222         instead of concatenated_filename.
39223         * lib/javaexec.c: Include concat-filename.h, not filename.h.
39224         (execute_java_class): Use xconcatenated_filename instead of
39225         concatenated_filename.
39226         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
39227         * modules/javacomp (Depends-on): Likewise.
39228         * modules/javaexec (Depends-on): Likewise.
39229
39230 2008-09-01  Bruno Haible  <bruno@clisp.org>
39231
39232         Split module 'filename' into 'filename' and 'concat-filename'.
39233         * modules/filename: Keep only lib/filename.h.
39234         (License): Change to LGPLv2+.
39235         * modules/concat-filename: New file, extracted from modules/filename.
39236         * lib/filename.h (concatenated_filename): Remove declaration.
39237         * lib/concat-filename.h: New file, extracted from lib/filename.h.
39238         * lib/concat-filename.c: Include concat-filename.h.
39239         * NEWS: Mention the change.
39240
39241 2008-09-01  Simon Josefsson  <simon@josefsson.org>
39242
39243         * lib/bitrotate.h (rotl8, rotr8): Add.
39244
39245         * modules/bitrotate (configure.ac): Need
39246         AC_REQUIRE([AC_C_INLINE]).
39247         (Description): Mention stdint.h.  Reported by Bruno Haible
39248         <bruno@clisp.org>.
39249
39250         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
39251         Paolo Bonzini <bonzini@gnu.org>.
39252
39253 2008-08-31  Bruno Haible  <bruno@clisp.org>
39254
39255         Assume Solaris specific bi-arch conventions on Solaris systems.
39256         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
39257         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
39258         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
39259         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
39260         like acl_libdirstem.
39261         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
39262         acl_libdirstem.
39263         * NEWS: Mention the change.
39264         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
39265
39266 2008-08-31  Jim Meyering  <meyering@redhat.com>
39267
39268         * lib/strftime.h: Add comments describing the two added arguments.
39269
39270         remove duplicate #include directives
39271         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
39272         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
39273
39274 2008-08-31  Bruno Haible  <bruno@clisp.org>
39275
39276         New module 'sigpipe-die'.
39277         * modules/sigpipe-die: New file.
39278         * lib/sigpipe-die.h: New file.
39279         * lib/sigpipe-die.c: New file.
39280         * MODULES.html.sh (Signal handling): Add sigpipe-die.
39281
39282 2008-08-31  Bruno Haible  <bruno@clisp.org>
39283
39284         Don't override previously installed signal handlers.
39285         * lib/fatal-signal.c (saved_sigactions): New variable.
39286         (uninstall_handlers): Reset the signal to the saved handler, not
39287         to SIG_DFL (except when ignored).
39288         (install_handlers): Save the previous handlers.
39289
39290 2008-08-30  Bruno Haible  <bruno@clisp.org>
39291
39292         * gnulib-tool (func_reset_sigpipe): New function.
39293         (func_get_automake_snippet, func_modules_transitive_closure,
39294         func_import): Invoke it before a join command that reads from stdin,
39295         to avoid "echo: write error: Broken pipe" error messages on stderr.
39296         Reported by Sam Steingold <sds@gnu.org>.
39297
39298 2008-08-30  Bruno Haible  <bruno@clisp.org>
39299
39300         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
39301         Code copied from m4/open.m4.
39302         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
39303         access and the filename ends in a slash. Code copied from lib/open.c.
39304         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
39305         * tests/test-fopen.c (main): Check against bug with trailing slash.
39306
39307 2008-08-29  Bruno Haible  <bruno@clisp.org>
39308
39309         Avoid some "gcc -pedantic" warnings.
39310         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
39311         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
39312         * lib/dirent.in.h: Likewise.
39313         * lib/fcntl.in.h: Likewise.
39314         * lib/float.in.h: Likewise.
39315         * lib/iconv.in.h: Likewise.
39316         * lib/inttypes.in.h: Likewise.
39317         * lib/locale.in.h: Likewise.
39318         * lib/math.in.h: Likewise.
39319         * lib/netinet_in.in.h: Likewise.
39320         * lib/search.in.h: Likewise.
39321         * lib/signal.in.h: Likewise.
39322         * lib/stdarg.in.h: Likewise.
39323         * lib/stdint.in.h: Likewise.
39324         * lib/stdio.in.h: Likewise.
39325         * lib/stdlib.in.h: Likewise.
39326         * lib/string.in.h: Likewise.
39327         * lib/strings.in.h: Likewise.
39328         * lib/sys_select.in.h: Likewise.
39329         * lib/sys_socket.in.h: Likewise.
39330         * lib/sys_stat.in.h: Likewise.
39331         * lib/sys_time.in.h: Likewise.
39332         * lib/sysexits.in.h: Likewise.
39333         * lib/time.in.h: Likewise.
39334         * lib/unistd.in.h: Likewise.
39335         * lib/wchar.in.h: Likewise.
39336         * lib/wctype.in.h: Likewise.
39337         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
39338         * modules/fchdir (Makefile.am): Likewise.
39339         * modules/fcntl (Makefile.am): Likewise.
39340         * modules/float (Makefile.am): Likewise.
39341         * modules/iconv_open (Makefile.am): Likewise.
39342         * modules/inttypes (Makefile.am): Likewise.
39343         * modules/locale (Makefile.am): Likewise.
39344         * modules/math (Makefile.am): Likewise.
39345         * modules/netinet_in (Makefile.am): Likewise.
39346         * modules/search (Makefile.am): Likewise.
39347         * modules/signal (Makefile.am): Likewise.
39348         * modules/stdarg (Makefile.am): Likewise.
39349         * modules/stdint (Makefile.am): Likewise.
39350         * modules/stdio (Makefile.am): Likewise.
39351         * modules/stdlib (Makefile.am): Likewise.
39352         * modules/string (Makefile.am): Likewise.
39353         * modules/strings (Makefile.am): Likewise.
39354         * modules/sys_select (Makefile.am): Likewise.
39355         * modules/sys_socket (Makefile.am): Likewise.
39356         * modules/sys_stat (Makefile.am): Likewise.
39357         * modules/sys_time (Makefile.am): Likewise.
39358         * modules/sysexits (Makefile.am): Likewise.
39359         * modules/time (Makefile.am): Likewise.
39360         * modules/unistd (Makefile.am): Likewise.
39361         * modules/wchar (Makefile.am): Likewise.
39362         * modules/wctype (Makefile.am): Likewise.
39363         Reported by Reuben Thomas <rrt@sc3d.org>.
39364
39365 2008-08-29  Bruno Haible  <bruno@clisp.org>
39366
39367         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
39368         any more.
39369
39370 2008-08-29  Simon Josefsson  <simon@josefsson.org>
39371
39372         * MODULES.html.sh (Misc): Add bitrotate.
39373
39374         * modules/bitrotate: New file.
39375
39376         * lib/bitrotate.h: New file.
39377
39378         * modules/bitrotate-tests: New file.
39379
39380         * tests/test-bitrotate.c: New file.
39381
39382         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
39383         on the bitrotate module.
39384
39385         * lib/arctwo.c: Use new bitrotate module.
39386
39387 2008-08-29  Jim Meyering  <meyering@redhat.com>
39388
39389         bootstrap: merge changes from coreutils
39390         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
39391         of copied files.  Remove a kludge, now that this is fixed.
39392         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
39393         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
39394         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
39395
39396 2008-08-29  Bruno Haible  <bruno@clisp.org>
39397
39398         * MODULES.html.sh: Remove --cvs-urls option.
39399
39400 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
39401
39402         maint.mk: adjust to file name change
39403         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
39404
39405 2008-08-28  Jim Meyering  <meyering@redhat.com>
39406
39407         * modules/getndelim2 (License): Relicense to LGPLv2+.
39408         Approved by Richard Stallman for the version of 1995, and by
39409         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
39410
39411 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
39412
39413         * lib/getdelim.c (flockfile, funlockfile): Make all of them
39414         dummy if one is not available.  Do not touch them if
39415         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
39416         (getc_maybe_unlocked): New.
39417         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
39418
39419 2008-08-26  Eric Blake  <ebb9@byu.net>
39420
39421         doc/INSTALL: resync from autoconf
39422         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
39423         (INSTALL_PRELUDE): Delete; this is done more efficiently by
39424         moving...
39425         * install.texi [!autoconf]: ...here.  Resync from autoconf.
39426         * INSTALL: Regenerate.
39427         * INSTALL.ISO: New file.
39428         * INSTALL.UTF-8: Likewise.
39429
39430 2008-08-26  Jim Meyering  <meyering@redhat.com>
39431
39432         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
39433         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
39434         these definitions conditional, so that they may be overridden, too.
39435
39436 2008-08-26  Bruno Haible  <bruno@clisp.org>
39437
39438         Generate INSTALL file variants with prettier quotes.
39439         * doc/Makefile (INSTALL_PRELUDE): New macro.
39440         (INSTALL): Use it.
39441         (INSTALL.ISO, INSTALL.UTF-8): New rules.
39442
39443 2008-08-26  Bruno Haible  <bruno@clisp.org>
39444
39445         Run makeinfo in an English locale.
39446         * doc/Makefile (MAKEINFO): New variable.
39447
39448 2008-08-26  Bruno Haible  <bruno@clisp.org>
39449
39450         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
39451         Suggested by Eric Blake.
39452
39453 2008-08-25  Bruno Haible  <bruno@clisp.org>
39454
39455         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
39456
39457 2008-08-25  Eric Blake  <ebb9@byu.net>
39458
39459         c-stack: test that stack overflow can be caught
39460         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
39461         that platform allows handling stack overflow; at least OS/2 EMX
39462         has sigaltstack, but crashes before transferring control to
39463         handler on stack overflow.
39464         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
39465         check for HAVE_STACK_OVERFLOW_HANDLING.
39466         Reported by Elbert Pol.
39467
39468 2008-08-25  Bruno Haible  <bruno@clisp.org>
39469
39470         * doc/posix-functions/strftime.texi: Fix description of strftime
39471         module.
39472
39473 2008-08-24  Bruno Haible  <bruno@clisp.org>
39474
39475         * tests/uniwidth/test-uc_width2.c: New file.
39476         * tests/uniwidth/test-uc_width2.sh: New file.
39477         * modules/uniwidth/width-tests (Files): Add the new files.
39478         (TESTS): Add uniwidth/test-uc_width2.sh.
39479         (TESTS_ENVIRONMENT): New variable.
39480         (check_PROGRAMS): Add test-uc_width2.
39481         (test_uc_width2_SOURCES): New variable.
39482
39483         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
39484         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
39485         not 0x00AB.
39486         Reported by Alexander V. Lukyanov <lav@netis.ru>.
39487
39488 2008-08-22  Eric Blake  <ebb9@byu.net>
39489
39490         test-lock, test-tls: mention why a test is skipped
39491         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
39492         skipped.
39493         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
39494
39495         count-one-bits: relax license
39496         * modules/count-one-bits (License): Relicense to LGPLv2+.
39497         Suggested by Ludovic Courtès, approved by Ben Pfaff.
39498
39499 2008-08-22  Andreas Schwab  <schwab@suse.de>
39500
39501         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
39502         Remove spurious space in assignment.
39503
39504 2008-08-21  Simon Josefsson  <simon@josefsson.org>
39505
39506         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
39507         Paul Eggert <eggert@CS.UCLA.EDU>.
39508
39509 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
39510
39511         * modules/gettext: Add m4/threadlib.m4.
39512
39513 2008-08-19  Eric Blake  <ebb9@byu.net>
39514
39515         test-c-stack: fix compilation failure on FreeBSD 5.0
39516         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
39517         headers before <sys/resource.h>.
39518         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
39519         the bug.
39520         Reported by Nelson H. F. Beebe.
39521
39522         strverscmp: migrate from "strverscmp.h" to <string.h>
39523         * modules/string (Makefile.am): Add new hooks.
39524         * modules/strverscmp (Files): Remove strverscmp.h.
39525         (Depends-on): Add string.
39526         (configure.ac): Add indicator.
39527         (Include): Mention new header.
39528         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
39529         defaults.
39530         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
39531         results.
39532         * lib/strverscmp.h: Delete.
39533         * lib/string.in.h (strverscmp): Provide declaration, when needed.
39534         * tests/test-strverscmp.c (includes): Adjust client.
39535         * lib/check-version.c (includes): Likewise.
39536         * NEWS: Document the change.
39537
39538         strverscmp: add unit test
39539         * modules/strverscmp-tests: New file.
39540         * tests/test-strverscmp.c: Likewise.
39541
39542 2008-08-19  Simon Josefsson  <simon@josefsson.org>
39543
39544         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
39545         regarding Windows crypto stuff, from Mono.
39546
39547 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
39548
39549         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
39550         if present, for intel RND.  Return error on failures.
39551
39552 2008-08-18  Ben Pfaff  <blp@gnu.org>
39553
39554         gitlog-to-changelog: give better diagnostic for failed pipe-open
39555         * build-aux/gitlog-to-changelog: Improve error message: suggest
39556         that the version of Git may be too old.
39557
39558 2008-08-18  Simon Josefsson  <simon@josefsson.org>
39559
39560         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
39561         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
39562
39563 2008-08-18  Bruno Haible  <bruno@clisp.org>
39564
39565         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
39566         pthread_in_use().
39567
39568 2008-08-18  Bruno Haible  <bruno@clisp.org>
39569
39570         * lib/glthread/threadlib.c: Include <pthread.h>.
39571
39572 2008-08-18  Bruno Haible  <bruno@clisp.org>
39573
39574         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
39575         glthread_recursive_lock_* macros.
39576         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
39577         Fix syntax error.
39578
39579 2008-08-18  Bruno Haible  <bruno@clisp.org>
39580
39581         * lib/glthread/thread.c: Avoid forcing a context switch right after
39582         thread creation.
39583
39584 2008-08-17  Bruno Haible  <bruno@clisp.org>
39585
39586         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
39587         * lib/glthread/thread.h: Provide Win32 specific implementation.
39588         * modules/thread (Files): Add lib/glthread/thread.c.
39589         (Depends-on): Add lock.
39590         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
39591
39592 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39593
39594         New module 'yield'.
39595         * modules/yield: New file.
39596         * lib/glthread/yield.h: New file.
39597         * m4/yield.m4: New file.
39598         * MODULES.html.sh (Multithreading): Add yield.
39599
39600 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39601
39602         New module 'thread'.
39603         * modules/thread: New file.
39604         * lib/glthread/thread.h: New file.
39605         * m4/thread.m4: New file.
39606         * MODULES.html.sh (Multithreading): Add thread.
39607
39608 2008-08-17  Bruno Haible  <bruno@clisp.org>
39609
39610         * lib/glthread/lock.h: Include <stdlib.h> always.
39611         * lib/glthread/tls.h: Likewise.
39612         * lib/glthread/cond.h: Likewise.
39613
39614 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39615
39616         New module 'cond'.
39617         * modules/cond: New file.
39618         * lib/glthread/cond.h: New file.
39619         * lib/glthread/cond.c: New file.
39620         * m4/cond.m4: New file.
39621         * MODULES.html.sh (Multithreading): Add cond.
39622
39623 2008-08-16  Eric Blake  <ebb9@byu.net>
39624
39625         c-stack: fix regression on Irix 5.3 from 2008-06-21
39626         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
39627         sa_sigaction...
39628         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
39629         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
39630         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
39631         * modules/signal (Makefile.am): Use the value.
39632         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
39633         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
39634         * doc/posix-headers/signal.texi (signal.h): Document this
39635         portability issue.
39636         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
39637         Reported by Tom G. Christensen.
39638
39639 2008-08-17  Bruno Haible  <bruno@clisp.org>
39640
39641         New module 'threadlib'.
39642         * modules/threadlib: New file.
39643         * lib/glthread/threadlib.c: New file, extracted from
39644         lib/glthread/lock.c.
39645         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
39646         functions.
39647         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
39648         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
39649         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
39650         macros.
39651         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
39652         (gl_DISABLE_THREADS): Remove macro.
39653         * modules/lock (Files): Remove build-aux/config.rpath.
39654         (Depends-on): Remove havelib. Add threadlib.
39655         (configure.ac-early): Remove section.
39656         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
39657         * modules/tls (Depends-on): Remove lock. Add threadlib.
39658         (Link): New section, copied from threadlib.
39659         * MODULES.html.sh (Multithreading): Add threadlib.
39660
39661 2008-08-14  Bruno Haible  <bruno@clisp.org>
39662
39663         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
39664         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
39665         glthread_rwlock_unlock, glthread_rwlock_destroy,
39666         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
39667         glthread_recursive_lock_destroy): Define as macros always.
39668         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
39669         glthread_lock_lock.
39670         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
39671         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
39672         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
39673         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
39674         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
39675         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
39676         (glthread_recursive_lock_lock_func): Renamed from
39677         glthread_recursive_lock_lock.
39678         (glthread_recursive_lock_unlock_func): Renamed from
39679         glthread_recursive_lock_unlock.
39680         (glthread_recursive_lock_destroy_func): Renamed from
39681         glthread_recursive_lock_destroy.
39682
39683 2008-08-14  Bruno Haible  <bruno@clisp.org>
39684
39685         * lib/glthread/lock.h: Renamed from lib/lock.h.
39686         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
39687         * lib/glthread/tls.h: Renamed from lib/tls.h.
39688         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
39689         * lib/fstrcmp.c: Update includes.
39690         * lib/strsignal.c: Update includes.
39691         * modules/lock (Files, Makefile.am): Update.
39692         (Include): Change to "glthread/lock.h".
39693         * modules/tls (Files, Makefile.am): Update.
39694         (Include): Change to "glthread/tls.h".
39695         * tests/test-lock.c: Update includes.
39696         * tests/test-tls.c: Update includes.
39697         * NEWS: Mention the renamed header files.
39698
39699 2008-08-11  Jim Meyering  <meyering@redhat.com>
39700
39701         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
39702
39703 2008-08-11  Eric Blake  <ebb9@byu.net>
39704
39705         test-c-stack: avoid C99-ism
39706         * tests/test-c-stack.c (main): Fix whitespace, move declaration
39707         before statement.
39708         Reported by Alain Guibert.
39709
39710 2008-08-10  Jim Meyering  <meyering@redhat.com>
39711
39712         ensure that return value of uinttostr et al are not ignored
39713         * lib/inttostr.h (__GNUC_PREREQ): Define.
39714         (__attribute_warn_unused_result__): Define.
39715         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
39716
39717 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
39718
39719         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
39720         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
39721
39722 2008-08-07  Jim Meyering  <meyering@redhat.com>
39723
39724         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
39725
39726         * modules/mkstemp (License): Relicense under LGPLv2+.
39727         * modules/tempname (License): Likewise.
39728
39729 2008-08-06  Bruno Haible  <bruno@clisp.org>
39730
39731         * lib/poll.c (poll): Further micro-optimization.
39732
39733 2008-08-06  Jim Meyering  <meyering@redhat.com>
39734
39735         inet_pton.c: use locale-independent tolower
39736         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
39737         (inet_pton6): Use c_tolower rather than tolower.
39738         * modules/inet_pton (Depends-on): Add c-ctype.
39739
39740 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
39741
39742         * lib/poll.c (poll): Avoid division when timeout is 0, cache
39743         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
39744
39745 2008-08-06  Jim Meyering  <meyering@redhat.com>
39746
39747         * modules/inet_pton (License): Relicense under LGPLv2+.
39748
39749 2008-08-03  Bruno Haible  <bruno@clisp.org>
39750
39751         Additional non-aborting API for lock and tls.
39752         * lib/lock.h: Include <errno.h>.
39753         (glthread_lock_init): New macro/function.
39754         (gl_lock_init): Define as wrapper around glthread_lock_init.
39755         (glthread_lock_lock): New macro/function.
39756         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
39757         (glthread_lock_unlock): New macro/function.
39758         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
39759         (glthread_lock_destroy): New macro/function.
39760         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
39761         (glthread_rwlock_init): New macro/function.
39762         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
39763         (glthread_rwlock_rdlock): New macro/function.
39764         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
39765         (glthread_rwlock_wrlock): New macro/function.
39766         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
39767         (glthread_rwlock_unlock): New macro/function.
39768         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
39769         (glthread_rwlock_destroy): New macro/function.
39770         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
39771         (glthread_recursive_lock_init): New macro/function.
39772         (gl_recursive_lock_init): Define as wrapper around
39773         glthread_recursive_lock_init.
39774         (glthread_recursive_lock_lock): New macro/function.
39775         (gl_recursive_lock_lock): Define as wrapper around
39776         glthread_recursive_lock_lock.
39777         (glthread_recursive_lock_unlock): New macro/function.
39778         (gl_recursive_lock_unlock): Define as wrapper around
39779         glthread_recursive_lock_unlock.
39780         (glthread_recursive_lock_destroy): New macro/function.
39781         (gl_recursive_lock_destroy): Define as wrapper around
39782         glthread_recursive_lock_destroy.
39783         (glthread_once): New macro/function.
39784         (gl_once): Define as wrapper around glthread_once.
39785         Update function declarations.
39786         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
39787         glthread_rwlock_init. Return error code.
39788         (glthread_rwlock_rdlock_multithreaded): Renamed from
39789         glthread_rwlock_rdlock. Return error code.
39790         (glthread_rwlock_wrlock_multithreaded): Renamed from
39791         glthread_rwlock_wrlock. Return error code.
39792         (glthread_rwlock_unlock_multithreaded): Renamed from
39793         glthread_rwlock_unlock. Return error code.
39794         (glthread_rwlock_destroy_multithreaded): Renamed from
39795         glthread_rwlock_destroy. Return error code.
39796         (glthread_recursive_lock_init_multithreaded): Renamed from
39797         glthread_recursive_lock_init. Return error code.
39798         (glthread_recursive_lock_lock_multithreaded): Renamed from
39799         glthread_recursive_lock_lock. Return error code.
39800         (glthread_recursive_lock_unlock_multithreaded): Renamed from
39801         glthread_recursive_lock_unlock. Return error code.
39802         (glthread_recursive_lock_destroy_multithreaded): Renamed from
39803         glthread_recursive_lock_destroy. Return error code.
39804         (glthread_once_call): Make static.
39805         (glthread_once_multithreaded): Renamed from glthread_once.
39806         * lib/tls.h: Include <errno.h>.
39807         (glthread_tls_key_init): New macro/function.
39808         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
39809         (glthread_tls_set): New macro/function.
39810         (gl_tls_set): Define as wrapper around glthread_tls_set.
39811         (glthread_tls_key_destroy): New macro/function.
39812         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
39813         Update function declarations.
39814         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
39815         glthread_tls_get.
39816         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
39817
39818 2008-08-04  Eric Blake  <ebb9@byu.net>
39819
39820         gnumakefile: use space, not TAB, outside of targets
39821         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
39822
39823 2008-08-02  Jim Meyering  <meyering@redhat.com>
39824
39825         getdate.y: avoid locale-dependent date parsing failure
39826         In Turkish locales, getdate would fail to recognize keywords
39827         containing a lowercase "i".  The solution is not to rely on
39828         locale-sensitive case-conversion.
39829         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
39830         (lookup_word): Use c_toupper in place of toupper.
39831         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
39832         Reported by Vefa Bicakci <bicave@superonline.com> in
39833         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
39834         * modules/getdate (Depends-on): Add c-ctype.
39835
39836 2008-08-02  Bruno Haible  <bruno@clisp.org>
39837
39838         * gnulib-tool (func_import): When updating or creating a .gitignore
39839         file, prepend each added line with a slash, and ignore leading slashes
39840         from the existing lines.
39841         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39842
39843 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39844
39845         Portability fix for GNU make 3.79.1.
39846         * top/GNUmakefile: Avoid 'else COND', which older GNU make
39847         versions do not understand.
39848
39849 2008-08-01  Bruno Haible  <bruno@clisp.org>
39850
39851         Work around bug of HP-UX 10.20 cc with -0.0 literal.
39852         * tests/test-isnanf.h (zero): New variable.
39853         (main): Avoid literal -0.0f.
39854         * tests/test-isnand.h (zero): New variable.
39855         (main): Avoid literal -0.0.
39856         * tests/test-isnanl.h (zero): New variable.
39857         (main): Avoid literal -0.0L.
39858         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
39859         (test_float, test_double, test_long_double): Avoid literals -0.0f,
39860         -0.0, -0.0L.
39861         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
39862         (test_signbitd): Avoid literal -0.0.
39863         (test_signbitl): Avoid literal -0.0L.
39864         * tests/test-ceilf1.c (zero): New variable.
39865         (main): Avoid literal -0.0f.
39866         * tests/test-ceill.c (zero): New variable.
39867         (main): Avoid literal -0.0L.
39868         * tests/test-floorf1.c (zero): New variable.
39869         (main): Avoid literal -0.0f.
39870         * tests/test-floorl.c (zero): New variable.
39871         (main): Avoid literal -0.0L.
39872         * tests/test-roundf1.c (zero): New variable.
39873         (main): Avoid literal -0.0f.
39874         * tests/test-round1.c (zero): New variable.
39875         (main): Avoid literal -0.0.
39876         * tests/test-roundl.c (zero): New variable.
39877         (main): Avoid literal -0.0L.
39878         * tests/test-truncf1.c (zero): New variable.
39879         (main): Avoid literal -0.0f.
39880         * tests/test-trunc1.c (zero): New variable.
39881         (main): Avoid literal -0.0.
39882         * tests/test-truncl.c (zero): New variable.
39883         (main): Avoid literal -0.0L.
39884         * tests/test-frexp.c (zero): New variable.
39885         (main): Avoid literal -0.0.
39886         * tests/test-frexpl.c (zero): New variable.
39887         (main): Avoid literal -0.0L.
39888         * tests/test-ldexpl.c (zero): New variable.
39889         (main): Avoid literal -0.0L.
39890         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
39891         (zerod, zerol): New variables.
39892         (test_function): Avoid literals -0.0, -0.0L.
39893         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
39894         (zerod, zerol): New variables.
39895         (test_function): Avoid literals -0.0, -0.0L.
39896         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
39897         (zerod, zerol): New variables.
39898         (test_function): Avoid literals -0.0, -0.0L.
39899         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
39900         (zerod, zerol): New variables.
39901         (test_function): Avoid literals -0.0, -0.0L.
39902         * tests/test-strtod.c (zero): New variable.
39903         (main): Avoid literal -0.0.
39904         Reported by Jonathan C. Patschke <jp@centtech.com>.
39905
39906 2008-07-31  Jim Meyering  <meyering@redhat.com>
39907
39908         sha256.h: correct definition of SHA224_DIGEST_SIZE
39909         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
39910         Reported by Paulie Pena IV <paulie4@gmail.com>.
39911         Define as 224 / 8, rather than as a literal.
39912         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
39913         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
39914         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
39915
39916 2008-07-31  Bruno Haible  <bruno@clisp.org>
39917
39918         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
39919         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
39920         Reported by Jonathan Patschke <jp@centtech.com>.
39921
39922 2008-07-31  Bruno Haible  <bruno@clisp.org>
39923
39924         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
39925         Reported by Paolo Bonzini <bonzini@gnu.org>.
39926
39927 2008-07-30  Eric Blake  <ebb9@byu.net>
39928
39929         test-strtod: allow compilation without -lm
39930         * tests/test-strtod.c (main): Avoid link dependence on fabs.
39931         Reported by Dennis Clarke <blastwave@gmail.com>.
39932
39933 2008-07-28  Jim Meyering  <meyering@redhat.com>
39934
39935         bootstrap: work also when there are no .po files in po/
39936         * build-aux/bootstrap (update_po_files): Complete the change
39937         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
39938
39939 2008-07-27  Jim Meyering  <meyering@redhat.com>
39940
39941         * users.txt: Add zile.
39942
39943 2008-07-26  Ben Pfaff  <blp@gnu.org>
39944
39945         Add missing dependencies on new m4/exponent[fdl].m4 files.
39946         * modules/isnanf-nolibm: Add m4/exponentf.m4.
39947         * modules/isnand-nolibm: Add m4/exponentd.m4.
39948         * modules/isnanl-nolibm: Add m4/exponentl.m4.
39949         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
39950         m4/isnan[fdl].m4, because the macros actually used moved.
39951         Reported by Jim Meyering.
39952
39953 2008-07-14  Ben Pfaff  <blp@gnu.org>
39954
39955         Add isinf module.
39956         * lib/isinf.c: New file.
39957         * lib/math.in.h: Define isinf macro if we have decided to replace
39958         it.
39959         * m4/isinf.m4: New file.
39960         * m4/math_h.m4: Initialize and substitute variables for isinf
39961         module.
39962         * modules/isinf: New file.
39963         * modules/isinf-tests: New file.
39964         * modules/math: Add substitutions for new module.
39965         * tests/test-isinf.c: New file.
39966         * doc/posix-functions/isinf.texi: Mention new module.
39967         * MODULES.html.sh: Mention new module.
39968
39969 2008-07-14  Ben Pfaff  <blp@gnu.org>
39970
39971         Factor out some macros for use by additional modules.
39972         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
39973         exponentf.m4.
39974         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
39975         exponentd.m4.
39976         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
39977         file exponentl.m4.
39978         * m4/exponentf.m4: New file.
39979         * m4/exponentd.m4: New file.
39980         * m4/exponentl.m4: New file.
39981         * modules/isnanf: Use new file m4/exponentf.m4.
39982         * modules/isnand: Use new file m4/exponentd.m4.
39983         * modules/isnanl: Use new file m4/exponentl.m4.
39984
39985 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
39986
39987         mktime.c: normalize tp->tm_isdst value to -1/0/1.
39988         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
39989         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
39990         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
39991
39992         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
39993         readlink on platforms without PATH_MAX.
39994
39995 2008-07-21  Eric Blake  <ebb9@byu.net>
39996
39997         Warn, not fail, on stale version.
39998         * top/GNUmakefile (_curr-ver): Tone down previous patch.
39999
40000         Don't allow installation with stale devel version number.
40001         * top/GNUmakefile (_is-install-target): New macro.
40002         (_curr-ver): Forbid installation with stale version number.
40003
40004 2008-07-20  Bruno Haible  <bruno@clisp.org>
40005
40006         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
40007         TESTS_ENVIRONMENT.
40008         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
40009
40010 2008-07-20  Bruno Haible  <bruno@clisp.org>
40011
40012         * lib/c-stack.h (c_stack_action): Add documentation.
40013         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
40014
40015 2008-07-20  Bruno Haible  <bruno@clisp.org>
40016
40017         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
40018         * modules/readlink (License): Likewise.
40019
40020 2008-07-17  Eric Blake  <ebb9@byu.net>
40021
40022         * modules/c-stack (Link): Fix typo.
40023
40024         Make c-stack use libsigsegv, when available.
40025         * modules/c-stack (Depends-on): Add libsigsegv.
40026         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
40027         needed.
40028         * lib/c-stack.c (SIGSTKSZ): Define fallback.
40029         (segv_handler, overflow_handler, c_stack_action)
40030         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
40031         implementation when libsigsegv is available, but only when using
40032         the library is necessary.
40033         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
40034         comment, explaining why XSI check fails on Linux.
40035         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
40036         * tests/test-c-stack2.sh: Tweak skip message.
40037         * NEWS: Document new link-time requirements.
40038
40039 2008-07-16  Eric Blake  <ebb9@byu.net>
40040
40041         c-stack: Expose false positives when not using libsigsegv.
40042         * modules/c-stack-tests (Files): Expand test.
40043         * tests/test-c-stack.c (main): Add means to conditionally trigger
40044         non-overflow SIGSEGV.
40045         * tests/test-c-stack2.sh: New file.
40046
40047 2008-07-14  Bruno Haible  <bruno@clisp.org>
40048
40049         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
40050         Reported by Eric Blake.
40051
40052 2008-07-14  Sam Steingold  <sds@gnu.org>
40053             Bruno Haible  <bruno@clisp.org>
40054
40055         New module libsigsegv.
40056         * modules/libsigsegv: New file.
40057         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
40058         modifications.
40059         * MODULES.html.sh (Signal handling): New section.
40060
40061 2008-07-14  Bruno Haible  <bruno@clisp.org>
40062
40063         * modules/unictype/ctype-* (Description): Add the word "function".
40064         Improves the resulting doc in MODULES.html.
40065
40066 2008-07-12  Ben Pfaff  <blp@gnu.org>
40067
40068         Add longlong module.
40069         * modules/longlong: New file.
40070
40071 2008-07-12  Bruno Haible  <bruno@clisp.org>
40072
40073         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
40074         to empty.
40075
40076 2008-07-10  Ben Pfaff  <blp@gnu.org>
40077
40078         Add isnan module.
40079         * doc/posix-functions/isnan.texi: Mention new module.
40080         * lib/math.in.h: Define isnan macro if we have decided to replace
40081         it.
40082         * m4/isnan.m4: New file.
40083         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
40084         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
40085         also.
40086         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
40087         redundancy.
40088         * m4/math_h.m4: Initialize and substitute variables for isnan
40089         module.
40090         * modules/isnan: New file.
40091         * modules/isnan-tests: New file.
40092         * modules/math: Add substitutions for new module.
40093         * tests/test-isnan.c: New file.
40094         * MODULES.html.sh: Mention new module.
40095
40096 2008-07-10  Ben Pfaff  <blp@gnu.org>
40097
40098         Add isnanf module.
40099         * lib/isnanf.m4: New file.
40100         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
40101         (gl_HAVE_ISNANF_IN_LIBM): New macro.
40102         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
40103         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
40104         * modules/isnanf: New file.
40105         * modules/isnanf-tests: New file.
40106         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
40107         files.
40108         * tests/test-isnanf-nolibm.c: factored most of its contents into
40109         new file tests/test-isnanf.h.
40110         * tests/test-isnanf.h: New file.
40111         * tests/test-isnanf.c: New file.
40112         * MODULES.html.sh: Mention new module.
40113         * doc/glibc-functions/isnanf.texi: Mention new module.
40114
40115 2008-07-10  Ben Pfaff  <blp@gnu.org>
40116
40117         Add isnand module.
40118         * lib/isnand.h: New file.
40119         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
40120         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
40121         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
40122         functionality also.
40123         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
40124         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
40125         (gl_HAVE_ISNAND_IN_LIBM): New macro.
40126         * modules/isnand: New file.
40127         * modules/isnand-tests: New file.
40128         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
40129         files.
40130         * tests/test-isnand-nolibm.c: factored most of its contents into
40131         new file tests/test-isnand.h.
40132         * tests/test-isnand.h: New file.
40133         * tests/test-isnand.c: New file.
40134         * MODULES.html.sh: Mention new module.
40135
40136 2008-07-10  Ben Pfaff  <blp@gnu.org>
40137
40138         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
40139         * lib/isnand.h: Rename lib/isnand-nolibm.h.
40140         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
40141         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
40142         * modules/isnanf-nolibm: Update references to renamed files.
40143         * modules/isnand-nolibm: Likewise.
40144         * modules/isnanf-nolibm-tests: Likewise.
40145         * modules/isnand-nolibm-tests: Likewise.
40146         * lib/frexp.c: Likewise.
40147         * lib/isfinite.c: Likewise.
40148         * lib/signbitd.c: Likewise.
40149         * lib/signbitf.c: Likewise.
40150         * lib/vasnprintf.c: Likewise.
40151         * tests/test-ceilf1.c: Likewise.
40152         * tests/test-ceilf2.c: Likewise.
40153         * tests/test-floorf1.c: Likewise.
40154         * tests/test-floorf2.c: Likewise.
40155         * tests/test-frexp.c: Likewise.
40156         * tests/test-round1.c: Likewise.
40157         * tests/test-round2.c: Likewise.
40158         * tests/test-roundf1.c: Likewise.
40159         * tests/test-strtod.c: Likewise.
40160         * tests/test-trunc1.c: Likewise.
40161         * tests/test-trunc2.c: Likewise.
40162         * tests/test-truncf1.c: Likewise.
40163         * tests/test-truncf2.c: Likewise.
40164         * NEWS: Mention the renamed header files.
40165
40166 2008-07-11  Jim Meyering  <meyering@redhat.com>
40167
40168         vc-list-files: make the last-resort awk code more portable
40169         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
40170         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
40171         does not support it.
40172
40173 2008-07-10  Eric Blake  <ebb9@byu.net>
40174
40175         Work with tar's bootstrap.
40176         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
40177         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
40178         an m4 comment.
40179
40180 2008-07-09  Jim Meyering  <meyering@redhat.com>
40181
40182         posix-shell.m4: fix typo that made this test malfunction
40183         * m4/posix-shell.m4: Remove capitalization in variable name.
40184
40185 2008-07-08  Bruno Haible  <bruno@clisp.org>
40186
40187         * m4/onceonly.m4: Update comments.
40188         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40189
40190 2008-07-04  Jim Meyering  <meyering@redhat.com>
40191
40192         * users.txt: Add vc-dwim.
40193         (bison, coreutils): Use the gitweb URL.
40194
40195 2008-07-03  Jim Meyering  <meyering@redhat.com>
40196
40197         * users.txt: Add libffcall.  From Sam Steingold.
40198
40199 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
40200
40201         getdate.y: do not ignore TZ with relative day, month or year offset
40202         * lib/getdate.y (get_date): Move the tz-handling block to follow the
40203         relative-date-handling, since otherwise, the latter would clobber the
40204         sole output (an updated Start value) of the tz-handling block.
40205         * tests/test-getdate.c: Tests for the fix
40206
40207 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40208
40209         Recognize 'foo_LIBRARIES += libgnu.a'.
40210         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
40211         makefile snippet has already specified an installation location,
40212         also using '+='.
40213
40214 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
40215
40216         getdate.y: factor out common actions
40217         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
40218         Use them in place of open-coded actions.
40219
40220 2008-07-01  Simon Josefsson  <simon@josefsson.org>
40221
40222         Add self-test for getdate module.
40223         * modules/getdate-tests: New file.
40224         * tests/test-getdate.c: New file.
40225
40226 2008-06-29  Bruno Haible  <bruno@clisp.org>
40227
40228         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
40229         .gitignore.
40230         Reported by Sylvain Beucler <beuc@beuc.net>.
40231
40232 2008-06-29  Bruno Haible  <bruno@clisp.org>
40233
40234         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
40235         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
40236
40237 2008-06-29  Bruno Haible  <bruno@clisp.org>
40238
40239         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
40240         EXTRA_DIST.
40241         Reported by Sylvain Beucler <beuc@beuc.net>.
40242
40243 2008-06-26  Jim Meyering  <meyering@redhat.com>
40244
40245         make several modules depend on the "open" module
40246         This provides slightly increased consistency when opening-for-write
40247         the name of a non-directory spelled with a trailing slash.
40248         * modules/chdir-safer: Likewise.
40249         * modules/chown: Likewise.
40250         * modules/clean-temp: Likewise.
40251         * modules/copy-file: Likewise.
40252         * modules/fchdir: Likewise.
40253         * modules/fcntl-safer: Likewise.
40254         * modules/pipe: Likewise.
40255         * modules/utime: Likewise.
40256         Prompted by Eric Blake and Bruno Haible.
40257
40258 2008-06-24  Andreas Schwab  <schwab@suse.de>
40259
40260         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
40261         literals can be used as initializers for global variables.
40262
40263 2008-06-23  Eric Blake  <ebb9@byu.net>
40264
40265         Make gnulib-cache.m4 easier to diff.
40266         * gnulib-tool (func_import): Allow newlines when reading cached
40267         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
40268
40269 2008-06-23  Bruno Haible  <bruno@clisp.org>
40270
40271         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
40272         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
40273         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
40274         m4/signalblocking.m4.
40275         (gl_PREREQ_SIGACTION): Don't invoke it.
40276         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
40277         gl_PREREQ_SIG_HANDLER_H.
40278         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
40279         Don't check for sigaction here.
40280
40281 2008-06-23  Bruno Haible  <bruno@clisp.org>
40282
40283         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
40284         (install_handlers): Don't set the SA_RESETHAND flag.
40285
40286 2008-06-23  Bruno Haible  <bruno@clisp.org>
40287
40288         * m4/sigaction.m4: Comment fixes.
40289         * lib/signal.in.h: Likewise.
40290
40291 2008-06-23  Eric Blake  <ebb9@byu.net>
40292
40293         Fix typo.
40294         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
40295
40296         Avoid SA_ namespace.
40297         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
40298         Reported by Ralf Wildenhues.
40299
40300         Avoid test failure due to SA_RESTORER.
40301         * tests/test-sigaction.c (SA_MASK): New macro.
40302         (main): Avoid failing due to extension flags being set.
40303         Reported by Jim Meyering.
40304
40305         Revert use of sig-handler.h in sigprocmask.c.
40306         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
40307         it requires the existence of struct sigaction.
40308         * lib/sigprocmask.c (handler_t): Restore typedef.
40309         (rpl_signal, old_handlers): Use local type.
40310
40311 2008-06-22  Bruno Haible  <bruno@clisp.org>
40312
40313         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
40314         conditionally.
40315         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40316
40317 2008-06-22  Bruno Haible  <bruno@clisp.org>
40318
40319         * doc/posix-functions/siginterrupt.texi: Move note.
40320
40321         * lib/signal.in.h (SA_RESTART): New macro.
40322         * lib/sigaction.c: Update comment.
40323
40324         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
40325
40326         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
40327         (gl_PREREQ_SIGPROCMASK): Invoke it.
40328         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
40329
40330         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
40331
40332         * lib/sigprocmask.c: Update a comment.
40333
40334 2008-06-21  Eric Blake  <ebb9@byu.net>
40335
40336         Use sigaction module rather than signal().
40337         * modules/c-stack (Depends-on): Add sigaction.
40338         * modules/fatal-signal (Depends-on): Likewise.
40339         * modules/nanosleep (Depends-on): Likewise.
40340         * modules/sigprocmask (Files): Add sig-handler.h.
40341         * modules/sigaction (Files): Likewise.
40342         * lib/sig-handler.h (get_handler): New file, suggested by Paul
40343         Eggert.
40344         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
40345         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
40346         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
40347         (init_fatal_signals): Likewise.
40348         * lib/nanosleep.c (rpl_nanosleep): Likewise.
40349         (siginterrupt): Delete fallback.
40350         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
40351         instead.
40352         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
40353         siginterrupt.
40354
40355         New module sigaction, for mingw.
40356         * modules/sigaction: New module...
40357         * modules/sigaction-tests: ...and its test.
40358         * m4/sigaction.m4: New file.
40359         * lib/sigaction.c: Likewise.
40360         * tests/test-sigaction.c: Likewise.
40361         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
40362         * modules/signal (Makefile.am): Likewise.
40363         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
40364         needed.
40365         * doc/posix-headers/signal.texi (signal.h): Mention provided
40366         types.
40367         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
40368         that sigaction is preferable.
40369         * doc/posix-functions/sigaction.texi (sigaction): Mention new
40370         module.
40371         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40372         sigaction.
40373
40374         Improve robustness of sigprocmask by overriding signal.
40375         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
40376         is in use.
40377         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
40378         (SIGKILL, SIGSTOP): Provide fallbacks.
40379         (rpl_signal): Implement.
40380         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
40381         signal can be called inside handlers.
40382
40383         Fix nanosleep module on mingw.
40384         * modules/nanosleep (Depends-on): Add sys_select.
40385         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
40386
40387         Fix licensing of sigprocmask.
40388         * modules/raise (License): Relicense as LGPL.
40389
40390 2008-06-21  Bruno Haible  <bruno@clisp.org>
40391
40392         * lib/propername.c (proper_name_utf8): Don't use the transliterated
40393         result if it contains question marks.
40394         Reported by Michael Geng <linux@michaelgeng.de>.
40395
40396 2008-06-19  Bruno Haible  <bruno@clisp.org>
40397
40398         Fix CVS-ism.
40399         * doc/gnulib.texi: Include updated-stamp.texi.
40400         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
40401         (updated-stamp.texi): New rule.
40402         (gnulib.info): Depend on it.
40403         * doc/.gitignore: Add updated-stamp.texi.
40404         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
40405
40406 2008-06-19  Bruno Haible  <bruno@clisp.org>
40407
40408         * doc/Makefile (gnulib.info): Update and simplify dependencies.
40409         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40410
40411 2008-06-19  Eric Blake  <ebb9@byu.net>
40412
40413         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
40414         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
40415         Reported by Stepan Kasal.
40416
40417 2008-06-18  Bruno Haible  <bruno@clisp.org>
40418
40419         * lib/fatal-signal.c (init_fatal_signals): Add comment.
40420         Reported by Eric Blake.
40421
40422 2008-06-18  Eric Blake  <ebb9@byu.net>
40423
40424         Work around cygwin 1.5.25 strsignal bug.
40425         * tests/test-strsignal.c: Allow for const char *.
40426         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
40427
40428 2008-06-18  Simon Josefsson  <simon@josefsson.org>
40429
40430         * users.txt: Update URL to article and add author/date
40431         information.
40432
40433 2008-06-17  Bruno Haible  <bruno@clisp.org>
40434
40435         New macro gl_DISABLE_THREADS.
40436         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
40437         if the user did not pass --enable-threads or --disable-threads option.
40438         (gl_DISABLE_THREADS): New macro.
40439         Reported by Eric Blake <ebb9@byu.net>.
40440
40441 2008-06-17  Bruno Haible  <bruno@clisp.org>
40442
40443         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
40444         when the macro ignores it.
40445         Based on a patch by Eric Blake <ebb9@byu.net>.
40446
40447 2008-06-17  Bruno Haible  <bruno@clisp.org>
40448
40449         * modules/tls (License): Change to LGPLv2+.
40450         Reported by Eric Blake.
40451
40452 2008-06-17  Eric Blake  <ebb9@byu.net>
40453
40454         Simplify c-stack prerequisites.
40455         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
40456         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
40457         no longer requires <ucontext.h> to exist.  Optimize setrlimit
40458         check.
40459         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
40460         <sys/resource.h>.
40461
40462         Move c-stack test into testsuite.
40463         * modules/c-stack-tests: New file.
40464         * lib/c-stack.c [DEBUG]: Move test program...
40465         * tests/test-c-stack.c: ...into this new file.  Skip rather than
40466         fail test if sigaltstack is lacking.
40467         * tests/test-c-stack.sh: New driver file.
40468
40469 2008-06-16  Eric Blake  <ebb9@byu.net>
40470
40471         Use raise module consistently.
40472         * modules/fatal-signal (Depends-on): Add raise.
40473         * modules/sigprocmask (Depends-on): Likewise.
40474         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
40475         * lib/sigprocmask.c (sigprocmask): Likewise.
40476         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
40477         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
40478
40479         Fix compliance bug in sigpending.
40480         * lib/sigprocmask.c (sigpending): Return pending array via
40481         parameter, not return value.
40482
40483 2008-06-14  Eric Blake  <ebb9@byu.net>
40484
40485         Improve obstack-printf test code.
40486         * tests/test-obstack-printf.c (test_function): Fix comment, and
40487         simplify usage of obstack_* in macros.  Add a test for coverage.
40488         Reported by Bruno Haible.
40489
40490 2008-06-14  Bruno Haible  <bruno@clisp.org>
40491
40492         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
40493         array size as a constant, not as a const variable.
40494         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
40495         AC_USE_SYSTEM_EXTENSIONS.
40496         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40497         Test whether the obstack_printf function actually exists.
40498         * modules/obstack-printf (Depends-on): Add extensions.
40499         (Include): Remove obstack.h.
40500         * modules/obstack-printf-posix (Depends-on): Add extensions.
40501         (Include): Remove obstack.h.
40502
40503 2008-06-13  Eric Blake  <ebb9@byu.net>
40504
40505         Add obstack-printf and obstack-printf-posix modules.
40506         * modules/obstack-printf: New file.
40507         * modules/obstack-printf-posix: Likewise.
40508         * MODULES.html.sh (Misc): Mention them.
40509         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
40510         Likewise.
40511         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
40512         Likewise.
40513         * modules/stdio (Makefile.am): Accomodate new modules.
40514         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40515         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
40516         Declare.
40517         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
40518         functions.
40519         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
40520         (gl_REPLACE_OBSTACK_PRINTF): New macros
40521         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
40522         * tests/test-obstack-printf.c: New file.
40523         * modules/obstack-printf-tests: Likewise.
40524         * modules/obstack-printf-posix-tests: Likewise.
40525
40526 2008-06-11  Bruno Haible  <bruno@clisp.org>
40527
40528         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
40529         * lib/open.c: Include errno.h.
40530         (open): Fail when attempting to write to a file that has a trailing
40531         slash.
40532         * tests/test-open.c (main): Test against trailing slash bug.
40533         * doc/posix-functions/open.texi: Mention the trailing slash bug.
40534
40535 2008-06-10  Bruno Haible  <bruno@clisp.org>
40536
40537         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
40538         for $? to work inside the trap command, with various /bin/sh-s.
40539         * tests/test-vc-list-files-cvs.sh: Likewise.
40540
40541 2008-06-10  Bruno Haible  <bruno@clisp.org>
40542
40543         * lib/acl-internal.h: Don't include gettext.h here.
40544         * lib/set-mode-acl.c: Include gettext.h here.
40545         * lib/copy-acl.c: Likewise.
40546
40547 2008-06-10  Bruno Haible  <bruno@clisp.org>
40548
40549         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
40550         * lib/wait-process.c (wait_subprocess): Likewise.
40551         * lib/execute.h (execute): Add termsigp argument.
40552         * lib/execute.c (execute): Likewise.
40553         * lib/csharpcomp.c (compile_csharp_using_pnet,
40554         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
40555         * lib/csharpexec.c (execute_csharp_using_pnet,
40556         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
40557         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
40558         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
40559         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
40560         is_jikes_present): Update.
40561         * lib/javaexec.c (execute_java_class): Update.
40562         * lib/javaversion.c (execute_and_read_line): Update.
40563         * NEWS: Document the changes.
40564         Reported by Eric Blake.
40565
40566 2008-06-10  Eric Blake  <ebb9@byu.net>
40567
40568         Add missing include.
40569         * tests/test-strstr.c (includes): Add <signal.h>.
40570         * tests/test-strcasestr.c (includes): Likewise.
40571         * tests/test-memmem.c (includes): Likewise.
40572
40573 2008-06-10  Bruno Haible  <bruno@clisp.org>
40574
40575         * lib/wait-process.c (wait_subprocess): Add an assertion.
40576
40577 2008-06-10  Bruno Haible  <bruno@clisp.org>
40578
40579         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
40580
40581 2008-06-10  Bruno Haible  <bruno@clisp.org>
40582
40583         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
40584         using alarm().
40585         * tests/test-strcasestr.c (main): Likewise.
40586         * tests/test-strstr.c (main): Likewise.
40587
40588 2008-06-09  Bruno Haible  <bruno@clisp.org>
40589
40590         Work around the Solaris 10 ACE ACLs ABI change.
40591         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
40592         declare if ACL_NO_TRIVIAL is present.
40593         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
40594         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
40595         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
40596         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
40597         define if ACL_NO_TRIVIAL is present.
40598         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
40599         and use the current ABI.
40600         (file_has_acl): Use same #if condition as elsewhere.
40601         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
40602         in use, and use the current ABI.
40603         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
40604         Reported by Jim Meyering.
40605
40606 2008-06-09  Eric Blake  <ebb9@byu.net>
40607
40608         Work around environments that (stupidly) ignore SIGALRM.
40609         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
40610         before using alarm().
40611         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40612         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
40613         Reported by Ian Beckwith <ianb@erislabs.net>.
40614
40615         Produce autobuild blurb earlier in log.
40616         * modules/autobuild (configure.ac-early): Move AB_INIT here.
40617
40618 2008-06-09  Jim Meyering  <meyering@redhat.com>
40619         and OndÅ™ej Vašík  <ovasik@redhat.com>
40620
40621         utimens.c: correct kernel bug work-around
40622         OndÅ™ej Vašík found that the invalid return value of 280 indicates
40623         failure, not success, and the kernel bug we're trying to work
40624         around affects not just the utimensat call, but also the fallback
40625         futimens call.
40626         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
40627         not success.
40628         [HAVE_FUTIMENS]: Use the same work-around, here.
40629
40630 2008-06-09  Jim Meyering  <meyering@redhat.com>
40631
40632         add more guards around definition of ACE_-related code
40633         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
40634         ALLOW and ACE_OWNER are also defined.
40635
40636 2008-06-08  Bruno Haible  <bruno@clisp.org>
40637
40638         * lib/acl-internal.h: Add me as co-author.
40639         * lib/file-has-acl.c: Likewise.
40640         * lib/set-mode-acl.c: Likewise.
40641         * lib/copy-acl.c: Likewise.
40642
40643 2008-06-08  Bruno Haible  <bruno@clisp.org>
40644
40645         Add support for AIX ACLs.
40646         * lib/acl-internal.h (acl_nontrivial): New declaration.
40647         * lib/file-has-acl.c (acl_nontrivial): New function.
40648         (file_has_acl): Add implementation using AIX 4 ACL API.
40649         * lib/set-mode-acl.c (qset_acl): Likewise.
40650         * lib/copy-acl.c (qcopy_acl): Likewise.
40651
40652 2008-06-08  Bruno Haible  <bruno@clisp.org>
40653
40654         Add support for HP-UX ACLs.
40655         * lib/acl-internal.h (acl_nontrivial): New declaration.
40656         * lib/file-has-acl.c (acl_nontrivial): New function.
40657         (file_has_acl): Add implementation using HP-UX 11 ACL API.
40658         * lib/set-mode-acl.c (qset_acl): Likewise.
40659         * lib/copy-acl.c (qcopy_acl): Likewise.
40660
40661 2008-06-08  Bruno Haible  <bruno@clisp.org>
40662
40663         Add support for Cygwin ACLs.
40664         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
40665         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
40666         the chmod_or_fchmod call.
40667         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
40668
40669 2008-06-08  Bruno Haible  <bruno@clisp.org>
40670
40671         Fix bug with setuid modes in Solaris 10+ code.
40672         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
40673         succeeded, when the mode contains some special bits.
40674
40675 2008-06-08  Bruno Haible  <bruno@clisp.org>
40676
40677         Add support for Solaris 7..10 ACLs.
40678         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
40679         declarations.
40680         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
40681         functions.
40682         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
40683         * lib/set-mode-acl.c (qset_acl): Likewise.
40684         * lib/copy-acl.c (qcopy_acl): Likewise.
40685
40686 2008-06-08  Bruno Haible  <bruno@clisp.org>
40687
40688         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
40689         declaration.
40690         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
40691         (acl_access_nontrivial): Remove MacOS X case.
40692         (file_has_acl): Use acl_extended_nontrivial.
40693         * lib/copy-acl.c (qcopy_acl): Likewise.
40694
40695 2008-06-08  Bruno Haible  <bruno@clisp.org>
40696
40697         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
40698
40699 2008-06-08  Jim Meyering  <meyering@redhat.com>
40700
40701         * modules/acl (Maintainer): Add Bruno Haible.
40702
40703 2008-06-07  Bruno Haible  <bruno@clisp.org>
40704
40705         Improve support for Tru64 ACLs.
40706         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
40707         ACL on OSF/1.
40708
40709 2008-06-07  Bruno Haible  <bruno@clisp.org>
40710
40711         Add support for MacOS X ACLs.
40712         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
40713         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
40714         * lib/set-mode-acl.c (qset_acl): Likewise.
40715         * lib/copy-acl.c (qcopy_acl): Likewise.
40716
40717 2008-06-07  Bruno Haible  <bruno@clisp.org>
40718
40719         Fix memory leak introduced on 2008-05-22.
40720         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
40721         use.
40722
40723 2008-06-07  Bruno Haible  <bruno@clisp.org>
40724
40725         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
40726         to construct an empty ACL.
40727
40728 2008-06-07  Bruno Haible  <bruno@clisp.org>
40729
40730         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
40731         precisely.
40732         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
40733
40734 2008-06-07  Bruno Haible  <bruno@clisp.org>
40735
40736         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
40737         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
40738
40739 2008-06-07  Bruno Haible  <bruno@clisp.org>
40740
40741         * doc/posix-functions/_setjmp.texi: Explain the use of this function
40742         regardless of POSIX.
40743         * doc/posix-functions/_longjmp.texi: Likewise.
40744         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
40745         SystemV platform in this case.
40746
40747 2008-06-06  Eric Blake  <ebb9@byu.net>
40748
40749         Document abort() bugs.
40750         * doc/posix-functions/abort.texi (abort): Mention anomalies.
40751
40752         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
40753         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
40754         sigsetjmp.
40755         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
40756         siglongjmp, but only as a macro.
40757         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
40758         is obsolete.
40759         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
40760
40761         Tweak documentation to cover cygwin argz bugs.
40762         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
40763         argz bug fix; no code change needed since no cygwin releases
40764         occurred between the last fix and the bug being tested.
40765         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
40766         module and recently fixed cygwin bugs.
40767         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
40768         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
40769         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
40770         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
40771         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
40772         Likewise.
40773         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
40774         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
40775         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
40776         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
40777         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
40778         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
40779         Likewise.
40780
40781         Avoid gcc warning on cygwin.
40782         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
40783         !ACL_NO_TRIVIAL]: Avoid unused variable.
40784
40785 2008-06-05  Eric Blake  <ebb9@byu.net>
40786
40787         Be tolerant of UNKNOWN version in gnulib-tool test dir.
40788         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
40789         git-version-gen fails to come up with a version.
40790         Reported by Simon Josefsson.
40791
40792 2008-06-05  Jim Meyering  <meyering@redhat.com>
40793             Paul Eggert  <eggert@cs.ucla.edu>
40794
40795         utimens.c: work around a probable Linux kernel bug
40796         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
40797         appears to be a kernel bug that causes utimensat to return 280
40798         instead of 0, indicating success.
40799
40800 2008-06-04  Bruno Haible  <bruno@clisp.org>
40801
40802         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
40803         2008-06-01 commit.
40804
40805 2008-06-04  Bruno Haible  <bruno@clisp.org>
40806
40807         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
40808         * lib/file-has-acl.c (acl_access_nontrivial): New function.
40809         (file_has_acl): Use it. Save errno afterwards.
40810         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
40811
40812 2008-06-03  Bruno Haible  <bruno@clisp.org>
40813
40814         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
40815         draft code. Simplify #ifs.
40816         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
40817         Put Solaris code after POSIX-draft code. Fix comments regarding
40818         Solaris 10, HP-UX. Mention Cygwin.
40819         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
40820
40821 2008-06-03  Eric Blake  <ebb9@byu.net>
40822
40823         Provide fallback for older kernels.
40824         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
40825         Provide runtime fallback if kernel lacks support.
40826         Reported by Mike Frysinger.
40827
40828 2008-06-02  Bruno Haible  <bruno@clisp.org>
40829
40830         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
40831         it exists.
40832
40833 2008-06-02  Bruno Haible  <bruno@clisp.org>
40834
40835         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
40836         * lib/copy-acl.c (qcopy_acl): Update comment.
40837
40838 2008-06-02  Bruno Haible  <bruno@clisp.org>
40839
40840         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
40841         like ACL APIs.
40842
40843 2008-06-02  Bruno Haible  <bruno@clisp.org>
40844
40845         * tests/test-file-has-acl.sh: Use different code for Cygwin.
40846         * tests/test-set-mode-acl.sh: Likewise.
40847         * tests/test-copy-acl.sh: Likewise.
40848         * tests/test-copy-file.sh: Likewise.
40849
40850 2008-06-02  Bruno Haible  <bruno@clisp.org>
40851
40852         * tests/test-file-has-acl.sh: Remove unused code.
40853
40854 2008-06-01  Bruno Haible  <bruno@clisp.org>
40855
40856         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
40857         (copy_acl): Just a wrapper around qcopy_acl that emits the error
40858         messages.
40859         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
40860
40861 2008-06-01  Bruno Haible  <bruno@clisp.org>
40862
40863         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
40864         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
40865         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
40866         APIs.
40867         * modules/acl-tests (configure.ac): Remove tests now contained in
40868         m4/acl.m4.
40869
40870 2008-06-02  Jim Meyering  <meyering@redhat.com>
40871
40872         announce-gen: use a better key-server host name
40873         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
40874         it may be more consistently reliable.  Suggested by Werner Koch
40875         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
40876
40877 2008-06-01  Bruno Haible  <bruno@clisp.org>
40878
40879         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
40880         Reported by Voroskoi Andras <voroskoi@gmail.com>.
40881
40882 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
40883
40884         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
40885
40886 2008-06-01  Bruno Haible  <bruno@clisp.org>
40887
40888         New ACL tests.
40889         * tests/test-file-has-acl.sh: New file.
40890         * tests/test-file-has-acl.c: New file.
40891         * tests/test-set-mode-acl.sh: New file.
40892         * tests/test-set-mode-acl.c: New file.
40893         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
40894         * tests/test-copy-acl.c: New file.
40895         * modules/acl-tests: New file, based on modules/copy-file-tests.
40896         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
40897         (Depends-on): Add acl-tests.
40898         (configure.ac): Remove checks.
40899         (Makefile.am): Don't create test-sameacls program here any more.
40900
40901 2008-06-01  Bruno Haible  <bruno@clisp.org>
40902
40903         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
40904         * tests/test-sameacls.c: Include progname.h.
40905         (main): Invoke set_program_name. Portability fixes for MacOS X,
40906         Solaris, HP-UX.
40907
40908 2008-06-01  Bruno Haible  <bruno@clisp.org>
40909
40910         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
40911         function.
40912         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
40913
40914 2008-06-01  Bruno Haible  <bruno@clisp.org>
40915
40916         * modules/rpmatch (Depends-on): Add strdup.
40917
40918 2008-06-01  Bruno Haible  <bruno@clisp.org>
40919
40920         * lib/pipe.c: Include unistd-safer.h.
40921         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
40922         * modules/pipe (Depends-on): Add unistd-safer.
40923
40924 2008-05-30  Simon Josefsson  <simon@josefsson.org>
40925
40926         * modules/autobuild (configure.ac): Call AB_INIT.
40927
40928 2008-05-30  Simon Josefsson  <simon@josefsson.org>
40929
40930         * tests/test-getaddrinfo.c: Don't print debug messages by default.
40931         Suggested by Bruno Haible <bruno@clisp.org>.
40932
40933 2008-05-30  Simon Josefsson  <simon@josefsson.org>
40934
40935         * tests/test-base64.c: Cast size_t to unsigned long when invoking
40936         printf.  Use %lu instead of %d.  Reported by Bruno Haible
40937         <bruno@clisp.org>.
40938
40939 2008-05-29  Eric Blake  <ebb9@byu.net>
40940
40941         Prefer new POSIX 200x interfaces over futimesat.
40942         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
40943         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
40944         when available.
40945         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
40946
40947 2008-05-28  Bruno Haible  <bruno@clisp.org>
40948
40949         * modules/stpcpy (License): Change to LGPLv2+.
40950         Requested by David Lutterkort <dlutter@redhat.com>.
40951
40952 2008-05-27  Bruno Haible  <bruno@clisp.org>
40953
40954         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
40955         current mingw.
40956         Reported by Jose E. Marchesi <jemarch@gnu.org>.
40957
40958 2008-05-27  Bruno Haible  <bruno@clisp.org>
40959
40960         * modules/iconv_open (Link): New section, from module 'iconv'.
40961         * modules/striconv (Link): Likewise.
40962         * modules/striconveh (Link): Likewise.
40963         * modules/xstriconv (Link): Likewise.
40964         * modules/unicodeio (Link): Likewise.
40965         * modules/propername (Link): Likewise.
40966         Reported by Jim Meyering.
40967
40968 2008-05-26  Jim Meyering  <meyering@redhat.com>
40969
40970         sha256: do not artificially restrict buffer length to be < 2^32
40971         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
40972         uint32_t to size_t.
40973         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
40974         to match.
40975
40976         avoid unaligned access errors, e.g., on sparc
40977         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
40978         direct access through a possibly-unaligned uint64* pointer.
40979         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
40980         direct access through a possibly-unaligned uint32* pointer.
40981         Prompted by this patch from Tom "spot" Callaway:
40982         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
40983
40984         sha512.c: fix typo in comment
40985         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
40986
40987 2008-05-25  Bruno Haible  <bruno@clisp.org>
40988
40989         * lib/set-mode-acl.c: Renamed from lib/acl.c.
40990         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
40991         (Makefile.am): Update lib_SOURCES.
40992
40993 2008-05-25  Bruno Haible  <bruno@clisp.org>
40994
40995         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
40996
40997 2008-05-25  Jim Meyering  <meyering@redhat.com>
40998
40999         useless-if-before-free: freed expr may have white-space differences
41000         * build-aux/useless-if-before-free: Recognize cases in which the
41001         freed expression differs from the tested one in embedded white
41002         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
41003         $1 was used, so we can't make any regexp shy.  Improved tests now
41004         detect this.
41005
41006         useless-if-before-free: accept white space in the expression.
41007         * build-aux/useless-if-before-free: For now, any white space
41008         in the expression must be identical in the free argument.
41009
41010         useless-if-before-free: efficiency tweak
41011         * build-aux/useless-if-before-free: Make the expression-matching
41012         regexp "shy".
41013         Make the *outer* regexp shy, not the expr-matching one.
41014
41015         update code-in-comment to accept cast of free arg
41016         * build-aux/useless-if-before-free: Update regexp.
41017
41018 2008-05-25  Bruno Haible  <bruno@clisp.org>
41019
41020         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
41021         * modules/copy-file-tests (Files, Makefile.am): Update.
41022         * tests/test-copy-file.c (func_test_copy): Update.
41023
41024 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
41025
41026         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
41027
41028 2008-05-23  Bruno Haible  <bruno@clisp.org>
41029
41030         Improve support for ACLs on OSF/1.
41031         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
41032         Remove fallback for unknown flavors of ACLs.
41033
41034 2008-05-22  Bruno Haible  <bruno@clisp.org>
41035
41036         Add support for ACLs on OSF/1.
41037         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
41038         replacements.
41039         (acl_free_text): New macro fallback.
41040         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
41041         acl_free.
41042         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
41043         acl_free_text function. Require AC_C_INLINE.
41044
41045 2008-05-22  Bruno Haible  <bruno@clisp.org>
41046
41047         Make copy_acl work on MacOS X 10.5.
41048         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
41049         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
41050         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
41051         If MODE_INSIDE_ACL, don't assume that every system has the same text
41052         representation for ACLs as FreeBSD.
41053         * lib/copy-acl.c (copy_acl): Add support for platforms with
41054         !MODE_INSIDE_ACL.
41055         * lib/file-has-acl.c (file_has_acl): Likewise.
41056         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
41057         FreeBSD, MacOS X, or IRIX, respectively.
41058
41059 2008-05-22  Bruno Haible  <bruno@clisp.org>
41060
41061         * lib/acl.h: Don't include <sys/acl.h>.
41062         (GETACLCNT): Move fallback to lib/acl-internal.h.
41063         * lib/acl-internal.h: Include <sys/acl.h> here.
41064         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
41065
41066 2008-05-22  Bruno Haible  <bruno@clisp.org>
41067
41068         Split off copy_acl function to separate file.
41069         * lib/copy-acl.c: New file, extracted from lib/acl.c.
41070         * lib/acl.c (copy_acl): Moved function to separate file.
41071         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
41072         * modules/acl (Files): Add lib/copy-acl.c.
41073         (Makefiles.am): Augment lib_SOURCES.
41074
41075 2008-05-22  Bruno Haible  <bruno@clisp.org>
41076
41077         * modules/copy-file-tests: New file.
41078         * tests/test-copy-file.sh: New file.
41079         * tests/test-copy-file.c: New file.
41080         * tests/test-copy-file-sameacls.c: New file.
41081
41082 2008-05-22  Eric Blake  <ebb9@byu.net>
41083
41084         Avoid gcc warning.
41085         * tests/test-memcmp.c (main): Pass NULL indirectly.
41086
41087 2008-05-21  Bruno Haible  <bruno@clisp.org>
41088
41089         Add reference doc about ACLs.
41090         * doc/acl-resources.txt: New file.
41091         * doc/acl-cygwin.txt: New file.
41092
41093 2008-05-21  Bruno Haible  <bruno@clisp.org>
41094
41095         Avoid one more warning from gcc.
41096         * lib/vasnprintf.c (IF_LINT): Update comments.
41097         (VASNPRINTF): Use it also for the 'prefix' array initializer.
41098
41099 2008-05-21  Jim Meyering  <meyering@redhat.com>
41100
41101         avoid a warning from gcc
41102         * lib/vasnprintf.c (IF_LINT): Define.
41103         (scale10_round_decimal_long_double):
41104         Use it to avoid a "may be used uninitialized" warning.
41105         (scale10_round_decimal_double): Likewise.
41106
41107 2008-05-21  Simon Josefsson  <simon@josefsson.org>
41108
41109         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
41110         declared.
41111
41112 2008-05-20  Bruno Haible  <bruno@clisp.org>
41113
41114         * tests/test-memcmp.c (main): Test also the sign of the result. Test
41115         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
41116
41117 2008-05-20  Simon Josefsson  <simon@josefsson.org>
41118
41119         * modules/memcmp-tests: New file.
41120         * tests/test-memcmp.c: New file.
41121
41122 2008-05-19  Bruno Haible  <bruno@clisp.org>
41123
41124         * modules/propername (Notice, configure.ac): Put quoted "..." into
41125         --keyword option.
41126         * lib/propername.h: Update comments accordingly.
41127         Reported by Eric Blake.
41128
41129 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
41130
41131         * modules/getpass-gnu (Depends-on): Add fseeko.
41132
41133 2008-05-19  Simon Josefsson  <simon@josefsson.org>
41134
41135         * modules/base64-tests: New file.
41136
41137 2008-05-19  Bo Borgerson <gigabo@gmail.com>
41138
41139         * lib/base64.c (base64_decode_ctx): If a decode context structure
41140         was passed in use it to ignore newlines.  If a context structure
41141         was _not_ passed in, continue to treat newlines as garbage (this
41142         is the historical behavior).  Formerly base64_decode.
41143         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
41144         takes a decode context structure.
41145         * lib/base64.h (base64_decode): Macro for four-argument calls.
41146         (base64_decode_alloc): Likewise.
41147         * lib/base64.c (base64_decode_ctx): If a decode context structure
41148         was passed in use it to ignore newlines.  If a context structure
41149         was _not_ passed in, continue to treat newlines as garbage (this
41150         is the historical behavior).  Formerly base64_decode.
41151         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
41152         takes a decode context structure.
41153         * lib/base64.h (base64_decode): Macro for four-argument calls.
41154         (base64_decode_alloc): Likewise.
41155
41156 2008-05-19  Jim Meyering  <meyering@redhat.com>
41157
41158         avoid a warning from gcc
41159         * lib/trim.c (IF_LINT): Define.
41160         (trim2): Use it to avoid a "may be used uninitialized" warning.
41161
41162         Fix doc typo.
41163         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
41164
41165 2008-05-19  Bruno Haible  <bruno@clisp.org>
41166
41167         * doc/glibc-functions/getpass.texi: Document limits of other
41168         implementations.
41169
41170 2008-05-19  Simon Josefsson  <simon@josefsson.org>
41171             Bruno Haible <bruno@clisp.org>
41172
41173         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
41174
41175 2008-05-18  Bruno Haible  <bruno@clisp.org>
41176
41177         * modules/propername: New file, from GNU gettext.
41178         * lib/propername.h: New file, from GNU gettext.
41179         * lib/propername.c: New file, from GNU gettext.
41180         * MODULES.html.sh (Internationalization functions): Add propername.
41181
41182 2008-05-16  Jim Meyering  <meyering@redhat.com>
41183             Bruno Haible  <bruno@clisp.org>
41184
41185         Avoid some warnings from "gcc -Wshadow".
41186         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
41187
41188 2008-05-15  Eric Blake  <ebb9@byu.net>
41189
41190         Extend previous patch to cygwin 1.7.0.
41191         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
41192         fast implementation in cygwin >= 1.7.0.
41193         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41194         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41195
41196 2008-05-15  Bruno Haible  <bruno@clisp.org>
41197
41198         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
41199         implementation in glibc >= 2.9.
41200         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41201         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41202
41203 2008-05-15  Bruno Haible  <bruno@clisp.org>
41204
41205         * MODULES.html.sh (Internationalization functions): Remove linebreak.
41206         (Unicode string functions): Add unilbrk/*.
41207         Reported by Karl Berry.
41208
41209 2008-05-15  Eric Blake  <ebb9@byu.net>
41210
41211         Fix violation of <stdbool.h> replacement in regex.
41212         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
41213         * lib/regexec.c (re_search_internal): Likewise.
41214         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
41215
41216 2008-05-15  Jim Meyering  <meyering@redhat.com>
41217
41218         avoid distracting test output when git or cvs is not found
41219         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
41220         * tests/test-vc-list-files-git.sh: Likewise.
41221
41222 2008-05-15  Eric Blake  <ebb9@byu.net>
41223
41224         Glibc finally accepted the memmem speedup code, bugzilla #5514.
41225         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
41226         glibc version.
41227         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
41228         * doc/posix-functions/strstr.texi (strstr): Likewise.
41229         * lib/str-two-way.h (MAX): Sychronize with glibc.
41230
41231 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
41232
41233         * lib/regcomp.c (optimize_utf8): Add a note on why we test
41234         opr.ctx_type.
41235         (calc_first): Initialize constraint field.
41236         (duplicate_node_closure): Use it instead of special casing ANCHORS.
41237         Fix grammar.
41238         (duplicate_node): Merge constraint field for all node types.
41239         (calc_eclosure_iter): Look at constraint field for all node types.
41240         * lib/regex_internal.c (create_cd_newstate): Don't look at
41241         opr.ctx_type.
41242
41243 2008-05-14  Bruno Haible  <bruno@clisp.org>
41244
41245         Help GCC to do better code generation.
41246         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
41247         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
41248         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
41249         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
41250         Declare with attribute 'malloc' if supported.
41251
41252 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
41253
41254         use "echo STR|wc -c" rather than unportable "expr length STR"
41255         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
41256         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
41257
41258 2008-05-14  Jim Meyering  <meyering@redhat.com>
41259
41260         use dd ibs=$n count=1 ... rather than less-portable head -c$n
41261         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
41262         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
41263         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
41264         via Collin Lasse.
41265
41266 2008-05-14  Eric Blake  <ebb9@byu.net>
41267
41268         Avoid quadratic growth in gl_LIBSOURCES.
41269         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
41270         Suggested by Bruno Haible.
41271
41272         Test xmemdup0.
41273         * modules/xmemdup0-tests: New file.
41274         * tests/test-xmemdup0.c: Likewise.
41275
41276 2008-05-13  Eric Blake  <ebb9@byu.net>
41277
41278         Split xmemdup0 into its own module.
41279         * modules/xmemdup0: New file.
41280         * lib/xmemdup0.h: Likewise.
41281         * lib/xmemdup0.c: Likewise.
41282         * MODULES.html.sh (Memory management functions): Add xmemdup0.
41283         * lib/xalloc.h (xmemdup0): Remove.
41284         * lib/xmalloc.c (xmemdup0): Likewise.
41285
41286 2008-05-13  Eric Blake  <ebb9@byu.net>
41287             Bruno Haible  <bruno@clisp.org>
41288
41289         Reduce number of forks required during autoconf.
41290         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
41291         and gl_LIBSOURCES_DIR.
41292         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
41293         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
41294         m4_syscmd per file.
41295         <m4_foreach_w>: Move...
41296         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
41297
41298 2008-05-13  Eric Blake  <ebb9@byu.net>
41299
41300         * gnulib-tool: Fix various comment typos.
41301
41302 2008-05-12  Bruno Haible  <bruno@clisp.org>
41303
41304         Tailor the linebreaking algorithm.
41305         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
41306
41307 2008-05-12  Bruno Haible  <bruno@clisp.org>
41308
41309         Update to Unicode 5.0.0.
41310         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
41311         LBP_JV, LBP_JT. Redistribute values.
41312         (unilbrk_table): Change size.
41313         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
41314         Unicode TR#14 rev. 22.
41315         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
41316         LBP_JV, LBP_JT. Redistribute values.
41317         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
41318         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
41319         Update.
41320         * lib/unilbrk/lbrkprop1.h: Regenerated.
41321         * lib/unilbrk/lbrkprop2.h: Regenerated.
41322         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
41323         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
41324         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
41325         Likewise.
41326         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
41327         Likewise.
41328         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
41329         result.
41330         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
41331         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
41332         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
41333         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
41334         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
41335         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
41336
41337 2008-05-11  Bruno Haible  <bruno@clisp.org>
41338
41339         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
41340
41341 2008-05-11  Bruno Haible  <bruno@clisp.org>
41342
41343         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
41344         * modules/unilbrk/gen-lbrk: New file.
41345
41346 2008-05-11  Bruno Haible  <bruno@clisp.org>
41347
41348         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
41349         * m4/sha512.m4 (gl_SHA512): Likewise.
41350
41351 2008-05-11  Jim Meyering  <meyering@redhat.com>
41352
41353         New modules: crypto/sha256, crypto/sha512 (from coreutils)
41354         * modules/crypto/sha256: New file.
41355         * modules/crypto/sha512: Likewise.
41356         * lib/sha256.c: Likewise.
41357         * lib/sha256.h: Likewise.
41358         * lib/sha512.c: Likewise.
41359         * lib/sha512.h: Likewise.
41360         * lib/u64.h: Likewise.
41361         * m4/sha256.m4: Likewise.
41362         * m4/sha512.m4: Likewise.
41363         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
41364
41365 2008-05-10  Bruno Haible  <bruno@clisp.org>
41366
41367         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
41368         (Input/Output <stdio.h>): Add xprintf.
41369         (Signal handling <signal.h>): Add strsignal.
41370         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
41371         (Core language properties): Add func.
41372         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
41373         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
41374         strings.
41375         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
41376         (Input/output): New section.
41377         (File system functions): Add openat-die, stat-macros.
41378         (Networking functions): Add sockets.
41379         (Unicode string functions): Add unictype/*.
41380         (Support for building libraries and executables): Add gperf.
41381         (Support for building documentation): Add agpl-3.0.
41382         (Misc): Add nocrash.
41383
41384 2008-05-10  Bruno Haible  <bruno@clisp.org>
41385
41386         * modules/unictype/gen-ctype: New file.
41387
41388 2008-05-10  Jim Meyering  <meyering@redhat.com>
41389
41390         Make chdir-safer.c more efficient on a system with no symlinks.
41391         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
41392         also if ELOOP is zero.  Suggested by Bruno Haible.
41393
41394         Make chdir-safer.c slightly safer.
41395         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
41396         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
41397
41398         Avoid compile failure on systems without ELOOP (like mingw).
41399         * lib/chdir-safer.c (ELOOP): Define if not already defined.
41400         Reported by Bruno Haible.
41401
41402 2008-05-10  Bruno Haible  <bruno@clisp.org>
41403
41404         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
41405         (is_utf8_encoding): Use a case-insensitive comparison.
41406         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
41407         streq.
41408
41409 2008-05-10  Bruno Haible  <bruno@clisp.org>
41410
41411         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
41412         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
41413         * lib/unilbrk/ulc-common.h (iconv_string_length,
41414         iconv_string_keeping_offsets): Remove declarations.
41415         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
41416         Don't include <iconv.h>, streq.h, xsize.h.
41417         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
41418         conversion.
41419         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
41420         <iconv.h>, streq.h, xsize.h.
41421         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
41422         conversion.
41423         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
41424         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
41425         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
41426         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
41427
41428 2008-05-10  Bruno Haible  <bruno@clisp.org>
41429
41430         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
41431         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
41432
41433         * modules/unilbrk/u32-width-linebreaks-tests: New file.
41434         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
41435
41436         * modules/unilbrk/u16-width-linebreaks-tests: New file.
41437         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
41438
41439         * modules/unilbrk/u8-width-linebreaks-tests: New file.
41440         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
41441
41442         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
41443         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
41444
41445         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
41446         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
41447
41448         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
41449         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
41450
41451         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
41452         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
41453
41454 2008-05-10  Bruno Haible  <bruno@clisp.org>
41455
41456         Split up 'linebreak' module.
41457         * lib/unilbrk.h: New file, based on lib/linebreak.h.
41458         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
41459         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
41460         modifications.
41461         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
41462         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
41463         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
41464         lib/linebreak.c.
41465         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
41466         lib/linebreak.c.
41467         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
41468         lib/linebreak.c.
41469         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
41470         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
41471         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
41472         lib/linebreak.c.
41473         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
41474         lib/linebreak.c.
41475         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
41476         lib/linebreak.c.
41477         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
41478         lib/linebreak.c.
41479         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
41480         lib/linebreak.c.
41481         * modules/unilbrk/base: New file.
41482         * modules/unilbrk/tables: New file.
41483         * modules/unilbrk/u8-possible-linebreaks: New file.
41484         * modules/unilbrk/u16-possible-linebreaks: New file.
41485         * modules/unilbrk/u32-possible-linebreaks: New file.
41486         * modules/unilbrk/ulc-common: New file.
41487         * modules/unilbrk/ulc-possible-linebreaks: New file.
41488         * modules/unilbrk/u8-width-linebreaks: New file.
41489         * modules/unilbrk/u16-width-linebreaks: New file.
41490         * modules/unilbrk/u32-width-linebreaks: New file.
41491         * modules/unilbrk/ulc-width-linebreaks: New file.
41492         * lib/linebreak.h: Remove file.
41493         * lib/linebreak.c: Remove file.
41494         * m4/linebreak.m4: Remove file.
41495         * modules/linebreak: Remove file.
41496         * NEWS: Mention the changes.
41497
41498 2008-05-09  Eric Blake  <ebb9@byu.net>
41499
41500         Add xmemdup0.
41501         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
41502         implementation.
41503         * lib/xmalloc.c (xmemdup0): New C implementation.
41504
41505 2008-05-08  Bruno Haible  <bruno@clisp.org>
41506
41507         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
41508
41509 2008-05-07  Eric Blake  <ebb9@byu.net>
41510
41511         Support cross-compilation of <wctype.h>.
41512         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
41513         AC_CACHE_CHECK.
41514
41515 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
41516
41517         * build-aux/vc-list-files: Add support for bzr.
41518
41519 2008-05-03  Jim Meyering  <meyering@redhat.com>
41520
41521         avoid failed assertion with tight malloc
41522         * tests/test-getndelim2.c: Correct an off-by-one assertion.
41523
41524 2008-05-03  Simon Josefsson  <simon@josefsson.org>
41525
41526         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
41527         are needed from arpa/inet.h.
41528         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
41529         Reported by Bruno Haible.
41530
41531 2008-05-02  Jim Meyering  <meyering@redhat.com>
41532
41533         avoid compilation error on FreeBSD 6
41534         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
41535
41536 2008-05-01  Jim Meyering  <meyering@redhat.com>
41537
41538         useless-if-before-free: correct --help's exit status description
41539         * build-aux/useless-if-before-free (usage): Like grep, exit 0
41540         for one or more matches, etc.  Reported by Bruno Haible.
41541
41542         vc-list-files: make the stand-alone gnulib test work
41543         * modules/vc-list-files-tests (configure.ac):
41544         Define and AC_SUBST abs_aux_dir.
41545         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
41546         $(abs_top_srcdir) to each script and having each of them
41547         duplicate the work of setting PATH, set PATH here, using
41548         the new variable, abs_aux_dir instead.
41549         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
41550         * tests/test-vc-list-files-git.sh: Likewise.
41551         Reported by Bruno Haible.
41552
41553 2008-05-01  Bruno Haible  <bruno@clisp.org>
41554
41555         * lib/getndelim2.c (getndelim2): Fix newsize computation during
41556         reallocation. Rename 'done' to 'found_delimiter'.
41557
41558 2008-05-01  Jim Meyering  <meyering@redhat.com>
41559
41560         vc-list-files: accommodate /bin/sh like the one from Solaris 10
41561         * build-aux/vc-list-files: Use `...`, not $(...).
41562
41563 2008-04-30  Jim Meyering  <meyering@redhat.com>
41564
41565         add tests for vc-list-files
41566         * modules/vc-list-files-tests: New module.
41567         * tests/test-vc-list-files-cvs.sh: New file.
41568         * tests/test-vc-list-files-git.sh: New file.
41569
41570         avoid a warning from gcc
41571         * lib/getndelim2.c (IF_LINT): Define.
41572         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
41573
41574         vc-list-files: work properly with build-aux/cvsu, too
41575         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
41576         to all cvs-based clauses.
41577
41578         vc-list-files: work properly in the CVS+awk case, too
41579         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
41580
41581         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
41582         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
41583         take more than one file argument, so .  Add quotes, just in case $dir
41584         ever contains a shell meta-character.  Prompted by Soren Hansen in
41585         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
41586
41587 2008-04-29  Eric Blake  <ebb9@byu.net>
41588
41589         Optimize getndelim2 to use block operations when possible.
41590         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
41591         freadseek, and memchr2.
41592         * lib/getndelim2.c (getndelim2): Use them for block reads.
41593
41594 2008-04-29  Bruno Haible  <bruno@clisp.org>
41595
41596         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
41597         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41598         * modules/inet_ntop (Depends-on): Add extensions.
41599         * modules/inet_pton (Depends-on): Likewise.
41600         Reported by Simon Josefsson.
41601
41602 2008-04-29  Jim Meyering  <meyering@redhat.com>
41603
41604         When the is more than one match in a block, match all of them.
41605         * build-aux/useless-if-before-free: Iterate through each block
41606         until there are no more matches.
41607
41608         Fix broken useless-if-before-free script.
41609         * build-aux/useless-if-before-free: Fix typo: missing "?" after
41610         the expression to match cast of argument to free-like function.
41611
41612 2008-04-29  Eric Blake  <ebb9@byu.net>
41613
41614         Use new header.
41615         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
41616
41617 2008-04-29  Jim Meyering  <meyering@redhat.com>
41618
41619         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
41620         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
41621         by gnulib to exist and to declare e.g., inet_ntop.
41622         Don't include "inet_ntop.h", now removed.
41623
41624         * m4/arpa_inet_h.m4: Remove trailing blanks.
41625
41626 2008-04-29  Eric Blake  <ebb9@byu.net>
41627
41628         Silence valgrind on safe reads beyond potential array bounds.
41629         * lib/rawmemchr.valgrind: New file.
41630         * lib/strchrnul.valgrind: Likewise.
41631         * modules/rawmemchr (Files): Distribute new file.
41632         * modules/strchrnul (Files): Likewise.
41633         Suggested by Bruno Haible.
41634
41635 2008-04-29  Bruno Haible  <bruno@clisp.org>
41636
41637         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
41638         (inet_ntop, inet_pton): Change portability warning's wording.
41639         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
41640         Invoke gl_CHECK_NEXT_HEADERS.
41641         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
41642         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
41643         set ARPA_INET_H.
41644         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41645         * modules/arpa_inet (Description): No longer only for systems that
41646         lack it.
41647         (Depends-on): Add include_next.
41648         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
41649         HAVE_ARPA_INET_H.
41650
41651 2008-04-29  Jim Meyering  <meyering@redhat.com>
41652
41653         * modules/mkdir (License): Re-license as LGPLv2+.
41654
41655 2008-04-29  Bruno Haible  <bruno@clisp.org>
41656
41657         * modules/rawmemchr (Maintainer): Set to Eric.
41658         * modules/strchrnul (Maintainer): Likewise.
41659
41660 2008-04-29  Simon Josefsson  <simon@josefsson.org>
41661
41662         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
41663         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
41664
41665         * modules/arpa_inet (arpa/inet.h): Use them.
41666
41667 2008-04-28  Eric Blake  <ebb9@byu.net>
41668
41669         Test getndelim2.
41670         * modules/getndelim2-tests: New file.
41671         * tests/test-getndelim2.c: Likewise.
41672         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
41673         stream.
41674         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
41675
41676         * MODULES.html.sh: Document new module.
41677
41678 2008-04-20  Bruno Haible  <bruno@clisp.org>
41679
41680         * lib/c-stack.c (die): Use raise.
41681         * modules/c-stack (Depends-on): Add raise.
41682
41683 2008-04-28  Bruno Haible  <bruno@clisp.org>
41684
41685         Expect rpmatch to be declared.
41686         * lib/yesno.c (rpmatch): Remove declaration.
41687
41688         Declare rpmatch.
41689         * lib/stdlib.in.h (rpmatch): New declaration.
41690         * lib/rpmatch.c: Include <stdlib.h> first.
41691         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
41692         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
41693         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
41694         HAVE_RPMATCH.
41695         * modules/rpmatch (Depends-on): Add stdlib, extensions.
41696         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41697         (Include): Set to <stdlib.h>.
41698         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
41699         HAVE_RPMATCH.
41700         * NEWS: Document the change.
41701
41702 2008-04-28  Bruno Haible  <bruno@clisp.org>
41703
41704         Change rpmatch to use nl_langinfo when appropriate.
41705         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
41706         (N_): New macro.
41707         (localized_pattern): New function/macro.
41708         (try): Remove match, nomatch arguments. Copy the pattern into safe
41709         memory before caching it.
41710         (rpmatch): Use localized_pattern. Add translator comments.
41711         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
41712         Suggested by Eric Blake.
41713         * modules/rpmatch (Depends-on): Add stdbool.
41714
41715 2008-04-28  Eric Blake  <ebb9@byu.net>
41716
41717         Add rawmemchr module, matching glibc.
41718         * modules/string (Makefile.am): New indicator.
41719         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
41720         * lib/string.in.h (rawmemchr): Declare when appropriate.
41721         * modules/rawmemchr: New file.
41722         * m4/rawmemchr.m4: Likewise.
41723         * lib/rawmemchr.c: Likewise.
41724         * modules/rawmemchr-tests: Likewise.
41725         * tests/test-rawmemchr.c: Likewise.
41726         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
41727         module.
41728         * modules/strchrnul (Depends-on): Add rawmemchr.
41729         * lib/strchrnul.c (strchrnul): Optimize a corner case.
41730
41731         Whitespace cleanup.
41732         * tests/test-strchrnul.c: Reindent.
41733         * lib/strchrnul.c: Likewise.
41734
41735         Optimize and test strchrnul.
41736         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
41737         * modules/strchrnul-tests: New file.
41738         * tests/test-strchrnul.c: Likewise.
41739
41740         Remove intprops dependency.
41741         * modules/memchr (Depends-on): Remove intprops.
41742         * modules/memrchr (Depends-on): Likewise.
41743         * modules/memchr2 (Depends-on): Likewise.
41744         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
41745         * lib/memrchr.c (__memrchr): Likewise.
41746         * lib/memrchr2.c (memchr2): Likewise.
41747         Reported by Simon Josefsson.
41748
41749 2008-04-28  Simon Josefsson  <simon@josefsson.org>
41750
41751         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
41752         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41753
41754 2008-04-28  Simon Josefsson  <simon@josefsson.org>
41755
41756         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
41757
41758         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
41759
41760         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
41761
41762         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
41763         declarations.
41764         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
41765
41766         * m4/inet_pton.m4: Don't check for header files.
41767
41768         * m4/inet_ntop.m4: Don't check for header files.
41769
41770 2008-04-28  Simon Josefsson  <simon@josefsson.org>
41771
41772         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
41773         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
41774         trigger for cygwin).
41775         Reported by Bruno Haible  <bruno@clisp.org>.
41776
41777 2008-04-28  Bruno Haible  <bruno@clisp.org>
41778
41779         * doc/posix-functions/strdup.texi: Mention mingw problem.
41780
41781 2008-04-27  Bruno Haible  <bruno@clisp.org>
41782
41783         * modules/stat-time-tests (Depends-on): Add sleep.
41784         * tests/test-stat-time.c (force_unlink): New function.
41785         (cleanup): Use it.
41786         (test_mtime): Remove the ctime related tests.
41787         (test_ctime): New function, containing the ctime related tests.
41788         (main): Call test_ctime, except on native Windows platforms.
41789
41790 2008-04-27  Bruno Haible  <bruno@clisp.org>
41791
41792         * lib/rpmatch.c (rpmatch): Add some comments.
41793         Reported by James Youngman <jay@gnu.org>.
41794
41795 2008-04-27  Bruno Haible  <bruno@clisp.org>
41796
41797         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
41798         quiet NaNs.
41799
41800 2008-04-27  Bruno Haible  <bruno@clisp.org>
41801
41802         Make test-yesno.sh work on mingw.
41803         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
41804         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
41805         (main): Set stdin to binary mode.
41806         * modules/yesno-tests (Depends-on): Add binary-io.
41807
41808 2008-04-27  Bruno Haible  <bruno@clisp.org>
41809
41810         Fix 'isfinite' on x86, x86_64, ia64 platforms.
41811         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
41812         argument that lie outside the IEEE 854 domain.
41813         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
41814         (gl_ISFINITE): Use it.
41815         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
41816
41817 2008-04-27  Bruno Haible  <bruno@clisp.org>
41818
41819         Allow local renaming in config.h.
41820         * lib/memrchr.c (memrchr): Don't undefine outside libc.
41821
41822 2008-04-27  Bruno Haible  <bruno@clisp.org>
41823
41824         * lib/memchr.c (__memchr): Change type of 'i'.
41825         * lib/memchr2.c (memchr2): Likewise.
41826
41827 2008-04-26  Eric Blake  <ebb9@byu.net>
41828         and Bruno Haible  <bruno@clisp.org>
41829
41830         Optimize and test memrchr.
41831         * modules/memrchr (Depends-on): Add intprops.
41832         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
41833         * modules/memrchr-tests: New file.
41834         * tests/test-memrchr.c: New file.
41835
41836 2008-04-26  Bruno Haible  <bruno@clisp.org>
41837
41838         Add tentative support for DragonFly BSD.
41839         * lib/stdio-impl.h: Add macros for DragonFly BSD.
41840         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
41841         fp.
41842         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
41843         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
41844         * lib/fpurge.c (fpurge): Likewise.
41845         * lib/freadable.c (freaadable): Likewise.
41846         * lib/freadahead.c (freadahead): Likewise.
41847         * lib/freading.c (freading): Likewise.
41848         * lib/freadptr.c (freadptr): Likewise.
41849         * lib/freadseek.c (freadptrinc): Likewise.
41850         * lib/fseeko.c (fseeko): Likewise.
41851         * lib/fseterr.c (fseterr): Likewise.
41852         * lib/fwritable.c (fwritable): Likewise.
41853         * lib/fwriting.c (fwriting): Likewise.
41854
41855 2008-04-26  Bruno Haible  <bruno@clisp.org>
41856
41857         * lib/stdio-impl.h: New file.
41858         * lib/fbufmode.c: Include stdio-impl.h.
41859         (fbufmode): Use fp_, remove redundant #defines.
41860         * lib/fflush.c: Include stdio-impl.h.
41861         (clear_ungetc_buffer): Remove redundant #defines.
41862         * lib/fpurge.c: Include stdio-impl.h.
41863         (fpurge): Remove redundant #defines.
41864         * lib/freadable.c: Include stdio-impl.h.
41865         (freadable): Remove redundant #defines.
41866         * lib/freadahead.c: Include stdio-impl.h.
41867         (freadahead): Remove redundant #defines.
41868         * lib/freading.c: Include stdio-impl.h.
41869         (freading): Remove redundant #defines.
41870         * lib/freadptr.c: Include stdio-impl.h.
41871         (freadptr): Remove redundant #defines.
41872         * lib/freadseek.c: Include stdio-impl.h.
41873         (freadptrinc): Remove redundant #defines.
41874         * lib/fseeko.c: Include stdio-impl.h.
41875         (rpl_fseeko): Remove redundant #defines.
41876         * lib/fseterr.c: Include stdio-impl.h.
41877         (fseterr): Remove redundant #defines.
41878         * lib/fwritable.c: Include stdio-impl.h.
41879         (fwritable: Remove redundant #defines.
41880         * lib/fwriting.c: Include stdio-impl.h.
41881         (fwriting): Remove redundant #defines.
41882         * modules/fbufmode (Files): Add lib/stdio-impl.h.
41883         * modules/fflush (Files): Likewise.
41884         * modules/fpurge (Files): Likewise.
41885         * modules/freadable (Files): Likewise.
41886         * modules/freadahead (Files): Likewise.
41887         * modules/freading (Files): Likewise.
41888         * modules/freadptr (Files): Likewise.
41889         * modules/freadseek (Files): Likewise.
41890         * modules/fseeko (Files): Likewise.
41891         * modules/fseterr (Files): Likewise.
41892         * modules/fwritable (Files): Likewise.
41893         * modules/fwriting (Files): Likewise.
41894
41895 2008-04-26  Bruno Haible  <bruno@clisp.org>
41896
41897         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
41898         restore_seek_optimization, update_fpos_cache): New functions, extracted
41899         from rpl_fflush.
41900         (rpl_fflush): Use them.
41901         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
41902         (gl_REPLACE_FFLUSH): Use it.
41903
41904 2008-04-26  Bruno Haible  <bruno@clisp.org>
41905
41906         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
41907         on Solaris.
41908         * tests/test-xstrtoimax.sh: Likewise.
41909         * tests/test-xstrtoumax.sh: Likewise.
41910         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41911
41912 2008-04-26  Bruno Haible  <bruno@clisp.org>
41913
41914         * modules/memchr-tests: New file.
41915         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
41916
41917 2008-04-26  Eric Blake  <ebb9@byu.net>
41918             Bruno Haible  <bruno@clisp.org>
41919
41920         * lib/memchr.c: Include intprops.h.
41921         (__memchr): Optimize parallel detection of matching bytes. Rename local
41922         variables. Add explanatory comments.
41923
41924 2008-04-26  Bruno Haible  <bruno@clisp.org>
41925
41926         Fix module 'memchr', broken since 2000-10-28.
41927         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
41928
41929 2008-04-26  Bruno Haible  <bruno@clisp.org>
41930
41931         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
41932         comments.
41933
41934 2008-04-25  Eric Blake  <ebb9@byu.net>
41935
41936         Use native fstatat on cygwin 1.7.0.
41937         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
41938         first.
41939
41940 2008-04-23  Eric Blake  <ebb9@byu.net>
41941
41942         Improve memchr2 performance.
41943         * lib/memchr2.c (memchr2): Further optimize parallel detection of
41944         NUL bytes.
41945         * modules/memchr2 (Depends-on): Use intprops.h.
41946
41947 2008-04-23  Simon Josefsson  <simon@josefsson.org>
41948
41949         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
41950         an inline function instead of a CPP macro.  Patch by Ben Pfaff
41951         <blp@cs.stanford.edu>.
41952
41953 2008-04-23  Simon Josefsson  <simon@josefsson.org>
41954
41955         * lib/arpa_inet.in.h: New file.
41956
41957         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
41958         (Makefile.am): Sed in substitute header file.
41959
41960         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
41961         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
41962
41963         * modules/inet_ntop (configure.ac): Use
41964         gl_ARPA_INET_MODULE_INDICATOR.
41965
41966         * modules/inet_pton (configure.ac): Use
41967         gl_ARPA_INET_MODULE_INDICATOR.
41968
41969 2008-04-22  Jim Meyering  <meyering@redhat.com>
41970
41971         * modules/verify (License): Re-license as LGPLv2+.
41972
41973 2008-04-22  Simon Josefsson  <simon@josefsson.org>
41974
41975         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
41976         parameter to void* as per POSIX standard (MinGW uses char*).
41977
41978 2008-04-21  Bruno Haible  <bruno@clisp.org>
41979
41980         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
41981         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
41982         Define to replacements if REPLACE_ISWCNTRL is 1.
41983         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
41984         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
41985         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
41986         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
41987         what it fixes.
41988         * doc/posix-functions/iswalpha.texi: Likewise.
41989         * doc/posix-functions/iswblank.texi: Likewise.
41990         * doc/posix-functions/iswcntrl.texi: Likewise.
41991         * doc/posix-functions/iswdigit.texi: Likewise.
41992         * doc/posix-functions/iswgraph.texi: Likewise.
41993         * doc/posix-functions/iswlower.texi: Likewise.
41994         * doc/posix-functions/iswprint.texi: Likewise.
41995         * doc/posix-functions/iswpunct.texi: Likewise.
41996         * doc/posix-functions/iswspace.texi: Likewise.
41997         * doc/posix-functions/iswupper.texi: Likewise.
41998         * doc/posix-functions/iswxdigit.texi: Likewise.
41999         Reported by Alain Guibert.
42000
42001 2008-04-21  Bruno Haible  <bruno@clisp.org>
42002
42003         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
42004         Patch by Alain Guibert.
42005
42006 2008-04-21  Bruno Haible  <bruno@clisp.org>
42007
42008         Fix test failures on mingw.
42009         * tests/test-xstrtol.c (print_no_progname): New function.
42010         (main): Install it in error_print_progname hook.
42011         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
42012         * tests/test-xstrtoimax.sh: Likewise.
42013         * tests/test-xstrtoumax.sh: Likewise.
42014
42015 2008-04-21  Bruno Haible  <bruno@clisp.org>
42016
42017         Fix test failure on mingw.
42018         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
42019
42020 2008-04-21  Bruno Haible  <bruno@clisp.org>
42021
42022         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
42023         Actually assign a value.
42024
42025 2008-04-20  Bruno Haible  <bruno@clisp.org>
42026
42027         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
42028         take 2.
42029         * lib/canonicalize.c (canonicalize_file_name): Elide if the
42030         'canonicalize-lgpl' module is also used.
42031         * lib/canonicalize-lgpl.c: Undo last change.
42032         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
42033
42034 2008-04-20  Bruno Haible  <bruno@clisp.org>
42035
42036         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
42037         config.h. Provide _mkdir based fallback for mingw.
42038         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
42039         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
42040         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
42041         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
42042         rather than defining mkdir in config.h.
42043         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
42044         (gl_SYS_STAT_H_DEFAULTS): New macro.
42045         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
42046         HAVE_IO_H any more.
42047         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
42048         HAVE_DECL_MKDIR and HAVE_IO_H.
42049
42050 2008-04-20  Bruno Haible  <bruno@clisp.org>
42051
42052         * lib/isapipe.c: Port to native Windows platforms.
42053
42054 2008-04-20  Bruno Haible  <bruno@clisp.org>
42055
42056         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
42057
42058 2008-04-21  Eric Blake  <ebb9@byu.net>
42059
42060         Work around preprocessors that don't handle UINTMAX_MAX.
42061         * lib/memchr2.c (memchr2): Avoid embedded #if.
42062         Reported by Alain Guibert, fix suggested by Bruno Haible.
42063
42064 2008-04-21  Simon Josefsson  <simon@josefsson.org>
42065
42066         * doc/posix-functions/strftime.texi (strftime): Explain better
42067         Windows incompatibility.  Suggested by Micah Cowan
42068         <micah@cowan.name>.
42069
42070 2008-04-20  Bruno Haible  <bruno@clisp.org>
42071
42072         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
42073         unistr/u8-mblen.
42074
42075 2008-04-20  Bruno Haible  <bruno@clisp.org>
42076
42077         Fix test failure on platforms with non-GNU iconv.
42078         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
42079         (U_TO_U8): Use it, rather than u16_to_u8.
42080         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
42081         units at the end of the input string.
42082         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
42083
42084 2008-04-20  Bruno Haible  <bruno@clisp.org>
42085
42086         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
42087         when the resulting length is 0.
42088         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
42089
42090 2008-04-20  Bruno Haible  <bruno@clisp.org>
42091
42092         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
42093         works.
42094         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
42095
42096 2008-04-20  Bruno Haible  <bruno@clisp.org>
42097
42098         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
42099         * modules/tsearch-tests (configure.ac): Test for initstate function.
42100
42101 2008-04-20  Bruno Haible  <bruno@clisp.org>
42102
42103         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
42104         for nlink_t if missing.
42105         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
42106
42107 2008-04-19  Bruno Haible  <bruno@clisp.org>
42108
42109         Work around snprintf bug on Linux libc5.
42110         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
42111         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
42112         gl_SNPRINTF_SIZE1.
42113         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42114         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
42115         that test failed.
42116         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
42117         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
42118         * modules/snprintf (Files): Add m4/printf.m4.
42119         * modules/vsnprintf (Files): Likewise.
42120         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
42121         * doc/posix-functions/vsnprintf.texi: Likewise.
42122
42123 2008-04-19  Bruno Haible  <bruno@clisp.org>
42124
42125         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
42126         from 0.0058 to less than 10^-7.
42127
42128 2008-04-19  Bruno Haible  <bruno@clisp.org>
42129
42130         Fix rounding when a precision is given.
42131         * lib/vasnprintf.c (is_borderline): New function.
42132         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
42133         9...9x.
42134         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
42135         %e, %g.
42136         * tests/test-vasprintf-posix.c (test_function): Likewise.
42137         * tests/test-snprintf-posix.h (test_function): Likewise.
42138         * tests/test-sprintf-posix.h (test_function): Likewise.
42139         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
42140         * tests/test-printf-posix.h (test_function): Likewise.
42141         * tests/test-printf-posix.output: Update.
42142         Reported by John Darrington <john@darrington.wattle.id.au> via
42143         Ben Pfaff <blp@cs.stanford.edu>.
42144
42145 2008-04-18  Simon Josefsson  <simon@josefsson.org>
42146
42147         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
42148         Suggested by Bruno Haible <bruno@clisp.org>.
42149
42150 2008-04-17  Bruno Haible  <bruno@clisp.org>
42151
42152         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
42153         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
42154         implementation.
42155         Patch by Bruce Merry <bmerry@gmail.com>.
42156
42157 2008-04-17  Simon Josefsson  <simon@josefsson.org>
42158
42159         * doc/posix-functions/strftime.texi (strftime): Mention that %e
42160         doesn't work under Windows.
42161
42162 2008-04-16  Bruno Haible  <bruno@clisp.org>
42163
42164         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
42165         New macros.
42166         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
42167         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
42168         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
42169         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
42170         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
42171         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
42172         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
42173         macros.
42174         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
42175         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
42176         Northern Sotho, Uighur.
42177
42178 2008-04-16  Bruno Haible  <bruno@clisp.org>
42179
42180         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
42181         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
42182         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
42183         Reported by Daniel Bergström <daniel@octocode.com>.
42184
42185 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
42186             Bruno Haible  <bruno@clisp.org>
42187
42188         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
42189         function.
42190         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
42191         New functions, mostly extracted from gl_locale_name_default.
42192         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
42193
42194 2008-04-16  Eric Blake  <ebb9@byu.net>
42195
42196         Adjust strtod detection to catch glibc 2.7 bug.
42197         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
42198         Reported by John Gatewood Ham.
42199
42200 2008-04-16  Bruno Haible  <bruno@clisp.org>
42201
42202         Add tentative support for Linux libc5.
42203         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
42204         * lib/fpurge.c (fpurge): Likewise.
42205         * lib/freadable.c (freadable): Likewise.
42206         * lib/freadahead.c (freadahead): Likewise.
42207         * lib/freading.c (freading): Likewise.
42208         * lib/freadptr.c (freadptr): Likewise.
42209         * lib/freadseek.c (freadptrinc): Likewise.
42210         * lib/fseeko.c (rpl_fseeko): Likewise.
42211         * lib/fseterr.c (fseterr): Likewise.
42212         * lib/fwritable.c (fwritable): Likewise.
42213         * lib/fwriting.c (fwriting): Likewise.
42214         Reported by Alain Guibert <alguibert+bts@free.fr>.
42215
42216 2008-04-15  Bruno Haible  <bruno@clisp.org>
42217
42218         * modules/mathl (configure.ac): Define module indicator.
42219
42220 2008-04-15  Bruno Haible  <bruno@clisp.org>
42221
42222         * lib/logl.c (logl): Remove unused variables.
42223
42224 2008-04-15  Bruno Haible  <bruno@clisp.org>
42225
42226         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
42227         fails.
42228
42229 2008-04-15  Bruno Haible  <bruno@clisp.org>
42230
42231         * lib/trim.c (trim2): Fix argument of isspace() macro.
42232
42233 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
42234
42235         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
42236         to 0.
42237         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
42238
42239 2008-04-14  Bruno Haible  <bruno@clisp.org>
42240
42241         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
42242         AC_LANG_PROGRAM argument.
42243         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
42244         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
42245         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42246         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
42247         * m4/math_h.m4 (gl_MATH_H): Likewise.
42248         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
42249         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
42250         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
42251         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
42252         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
42253         * m4/regex.m4 (gl_REGEX): Likewise.
42254         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
42255         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
42256         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42257         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
42258         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
42259         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42260         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
42261         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
42262
42263 2008-04-14  Jim Meyering  <meyering@redhat.com>
42264
42265         test-strtod: fix typos: s/abs/fabs/
42266         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
42267
42268 2008-04-13  Bruno Haible  <bruno@clisp.org>
42269
42270         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
42271         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
42272         module is also used and while not building the reloc-wrapper.
42273
42274 2008-04-13  Bruno Haible  <bruno@clisp.org>
42275
42276         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
42277
42278 2008-04-13  Bruno Haible  <bruno@clisp.org>
42279
42280         Fix AIX compilation failure introduced on 2008-04-02.
42281         * tests/test-frexp.c (exp): Undefine before redefining.
42282         * tests/test-frexpl.c (exp): Likewise.
42283
42284 2008-04-13  Bruno Haible  <bruno@clisp.org>
42285
42286         Work around a HP-UX stdio bug.
42287         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
42288         * tests/test-ftello.c (main): Likewise.
42289         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
42290         * doc/posix-functions/ftello.texi: Likewise.
42291
42292 2008-04-13  Bruno Haible  <bruno@clisp.org>
42293
42294         Make test-signbit pass on HP-UX/hppa.
42295         * tests/test-signbit.c (minus_zerol): New variable.
42296         (test_signbitl): Use it.
42297
42298 2008-04-13  Bruno Haible  <bruno@clisp.org>
42299
42300         Make truncl work on OSF/1 4.0.
42301         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
42302         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
42303         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
42304         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
42305         HAVE_DECL_TRUNCL.
42306         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
42307         HAVE_DECL_TRUNCL.
42308         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
42309
42310 2008-04-13  Bruno Haible  <bruno@clisp.org>
42311
42312         * lib/unictype.h: Remove trailing comma from enumeration definitions.
42313
42314 2008-04-13  Bruno Haible  <bruno@clisp.org>
42315
42316         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
42317         expression, so as to avoid HP-UX 11 cc compiler bug.
42318
42319 2008-04-13  Bruno Haible  <bruno@clisp.org>
42320
42321         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
42322
42323 2008-04-13  Bruno Haible  <bruno@clisp.org>
42324
42325         * lib/git-merge-changelog.c: Remove empty declaration outside of
42326         functions.
42327
42328 2008-04-13  Bruno Haible  <bruno@clisp.org>
42329
42330         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
42331
42332 2008-04-13  Bruno Haible  <bruno@clisp.org>
42333
42334         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
42335         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
42336         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
42337         also if it exists but lacks definitions of the SHUT_* macros.
42338         * modules/sys_socket (Description): Update.
42339         Reported by Elbert Pol <e.pol@chello.nl>.
42340
42341 2008-04-13  Bruno Haible  <bruno@clisp.org>
42342
42343         * lib/localcharset.c (OS2): Don't redefine if already defined.
42344         Reported by Elbert Pol <e.pol@chello.nl>.
42345
42346 2008-04-13  Bruno Haible  <bruno@clisp.org>
42347
42348         * lib/binary-io.h [__EMX__]: Include <io.h>.
42349         Reported by Elbert Pol <e.pol@chello.nl>.
42350
42351 2008-04-12  Bruno Haible  <bruno@clisp.org>
42352
42353         * lib/fpucw.h: Enable the definitions also for x86_64.
42354         Needed for NetBSD/x86_64.
42355         Reported by Thomas Klausner <tk@giga.or.at>.
42356
42357 2008-04-12  Bruno Haible  <bruno@clisp.org>
42358
42359         * tests/test-strtod.c: Include isnand.h.
42360         (main): Use isnand instead of isnan.
42361         Reported by Jim Meyering.
42362
42363 2008-04-12  Bruno Haible  <bruno@clisp.org>
42364
42365         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
42366         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
42367
42368 2008-04-12  Jim Meyering  <meyering@redhat.com>
42369
42370         * m4/math_h.m4 (gl_MATH_H): Fix typos.
42371
42372 2008-04-12  Bruno Haible  <bruno@clisp.org>
42373
42374         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
42375         Reported by Elbert Pol <e.pol@chello.nl>.
42376
42377 2008-04-12  Eric Blake  <ebb9@byu.net>
42378
42379         Work around Solaris 10 math.h bug.
42380         * m4/math_h.m4 (gl_MATH_H): Check for bug.
42381         (gl_MATH_H_DEFAULTS): Set up default.
42382         * modules/math (Makefile.am): Replace new indicators.
42383         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
42384         * tests/test-math.c (main): Test this.
42385         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
42386         * doc/posix-headers/math.texi (math.h): Mention bug.
42387         Reported by Nelson H. F. Beebe and Jim Meyering.
42388
42389 2008-04-11  Bruno Haible  <bruno@clisp.org>
42390
42391         Adapt to future versions of Apple GCC.
42392         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
42393         Reported by Peter O'Gorman <peter@pogma.com>.
42394
42395 2008-04-11  Bruno Haible  <bruno@clisp.org>
42396
42397         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
42398
42399 2008-04-11  Bruno Haible  <bruno@clisp.org>
42400
42401         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
42402
42403         * modules/getaddrinfo-tests (Makefile.am): Define
42404         test_getaddrinfo_LDADD.
42405
42406 2008-04-11  Bruno Haible  <bruno@clisp.org>
42407
42408         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
42409         (init): Fix syntax error.
42410         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
42411         is declared.
42412
42413 2008-04-11  Bruno Haible  <bruno@clisp.org>
42414
42415         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
42416         * modules/glob (Depends-on): Add stdbool.
42417
42418 2008-04-11  Bruno Haible  <bruno@clisp.org>
42419
42420         * lib/trim.c: Include <string.h>.
42421
42422 2008-04-11  Eric Blake  <ebb9@byu.net>
42423
42424         Avoid compile failure on OS/2.
42425         * lib/regex_internal.h (internal_function): Disable optimization
42426         on OS/2 (__EMX__), where it caused compiler error.
42427         Reported by Elbert Pol.
42428
42429 2008-04-11  Bruno Haible  <bruno@clisp.org>
42430
42431         Flush the standard error stream before aborting. Needed on mingw.
42432         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
42433         * tests/test-array_list.c (ASSERT): Likewise.
42434         * tests/test-array_oset.c (ASSERT): Likewise.
42435         * tests/test-avltree_list.c (ASSERT): Likewise.
42436         * tests/test-avltree_oset.c (ASSERT): Likewise.
42437         * tests/test-avltreehash_list.c (ASSERT): Likewise.
42438         * tests/test-binary-io.c (ASSERT): Likewise.
42439         * tests/test-byteswap.c (ASSERT): Likewise.
42440         * tests/test-c-ctype.c (ASSERT): Likewise.
42441         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
42442         * tests/test-c-strcasestr.c (ASSERT): Likewise.
42443         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
42444         * tests/test-c-strstr.c (ASSERT): Likewise.
42445         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
42446         * tests/test-canonicalize.c (ASSERT): Likewise.
42447         * tests/test-carray_list.c (ASSERT): Likewise.
42448         * tests/test-ceilf1.c (ASSERT): Likewise.
42449         * tests/test-ceilf2.c (ASSERT): Likewise.
42450         * tests/test-ceill.c (ASSERT): Likewise.
42451         * tests/test-count-one-bits.c (ASSERT): Likewise.
42452         * tests/test-fbufmode.c (ASSERT): Likewise.
42453         * tests/test-fflush2.c (ASSERT): Likewise.
42454         * tests/test-floorf1.c (ASSERT): Likewise.
42455         * tests/test-floorf2.c (ASSERT): Likewise.
42456         * tests/test-floorl.c (ASSERT): Likewise.
42457         * tests/test-fopen.c (ASSERT): Likewise.
42458         * tests/test-fpending.c (ASSERT): Likewise.
42459         * tests/test-fprintf-posix.c (ASSERT): Likewise.
42460         * tests/test-fpurge.c (ASSERT): Likewise.
42461         * tests/test-freadable.c (ASSERT): Likewise.
42462         * tests/test-freadahead.c (ASSERT): Likewise.
42463         * tests/test-freading.c (ASSERT): Likewise.
42464         * tests/test-freadptr.c (ASSERT): Likewise.
42465         * tests/test-freadptr2.c (ASSERT): Likewise.
42466         * tests/test-freadseek.c (ASSERT): Likewise.
42467         * tests/test-freopen.c (ASSERT): Likewise.
42468         * tests/test-frexp.c (ASSERT): Likewise.
42469         * tests/test-frexpl.c (ASSERT): Likewise.
42470         * tests/test-fseek.c (ASSERT): Likewise.
42471         * tests/test-fseeko.c (ASSERT): Likewise.
42472         * tests/test-fstrcmp.c (ASSERT): Likewise.
42473         * tests/test-ftell.c (ASSERT): Likewise.
42474         * tests/test-ftello.c (ASSERT): Likewise.
42475         * tests/test-func.c (ASSERT): Likewise.
42476         * tests/test-fwritable.c (ASSERT): Likewise.
42477         * tests/test-fwriting.c (ASSERT): Likewise.
42478         * tests/test-getdelim.c (ASSERT): Likewise.
42479         * tests/test-getline.c (ASSERT): Likewise.
42480         * tests/test-i-ring.c (ASSERT): Likewise.
42481         * tests/test-iconv-utf.c (ASSERT): Likewise.
42482         * tests/test-iconv.c (ASSERT): Likewise.
42483         * tests/test-isfinite.c (ASSERT): Likewise.
42484         * tests/test-isnand.c (ASSERT): Likewise.
42485         * tests/test-isnanf.c (ASSERT): Likewise.
42486         * tests/test-isnanl.h (ASSERT): Likewise.
42487         * tests/test-ldexpl.c (ASSERT): Likewise.
42488         * tests/test-linked_list.c (ASSERT): Likewise.
42489         * tests/test-linkedhash_list.c (ASSERT): Likewise.
42490         * tests/test-localename.c (ASSERT): Likewise.
42491         * tests/test-lseek.c (ASSERT): Likewise.
42492         * tests/test-mbscasecmp.c (ASSERT): Likewise.
42493         * tests/test-mbscasestr1.c (ASSERT): Likewise.
42494         * tests/test-mbscasestr2.c (ASSERT): Likewise.
42495         * tests/test-mbscasestr3.c (ASSERT): Likewise.
42496         * tests/test-mbscasestr4.c (ASSERT): Likewise.
42497         * tests/test-mbschr.c (ASSERT): Likewise.
42498         * tests/test-mbscspn.c (ASSERT): Likewise.
42499         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
42500         * tests/test-mbspbrk.c (ASSERT): Likewise.
42501         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
42502         * tests/test-mbsrchr.c (ASSERT): Likewise.
42503         * tests/test-mbsspn.c (ASSERT): Likewise.
42504         * tests/test-mbsstr1.c (ASSERT): Likewise.
42505         * tests/test-mbsstr2.c (ASSERT): Likewise.
42506         * tests/test-mbsstr3.c (ASSERT): Likewise.
42507         * tests/test-memchr2.c (ASSERT): Likewise.
42508         * tests/test-memmem.c (ASSERT): Likewise.
42509         * tests/test-open.c (ASSERT): Likewise.
42510         * tests/test-printf-frexp.c (ASSERT): Likewise.
42511         * tests/test-printf-frexpl.c (ASSERT): Likewise.
42512         * tests/test-printf-posix.c (ASSERT): Likewise.
42513         * tests/test-quotearg.c (ASSERT): Likewise.
42514         * tests/test-rbtree_list.c (ASSERT): Likewise.
42515         * tests/test-rbtree_oset.c (ASSERT): Likewise.
42516         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
42517         * tests/test-round1.c (ASSERT): Likewise.
42518         * tests/test-roundf1.c (ASSERT): Likewise.
42519         * tests/test-roundl.c (ASSERT): Likewise.
42520         * tests/test-signbit.c (ASSERT): Likewise.
42521         * tests/test-sleep.c (ASSERT): Likewise.
42522         * tests/test-snprintf-posix.c (ASSERT): Likewise.
42523         * tests/test-snprintf.c (ASSERT): Likewise.
42524         * tests/test-sprintf-posix.c (ASSERT): Likewise.
42525         * tests/test-stat-time.c (ASSERT): Likewise.
42526         * tests/test-strcasestr.c (ASSERT): Likewise.
42527         * tests/test-strerror.c (ASSERT): Likewise.
42528         * tests/test-striconv.c (ASSERT): Likewise.
42529         * tests/test-striconveh.c (ASSERT): Likewise.
42530         * tests/test-striconveha.c (ASSERT): Likewise.
42531         * tests/test-strsignal.c (ASSERT): Likewise.
42532         * tests/test-strstr.c (ASSERT): Likewise.
42533         * tests/test-strtod.c (ASSERT): Likewise.
42534         * tests/test-trunc1.c (ASSERT): Likewise.
42535         * tests/test-trunc2.c (ASSERT): Likewise.
42536         * tests/test-truncf1.c (ASSERT): Likewise.
42537         * tests/test-truncf2.c (ASSERT): Likewise.
42538         * tests/test-truncl.c (ASSERT): Likewise.
42539         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
42540         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
42541         * tests/test-vasnprintf.c (ASSERT): Likewise.
42542         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
42543         * tests/test-vasprintf.c (ASSERT): Likewise.
42544         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
42545         * tests/test-vprintf-posix.c (ASSERT): Likewise.
42546         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
42547         * tests/test-vsnprintf.c (ASSERT): Likewise.
42548         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
42549         * tests/test-wcwidth.c (ASSERT): Likewise.
42550         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
42551         * tests/test-xprintf-posix.c (ASSERT): Likewise.
42552         * tests/test-xvasprintf.c (ASSERT): Likewise.
42553         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
42554         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
42555         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
42556         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
42557         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
42558         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
42559         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
42560         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
42561         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
42562         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
42563         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
42564         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
42565         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
42566         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
42567         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
42568         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
42569         * tests/unictype/test-block_list.c (ASSERT): Likewise.
42570         * tests/unictype/test-block_of.c (ASSERT): Likewise.
42571         * tests/unictype/test-block_test.c (ASSERT): Likewise.
42572         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
42573         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
42574         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
42575         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
42576         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
42577         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
42578         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
42579         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
42580         * tests/unictype/test-combining.c (ASSERT): Likewise.
42581         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
42582         * tests/unictype/test-digit.c (ASSERT): Likewise.
42583         * tests/unictype/test-mirror.c (ASSERT): Likewise.
42584         * tests/unictype/test-numeric.c (ASSERT): Likewise.
42585         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
42586         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
42587         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
42588         * tests/unictype/test-scripts.c (ASSERT): Likewise.
42589         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
42590         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
42591         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
42592         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
42593         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
42594         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
42595         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
42596         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
42597         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
42598         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
42599         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
42600         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
42601         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
42602         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
42603         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
42604         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
42605         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
42606         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
42607         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
42608         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
42609         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
42610         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
42611         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
42612         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
42613         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
42614         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
42615         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
42616         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
42617         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
42618         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
42619         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
42620         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
42621         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
42622         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
42623         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
42624         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
42625         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
42626         Reported by Eric Blake.
42627
42628 2008-04-11  Bruno Haible  <bruno@clisp.org>
42629
42630         * lib/wchar.in.h: Tweak comment.
42631
42632 2008-04-11  Bruno Haible  <bruno@clisp.org>
42633
42634         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
42635         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
42636         gl_COMMON.
42637         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
42638
42639 2008-04-11  Bruno Haible  <bruno@clisp.org>
42640
42641         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
42642
42643 2008-04-11  Simon Josefsson  <simon@josefsson.org>
42644
42645         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
42646         of attempting to use non-existing /dev/*random.  Based on patch
42647         from Adam Strzelecki <ono@java.pl> in
42648         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
42649
42650 2008-04-08  Bruno Haible  <bruno@clisp.org>
42651
42652         Add tentative support for emx+gcc.
42653         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
42654         * lib/fpurge.c (fpurge): Likewise.
42655         * lib/freadable.c (freadable): Likewise.
42656         * lib/freadahead.c (freadahead): Likewise.
42657         * lib/freading.c (freading): Likewise.
42658         * lib/freadptr.c (freadptr): Likewise.
42659         * lib/freadseek.c (freadptrinc): Likewise.
42660         * lib/fseeko.c (rpl_fseeko): Likewise.
42661         * lib/fseterr.c (fseterr): Likewise.
42662         * lib/fwritable.c (fwritable): Likewise.
42663         * lib/fwriting.c (fwriting): Likewise.
42664         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
42665
42666 2008-04-09  Eric Blake  <ebb9@byu.net>
42667
42668         Avoid some autoconf warnings.
42669         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
42670         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
42671         * m4/afs.m4 (gl_AFS): Likewise.
42672         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
42673         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
42674         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42675         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
42676         (gl_INTEGER_TYPE_SUFFIX): Likewise.
42677         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
42678         (AC_CHECK_DECLS_ONCE): Likewise.
42679         Rename file...
42680         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
42681         gnulib-tool requires autoconf 2.59 or better.
42682         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
42683
42684 2008-04-08  Eric Blake  <ebb9@byu.net>
42685
42686         Use 'git describe --match' if present (added in git 1.5.5).
42687         * build-aux/git-version-gen: Limit result to tags that match 'v*'
42688         if possible.
42689
42690 2008-04-08  Bruno Haible  <bruno@clisp.org>
42691
42692         Add tentative support for OpenServer.
42693         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
42694         _ptr, _cnt.
42695         * lib/fpurge.c (fpurge): Likewise.
42696         * lib/freadable.c (freadable): Likewise.
42697         * lib/freadahead.c (freadahead): Likewise.
42698         * lib/freading.c (freading): Likewise.
42699         * lib/freadptr.c (freadptr): Likewise.
42700         * lib/freadseek.c (freadptrinc): Likewise.
42701         * lib/fseeko.c (rpl_fseeko): Likewise.
42702         * lib/fseterr.c (fseterr): Likewise.
42703         * lib/fwritable.c (fwritable): Likewise.
42704         * lib/fwriting.c (fwriting): Likewise.
42705         Reported by Roger Cornelius <rac@tenzing.org> and
42706         Brian K. White <brian@aljex.com>.
42707
42708 2008-04-06  Jim Meyering  <meyering@redhat.com>
42709
42710         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
42711
42712 2008-04-06  Bruno Haible  <bruno@clisp.org>
42713
42714         Avoid possible error with non-ASCII bytes in UTF-8 locales.
42715         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
42716         * tests/test-printf-posix.sh: Likewise.
42717         * tests/test-vfprintf-posix.sh: Likewise.
42718         * tests/test-vprintf-posix.sh: Likewise.
42719         * tests/test-xprintf-posix.sh: Likewise.
42720
42721 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42722
42723         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
42724         hide error from 'ls', needed on OS/2.
42725         Report by Elbert Pol <elbert.pol@gmail.com>.
42726
42727 2008-04-04  Eric Blake  <ebb9@byu.net>
42728
42729         Make test-fseeko.c failures meaningful.
42730         * tests/test-fseeko.c: Print line number on failure.
42731         * tests/test-fseek.c: Likewise.
42732         Reported by Nelson H. F. Beebe.
42733
42734         Improve strtod bug detection check.
42735         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
42736         required for Solaris 10.
42737         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
42738
42739 2008-04-04  Bruno Haible  <bruno@clisp.org>
42740
42741         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
42742         by m4/setenv.m4.
42743
42744 2008-04-03  Eric Blake  <ebb9@byu.net>
42745
42746         Ensure sane .version contents.
42747         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
42748         version string.
42749         * build-aux/git-version-gen: Improve documentation.
42750
42751         Make GNU make output nicer.
42752         * top/GNUmakefile [!_have-Makefile]: Add dependency on
42753         MAKECMDGOALS to enforce message for all command line targets.  Set
42754         srcdir for use in maint.mk.
42755
42756         Another maintainer tweak.
42757         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
42758         a target that regenerates version.
42759
42760 2008-04-03  Jim Meyering  <meyering@redhat.com>
42761
42762         vc-list-files: don't cause coreutils "make po-check" failure
42763         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
42764
42765 2008-04-03  Eric Blake  <ebb9@byu.net>
42766
42767         Allow VPATH usage of vc-list-files.
42768         * build-aux/vc-list-files (scriptversion): Add timestamp.
42769         (options): Add --help, --version, -C.
42770         (CVS): Support installed cvsu.
42771
42772 2008-04-02  Bruno Haible  <bruno@clisp.org>
42773
42774         Avoid some "statement with no effect" warnings from gcc.
42775         * tests/test-wctype.c (main): Explicitly ignore unused values.
42776         Reported by Jim Meyering.
42777
42778 2008-04-02  Jim Meyering  <meyering@redhat.com>
42779
42780         Avoid some warnings from "gcc -Wshadow".
42781         * tests/test-frexp.c (exp): Define to a different identifier.
42782         * tests/test-frexpl.c (exp): Likewise.
42783
42784 2008-04-03  Jim Meyering  <meyering@redhat.com>
42785
42786         bootstrap: remove dangling *.[ch] symlinks from lib
42787         * build-aux/bootstrap [dangling symlink removal]: Move find's
42788         -depth option to precede all others, to avoid a warning.
42789         Remove *.[ch] files too, and from "$source_base" (usually lib/).
42790
42791 2008-04-02  Bruno Haible  <bruno@clisp.org>
42792
42793         Avoid some warnings from "gcc -Wshadow".
42794         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
42795         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
42796         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
42797         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
42798         Reported by Jim Meyering.
42799
42800 2008-04-01  Bruno Haible  <bruno@clisp.org>
42801
42802         Fix test to work on IRIX 6.5 with cc.
42803         * tests/test-math.c (numeric_equal): New function.
42804         (main): Use it.
42805
42806 2008-04-01  Bruno Haible  <bruno@clisp.org>
42807
42808         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
42809
42810 2008-04-01  Bruno Haible  <bruno@clisp.org>
42811
42812         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
42813         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42814         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
42815         (Depends-on): Remove math.
42816
42817         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
42818         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42819         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
42820         (Depends-on): Remove math.
42821
42822         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
42823         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42824         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
42825         (Depends-on): Remove math.
42826         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
42827         (Depends-on): Remove math.
42828
42829         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
42830         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42831         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
42832         (Depends-on): Remove math.
42833         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
42834         (Depends-on): Remove math.
42835
42836         * tests/test-round1.c: Include nan.h.
42837         (main): Use NaNd instead of NAN.
42838         * modules/round-tests (Files): Add tests/nan.h.
42839
42840         * tests/test-trunc1.c: Include nan.h.
42841         (main): Use NaNd instead of NAN.
42842         * modules/trunc-tests (Files): Add tests/nan.h.
42843
42844         * tests/test-roundf1.c: Include nan.h.
42845         (main): Use NaNf instead of NAN.
42846         * modules/roundf-tests (Files): Add tests/nan.h.
42847
42848         * tests/test-truncf1.c: Include nan.h.
42849         (main): Use NaNf instead of NAN.
42850         * modules/truncf-tests (Files): Add tests/nan.h.
42851
42852         * tests/test-ceilf1.c: Include nan.h.
42853         (main): Use NaNf instead of NAN.
42854         * modules/ceilf-tests (Files): Add tests/nan.h.
42855
42856         * tests/test-floorf1.c: Include nan.h.
42857         (main): Use NaNf instead of NAN.
42858         * modules/floorf-tests (Files): Add tests/nan.h.
42859
42860         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
42861         (main): Use NaNf instead of NAN.
42862         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
42863
42864         * tests/test-isnand.c: Include nan.h instead of <math.h>.
42865         (main): Use NaNd instead of NAN.
42866         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
42867
42868         * tests/test-frexp.c: Include nan.h.
42869         (main): Use NaNd instead of NAN.
42870         * modules/frexp-tests (Files): Add tests/nan.h.
42871
42872         * lib/isnan.c: Don't include <math.h>.
42873         (FUNC): Don't use NAN macro.
42874         * modules/isnand-nolibm (Depends-on): Remove math.
42875         * modules/isnanf-nolibm (Depends-on): Remove math.
42876         * modules/isnanl (Depends-on): Remove math.
42877         * modules/isnanl-nolibm (Depends-on): Remove math.
42878
42879         * tests/nan.h: New file.
42880
42881 2008-04-01  Eric Blake  <ebb9@byu.net>
42882
42883         Fix typos.
42884         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
42885         values to be the right type.
42886
42887         For now, cater to gnulib strtod inaccuracies.
42888         * tests/test-strtod.c (main): Allow 1-ulp error on expected
42889         fractional results.  While not as nice from a QoI perspective, it
42890         is a quicker patch than correctly implementing decimal to binary
42891         rounding.
42892
42893 2008-03-31  Eric Blake  <ebb9@byu.net>
42894
42895         Guarantee a definition of NAN.
42896         * lib/math.in.h (NAN): Define if missing.
42897         * tests/test-math.c (main): Test it.
42898         * doc/posix-headers/math.texi (math.h): Document this.
42899         * lib/isnan.c (rpl_isnand): Use it.
42900         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
42901         * tests/test-floorf1.c (NaN): Likewise.
42902         * tests/test-frexp.c (NaN): Likewise.
42903         * tests/test-isnand.c (NaN): Likewise.
42904         * tests/test-isnanf.c (NaN): Likewise.
42905         * tests/test-round1.c (NaN): Likewise.
42906         * tests/test-roundf1.c (NaN): Likewise.
42907         * tests/test-snprintf-posix.h (NaN): Likewise.
42908         * tests/test-sprintf-posix.h (NaN): Likewise.
42909         * tests/test-trunc1.c (NaN): Likewise.
42910         * tests/test-truncf1.c (NaN): Likewise.
42911         * tests/test-vasnprintf-posix.c (NaN): Likewise.
42912         * tests/test-vasprintf-posix.c (NaN): Likewise.
42913         * modules/isnand-nolibm (Depends-on): Add math.
42914         * modules/isnanf-nolibm (Depends-on): Likewise.
42915         * modules/isnanl (Depends-on): Likewise.
42916         * modules/isnanl-nolibm (Depends-on): Likewise.
42917         * modules/snprintf-posix-tests (Depends-on): Likewise.
42918         * modules/sprintf-posix-tests (Depends-on): Likewise.
42919         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
42920         * modules/vsprintf-posix-tests (Depends-on): Likewise.
42921         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
42922         * modules/vasprintf-posix-tests (Depends-on): Likewise.
42923
42924 2008-03-31  Bruno Haible  <bruno@clisp.org>
42925
42926         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
42927         * doc/posix-functions/strtod.texi: Likewise.
42928
42929 2008-03-31  Bruno Haible  <bruno@clisp.org>
42930
42931         * tests/test-strtod.c (main): Don't use C99 syntax.
42932
42933 2008-03-31  Bruno Haible  <bruno@clisp.org>
42934
42935         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
42936         Reported by Eric Blake.
42937
42938 2008-03-31  Jim Meyering  <meyering@redhat.com>
42939
42940         Don't compare actual signbit return values.
42941         * tests/test-strtod.c (main): Rather, compare only their
42942         zero/non-zero nature.
42943
42944 2008-03-31  Eric Blake  <ebb9@byu.net>
42945
42946         More strtod documentation.
42947         * doc/posix-functions/strtod.texi (strtod): Interpret more test
42948         failures as distinct bugs.
42949
42950 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
42951
42952         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
42953         Problem reported by Erik Benada in
42954         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
42955
42956 2008-03-30  Bruno Haible  <bruno@clisp.org>
42957
42958         * tests/test-strtod.c: Add comments about which assertion fails on which
42959         platform.
42960         * doc/posix-functions/strtod.texi: Add info about many more platforms.
42961
42962 2008-03-30  Eric Blake  <ebb9@byu.net>
42963
42964         Test signbit behavior on zeros.
42965         * tests/test-signbit.c (test_signbitf): Add tests for zero.
42966         (test_signbitd, test_signbitl): Likewise.
42967
42968         More strtod touchups.
42969         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
42970         sign of negative underflow, for now.  Use .5, not .1.
42971         * doc/posix-functions/strtod.texi (strtod): Mention these
42972         limitations.
42973         Reported by Jim Meyering.
42974
42975 2008-03-30  Bruno Haible  <bruno@clisp.org>
42976
42977         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
42978         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
42979
42980 2008-03-30  Bruno Haible  <bruno@clisp.org>
42981
42982         Avoid failure when attempting to return empty iconv results on some
42983         platforms.
42984         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
42985         allocation, don't report ENOMEM when the resulting string is empty.
42986
42987 2008-03-30  Bruno Haible  <bruno@clisp.org>
42988
42989         Fix buffer overrun.
42990         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
42991         Don't consider the width for tmp_length. Check count against tmp_length
42992         before doing the padding. Ensure enough allocation during padding.
42993
42994 2008-03-30  Eric Blake  <ebb9@byu.net>
42995
42996         strtod touchups.
42997         * lib/strtod.c (strtod): Avoid compiler warnings.
42998         Reported by Jim Meyering.
42999
43000 2008-03-30  Bruno Haible  <bruno@clisp.org>
43001
43002         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
43003         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
43004         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
43005         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
43006         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
43007         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
43008         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
43009         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
43010
43011         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
43012         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
43013         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
43014         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
43015         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
43016         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
43017         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
43018         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
43019
43020         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
43021         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
43022         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
43023         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
43024         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
43025         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
43026         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
43027         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
43028
43029         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
43030         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
43031
43032         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
43033         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
43034
43035         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
43036         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
43037
43038         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
43039         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
43040         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
43041
43042         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
43043         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
43044         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
43045
43046         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
43047         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
43048         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
43049
43050         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
43051         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
43052         * modules/vasprintf (Depends-on): Add EOVERFLOW.
43053
43054         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
43055         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
43056         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
43057         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
43058         (Depends-on): Add EOVERFLOW.
43059         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
43060         (Depends-on): Add EOVERFLOW.
43061         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
43062         (Depends-on): Add EOVERFLOW.
43063         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
43064         (Depends-on): Add EOVERFLOW.
43065         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
43066         (Depends-on): Add EOVERFLOW.
43067         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
43068         (Depends-on): Add EOVERFLOW.
43069         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
43070         (Depends-on): Add EOVERFLOW.
43071         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
43072         (Depends-on): Add EOVERFLOW.
43073
43074         * lib/sprintf.c (EOVERFLOW): Remove fallback.
43075         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
43076         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
43077
43078         * lib/snprintf.c (EOVERFLOW): Remove fallback.
43079         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
43080         * modules/snprintf (Depends-on): Add EOVERFLOW.
43081
43082         * lib/poll.c (EOVERFLOW): Remove fallback.
43083         * modules/poll (Depends-on): Add EOVERFLOW.
43084
43085         * lib/getugroups.c (EOVERFLOW): Remove fallback.
43086         * modules/getugroups (Depends-on): Add EOVERFLOW.
43087
43088         * lib/getdelim.c (EOVERFLOW): Remove fallback.
43089         * modules/getdelim (Depends-on): Add EOVERFLOW.
43090
43091         * lib/ftell.c (EOVERFLOW): Remove fallback.
43092         * modules/ftell (Depends-on): Add EOVERFLOW.
43093
43094         * lib/fprintf.c (EOVERFLOW): Remove fallback.
43095         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
43096         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
43097
43098         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
43099
43100         * modules/EOVERFLOW-tests: New file.
43101         * tests/test-EOVERFLOW.c: New file.
43102
43103         * modules/EOVERFLOW: New file.
43104         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
43105
43106 2008-03-30  Bruno Haible  <bruno@clisp.org>
43107
43108         Fix bug introduced on 2007-06-10.
43109         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
43110         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
43111
43112 2008-03-30  Bruno Haible  <bruno@clisp.org>
43113
43114         Improve freadseek's efficiency after ungetc.
43115         * lib/freadseek.c: Include freadahead.h.
43116         (freadptrinc): New function, extracted from freadseek.
43117         (freadseek): Use it in a loop. Use freadahead to determine the number
43118         of loop iterations.
43119         * modules/freadseek (Depends-on): Add freadahead.
43120         (configure.ac): Require AC_C_INLINE.
43121
43122 2008-03-30  Bruno Haible  <bruno@clisp.org>
43123
43124         * lib/freadseek.c (freadseek): Don't ignore the return value of
43125         freadptr.
43126
43127 2008-03-29  Eric Blake  <ebb9@byu.net>
43128
43129         Add hex float support.
43130         * modules/strtod (Depends-on): Add c-ctype.
43131         (Link): Mention POW_LIB.
43132         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
43133         whitespace between 'e' and exponent.
43134         * tests/test-strtod.c (main): Enable hex float tests.
43135         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
43136         now provides.
43137
43138         Document various strtod bugs, with some fixes.
43139         * doc/posix-functions/strtod.texi (strtod): Document bugs with
43140         "-0x", "inf", "nan", and hex constants.
43141         * doc/posix-functions/atof.texi (atof): Likewise.
43142         * modules/stdlib (Makefile.am): Support strtod.
43143         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
43144         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
43145         detect additional strtod bugs.
43146         * lib/stdlib.in.h (rpl_strtod): Add declarations.
43147         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
43148         bool where appropriate.  Parse 'inf' and 'nan'.
43149         * tests/test-strtod.c: New file.
43150         * modules/strtod (Depends-on): Add stdbool, stdlib.
43151         (configure.ac): Turn on module indicator.
43152         * modules/strtod-tests: New module.
43153
43154 2008-03-29  Eric Blake  <ebb9@byu.net>
43155
43156         Fix ftell on mingw.
43157         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
43158         * modules/ftell-tests (Depends-on): Add binary-io.
43159         * modules/ftello-tests (Depends-on): Likewise.
43160         * tests/test-ftell.c (main): Enhance test to cover behavior after
43161         ungetc.  Enforce binary mode.
43162         * tests/test-ftello.c (main): Likewise.
43163
43164         Pass test-freadseek on cygwin.
43165         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
43166         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
43167         ungetc buffer.
43168
43169         * tests/test-fflush2.c (main): Fix typo.
43170
43171 2008-03-29  Bruno Haible  <bruno@clisp.org>
43172
43173         * tests/test-fflush2.c (main): Temporarily disable the contents of
43174         this test.
43175         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
43176         Reported by Eric Blake.
43177
43178 2008-03-28  Simon Josefsson  <simon@josefsson.org>
43179
43180         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
43181         (GC_SHA224_DIGEST_SIZE): Add.
43182
43183         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
43184         (gc_hash_digest_length): Likewise.
43185         (gc_hash_buffer): Likewise.
43186
43187 2008-03-25  Bruno Haible  <bruno@clisp.org>
43188
43189         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
43190         detail which gettext release to use.
43191         Reported by Simon Josefsson.
43192
43193 2008-03-26  Jim Meyering  <meyering@redhat.com>
43194
43195         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
43196         * modules/gnumakefile (clean-GNUmakefile): Also, use
43197         test ... && ... || : syntax rather than if-then ... fi.
43198
43199         gnumakefile: Don't double-quote-expand $(VPATH) value.
43200         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
43201
43202 2008-03-24  Eric Blake  <ebb9@byu.net>
43203
43204         Alter GNUmakefile to install into top directory.
43205         * modules/maintainer-makefile: Split, and add dependency...
43206         * modules/gnumakefile: to this new module.
43207         * build-aux/GNUmakefile: Move...
43208         * top/GNUmakefile: ...here.
43209         * build-aux/maint.mk: Move...
43210         * top/maint.mk: ...here.
43211         * MODULES.html.sh (Support for maintaining...): Document new
43212         module.
43213
43214 2008-03-23  Bruno Haible  <bruno@clisp.org>
43215
43216         * gnulib-tool: New options --vc-files, --no-vc-files.
43217         (func_usage): Document them.
43218         (vc_files): New variable.
43219         (func_import): Consider vc_files.
43220         (func_create_testdir): Set vc_files to empty.
43221         Suggested by Jim Meyering and Karl Berry.
43222
43223 2008-03-23  Bruno Haible  <bruno@clisp.org>
43224
43225         Fix regex compilation error on HP-UX 11.
43226         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
43227         * modules/regex (Files): Add m4/mbstate_t.m4.
43228         Reported by Ton Voon <ton.voon@altinity.com>.
43229
43230 2008-03-23  Bruno Haible  <bruno@clisp.org>
43231
43232         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
43233
43234 2008-03-23  Eric Blake  <ebb9@byu.net>
43235             Bruno Haible  <bruno@clisp.org>
43236
43237         Install files from top/ in the destination directory.
43238         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
43239         augmentation also for the files from top/.
43240         (func_import, func_create_testdir): Rewrite file names:
43241         top/filename -> filename.
43242
43243 2008-03-23  Bruno Haible  <bruno@clisp.org>
43244
43245         Tweak "gnulib --version" output.
43246         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
43247
43248 2008-03-23  Bruno Haible  <bruno@clisp.org>
43249
43250         Tweak "gnulib --version" output.
43251         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
43252         rather than contents of ChangeLog, when possible.
43253
43254 2008-03-21  Eric Blake  <ebb9@byu.net>
43255
43256         More --version tweaks.
43257         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
43258         date of last ChangeLog entry.
43259
43260 2008-03-21  Jim Meyering  <meyering@redhat.com>
43261
43262         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
43263
43264 2008-03-20  Eric Blake  <ebb9@byu.net>
43265
43266         VPATH fix.
43267         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
43268
43269 2008-03-20  Simon Josefsson  <simon@josefsson.org>
43270
43271         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
43272         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
43273
43274 2008-03-20  Eric Blake  <ebb9@byu.net>
43275
43276         Sync GNUmakefile with coreutils.
43277         * build-aux/GNUmakefile (have-Makefile): Rename...
43278         (_have-Makefile): ...to this, for namespace consideration.
43279         (GNUmakefile.cfg): Include, if present.
43280         (_autoreconf): Define a default.
43281         (_is-dist-target): New rule for rebuilds to pick up intra-release
43282         version.
43283         (maint-cfg.mk): Rename...
43284         (cfg.mk): ...to this.
43285
43286 2008-03-18  Jim Meyering  <meyering@redhat.com>
43287
43288         New script and module: mktempd
43289         * MODULES.html.sh (maint+release support): Add mktempd.
43290         * build-aux/mktempd: New file.
43291         * modules/mktempd: New file.
43292
43293 2008-03-15  Jim Meyering  <meyering@redhat.com>
43294
43295         Undo last change.
43296         * lib/sha1.c, lib/md5.c: 63 != ~63.
43297         Reported by Andreas Schwab.
43298
43299         sha1.c, md5.c: Hoist a redundant expression.
43300         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
43301         "ctx->buflen" only once, before calling *_process_block.
43302         * lib/md5.c (md5_process_bytes): Likewise.
43303
43304 2008-03-14  Eric Blake  <ebb9@byu.net>
43305
43306         Bump copyright year in files generated by gnulib-tool.
43307         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
43308         gnulib-tool, rather than hard-coding it.
43309
43310         Fix 'gnulib-tool --version' output to work with git.
43311         * gnulib-tool (func_gnulib_dir): New function, extracted from...
43312         (startup): ...here.
43313         (func_version): Use it to invoke git-version-gen, rather than
43314         relying on CVS keyword expansion.  Modernize wording.
43315         (cvsdatestamp, last_checkin_date, version): Kill unused
43316         variables.
43317
43318 2008-03-12  Jim Meyering  <meyering@redhat.com>
43319
43320         Recognize optional cast of the argument to free.
43321         * build-aux/useless-if-before-free: Update regexps.
43322
43323         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
43324
43325 2008-03-11  Bruno Haible  <bruno@clisp.org>
43326
43327         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
43328         by a single package.
43329         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
43330         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
43331         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
43332         Reported by Sam Steingold <sds@gnu.org>.
43333
43334 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43335
43336         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
43337         repositories.
43338
43339 2008-03-11  Bruno Haible  <bruno@clisp.org>
43340
43341         Avoid conflicts between local macro definitions.
43342         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
43343         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
43344
43345 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
43346             Bruno Haible  <bruno@clisp.org>
43347
43348         Make va_copy work with some version of xlc on AIX 5.1.
43349         * lib/stdarg.in.h: New file.
43350         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
43351         On AIX, use a <stdarg.h> file substitute.
43352         * modules/stdarg (Files): Add lib/stdarg.in.h.
43353         (Depends-on): Add include_next.
43354         (Makefile.am): Build a stdarg.h substitute if requested.
43355         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
43356
43357 2008-03-10  Bruno Haible  <bruno@clisp.org>
43358
43359         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
43360         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43361         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
43362
43363 2008-03-10  Bruno Haible  <bruno@clisp.org>
43364
43365         * modules/stdlib (Depends-on): Add include_next, remove
43366         absolute-header.
43367
43368 2008-03-09  Bruno Haible  <bruno@clisp.org>
43369
43370         * lib/freadahead.h (freadahead): Document more precisely.
43371         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
43372         the sum of both buffer sizes.
43373         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
43374         * NEWS: Document the change.
43375
43376 2008-03-09  Bruno Haible  <bruno@clisp.org>
43377
43378         Extend freadptr to return also the buffer size.
43379         * lib/freadptr.h (freadptr): Add sizep argument.
43380         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
43381         (freadptr): Add sizep argument. Determine buffer size like freadahead
43382         does.
43383         * tests/test-freadptr.c: Don't include freadahead.h.
43384         (main): Adapt for new calling convention of freadptr.
43385         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
43386         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
43387         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
43388         tests/test-freadptr2.sh.
43389         (Depends): Remove freadahead.
43390         (TESTS): Add test-freadptr2.sh.
43391         (check_PROGRAMS): Add test-freadptr2.
43392
43393 2008-03-09  Bruno Haible  <bruno@clisp.org>
43394
43395         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
43396         Report and solution by Simon Josefsson.
43397
43398 2008-03-06  Bruno Haible  <bruno@clisp.org>
43399
43400         Make fflush after ungetc work on BSD platforms.
43401         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
43402         * tests/test-fflush2.c: New file.
43403         * tests/test-fflush2.sh: New file.
43404         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
43405         tests/test-fflush2.c.
43406         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
43407         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
43408
43409 2008-03-06  Eric Blake  <ebb9@byu.net>
43410
43411         Likewise for ftello.
43412         * modules/ftello (Dependencies): Add extensions.
43413         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
43414
43415 2008-03-06  Bruno Haible  <bruno@clisp.org>
43416
43417         * modules/fseeko (Dependencies): Add extensions.
43418         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
43419         Needed on glibc systems.
43420
43421 2008-03-06  Bruno Haible  <bruno@clisp.org>
43422
43423         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
43424         email address.
43425         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43426
43427 2008-03-06  Bruno Haible  <bruno@clisp.org>
43428
43429         * users.txt: Add libgnupdf.
43430
43431 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
43432
43433         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
43434         (Header File Substitutes, Function Substitutes,
43435         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
43436         (Build robot for gnulib): Fix typo.
43437
43438 2008-03-06  Bruno Haible  <bruno@clisp.org>
43439
43440         * doc/gnulib-tool.texi (VCS Issues): Small updates.
43441         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43442
43443 2008-03-06  Bruno Haible  <bruno@clisp.org>
43444
43445         * doc/func.texi: New file, extracted from doc/gnulib.texi.
43446         * doc/gnulib.texi: Include it.
43447
43448 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43449
43450         * modules/func (License): Change license to unlimited; there was
43451         no LGPL parts in the module anyway.
43452
43453 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43454
43455         * modules/__func__: Renamed to modules/func.
43456         * modules/__func__-tests: Renamed to modules/func-tests.
43457         * tests/test-__func__.c: Renamed to tests/test-func.c.
43458         * m4/__func__.m4: Renamed to m4/func.m4.
43459         * doc/gnulib.texi (__func__): Section renamed to func.
43460         Suggested by Eric Blake <ebb9@byu.net>.
43461
43462 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43463
43464         * doc/gnulib.texi (__func__): Use C99 terminology when talking
43465         about __func__.  Make example self-contained.  Suggested by Eric
43466         Blake <ebb9@byu.net>.
43467
43468         * tests/test-__func__.c (main): Avoid extraneous () around __func.
43469         Suggested by Eric Blake <ebb9@byu.net>.
43470
43471 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43472
43473         * modules/__func__: New file.
43474         * modules/__func__-tests: New file.
43475         * tests/test-__func__.c: New file.
43476         * m4/__func__.m4: New file.
43477         * doc/gnulib.texi (__func__): Document __func__ module.
43478
43479 2008-03-05  Simon Josefsson  <simon@josefsson.org>
43480
43481         * modules/byteswap (License): Re-license as LGPLv2+.
43482
43483 2008-03-05  Simon Josefsson  <simon@josefsson.org>
43484
43485         * doc/Makefile: Add pdf target.
43486
43487 2008-03-05  Simon Josefsson  <simon@josefsson.org>
43488
43489         * modules/inline (License): Use 'unlimited', since there are only
43490         *.m4 files in this module.
43491
43492 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
43493             Bruno Haible  <bruno@clisp.org>
43494
43495         Add support for HP C 7.1 on OpenVMS 8.3.
43496         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
43497
43498 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
43499
43500         Update VMS specifics.
43501         * lib/getopt.c [VMS]: Remove include of unixlib.h.
43502
43503 2008-03-02  Jim Meyering  <meyering@redhat.com>
43504
43505         Remove the last dependency on the "free" module.
43506         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
43507         Reported by Bob Proulx.
43508
43509         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
43510
43511         Remove useless "if" tests before free.  Deprecate "free" module.
43512         * doc/posix-functions/free.texi: Mention that this
43513         module is no longer useful.
43514         * modules/free (Notice): Say this module is obsolete.
43515         * modules/readutmp (Depends-on): Remove free.
43516         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
43517         * lib/putenv.c (putenv): Likewise.
43518         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
43519         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
43520         * tests/test-c-strcasestr.c (main): Likewise.
43521         * tests/test-c-strstr.c (main): Likewise.
43522         * tests/test-mbscasestr1.c (main): Likewise.
43523         * tests/test-mbscasestr2.c (main): Likewise.
43524         * tests/test-mbsstr1.c (main): Likewise.
43525         * tests/test-mbsstr2.c (main): Likewise.
43526         * tests/test-memmem.c (main): Likewise.
43527         * tests/test-strcasestr.c (main): Likewise.
43528         * tests/test-striconv.c (main): Likewise.
43529         * tests/test-striconveh.c (main): Likewise.
43530         * tests/test-striconveha.c (main): Likewise.
43531         * tests/test-strstr.c (main): Likewise.
43532
43533         * build-aux/git-version-gen: Adjust a comment and the Usage string.
43534
43535         bootstrap: sync from coreutils again
43536         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
43537
43538 2008-03-01  Jim Meyering  <meyering@redhat.com>
43539
43540         bootstrap: sync from coreutils
43541         * build-aux/bootstrap (update_po_files): Copy a .po file into place
43542         also when the target doesn't exist.
43543
43544 2008-03-01  Eric Blake  <ebb9@byu.net>
43545
43546         Fix bugs in last patch.
43547         * lib/memchr2.c (memchr2): Fix typo.
43548         * tests/test-memchr2.c: Test previous bug, and don't use GNU
43549         extension.
43550         Reported by Bruce Korb.
43551
43552         New module 'memchr2'.
43553         * modules/memchr2: New file.
43554         * modules/memchr2-tests: Likewise.
43555         * lib/memchr2.h: Likewise.
43556         * lib/memchr2.c: Likewise, based on memchr.c.
43557         * tests/test-memchr2.c: New test.
43558         * MODULES.html.sh (String handling): Add memchr2.
43559
43560 2008-02-29  Bruno Haible  <bruno@clisp.org>
43561
43562         * modules/freadseek-tests: New file.
43563         * tests/test-freadseek.sh: New file.
43564         * tests/test-freadseek.c: New file.
43565
43566         New module 'freadseek'.
43567         * modules/freadseek: New file.
43568         * lib/freadseek.h: New file.
43569         * lib/freadseek.c: New file.
43570         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
43571
43572 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
43573
43574         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
43575         wydawca.
43576
43577         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
43578         program_invocation_name and program_invocation_short_name are
43579         present.
43580
43581 2008-02-28  Bruno Haible  <bruno@clisp.org>
43582
43583         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
43584         * tests/test-freadptr.sh: Also test non-seekable stdin.
43585
43586 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
43587
43588         * build-aux/bootstrap (source_base, m4_base)
43589         (doc_base, tests_base): New variables.
43590         (gnulib_tool_options): Do not hardcode base directories, use
43591         the above variables instead.
43592
43593 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
43594
43595         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
43596
43597 2008-02-28  Bruno Haible  <bruno@clisp.org>
43598
43599         * modules/freadptr-tests: New file.
43600         * tests/test-freadptr.sh: New file.
43601         * tests/test-freadptr.c: New file.
43602
43603         New module 'freadptr'.
43604         * modules/freadptr: New file.
43605         * lib/freadptr.h: New file.
43606         * lib/freadptr.c: New file.
43607         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
43608
43609 2008-02-26  Karl Berry  <karl@freefriends.org>
43610
43611         Sync from Libtool:
43612         * libltdl/argz.c (argz_add, argz_count): New functions.
43613         * libltdl/argz.in.h: Declare them.
43614         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
43615
43616 2008-02-22  Bruno Haible  <bruno@clisp.org>
43617
43618         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
43619         is a pointer type.  Needed for HP-UX 10.
43620         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
43621         * doc/posix-functions/gmtime_r.texi: Likewise.
43622         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
43623
43624 2008-02-24  Bruno Haible  <bruno@clisp.org>
43625
43626         * modules/environ-tests: New file.
43627         * tests/test-environ.c: New file.
43628
43629         New module 'environ'.
43630         * modules/environ: New file.
43631         * lib/unistd.in.h (environ): New declaration.
43632         * m4/environ.m4: New file.
43633         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
43634         after use.
43635         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
43636         HAVE_DECL_ENVIRON.
43637         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
43638         HAVE_DECL_ENVIRON.
43639         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
43640         wrong claim that 'environ' is missing on some systems.
43641         * modules/execute (Depends-on): Add environ.
43642         * lib/execute.c (environ): Remove fallback declaration.
43643         * modules/pipe (Depends-on): Add environ.
43644         * lib/pipe.c (environ): Remove fallback declaration.
43645         * modules/setenv (Depends-on): Add environ.
43646         * lib/setenv.c (environ): Remove fallback declaration.
43647         * modules/unsetenv (Depends-on): Add environ.
43648         * lib/unsetenv.c (environ): Remove fallback declaration.
43649         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
43650         m4/environ.m4.
43651         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
43652         (gl_PREREQ_UNSETENV): Likewise.
43653
43654 2008-02-24  Bruno Haible  <bruno@clisp.org>
43655
43656         * doc/posix-functions/environ.texi: Document the MacOS X problem.
43657
43658 2008-02-20  Bob Proulx  <bob@proulx.com>
43659
43660         Enable use of older two part flavor 'git describe'.
43661         * build-aux/git-version-gen: If using the older two part flavor of
43662         git version then recreate the third part now present in the
43663         newer three part flavor of git describe.
43664
43665 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
43666
43667         * lib/fts.c (fts_build): Typo correction to comment.
43668
43669 2008-02-17  Bruno Haible  <bruno@clisp.org>
43670
43671         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
43672         generating no-op conflicts.
43673
43674 2008-02-17  Bruno Haible  <bruno@clisp.org>
43675
43676         Speed up by 10%.
43677         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
43678         result_entries, rather than an index-based loop.
43679
43680 2008-02-17  Bruno Haible  <bruno@clisp.org>
43681
43682         Speed up by 25%.
43683         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
43684         'hashcode_cached'.
43685         (entry_create): New function.
43686         (entry_hashcode): Use the cached hashcode if possible.
43687         (read_changelog_file, try_split_merged_entry): Use entry_create.
43688
43689 2008-02-17  Bruno Haible  <bruno@clisp.org>
43690
43691         Speed up from O(n^2) to O(n) for long ChangeLog files.
43692         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
43693         (read_changelog_file): Change implementation of entries_reversed list
43694         to rbtreehash.
43695         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
43696
43697 2008-02-17  Bruno Haible  <bruno@clisp.org>
43698
43699         New option --split-merged-entry.
43700         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
43701         (find_paragraph_end, try_split_merged_entry): New functions.
43702         (long_options): Add option --split-merged-entry.
43703         (usage): Document option --split-merged-entry.
43704         (main): Implement option --split-merged-entry.
43705         Reported by Eric Blake.
43706
43707 2008-02-17  Bruno Haible  <bruno@clisp.org>
43708
43709         * lib/git-merge-changelog.c: Include c-strstr.h.
43710         (main): Support the "git pull --rebase" situation.
43711         * modules/git-merge-changelog (Depends-on): Add c-strstr.
43712         Reported by Eric Blake.
43713
43714 2008-02-16  Eric Blake  <ebb9@byu.net>
43715
43716         Avoid doubling \ in common case of "c-maybe" quoting style.
43717         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
43718         eliding outer quotes.
43719         * lib/quotearg.h: Document this.
43720         * tests/test-quotearg.c (result_strings, inputs, results_g)
43721         (flag_results, locale_results): Test it by adding a new string to
43722         each test group.
43723         (compare_strings): Test new string.
43724
43725 2008-02-13  Eric Blake  <ebb9@byu.net>
43726
43727         Avoid trigraph quoting in default output.
43728         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
43729         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
43730         unless explicitly requested.
43731         * tests/test-quotearg.c (flag_results, main): Add additional tests.
43732
43733 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
43734
43735         Don't rely on signed integer overflowing to negative value.
43736         * lib/getugroups.c (getugroups): Include <limits.h>.
43737         Instead, compare against INT_MAX, and increment only if the test passes.
43738
43739 2008-02-13  Jim Meyering  <meyering@redhat.com>
43740         and Eric Blake  <ebb9@byu.net>
43741
43742         Avoid shadowing warning and compile errors on Linux.
43743         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
43744         forwarding macros on Linux.
43745         (dcgettext): Define a stub, for Linux.
43746         (results_g, main): Avoid warnings.
43747
43748 2008-02-12  Eric Blake  <ebb9@byu.net>
43749
43750         Silence warning in last patch.
43751         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
43752
43753         Quotearg part 4: add tests, fix c-maybe colon quoting.
43754         * lib/quotearg.h: Improve documentation.
43755         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
43756         escapes when adding outer quotes.  When quoting trigraphs, use
43757         valid C notation.  When quoting NUL, omit extra characters if next
43758         character is not digit.  Alter prototype.
43759         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
43760         callers.
43761         * modules/quotearg-tests: New module.
43762         * tests/test-quotearg.c: New test.
43763
43764 2008-02-07  Eric Blake  <ebb9@byu.net>
43765
43766         Quotearg part 3: add flag to control outer quote elision.
43767         * lib/quotearg.h (c_maybe_quoting_style): New style.
43768         (enum quoting_flags): Better documentation of flags.
43769         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
43770         c-maybe style.
43771         (quotearg_buffer_restyled): Handle new flag to elide outer
43772         quotes.
43773
43774         Quotearg part 2: add flag that can control NUL elision.
43775         * lib/quotearg.h (set_quoting_flags): New prototype.
43776         * lib/quotearg.c (struct quoting_options): Add flag field.
43777         (set_quoting_flags): New function.
43778         (quotearg_buffer_restyled): Add flags parameter.
43779         (quotearg_alloc_mem): Set the flag if length cannot be returned.
43780         (quotearg_n_options): Set the flag, since length cannot be
43781         returned.
43782         (quoting_options_from_style): Default flags correctly.
43783
43784         Quotearg part 1: more wrappers, restore quotearg_char state.
43785         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
43786         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
43787         (quotearg_colon_mem): New wrappers.
43788         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
43789         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
43790         functions.
43791         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
43792         (quotearg_colon_mem): New functions.
43793
43794 2008-02-11  Bruno Haible  <bruno@clisp.org>
43795
43796         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
43797         library in the current directory: it does not work with parallel make.
43798         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43799
43800 2008-02-11  Bruno Haible  <bruno@clisp.org>
43801
43802         * .gitattributes: New file.
43803
43804 2008-02-11  Jim Meyering  <meyering@redhat.com>
43805
43806         useless-if-before-free: Fix reversed exit values.
43807         * build-aux/useless-if-before-free: Use correct values
43808         for EXIT_MATCH and EXIT_NO_MATCH.
43809
43810         * build-aux/useless-if-before-free: Close stdout carefully.
43811
43812 2008-02-10  Bruno Haible  <bruno@clisp.org>
43813
43814         New module 'git-merge-changelog'.
43815         * modules/git-merge-changelog: New file.
43816         * lib/git-merge-changelog.c: New file.
43817
43818 2008-02-10  Jim Meyering  <meyering@redhat.com>
43819
43820         useless-if-before-free: New option: --list (-l).
43821
43822         useless-if-before-free: Don't exit immediately upon open failure.
43823         * build-aux/useless-if-before-free: Exit 2 for errors.
43824         Upon failure to open a file, don't exit immediately.
43825         Rather, just warn and continue with any remaining files.
43826
43827 2008-02-10  Bruno Haible  <bruno@clisp.org>
43828
43829         New abstract list operation 'node_set_value'.
43830         * lib/gl_list.h (gl_list_node_set_value): New function.
43831         (struct gl_list_implementation): New field node_set_value.
43832         * lib/gl_list.c (gl_list_node_set_value): New function.
43833         * lib/gl_array_list.c (gl_array_node_set_value): New function.
43834         (gl_array_list_implementation): Update.
43835         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
43836         (gl_carray_list_implementation): Update.
43837         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
43838         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43839         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43840         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
43841         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43842         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43843         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43844         Update.
43845         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
43846         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
43847         (gl_sublist_list_implementation): Update.
43848
43849 2008-02-10  Bruno Haible  <bruno@clisp.org>
43850
43851         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
43852         Needed when ELEMENT is #defined to 'some_type *'.
43853
43854 2008-02-10  Jim Meyering  <meyering@redhat.com>
43855
43856         New script and module: useless-if-before-free
43857         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
43858         * build-aux/useless-if-before-free: New file.
43859         * modules/useless-if-before-free: New file.
43860
43861         * build-aux/gitlog-to-changelog: Use committer date, not author date.
43862
43863         xstrtol_error: Fix typo.
43864         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
43865         s/exit_failure/exit_status/.
43866
43867 2008-02-09  Jim Meyering  <meyering@redhat.com>
43868
43869         New script and module: gitlog-to-changelog
43870         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
43871         * modules/gitlog-to-changelog: New file.
43872         * build-aux/gitlog-to-changelog: New file.
43873
43874 2008-02-08  Jim Meyering  <meyering@redhat.com>
43875
43876         Avoid two "parameter unused" warnings.
43877         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
43878         Mark "st" as used.
43879
43880         Use "git COMMAND", not "git-COMMAND".
43881         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
43882         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
43883         * build-aux/git-version-gen: Use "git status", not "git-status".
43884
43885 2008-02-07  Bruno Haible  <bruno@clisp.org>
43886
43887         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
43888         Avoids a crash on Windows Vista.
43889         Reported by Adam Strzelecki <ono@java.pl> via
43890         Simon Josefsson <simon@josefsson.org>.
43891
43892 2008-02-06  Bruno Haible  <bruno@clisp.org>
43893
43894         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
43895         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
43896         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
43897         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
43898         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43899         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43900         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
43901         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
43902         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43903         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43904         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43905         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43906         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43907         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43908         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43909         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
43910         left-adjust flag.
43911         * tests/test-snprintf-posix.h (test_function): Likewise.
43912         * tests/test-sprintf-posix.h (test_function): Likewise.
43913         * tests/test-vasprintf-posix.c (test_function): Likewise.
43914         * doc/posix-functions/fprintf.texi: Update.
43915         * doc/posix-functions/printf.texi: Update.
43916         * doc/posix-functions/snprintf.texi: Update.
43917         * doc/posix-functions/sprintf.texi: Update.
43918         * doc/posix-functions/vfprintf.texi: Update.
43919         * doc/posix-functions/vprintf.texi: Update.
43920         * doc/posix-functions/vsnprintf.texi: Update.
43921         * doc/posix-functions/vsprintf.texi: Update.
43922         Reported by Peter Fales <psfales@alcatel-lucent.com>.
43923
43924 2008-02-06  Bruno Haible  <bruno@clisp.org>
43925
43926         Fix bug introduced on 2008-01-26.
43927         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
43928
43929 2008-02-06  Bruno Haible  <bruno@clisp.org>
43930
43931         Fix bug introduced on 2007-06-10.
43932         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
43933         !NEED_PRINTF_FLAG_ZERO.
43934
43935 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
43936
43937         getloadavg: use libperfstat on AIX5
43938         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
43939
43940 2008-02-03  Bruno Haible  <bruno@clisp.org>
43941
43942         * lib/diffseq.h: Add comments about required #includes.
43943         Reported by Michael Biggs <gnulib@doubleplum.net>.
43944
43945 2008-02-01  Bruno Haible  <bruno@clisp.org>
43946
43947         * users.txt: Add gnuit.
43948
43949 2008-01-31  Bruno Haible  <bruno@clisp.org>
43950
43951         * lib/md4.c (set_uint32): Mark as inline.
43952         * lib/md5.c (set_uint32): Likewise.
43953         * lib/sha1.c (set_uint32): Likewise.
43954         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
43955         * m4/md5.m4 (gl_MD5): Likewise.
43956         * m4/sha1.m4 (gl_SHA1): Likewise.
43957
43958 2008-01-31  Jim Meyering  <meyering@redhat.com>
43959
43960         Use "sizeof VAR", rather than a literal "4".
43961         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
43962         * lib/md4.c (md4_read_ctx): Likewise.
43963         * lib/sha1.c (sha1_read_ctx): Likewise.
43964
43965 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43966
43967         * tests/test-sha1.c: New file, based on test-md5.c.
43968
43969         * modules/crypto/sha1-tests: New file.
43970
43971 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43972
43973         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
43974
43975 2008-01-31  Jim Meyering  <meyering@redhat.com>
43976
43977         Prefer "sizeof v" over the equivalent "4".
43978         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
43979         * lib/md5.c (set_uint32): Likewise.
43980         * lib/sha1.c (set_uint32): Likewise.
43981
43982 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43983
43984         * lib/sha1.c (set_uint32): Mark function as static.
43985
43986 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43987
43988         md2: clarify comments to say that alignment is not required.
43989         * lib/md2.h: Remove warning about alignment in comment.
43990         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
43991         never been required.
43992
43993 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43994
43995         md4: adapt alignment constraint fix from sha1.
43996         * lib/md4.c (set_uint32): New function, from sha1.c
43997         (md4_read_ctx): Use it.
43998         (md4_finish_ctx): Doc fix.
43999         * lib/md4.h: Doc fix.
44000
44001 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44002
44003         md5: adapt alignment constraint fix from sha1.
44004         * lib/md5.c (set_uint32): New function, from sha1.c
44005         (md5_read_ctx): Use it.
44006         (md5_finish_ctx): Doc fix.
44007         * lib/md5.h: Doc fix.
44008
44009 2008-01-30  Peter Palfrader  <weasel@debian.org>
44010
44011         sha1: remove the result buffer alignment constraint
44012         * lib/sha1.c (set_uint32): New function.
44013         (sha1_read_ctx): Rewrite to remove the result buffer alignment
44014         constraint.
44015         (sha1_finish_ctx): Remove comment warning about alignment constraint.
44016         * lib/sha1.h: Likewise.
44017
44018 2008-01-30  Andreas Schwab  <schwab@suse.de>
44019             Bruno Haible  <bruno@clisp.org>
44020
44021         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
44022         correct definition of LDBL_MIN_EXP.
44023
44024 2008-01-30  Karl Berry  <karl@gnu.org>
44025
44026         * config/srclist-update: try to preserve x bit on updates.
44027         * config/srclistvars.sh: update for karl.
44028
44029 2008-01-29  Jim Meyering  <meyering@redhat.com>
44030
44031         vasnprintf.c: Avoid warning about unused label
44032         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
44033         "overflow" label definition and associated code with the
44034         same cpp condition that guards the sole use of that label.
44035
44036 2008-01-26  Bruno Haible  <bruno@clisp.org>
44037
44038         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
44039         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
44040         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
44041         * lib/isnanl-nolibm.h (isnanl): Likewise.
44042         Reported by Paul Eggert <eggert@cs.ucla.edu>.
44043
44044 2008-01-26  Bruno Haible  <bruno@clisp.org>
44045
44046         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
44047         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
44048
44049 2008-01-26  Bruno Haible  <bruno@clisp.org>
44050
44051         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
44052         GCC >= 4.0 built-in.
44053         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
44054
44055 2008-01-26  Bruno Haible  <bruno@clisp.org>
44056
44057         Rename isnan, applicable to 'double' only, to isnand.
44058         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
44059         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
44060         (configure.ac): Update.
44061         (Include): Replace "isnan.h" with "isnand.h".
44062         * m4/isnand.m4: Renamed from m4/isnan.m4.
44063         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
44064         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
44065         instead of isnan.c.
44066         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
44067         instead of HAVE_ISNAN_IN_LIBC.
44068         (isnand): Renamed from isnan.
44069         * lib/isnand.c: New file.
44070         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
44071         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
44072         (Makefile.am): Update.
44073         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
44074         Include isnand.h instead of isnan.h.
44075         (main): Test isnand instead of isnan.
44076         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
44077         isnan-nolibm.
44078         * modules/frexp (Depends-on): Likewise.
44079         * modules/frexp-tests (Depends-on): Likewise.
44080         * modules/frexp-nolibm (Depends-on): Likewise.
44081         * modules/frexp-nolibm-tests (Depends-on): Likewise.
44082         * modules/isfinite (Depends-on): Likewise.
44083         * modules/round-tests (Depends-on): Likewise.
44084         * modules/signbit (Depends-on): Likewise.
44085         * modules/signbit-tests (Depends-on): Likewise.
44086         * modules/snprintf-posix (Depends-on): Likewise.
44087         * modules/sprintf-posix (Depends-on): Likewise.
44088         * modules/trunc-tests (Depends-on): Likewise.
44089         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44090         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44091         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44092         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44093         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44094         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44095         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44096         * modules/vasnprintf-posix (Depends-on): Likewise.
44097         * modules/vasprintf-posix (Depends-on): Likewise.
44098         * modules/vfprintf-posix (Depends-on): Likewise.
44099         * modules/vsnprintf-posix (Depends-on): Likewise.
44100         * modules/vsprintf-posix (Depends-on): Likewise.
44101         * lib/frexp.c: Include isnand.h instead of isnan.h.
44102         (ISNAN): Set to isnand instead of isnan.
44103         * lib/isfinite.c: Include isnand.h instead of isnan.h.
44104         (gl_isfinited): Use isnand instead of isnan.
44105         * lib/signbitd.c: Include isnand.h instead of isnan.h.
44106         (gl_signbitd): Use isnand instead of isnan.
44107         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
44108         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
44109         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
44110         (main): Use isnand instead of isnan.
44111         * tests/test-round1.c: Include isnand.h.
44112         (main): Use isnand instead of isnan.
44113         * tests/test-round2.c: Include isnand.h instead of isnan.h.
44114         (ISNAN): Set to isnand instead of isnan.
44115         * tests/test-trunc1.c: Include isnand.h.
44116         (main): Use isnand instead of isnan.
44117         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
44118         (equal): Use isnand instead of isnan.
44119         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
44120         isnand-nolibm.
44121         * NEWS: Mention the change.
44122
44123 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44124             Bruno Haible  <bruno@clisp.org>
44125
44126         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
44127         the GCC builtins for signbits are present and set
44128         REPLACE_SIGNBIT_USING_GCC if so.
44129         * lib/math.in.h (signbit): Define using GCC builtins if
44130         REPLACE_SIGNBIT_USING_GCC is set.
44131         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
44132         REPLACE_SIGNBIT_USING_GCC.
44133         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
44134
44135 2008-01-25  Jim Meyering  <meyering@redhat.com>
44136
44137         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
44138         * lib/poll.c: Include <config.h>, not "config.h".
44139         * tests/test-getaddrinfo.c: Likewise.
44140
44141 2008-01-25  Simon Josefsson  <simon@josefsson.org>
44142
44143         * modules/sockets-tests: New file.
44144
44145 2008-01-24  Simon Josefsson  <simon@josefsson.org>
44146
44147         * modules/sockets: New module, can be used to call WSA_Startup and
44148         WSA_Cleanup when needed.
44149
44150         * lib/sockets.h, lib/sockets.c: New files.
44151
44152         * m4/sockets.m4: New file.
44153
44154         * tests/test-sockets.c: New file.
44155
44156 2008-01-19  Bruno Haible  <bruno@clisp.org>
44157
44158         * doc/posix-headers: Renamed from doc/headers.
44159         * doc/posix-functions: Renamed from doc/functions.
44160         * doc/gnulib.texi: Update.
44161
44162 2008-01-19  Bruno Haible  <bruno@clisp.org>
44163
44164         * doc/glibc-functions/strcasestr.texi: Include contents of
44165         doc/functions/strcasestr.texi, fixing the list of platforms.
44166         * doc/functions/strcasestr.texi: Remove file.
44167
44168 2008-01-19  Bruno Haible  <bruno@clisp.org>
44169
44170         * doc/glibc-functions/memmem.texi: Include contents of
44171         doc/functions/memmem.texi.
44172         * doc/functions/memmem.texi: Remove file.
44173
44174 2008-01-18  Bruno Haible  <bruno@clisp.org>
44175
44176         * doc/glibc-functions/*.texi: New files.
44177         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
44178         to use the new files.
44179
44180 2008-01-17  Bruno Haible  <bruno@clisp.org>
44181
44182         * tests/test-gethostname.c (main): Fix printf statement.
44183
44184 2008-01-17  Simon Josefsson  <simon@josefsson.org>
44185
44186         * modules/gethostname-tests: New file.
44187
44188         * tests/test-gethostname.c: New file.
44189
44190 2008-01-17  Simon Josefsson  <simon@josefsson.org>
44191
44192         * lib/gethostname.c: Include string.h unconditionally, strncpy is
44193         used by the UNAME case.  Reported by Bruno Haible
44194         <bruno@clisp.org>.
44195
44196 2008-01-17  Eric Blake  <ebb9@byu.net>
44197
44198         Convert c-strcasestr to be more efficient.
44199         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
44200         (Depends-on): Add c-strcase, remove malloca, strnlen.
44201         * tests/test-c-strcasestr.c (main): Enhance test.
44202         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
44203
44204 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
44205
44206         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
44207         Use it in creating po/Makevars.
44208
44209 2008-01-15  Simon Josefsson  <simon@josefsson.org>
44210
44211         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
44212         Applications that requires it should initialize libgcrypt
44213         manually.
44214
44215 2008-01-16  Simon Josefsson  <simon@josefsson.org>
44216
44217         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
44218
44219 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
44220
44221         Fix problem with getdate on mingw32 reported by Simon Josefsson
44222         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
44223         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
44224         tzname", when deciding whether to declare tzname.
44225         * lib/strftime.c (tzname): Likewise.
44226
44227 2008-01-15  Bruno Haible  <bruno@clisp.org>
44228
44229         Work around a MacOS X 10.5 bug in frexpl().
44230         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
44231         * doc/functions/frexpl.texi: Document the bug.
44232         Reported by Elias Pipping <pipping@gentoo.org>.
44233
44234 2008-01-14  Eric Blake  <ebb9@byu.net>
44235
44236         Touch up previous patch.
44237         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
44238         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
44239
44240         Convert strcasestr module to use Two-Way algorithm.
44241         * modules/strcasestr-simple: New module, based on the old
44242         strcasestr, but with Two-Way rather than KMP.
44243         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
44244         * lib/string.in.h (rpl_strcasestr): Declare.
44245         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
44246         performance.
44247         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
44248         * modules/string (Makefile.am): Support strcasestr.
44249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44250         * modules/strcasestr-tests (Depends-on): Check for alarm.
44251         * tests/test-strcasestr.c: Augment test.
44252         * lib/str-two-way.h: Clean up stray macro.
44253         * NEWS: Document new module.
44254         * MODULES.html.sh (string handling): Likewise.
44255         * doc/functions/strcasestr.texi: New file.
44256         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
44257         here, since it is not a POSIX function.
44258
44259 2008-01-14  Colin Watson  <cjwatson@debian.org>
44260             Bruno Haible  <bruno@clisp.org>
44261
44262         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
44263         works fine; if not, set REPLACE_STRSIGNAL.
44264         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
44265         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44266         REPLACE_STRSIGNAL.
44267         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
44268         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
44269         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
44270
44271 2008-01-14  Bruno Haible  <bruno@clisp.org>
44272
44273         * modules/strsignal (Include): Change to <string.h>.
44274
44275 2008-01-14  Colin Watson  <cjwatson@debian.org>
44276
44277         * modules/argp (Notice): Add a notice recommending to change
44278         XGETTEXT_OPTIONS.
44279         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
44280
44281 2008-01-13  Colin Watson  <cjwatson@debian.org>
44282
44283         * modules/strsignal-tests: New file.
44284         * tests/test-strsignal.c: New file.
44285
44286         * lib/strsignal.c: New file, from glibc with modifications.
44287         * lib/siglist.h: New file, from glibc with modifications.
44288         * lib/string.in.h (strsignal): New declaration.
44289         * m4/strsignal.m4: New file.
44290         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44291         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
44292         * modules/strsignal: New file.
44293         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
44294         HAVE_DECL_STRSIGNAL.
44295
44296 2008-01-13  Bruno Haible  <bruno@clisp.org>
44297
44298         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
44299         locale encoding is not ASCII. Needed for OpenBSD 4.0.
44300         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
44301         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44302
44303 2008-01-13  Bruno Haible  <bruno@clisp.org>
44304
44305         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
44306         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
44307         * lib/argp.h (__attribute__): Likewise.
44308         * lib/c-stack.c (__attribute__): Likewise.
44309         * lib/error.h (__attribute__): Likewise.
44310         * lib/fts.c (__attribute__): Likewise.
44311         * lib/openat.h (__attribute__): Likewise.
44312         * lib/stdio.in.h (__attribute__): Likewise.
44313         * lib/string.in.h (__attribute__): Likewise.
44314         * lib/utimens.c (__attribute__): Likewise.
44315         * lib/vasnprintf.h (__attribute__): Likewise.
44316         * lib/xalloc.h (__attribute__): Likewise.
44317         * lib/xprintf.h (__attribute__): Likewise.
44318         * lib/xstrtol.h (__attribute__): Likewise.
44319         * lib/xvasprintf.h (__attribute__): Likewise.
44320
44321 2008-01-12  Bruno Haible  <bruno@clisp.org>
44322
44323         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
44324         * doc/glibc-headers/a.out.texi: New file.
44325         * doc/glibc-headers/aliases.texi: New file.
44326         * doc/glibc-headers/alloca.texi: New file.
44327         * doc/glibc-headers/ar.texi: New file.
44328         * doc/glibc-headers/argp.texi: New file.
44329         * doc/glibc-headers/argz.texi: New file.
44330         * doc/glibc-headers/byteswap.texi: New file.
44331         * doc/glibc-headers/crypt.texi: New file.
44332         * doc/glibc-headers/endian.texi: New file.
44333         * doc/glibc-headers/envz.texi: New file.
44334         * doc/glibc-headers/err.texi: New file.
44335         * doc/glibc-headers/error.texi: New file.
44336         * doc/glibc-headers/execinfo.texi: New file.
44337         * doc/glibc-headers/fpu_control.texi: New file.
44338         * doc/glibc-headers/fstab.texi: New file.
44339         * doc/glibc-headers/fts.texi: New file.
44340         * doc/glibc-headers/getopt.texi: New file.
44341         * doc/glibc-headers/ieee754.texi: New file.
44342         * doc/glibc-headers/ifaddrs.texi: New file.
44343         * doc/glibc-headers/libintl.texi: New file.
44344         * doc/glibc-headers/mcheck.texi: New file.
44345         * doc/glibc-headers/mntent.texi: New file.
44346         * doc/glibc-headers/obstack.texi: New file.
44347         * doc/glibc-headers/paths.texi: New file.
44348         * doc/glibc-headers/printf.texi: New file.
44349         * doc/glibc-headers/pty.texi: New file.
44350         * doc/glibc-headers/resolv.texi: New file.
44351         * doc/glibc-headers/shadow.texi: New file.
44352         * doc/glibc-headers/sysexits.texi: New file.
44353         * doc/glibc-headers/ttyent.texi: New file.
44354
44355 2008-01-12  Jim Meyering  <meyering@redhat.com>
44356
44357         announce-gen: emit Gnulib's git-based version string.
44358         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
44359         New option --gnulib-version=V, where V is expected to be
44360         the output of running git describe in the gnulib directory.
44361         (get_tool_versions): Request feedback on xdelta.  I suspect it's
44362         not useful, and plan to stop publishing an xdelta file with each
44363         coreutils release.
44364
44365         * build-aux/announce-gen: Also check for lzma-compressed files.
44366
44367 2008-01-11  Bruno Haible  <bruno@clisp.org>
44368
44369         * tests/test-memmem.c (main): Increase maximum allowed time.
44370         * tests/test-strstr.c (main): Likewise.
44371
44372 2008-01-11  Bruno Haible  <bruno@clisp.org>
44373
44374         * doc/functions/memmem.texi: Add more precisions about platforms.
44375         * doc/functions/strstr.texi: Likewise.
44376
44377 2008-01-10  Eric Blake  <ebb9@byu.net>
44378
44379         * m4/strstr.m4: Delete cruft from copy-n-paste.
44380         Reported by Bruno Haible.
44381
44382 2008-01-10  Bruno Haible  <bruno@clisp.org>
44383
44384         Make c-strstr rely on strstr.
44385         * lib/c-strstr.c: Don't include str-kmp.h.
44386         (c_strstr): Define in terms of strstr.
44387         * modules/c-strstr (Files): Remove lib/str-kmp.h.
44388         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
44389
44390 2008-01-10  Bruno Haible  <bruno@clisp.org>
44391
44392         * doc/gnulib.texi (String Functions in C Locale): New section.
44393         * doc/c-ctype.texi: New file.
44394         * doc/c-strcase.texi: New file.
44395         * doc/c-strcaseeq.texi: New file.
44396         * doc/c-strcasestr.texi: New file.
44397         * doc/c-strstr.texi: New file.
44398         * doc/c-strtod.texi: New file.
44399         * doc/c-strtold.texi: New file.
44400
44401 2008-01-10  Eric Blake  <ebb9@byu.net>
44402
44403         * lib/relocatable.h: Fix a comment.
44404
44405 2008-01-10  Eric Blake  <ebb9@byu.net>
44406
44407         Share two-way algorithm.
44408         * lib/str-two-way.h: New file, merged from...
44409         * lib/memmem.c: ...here...
44410         * lib/strstr.c: ...and here.
44411         * modules/memmem (Files): Use it.
44412         * modules/strstr (Files): Likewise.
44413
44414         Avoid quadratic strstr implementations.
44415         * lib/strstr.c: New file.
44416         * m4/strstr.m4: Likewise.
44417         * modules/strstr: Likewise.
44418         * modules/strstr-tests: Likewise.
44419         * tests/test-strstr.c: Likewise.
44420         * lib/string.in.h (rpl_strstr): Declare.
44421         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
44422         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
44423         * modules/string (Makefile.am): Likewise.
44424         * MODULES.html.sh (string handling): Mention new module.
44425         * doc/functions/strstr.texi (strstr): Document the bug.
44426
44427 2008-01-10  Bruno Haible  <bruno@clisp.org>
44428
44429         * lib/relocatable.h (relocate): State whether result is freshly
44430         allocated or not.
44431         * lib/relocatable.c (relocate): Return a freshly allocated string
44432         instead of a pointer to a privately held string.
44433         Reported by Sylvain Beucler <beuc@gnu.org>.
44434
44435 2008-01-10  Colin Watson  <cjwatson@debian.org>
44436
44437         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
44438         s/S_ISNLK/S_ISLNK/.
44439
44440 2008-01-09  Bruno Haible  <bruno@clisp.org>
44441
44442         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
44443         and other files.
44444         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
44445         if it's only a guess.
44446         * modules/memmem: Simplify by depending on memmem-simple.
44447
44448 2008-01-09  Bruno Haible  <bruno@clisp.org>
44449
44450         Work around OpenBSD 4.0 tdelete() bug.
44451         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
44452         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
44453         macros and don't redefine the enum values.
44454         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
44455         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
44456         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
44457
44458 2008-01-09  Bruno Haible  <bruno@clisp.org>
44459
44460         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
44461         (main): Don't perform the tests if setlocale did not install a UTF-8
44462         locale. Needed on OpenBSD 4.0.
44463         * modules/wcwidth-tests (Depends-on): Add localcharset.
44464
44465 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44466
44467         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
44468         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
44469         * NEWS: announce this.
44470         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
44471
44472 2008-01-09  Simon Josefsson  <simon@josefsson.org>
44473         and Eric Blake  <ebb9@byu.net>
44474
44475         Add memmem-simple module.
44476         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
44477         (gl_FUNC_MEMMEM): Separate performance from presence checks.
44478         * modules/memmem-simple: New file.
44479         * modules/memmem (Description): Tweak.
44480         * MODULES.html.sh (string handling): Mention new module.
44481         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
44482         addressed by memmem-simple.
44483         * NEWS: Document the difference.
44484
44485 2008-01-09  Eric Blake  <ebb9@byu.net>
44486
44487         Give gcc some memmem optimization hints.
44488         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
44489         (strcasestr): Declare as pure.
44490         * modules/memmem (Maintainer): Claim my implementation.
44491
44492 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44493
44494         Support AIX 6.1 and higher.
44495         * build-aux/config.libpath: Likewise.
44496         * build-aux/config.rpath: Likewise.
44497
44498 2008-01-08  Jim Meyering  <meyering@redhat.com>
44499             Bruno Haible  <bruno@clisp.org>
44500
44501         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
44502         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
44503         Reported by Peter Fales in
44504         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
44505
44506 2008-01-08  Bruno Haible  <bruno@clisp.org>
44507
44508         * modules/unictype/category-of (Depends-on): Add
44509         unictype/category-none.
44510         * modules/unictype/category-and-tests (Depends-on): Add
44511         unictype/category-{L,N,Lu,Nd}.
44512         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
44513         * modules/unictype/category-or-tests (Depends-on): Add
44514         unictype/category-{L,N}.
44515         * modules/unictype/category-name-tests (Depends-on): Add
44516         unictype/category-{Z,Nl}.
44517         Reported by Simon Josefsson.
44518
44519 2008-01-08  Bruno Haible  <bruno@clisp.org>
44520
44521         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
44522         convention better.
44523         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
44524         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
44525         Reported by Peter Miller <millerp@canb.auug.org.au>.
44526
44527 2008-01-08  Eric Blake  <ebb9@byu.net>
44528
44529         Rewrite memmem to guarantee linear complexity without malloc.
44530         * lib/memmem.c (memmem): Use Two-Way rather than
44531         Knuth-Morris-Pratt, to allow O(1) space usage.
44532         (critical_factorization, two_way_short_needle)
44533         (two_way_long_needle): New functions.
44534         (knuth_morris_pratt): Delete.
44535         * modules/memmem (Depends-on): No longer need malloca or stdbool.
44536         Add stdint.
44537         * tests/test-memmem.c (main): Add tests for periodic needle and
44538         sublinear performance.
44539         * doc/functions/memmem.texi (memmem): Document other deficiencies
44540         in cygwin and older glibc.
44541
44542 2008-01-08  Bruno Haible  <bruno@clisp.org>
44543
44544         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
44545         augmentation.
44546
44547 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
44548
44549         Add a configure time option: --disable-acl.
44550         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
44551         AC_ARG_ENABLE(acl).
44552
44553 2008-01-06  Simon Josefsson  <simon@josefsson.org>
44554
44555         * tests/test-localename.c: Don't include obsolete "setenv.h".
44556
44557         * modules/localename-tests (Depends-on): Need unsetenv.
44558
44559 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44560
44561         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
44562
44563 2008-01-06  Colin Watson  <cjwatson@debian.org>
44564
44565         * users.txt: Add man-db.
44566
44567 2008-01-07  Bruno Haible  <bruno@clisp.org>
44568
44569         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
44570         previous section name.
44571
44572 2008-01-07  Bruno Haible  <bruno@clisp.org>
44573
44574         * lib/progname.c (set_program_name): Don't strip off a leading
44575         "lt-" prefix outside a .libs directory.
44576         Suggested by Paul Eggert.
44577
44578 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
44579             Bruno Haible  <bruno@clisp.org>
44580
44581         Improve memory cleanup in 'relocatable' module.
44582         * lib/relocatable.h (compute_curr_prefix): Change return type to
44583         'char *'.
44584         * lib/relocatable.c (compute_curr_prefix): Change return type to
44585         'char *'. Free curr_installdir after use.
44586         (relocate): Free curr_prefix_better after use.
44587         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
44588
44589 2008-01-01  Bruno Haible  <bruno@clisp.org>
44590
44591         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
44592         failure on older glibc systems.
44593         Reported by Peter Fales <psfales@alcatel-lucent.com>.
44594
44595 2008-01-05  Eric Blake  <ebb9@byu.net>
44596
44597         Avoid quadratic system memmem.
44598         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
44599         Reported by Ralf Wildenhues.
44600
44601         Fix memmem test for mingw.
44602         * modules/memmem-tests (configure.ac): Check for alarm.
44603         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
44604         it.
44605         * doc/functions/memmem.texi: New file.
44606         * doc/gnulib.texi (Function Substitutes): Add memmem.
44607         Reported by Bruno Haible.
44608
44609 2008-01-04  Bruno Haible  <bruno@clisp.org>
44610
44611         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
44612         Require gl_HEADER_STRINGS_H_DEFAULTS, not
44613         gl_HEADER_STRING_H_DEFAULTS.
44614
44615 2008-01-04  Eric Blake  <ebb9@byu.net>
44616
44617         Shorten duration of memmem test.
44618         * tests/test-memmem.c (main): Use alarm to declare failure if test
44619         is taking too long.
44620         Reported by Ralf Wildenhues.
44621
44622 2007-12-21  Simon Josefsson  <simon@josefsson.org>
44623
44624         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
44625         string, needed by strerror.
44626
44627 2008-01-03  Colin Watson  <cjwatson@debian.org>
44628             Bruno Haible  <bruno@clisp.org>
44629
44630         * doc/gnulib-tool.texi (Localization): New section.
44631
44632 2008-01-02  Bruno Haible  <bruno@clisp.org>
44633
44634         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
44635         variables to 'unsigned char *' type.
44636         Reported by Paul Eggert.
44637
44638 2008-01-02  Jim Meyering  <jim@meyering.net>
44639
44640         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
44641
44642 2007-12-31  Jim Meyering  <jim@meyering.net>
44643
44644         Avoid use of private FTS type name.
44645         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
44646
44647 2007-12-30  Karl Berry  <karl@gnu.org>
44648
44649         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
44650         work around defect in Texinfo and/or the standalone Info browser.
44651
44652 2007-12-30  Bruno Haible  <bruno@clisp.org>
44653
44654         Unify 5 copies of the KMP code.
44655         * lib/str-kmp.h: New file.
44656         * lib/c-strcasestr.c: Include str-kmp.h.
44657         (knuth_morris_pratt): Remove function.
44658         (c_strcasestr): Update.
44659         * lib/c-strstr.c: Include str-kmp.h.
44660         (knuth_morris_pratt): Remove function.
44661         (c_strcasestr): Update.
44662         * lib/mbscasestr.c: Include str-kmp.h.
44663         (knuth_morris_pratt_unibyte): Remove function.
44664         * lib/mbsstr.c: Include str-kmp.h.
44665         (knuth_morris_pratt_unibyte): Remove function.
44666         * lib/strcasestr.c: Include str-kmp.h.
44667         (knuth_morris_pratt): Remove function.
44668         (strcasestr): Update.
44669         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
44670         * modules/c-strstr (Files): Likewise.
44671         * modules/mbscasestr (Files): Likewise.
44672         * modules/mbsstr (Files): Likewise.
44673         * modules/strcasestr (Files): Likewise.
44674         Suggested by Paul Eggert.
44675
44676 2007-12-30  Bruno Haible  <bruno@clisp.org>
44677
44678         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
44679         defined.
44680
44681 2007-12-30  Bruno Haible  <bruno@clisp.org>
44682
44683         * lib/xmalloca.h: Include xalloc.h.
44684         (xnmalloca): New macro.
44685
44686 2007-12-30  Bruno Haible  <bruno@clisp.org>
44687
44688         * lib/malloca.h (nmalloca): New macro.
44689         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
44690         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
44691         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
44692         knuth_morris_pratt_multibyte): Likewise.
44693         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
44694         knuth_morris_pratt_multibyte): Likewise.
44695         * lib/memmem.c (knuth_morris_pratt): Likewise.
44696         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
44697
44698 2007-12-25  Bruno Haible  <bruno@clisp.org>
44699
44700         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
44701         * lib/glob.c: Don't include openat.h.
44702         (link_exists2_p): Add back the code that deals with the
44703         !GLOB_ALTDIRFUNC case.
44704         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
44705         let it do the filename concatenation.
44706         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
44707         * modules/glob (Depends-on): Remove openat.
44708
44709 2007-12-31  Bruno Haible  <bruno@clisp.org>
44710
44711         * modules/dirfd (License): Change to LGPLv2+.
44712         Approved by Jim Meyering.
44713
44714 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44715
44716         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
44717         when multiplying M by sizeof (size_t).
44718
44719 2007-12-10  Martin Lambers  <marlam@marlam.de>
44720
44721         Override getpagesize on mingw.
44722         * lib/getpagesize.c: New file.
44723         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
44724         * modules/getpagesize (Files): Add lib/getpagesize.c.
44725         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
44726         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44727         REPLACE_GETPAGESIZE.
44728         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
44729
44730 2007-12-25  Bruno Haible  <bruno@clisp.org>
44731
44732         * modules/localcharset (Notice): New field.
44733         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
44734         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
44735
44736 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44737             Bruno Haible  <bruno@clisp.org>
44738
44739         Avoid using the syntax symbol() in formatted documentation.
44740         * MODULES.html.sh (func_module): When replacing symbol() with a
44741         hyperlink, remove the parentheses. Show an error if some remain.
44742         Recognize and render the '...' syntax.
44743         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
44744         Rework. Add paragraph about GCC's inlining.
44745         * doc/alloca.texi: Likewise.
44746         * doc/error.texi: Remove parentheses from symbol reference.
44747         * doc/gnulib-intro.texi: Likewise.
44748         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
44749         * modules/fnmatch (Description): Reword to say "the ... function".
44750         * modules/full-read (Description): Likewise.
44751         * modules/full-write (Description): Likewise.
44752         * modules/safe-read (Description): Likewise.
44753         * modules/safe-write (Description): Likewise.
44754         * modules/strchrnul (Description): Likewise.
44755         * modules/trim (Description): Likewise.
44756         * modules/error (Description): Remove parentheses from symbol
44757         references.
44758         * modules/verror (Description): Likewise.
44759         Reported by Karl Berry.
44760
44761 2007-12-25  Bruno Haible  <bruno@clisp.org>
44762
44763         Fixup after 2007-10-16 commit.
44764         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
44765
44766 2007-12-24  Bruno Haible  <bruno@clisp.org>
44767
44768         Make --enable-relocatable work with DESTDIR.
44769         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
44770         to compute installdir from destprog.
44771         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
44772         also set the RELOC_DESTDIR variable.
44773         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
44774
44775 2007-12-24  Bruno Haible  <bruno@clisp.org>
44776
44777         Fix link error due to xalloc_die().
44778         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
44779         of xreadlink.
44780         * lib/relocwrapper.c: Update comments.
44781         * build-aux/install-reloc: Remove xreadlink.c from file list.
44782         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
44783         xreadlink.c.
44784         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
44785
44786 2007-12-24  Bruno Haible  <bruno@clisp.org>
44787
44788         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
44789         * lib/setenv.h: Remove file.
44790         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
44791         lib/setenv.h.
44792         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
44793         (Depends-on): Add stdlib.
44794         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
44795         gl_FUNC_UNSETENV.
44796         (Include): Replace setenv.h with <stdlib.h>.
44797         * modules/unsetenv: New file.
44798         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
44799         * lib/unsetenv.c: Include <stdlib.h> first.
44800         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
44801         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
44802         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
44803         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
44804         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
44805         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
44806         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
44807         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
44808         * doc/functions/unsetenv.texi: Update.
44809         * modules/xsetenv (Depends-on): Add unsetenv.
44810         * modules/getdate (Depends-on): Likewise.
44811         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
44812         * lib/xsetenv.c: Don't include setenv.h.
44813         * lib/getdate.y: Likewise.
44814         * lib/relocwrapper.c: Likewise.
44815         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
44816         (Depends-on): Add stdlib.
44817         * NEWS: Mention the changes.
44818         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
44819
44820 2007-12-23  Bruno Haible  <bruno@clisp.org>
44821
44822         * lib/memmem.c (memmem): Use lowercase variable names. Tab
44823         indentation.
44824
44825 2007-12-23  Bruno Haible  <bruno@clisp.org>
44826
44827         * lib/c-strcasestr.c: Add more comments.
44828         * lib/c-strstr.c: Likewise.
44829         * lib/mbscasestr.c: Likewise.
44830         * lib/mbsstr.c: Likewise.
44831         * lib/strcasestr.c: Likewise.
44832         * lib/memmem.c: Likewise.
44833
44834 2007-12-23  Bruno Haible  <bruno@clisp.org>
44835
44836         * tests/test-memmem.c: Include <string.h> first.
44837
44838 2007-12-22  Bruno Haible  <bruno@clisp.org>
44839
44840         * gnulib-tool (func_create_testdir): Change $auxdir while generating
44841         the contents of $testsbase.
44842         Reported by Ralf Wildenhues.
44843
44844 2007-12-22  Bruno Haible  <bruno@clisp.org>
44845
44846         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
44847         two variables local_ldadd_before, local_ldadd_last.
44848
44849 2007-12-20  Eric Blake  <ebb9@byu.net>
44850
44851         Work around circular library issue when cross-compiling.
44852         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
44853         that progname.o does not need to pull in rpl_memcmp.
44854
44855 2007-12-19  Eric Blake  <ebb9@byu.net>
44856
44857         Fix memmem to avoid O(n^2) worst-case complexity.
44858         * lib/memmem.c (knuth_morris_pratt): New function.
44859         (memmem): Use it if first few naive iterations fail.
44860         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
44861         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
44862         * modules/memchr (License): Likewise.
44863         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
44864         malloca.
44865         * tests/test-memmem.c: Rewrite, borrowing ideas from
44866         test-mbsstr1.c; the old version wouldn't even compile!
44867         * modules/memmem-tests: New file.
44868         * lib/string.in.h (rpl_memmem): Add declaration.
44869         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
44870         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
44871         REPLACE_MEMMEM.
44872
44873 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44874
44875         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
44876         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
44877         before any system include files, and undef after them all.  This
44878         should fix a problem on VMS reported by John E. Malmberg in
44879         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
44880
44881 2007-12-17  Eric Blake  <ebb9@byu.net>
44882
44883         Revert addition of verify, for BSD/OS.
44884         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
44885         can't handle large files, for the sake of obsolete platforms.
44886         * modules/fseeko (Depends-on): Remove verify.
44887         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
44888         * doc/functions/ftello.texi (ftello): Likewise.
44889         * doc/functions/fgetpos.texi (fgetpos): Likewise.
44890         Reported by Larry Jones.
44891
44892 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
44893
44894         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
44895         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
44896
44897 2007-12-17  Jim Meyering  <meyering@redhat.com>
44898
44899         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
44900         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
44901         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
44902         * modules/getcwd (Depends-on): Add openat.
44903         Reported by Petr Salinger.
44904
44905 2007-12-17  Bruno Haible  <bruno@clisp.org>
44906
44907         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
44908         avoid a segmentation fault of the configure test on x86_64 systems.
44909
44910 2007-12-15  Jim Meyering  <meyering@redhat.com>
44911
44912         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
44913
44914 2007-12-13  Eric Blake  <ebb9@byu.net>
44915
44916         Another fseek test.
44917         * tests/test-fseek.c (main): Also test ungetc handling.
44918         * tests/test-fseeko.c (main): Likewise.
44919         * modules/fseeko (Depends-on): Add verify.
44920         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
44921         large.
44922         Reported by Larry Jones.
44923
44924         Fix fseeko on mingw.
44925         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
44926         seek.
44927
44928         Beef up fseek tests.
44929         * tests/test-fseek.c (main): Also test eof handling.
44930         * tests/test-fseeko.c (main): Likewise.
44931         Reported by Larry Jones.
44932
44933 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
44934
44935         Fix fseeko on BSD-based platforms.
44936         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
44937         successful seek.
44938
44939 2007-12-12  Eric Blake  <ebb9@byu.net>
44940
44941         Allow circular dependency of separate libtests.a
44942         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
44943         when use_libtests.
44944
44945 2007-12-11  Eric Blake  <ebb9@byu.net>
44946
44947         Fix bug with -0.0L in previous patch.
44948         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
44949         * tests/test-isnan.c (main): Also test on zeroes.
44950         * tests/test-isnanf.c (main): Likewise.
44951         * tests/test-isnanl.h (main): Likewise.
44952
44953         Detect pseudo-denormals on x86 even when cross-compiling.
44954         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
44955         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
44956         invalid bit patterns that happen to satisfy ==.
44957
44958         Avoid link failures with separate libtests.a.
44959         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
44960         last, to satisfy circular dependencies.
44961
44962 2007-12-11  Eric Blake  <ebb9@byu.net>
44963         and Bruno Haible  <bruno@clisp.org>
44964
44965         Fix OpenBSD 4.0 <float.h> handling of long double.
44966         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
44967         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
44968         * doc/headers/float.texi (float.h): Document OpenBSD bug.
44969
44970 2007-12-11  Jim Meyering  <meyering@redhat.com>
44971
44972         * users.txt: Add libvirt.
44973
44974         Support versions of autoconf prior to 2.59c.
44975         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
44976         if it is not already defined.
44977
44978 2007-12-09  Bruno Haible  <bruno@clisp.org>
44979
44980         Let 'gnulib-tool --import' collect sources needed for the tests in
44981         tests/ rather than in lib/.
44982         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
44983         argument. If true, add rules to generate libtests.a, and put libtests.a
44984         into $(LDADD). Consider source files in subdirectories and set
44985         uses_subdirs.
44986         (func_emit_initmacro_start, func_emit_initmacro_end,
44987         func_emit_initmacro_done): Pass all arguments explicitly.
44988         (func_import): Determine two module lists main_modules,
44989         testsrelated_modules. Determine use_libtests. Determine two variables
44990         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
44991         instead of just sed_transform_lib_file. Determine two variables
44992         main_files and testsrelated_files. Compute 'files' as the union of
44993         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
44994         func_add_or_update. In the generated gnulib-comp.m4, collect the
44995         object files for tests/ in different variables than those for lib/.
44996         Substitute LIBTESTS_LIBDEPS.
44997         (func_create_testdir): Combine the uses_subdirs results from
44998         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
44999
45000 2007-12-09  Bruno Haible  <bruno@clisp.org>
45001
45002         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
45003         the build-aux directory.
45004
45005 2007-12-09  Bruno Haible  <bruno@clisp.org>
45006
45007         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
45008         introduced on 2006-09-09.
45009
45010 2007-12-07  Jim Meyering  <meyering@redhat.com>
45011
45012         Let these macros work also with autoconf-2.59.
45013         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
45014         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
45015         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45016
45017 2007-12-06  Jim Meyering  <meyering@redhat.com>
45018
45019         Avoid a configure-time syntax error in gl_FUNC_ACL.
45020         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
45021         function in each branch, before testing the cache variable.
45022
45023 2007-12-04  Eric Blake  <ebb9@byu.net>
45024
45025         Make scripts executable.
45026         * build-aux/config.guess: Add execute permissions.
45027         * build-aux/config.sub: Likewise.
45028         * build-aux/gendocs.sh: Likewise.
45029
45030         Fix frexp on mingw.
45031         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
45032         cross-compiling.
45033         * doc/functions/frexp.texi (frexp): Document the bug.
45034
45035         Make cygwin fseeko check more reliable.
45036         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
45037         version numbers, rather than unrelated feature check.
45038         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
45039         * doc/functions/ftello.texi (ftello): Likewise.
45040         Reported by Bruno Haible.
45041
45042         * m4/strerror.m4: Bump version number.
45043
45044 2007-12-03  Bruno Haible  <bruno@clisp.org>
45045
45046         * doc/functions/mprotect.texi: Mention the mingw problem.
45047
45048 2007-12-03  Eric Blake  <ebb9@byu.net>
45049
45050         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
45051         REPLACE_STRERROR is initialized before this macro.
45052
45053 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
45054
45055         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
45056         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
45057         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
45058         put -lsec in even for programs other than 'ls'.  This fixes a problem
45059         for gettext reported by Bruno Haible in
45060         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
45061         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
45062         Add support for Solaris 10.  This isn't efficient, but should get the
45063         job done for now.
45064
45065 2007-12-03  James Youngman  <jay@gnu.org>
45066
45067         * doc/regexprops-generic.texi: change "an close-group" to "a
45068         close-group" and "illegal" to "not allowed".
45069
45070 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45071
45072         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
45073         pr_byname.h. Needed for the rare case when the maintainer has done
45074         "make maintainer-clean" in the source directory and then attempts a
45075         build outside the source directory.
45076         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
45077         scripts_byname.h.
45078
45079 2007-12-02  Martin Lambers <marlam@marlam.de>
45080             Bruno Haible  <bruno@clisp.org>
45081
45082         * lib/getpagesize.h: Remove file.
45083         * lib/unistd.in.h: Include declaration of getpagesize here.
45084         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
45085         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
45086         HAVE_SYS_PARAM_H.
45087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
45088         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
45089         * modules/getpagesize (Files): Remove lib/getpagesize.h.
45090         (Depends-on): Add unistd.
45091         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45092         (Include): Use <unistd.h> instead of getpagesize.h.
45093         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
45094         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
45095         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
45096         gl_GETPAGESIZE invocation, already handled by module dependency.
45097         * lib/pagealign_alloc.c: Don't include getpagesize.h.
45098
45099 2007-12-02  Bruno Haible  <bruno@clisp.org>
45100
45101         * modules/strings-tests: New file.
45102         * tests/test-strings.c: New file.
45103
45104         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
45105         * lib/strings.in.h: New file.
45106         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
45107         * m4/strings_h.m4: New file.
45108         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
45109         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
45110         * modules/strings: New file.
45111         * modules/string (Makefile.am): Update.
45112         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
45113         Reported by Karl Berry.
45114
45115 2007-12-01  Eric Blake  <ebb9@byu.net>
45116
45117         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
45118         accomodate fix in cygwin 1.5.25.
45119
45120 2007-12-01  Jim Meyering  <meyering@redhat.com>
45121
45122         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
45123         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
45124         that would inhibit utf8-optimization of a regexp containing line-
45125         or buffer-anchors, e.g., `^', `$'.
45126
45127 2007-11-30  Bruno Haible  <bruno@clisp.org>
45128
45129         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
45130         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
45131         glthread_recursive_lock_init.
45132         * lib/lock.c (glthread_recursive_lock_init)
45133         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
45134         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45135
45136 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
45137
45138         New function qset_acl, like set_acl but with syscall semantics.
45139         * lib/acl.h (qset_acl): New decl.
45140         * lib/acl.c (qset_acl): New function.
45141         (set_acl): Use new function.  Use more-consistent diagnostics.
45142
45143 2007-11-28  Jim Meyering  <meyering@redhat.com>
45144
45145         * modules/physmem (License): Change from GPL to LGPLv2+.
45146
45147 2007-11-26  Bruno Haible  <bruno@clisp.org>
45148
45149         * lib/vasnprintf.c (decode_long_double): Don't abort if the
45150         'long double' type has excess precision.
45151         Reported by Jim Meyering in
45152         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
45153
45154 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45155
45156         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
45157         Sync from <http://gnu.org/licenses>.
45158         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
45159         with license text from same location.
45160         * doc/maintain.texi, doc/standards.texi:  Sync from
45161         <http://savannah.gnu.org/projects/gnustandards>.
45162
45163 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
45164         and Jim Meyering  <meyering@redhat.com>
45165
45166         Adjust getdate' grammar to accept a slightly more regular language.
45167         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
45168         Before, the former was rejected.
45169         * lib/getdate.y (digits_to_date_time): New function, factored
45170         out of ...
45171         (number): ...here.  Just call digits_to_date_time.
45172         (hybrid): New non-terminal to handle an <unsigned number,
45173         signed relative offset> sequence consistently.
45174
45175 2007-11-18  Jim Meyering  <meyering@redhat.com>
45176
45177         Pull my changes from coreutils:
45178         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
45179         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
45180         use of $gnulib_tool_option_extras, so that it's separated from the
45181         preceding argument.
45182
45183         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
45184         * build-aux/bootstrap (cp_mark_as_generated): Create any required
45185         parent destination directories before copying a file into place.
45186
45187 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
45188
45189         bootstrap: work also with 4-argument variant of AC_INIT
45190         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
45191
45192 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45193
45194         Port test-getaddrinfo to Solaris.
45195         Problem reported by Bruno Haible in
45196         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
45197         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
45198         explanation of setting 'hints'.
45199         Don't reject an implementation merely because it returns EAI_SERVICE.
45200         (EAI_SERVICE): Define to 0 if not defined.
45201
45202 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
45203
45204         The license of gnu-make and posix-shell is now "GPLed build tool".
45205         * modules/gnu-make (License): Likewise.
45206         * modules/posix-shell (License): Likewise.
45207
45208         New module posix-shell, for determining a POSIX shell
45209         or perhaps something that is close enough to a POSIX shell.
45210         * m4/posix-shell.m4: New file.
45211         * modules/posix-shell: New file.
45212
45213         * MODULES.html.sh: Mention new module.
45214
45215         New module gnu-make, for determining whether we're using GNU Make.
45216         * m4/gnu-make.m4: New file.
45217         * modules/gnu-make: New file.
45218         * MODULES.html.sh: Mention new module.
45219
45220 2007-11-14  Jim Meyering  <meyering@redhat.com>
45221
45222         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
45223         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
45224         use this macro to create a function _definition_.
45225         Remove useless "#undef ARGMATCH_DIE".
45226
45227 2007-11-14  Bruno Haible  <bruno@clisp.org>
45228
45229         * lib/config.charset: Update for OpenBSD 4.1.
45230         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
45231
45232 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
45233
45234         Document 64-bit #if problems in stdint.texi.
45235         * doc/headers/stdint.texi (stdint.h): Mention problems with
45236         64-bit-#if, and how to work around them.
45237
45238         Don't insist on 'long long int' support in the preprocessor.  It
45239         breaks too many things.  For example, PRIdMAX still uses a 'long
45240         long int' format with the latest Sun compiler, even though
45241         HAVE_LONG_LONG_INT isn't defined due to that compiler's
45242         preprocessor problem.  This causes the latest coreutils to dump
45243         core on Solaris 10 sparc with the Sun C compiler.
45244         Instead, fix the 2007-10-16 problem in a different way, by evaluating
45245         the troublesome expressions at configure-time, not at #if-time.
45246         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
45247         preprocessor.
45248         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
45249         compile-time C checks, done at 'configure'-time.
45250         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
45251         * modules/inttypes (Makefile): Substitute the new symbols that
45252         gl_INTTYPES_H now generates.
45253         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
45254
45255 2007-11-12  Bruno Haible  <bruno@clisp.org>
45256
45257         Tests for Unicode character classification functions.
45258
45259         * modules/unictype/bidicategory-byname-tests: New file.
45260         * modules/unictype/bidicategory-name-tests: New file.
45261         * modules/unictype/bidicategory-of-tests: New file.
45262         * modules/unictype/bidicategory-test-tests: New file.
45263         * modules/unictype/block-list-tests: New file.
45264         * modules/unictype/block-of-tests: New file.
45265         * modules/unictype/block-test-tests: New file.
45266         * modules/unictype/category-C-tests: New file.
45267         * modules/unictype/category-Cc-tests: New file.
45268         * modules/unictype/category-Cf-tests: New file.
45269         * modules/unictype/category-Cn-tests: New file.
45270         * modules/unictype/category-Co-tests: New file.
45271         * modules/unictype/category-Cs-tests: New file.
45272         * modules/unictype/category-L-tests: New file.
45273         * modules/unictype/category-Ll-tests: New file.
45274         * modules/unictype/category-Lm-tests: New file.
45275         * modules/unictype/category-Lo-tests: New file.
45276         * modules/unictype/category-Lt-tests: New file.
45277         * modules/unictype/category-Lu-tests: New file.
45278         * modules/unictype/category-M-tests: New file.
45279         * modules/unictype/category-Mc-tests: New file.
45280         * modules/unictype/category-Me-tests: New file.
45281         * modules/unictype/category-Mn-tests: New file.
45282         * modules/unictype/category-N-tests: New file.
45283         * modules/unictype/category-Nd-tests: New file.
45284         * modules/unictype/category-Nl-tests: New file.
45285         * modules/unictype/category-No-tests: New file.
45286         * modules/unictype/category-P-tests: New file.
45287         * modules/unictype/category-Pc-tests: New file.
45288         * modules/unictype/category-Pd-tests: New file.
45289         * modules/unictype/category-Pe-tests: New file.
45290         * modules/unictype/category-Pf-tests: New file.
45291         * modules/unictype/category-Pi-tests: New file.
45292         * modules/unictype/category-Po-tests: New file.
45293         * modules/unictype/category-Ps-tests: New file.
45294         * modules/unictype/category-S-tests: New file.
45295         * modules/unictype/category-Sc-tests: New file.
45296         * modules/unictype/category-Sk-tests: New file.
45297         * modules/unictype/category-Sm-tests: New file.
45298         * modules/unictype/category-So-tests: New file.
45299         * modules/unictype/category-Z-tests: New file.
45300         * modules/unictype/category-Zl-tests: New file.
45301         * modules/unictype/category-Zp-tests: New file.
45302         * modules/unictype/category-Zs-tests: New file.
45303         * modules/unictype/category-and-not-tests: New file.
45304         * modules/unictype/category-and-tests: New file.
45305         * modules/unictype/category-byname-tests: New file.
45306         * modules/unictype/category-name-tests: New file.
45307         * modules/unictype/category-none-tests: New file.
45308         * modules/unictype/category-of-tests: New file.
45309         * modules/unictype/category-or-tests: New file.
45310         * modules/unictype/category-test-withtable-tests: New file.
45311         * modules/unictype/combining-class-tests: New file.
45312         * modules/unictype/ctype-alnum-tests: New file.
45313         * modules/unictype/ctype-alpha-tests: New file.
45314         * modules/unictype/ctype-blank-tests: New file.
45315         * modules/unictype/ctype-cntrl-tests: New file.
45316         * modules/unictype/ctype-digit-tests: New file.
45317         * modules/unictype/ctype-graph-tests: New file.
45318         * modules/unictype/ctype-lower-tests: New file.
45319         * modules/unictype/ctype-print-tests: New file.
45320         * modules/unictype/ctype-punct-tests: New file.
45321         * modules/unictype/ctype-space-tests: New file.
45322         * modules/unictype/ctype-upper-tests: New file.
45323         * modules/unictype/ctype-xdigit-tests: New file.
45324         * modules/unictype/decimal-digit-tests: New file.
45325         * modules/unictype/digit-tests: New file.
45326         * modules/unictype/mirror-tests: New file.
45327         * modules/unictype/numeric-tests: New file.
45328         * modules/unictype/property-alphabetic-tests: New file.
45329         * modules/unictype/property-ascii-hex-digit-tests: New file.
45330         * modules/unictype/property-bidi-arabic-digit-tests: New file.
45331         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
45332         * modules/unictype/property-bidi-block-separator-tests: New file.
45333         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
45334         * modules/unictype/property-bidi-common-separator-tests: New file.
45335         * modules/unictype/property-bidi-control-tests: New file.
45336         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
45337         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
45338         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
45339         * modules/unictype/property-bidi-european-digit-tests: New file.
45340         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
45341         * modules/unictype/property-bidi-left-to-right-tests: New file.
45342         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
45343         * modules/unictype/property-bidi-other-neutral-tests: New file.
45344         * modules/unictype/property-bidi-pdf-tests: New file.
45345         * modules/unictype/property-bidi-segment-separator-tests: New file.
45346         * modules/unictype/property-bidi-whitespace-tests: New file.
45347         * modules/unictype/property-byname-tests: New file.
45348         * modules/unictype/property-combining-tests: New file.
45349         * modules/unictype/property-composite-tests: New file.
45350         * modules/unictype/property-currency-symbol-tests: New file.
45351         * modules/unictype/property-dash-tests: New file.
45352         * modules/unictype/property-decimal-digit-tests: New file.
45353         * modules/unictype/property-default-ignorable-code-point-tests: New file.
45354         * modules/unictype/property-deprecated-tests: New file.
45355         * modules/unictype/property-diacritic-tests: New file.
45356         * modules/unictype/property-extender-tests: New file.
45357         * modules/unictype/property-format-control-tests: New file.
45358         * modules/unictype/property-grapheme-base-tests: New file.
45359         * modules/unictype/property-grapheme-extend-tests: New file.
45360         * modules/unictype/property-grapheme-link-tests: New file.
45361         * modules/unictype/property-hex-digit-tests: New file.
45362         * modules/unictype/property-hyphen-tests: New file.
45363         * modules/unictype/property-id-continue-tests: New file.
45364         * modules/unictype/property-id-start-tests: New file.
45365         * modules/unictype/property-ideographic-tests: New file.
45366         * modules/unictype/property-ids-binary-operator-tests: New file.
45367         * modules/unictype/property-ids-trinary-operator-tests: New file.
45368         * modules/unictype/property-ignorable-control-tests: New file.
45369         * modules/unictype/property-iso-control-tests: New file.
45370         * modules/unictype/property-join-control-tests: New file.
45371         * modules/unictype/property-left-of-pair-tests: New file.
45372         * modules/unictype/property-line-separator-tests: New file.
45373         * modules/unictype/property-logical-order-exception-tests: New file.
45374         * modules/unictype/property-lowercase-tests: New file.
45375         * modules/unictype/property-math-tests: New file.
45376         * modules/unictype/property-non-break-tests: New file.
45377         * modules/unictype/property-not-a-character-tests: New file.
45378         * modules/unictype/property-numeric-tests: New file.
45379         * modules/unictype/property-other-alphabetic-tests: New file.
45380         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
45381         * modules/unictype/property-other-grapheme-extend-tests: New file.
45382         * modules/unictype/property-other-id-continue-tests: New file.
45383         * modules/unictype/property-other-id-start-tests: New file.
45384         * modules/unictype/property-other-lowercase-tests: New file.
45385         * modules/unictype/property-other-math-tests: New file.
45386         * modules/unictype/property-other-uppercase-tests: New file.
45387         * modules/unictype/property-paired-punctuation-tests: New file.
45388         * modules/unictype/property-paragraph-separator-tests: New file.
45389         * modules/unictype/property-pattern-syntax-tests: New file.
45390         * modules/unictype/property-pattern-white-space-tests: New file.
45391         * modules/unictype/property-private-use-tests: New file.
45392         * modules/unictype/property-punctuation-tests: New file.
45393         * modules/unictype/property-quotation-mark-tests: New file.
45394         * modules/unictype/property-radical-tests: New file.
45395         * modules/unictype/property-sentence-terminal-tests: New file.
45396         * modules/unictype/property-soft-dotted-tests: New file.
45397         * modules/unictype/property-space-tests: New file.
45398         * modules/unictype/property-terminal-punctuation-tests: New file.
45399         * modules/unictype/property-test-tests: New file.
45400         * modules/unictype/property-titlecase-tests: New file.
45401         * modules/unictype/property-unassigned-code-value-tests: New file.
45402         * modules/unictype/property-unified-ideograph-tests: New file.
45403         * modules/unictype/property-uppercase-tests: New file.
45404         * modules/unictype/property-variation-selector-tests: New file.
45405         * modules/unictype/property-white-space-tests: New file.
45406         * modules/unictype/property-xid-continue-tests: New file.
45407         * modules/unictype/property-xid-start-tests: New file.
45408         * modules/unictype/property-zero-width-tests: New file.
45409         * modules/unictype/scripts-tests: New file.
45410         * modules/unictype/syntax-c-ident-tests: New file.
45411         * modules/unictype/syntax-c-whitespace-tests: New file.
45412         * modules/unictype/syntax-java-ident-tests: New file.
45413         * modules/unictype/syntax-java-whitespace-tests: New file.
45414         * tests/unictype/test-bidi_byname.c: New file.
45415         * tests/unictype/test-bidi_name.c: New file.
45416         * tests/unictype/test-bidi_of.c: New file.
45417         * tests/unictype/test-bidi_test.c: New file.
45418         * tests/unictype/test-block_list.c: New file.
45419         * tests/unictype/test-block_of.c: New file.
45420         * tests/unictype/test-block_test.c: New file.
45421         * tests/unictype/test-categ_and.c: New file.
45422         * tests/unictype/test-categ_and_not.c: New file.
45423         * tests/unictype/test-categ_byname.c: New file.
45424         * tests/unictype/test-categ_name.c: New file.
45425         * tests/unictype/test-categ_none.c: New file.
45426         * tests/unictype/test-categ_of.c: New file.
45427         * tests/unictype/test-categ_or.c: New file.
45428         * tests/unictype/test-categ_test_withtable.c: New file.
45429         * tests/unictype/test-combining.c: New file.
45430         * tests/unictype/test-decdigit.c: New file.
45431         * tests/unictype/test-digit.c: New file.
45432         * tests/unictype/test-mirror.c: New file.
45433         * tests/unictype/test-numeric.c: New file.
45434         * tests/unictype/test-pr_byname.c: New file.
45435         * tests/unictype/test-pr_test.c: New file.
45436         * tests/unictype/test-predicate-part1.h: New file.
45437         * tests/unictype/test-predicate-part2.h: New file.
45438         * tests/unictype/test-scripts.c: New file.
45439         * tests/unictype/test-sy_c_ident.c: New file.
45440         * tests/unictype/test-sy_java_ident.c: New file.
45441
45442         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
45443         for Unicode 5.0.0.
45444         * tests/unictype/test-categ_Cc.c: Likewise.
45445         * tests/unictype/test-categ_Cf.c: Likewise.
45446         * tests/unictype/test-categ_Cn.c: Likewise.
45447         * tests/unictype/test-categ_Co.c: Likewise.
45448         * tests/unictype/test-categ_Cs.c: Likewise.
45449         * tests/unictype/test-categ_L.c: Likewise.
45450         * tests/unictype/test-categ_Ll.c: Likewise.
45451         * tests/unictype/test-categ_Lm.c: Likewise.
45452         * tests/unictype/test-categ_Lo.c: Likewise.
45453         * tests/unictype/test-categ_Lt.c: Likewise.
45454         * tests/unictype/test-categ_Lu.c: Likewise.
45455         * tests/unictype/test-categ_M.c: Likewise.
45456         * tests/unictype/test-categ_Mc.c: Likewise.
45457         * tests/unictype/test-categ_Me.c: Likewise.
45458         * tests/unictype/test-categ_Mn.c: Likewise.
45459         * tests/unictype/test-categ_N.c: Likewise.
45460         * tests/unictype/test-categ_Nd.c: Likewise.
45461         * tests/unictype/test-categ_Nl.c: Likewise.
45462         * tests/unictype/test-categ_No.c: Likewise.
45463         * tests/unictype/test-categ_P.c: Likewise.
45464         * tests/unictype/test-categ_Pc.c: Likewise.
45465         * tests/unictype/test-categ_Pd.c: Likewise.
45466         * tests/unictype/test-categ_Pe.c: Likewise.
45467         * tests/unictype/test-categ_Pf.c: Likewise.
45468         * tests/unictype/test-categ_Pi.c: Likewise.
45469         * tests/unictype/test-categ_Po.c: Likewise.
45470         * tests/unictype/test-categ_Ps.c: Likewise.
45471         * tests/unictype/test-categ_S.c: Likewise.
45472         * tests/unictype/test-categ_Sc.c: Likewise.
45473         * tests/unictype/test-categ_Sk.c: Likewise.
45474         * tests/unictype/test-categ_Sm.c: Likewise.
45475         * tests/unictype/test-categ_So.c: Likewise.
45476         * tests/unictype/test-categ_Z.c: Likewise.
45477         * tests/unictype/test-categ_Zl.c: Likewise.
45478         * tests/unictype/test-categ_Zp.c: Likewise.
45479         * tests/unictype/test-categ_Zs.c: Likewise.
45480         * tests/unictype/test-ctype_alnum.c: Likewise.
45481         * tests/unictype/test-ctype_alpha.c: Likewise.
45482         * tests/unictype/test-ctype_blank.c: Likewise.
45483         * tests/unictype/test-ctype_cntrl.c: Likewise.
45484         * tests/unictype/test-ctype_digit.c: Likewise.
45485         * tests/unictype/test-ctype_graph.c: Likewise.
45486         * tests/unictype/test-ctype_lower.c: Likewise.
45487         * tests/unictype/test-ctype_print.c: Likewise.
45488         * tests/unictype/test-ctype_punct.c: Likewise.
45489         * tests/unictype/test-ctype_space.c: Likewise.
45490         * tests/unictype/test-ctype_upper.c: Likewise.
45491         * tests/unictype/test-ctype_xdigit.c: Likewise.
45492         * tests/unictype/test-decdigit.h: Likewise.
45493         * tests/unictype/test-digit.h: Likewise.
45494         * tests/unictype/test-numeric.h: Likewise.
45495         * tests/unictype/test-pr_alphabetic.c: Likewise.
45496         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
45497         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
45498         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
45499         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
45500         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
45501         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
45502         * tests/unictype/test-pr_bidi_control.c: Likewise.
45503         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
45504         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
45505         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
45506         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
45507         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
45508         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
45509         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
45510         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
45511         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
45512         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
45513         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
45514         * tests/unictype/test-pr_combining.c: Likewise.
45515         * tests/unictype/test-pr_composite.c: Likewise.
45516         * tests/unictype/test-pr_currency_symbol.c: Likewise.
45517         * tests/unictype/test-pr_dash.c: Likewise.
45518         * tests/unictype/test-pr_decimal_digit.c: Likewise.
45519         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
45520         * tests/unictype/test-pr_deprecated.c: Likewise.
45521         * tests/unictype/test-pr_diacritic.c: Likewise.
45522         * tests/unictype/test-pr_extender.c: Likewise.
45523         * tests/unictype/test-pr_format_control.c: Likewise.
45524         * tests/unictype/test-pr_grapheme_base.c: Likewise.
45525         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
45526         * tests/unictype/test-pr_grapheme_link.c: Likewise.
45527         * tests/unictype/test-pr_hex_digit.c: Likewise.
45528         * tests/unictype/test-pr_hyphen.c: Likewise.
45529         * tests/unictype/test-pr_id_continue.c: Likewise.
45530         * tests/unictype/test-pr_id_start.c: Likewise.
45531         * tests/unictype/test-pr_ideographic.c: Likewise.
45532         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
45533         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
45534         * tests/unictype/test-pr_ignorable_control.c: Likewise.
45535         * tests/unictype/test-pr_iso_control.c: Likewise.
45536         * tests/unictype/test-pr_join_control.c: Likewise.
45537         * tests/unictype/test-pr_left_of_pair.c: Likewise.
45538         * tests/unictype/test-pr_line_separator.c: Likewise.
45539         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
45540         * tests/unictype/test-pr_lowercase.c: Likewise.
45541         * tests/unictype/test-pr_math.c: Likewise.
45542         * tests/unictype/test-pr_non_break.c: Likewise.
45543         * tests/unictype/test-pr_not_a_character.c: Likewise.
45544         * tests/unictype/test-pr_numeric.c: Likewise.
45545         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
45546         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
45547         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
45548         * tests/unictype/test-pr_other_id_continue.c: Likewise.
45549         * tests/unictype/test-pr_other_id_start.c: Likewise.
45550         * tests/unictype/test-pr_other_lowercase.c: Likewise.
45551         * tests/unictype/test-pr_other_math.c: Likewise.
45552         * tests/unictype/test-pr_other_uppercase.c: Likewise.
45553         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
45554         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
45555         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
45556         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
45557         * tests/unictype/test-pr_private_use.c: Likewise.
45558         * tests/unictype/test-pr_punctuation.c: Likewise.
45559         * tests/unictype/test-pr_quotation_mark.c: Likewise.
45560         * tests/unictype/test-pr_radical.c: Likewise.
45561         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
45562         * tests/unictype/test-pr_soft_dotted.c: Likewise.
45563         * tests/unictype/test-pr_space.c: Likewise.
45564         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
45565         * tests/unictype/test-pr_titlecase.c: Likewise.
45566         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
45567         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
45568         * tests/unictype/test-pr_uppercase.c: Likewise.
45569         * tests/unictype/test-pr_variation_selector.c: Likewise.
45570         * tests/unictype/test-pr_white_space.c: Likewise.
45571         * tests/unictype/test-pr_xid_continue.c: Likewise.
45572         * tests/unictype/test-pr_xid_start.c: Likewise.
45573         * tests/unictype/test-pr_zero_width.c: Likewise.
45574         * tests/unictype/test-sy_c_whitespace.c: Likewise.
45575         * tests/unictype/test-sy_java_whitespace.c: Likewise.
45576
45577 2007-11-12  Bruno Haible  <bruno@clisp.org>
45578
45579         Unicode character classification functions.
45580         * lib/unictype.h: New file.
45581         * modules/unictype/base: New file.
45582         * modules/unictype/category-L: New file.
45583         * modules/unictype/category-Lu: New file.
45584         * modules/unictype/category-Ll: New file.
45585         * modules/unictype/category-Lt: New file.
45586         * modules/unictype/category-Lm: New file.
45587         * modules/unictype/category-Lo: New file.
45588         * modules/unictype/category-M: New file.
45589         * modules/unictype/category-Mn: New file.
45590         * modules/unictype/category-Mc: New file.
45591         * modules/unictype/category-Me: New file.
45592         * modules/unictype/category-N: New file.
45593         * modules/unictype/category-Nd: New file.
45594         * modules/unictype/category-Nl: New file.
45595         * modules/unictype/category-No: New file.
45596         * modules/unictype/category-P: New file.
45597         * modules/unictype/category-Pc: New file.
45598         * modules/unictype/category-Pd: New file.
45599         * modules/unictype/category-Ps: New file.
45600         * modules/unictype/category-Pe: New file.
45601         * modules/unictype/category-Pi: New file.
45602         * modules/unictype/category-Pf: New file.
45603         * modules/unictype/category-Po: New file.
45604         * modules/unictype/category-S: New file.
45605         * modules/unictype/category-Sm: New file.
45606         * modules/unictype/category-Sc: New file.
45607         * modules/unictype/category-Sk: New file.
45608         * modules/unictype/category-So: New file.
45609         * modules/unictype/category-Z: New file.
45610         * modules/unictype/category-Zs: New file.
45611         * modules/unictype/category-Zl: New file.
45612         * modules/unictype/category-Zp: New file.
45613         * modules/unictype/category-C: New file.
45614         * modules/unictype/category-Cc: New file.
45615         * modules/unictype/category-Cf: New file.
45616         * modules/unictype/category-Cs: New file.
45617         * modules/unictype/category-Co: New file.
45618         * modules/unictype/category-Cn: New file.
45619         * modules/unictype/category-or: New file.
45620         * modules/unictype/category-of: New file.
45621         * modules/unictype/category-test: New file.
45622         * modules/unictype/category-test-withtable: New file.
45623         * modules/unictype/category-byname: New file.
45624         * modules/unictype/category-none: New file.
45625         * modules/unictype/category-and: New file.
45626         * modules/unictype/category-and-not: New file.
45627         * modules/unictype/category-name: New file.
45628         * modules/unictype/combining-class: New file.
45629         * modules/unictype/category-all: New file.
45630         * modules/unictype/bidicategory-all: New file.
45631         * modules/unictype/bidicategory-byname: New file.
45632         * modules/unictype/bidicategory-name: New file.
45633         * modules/unictype/bidicategory-of: New file.
45634         * modules/unictype/bidicategory-test: New file.
45635         * modules/unictype/decimal-digit: New file.
45636         * modules/unictype/digit: New file.
45637         * modules/unictype/numeric: New file.
45638         * modules/unictype/mirror: New file.
45639         * modules/unictype/property-white-space: New file.
45640         * modules/unictype/property-alphabetic: New file.
45641         * modules/unictype/property-other-alphabetic: New file.
45642         * modules/unictype/property-not-a-character: New file.
45643         * modules/unictype/property-default-ignorable-code-point: New file.
45644         * modules/unictype/property-other-default-ignorable-code-point: New
45645         file.
45646         * modules/unictype/property-deprecated: New file.
45647         * modules/unictype/property-logical-order-exception: New file.
45648         * modules/unictype/property-variation-selector: New file.
45649         * modules/unictype/property-private-use: New file.
45650         * modules/unictype/property-unassigned-code-value: New file.
45651         * modules/unictype/property-uppercase: New file.
45652         * modules/unictype/property-other-uppercase: New file.
45653         * modules/unictype/property-lowercase: New file.
45654         * modules/unictype/property-other-lowercase: New file.
45655         * modules/unictype/property-titlecase: New file.
45656         * modules/unictype/property-soft-dotted: New file.
45657         * modules/unictype/property-id-start: New file.
45658         * modules/unictype/property-other-id-start: New file.
45659         * modules/unictype/property-id-continue: New file.
45660         * modules/unictype/property-other-id-continue: New file.
45661         * modules/unictype/property-xid-start: New file.
45662         * modules/unictype/property-xid-continue: New file.
45663         * modules/unictype/property-pattern-white-space: New file.
45664         * modules/unictype/property-pattern-syntax: New file.
45665         * modules/unictype/property-join-control: New file.
45666         * modules/unictype/property-grapheme-base: New file.
45667         * modules/unictype/property-grapheme-extend: New file.
45668         * modules/unictype/property-other-grapheme-extend: New file.
45669         * modules/unictype/property-grapheme-link: New file.
45670         * modules/unictype/property-bidi-control: New file.
45671         * modules/unictype/property-bidi-left-to-right: New file.
45672         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
45673         * modules/unictype/property-bidi-arabic-right-to-left: New file.
45674         * modules/unictype/property-bidi-european-digit: New file.
45675         * modules/unictype/property-bidi-eur-num-separator: New file.
45676         * modules/unictype/property-bidi-eur-num-terminator: New file.
45677         * modules/unictype/property-bidi-arabic-digit: New file.
45678         * modules/unictype/property-bidi-common-separator: New file.
45679         * modules/unictype/property-bidi-block-separator: New file.
45680         * modules/unictype/property-bidi-segment-separator: New file.
45681         * modules/unictype/property-bidi-whitespace: New file.
45682         * modules/unictype/property-bidi-non-spacing-mark: New file.
45683         * modules/unictype/property-bidi-boundary-neutral: New file.
45684         * modules/unictype/property-bidi-pdf: New file.
45685         * modules/unictype/property-bidi-embedding-or-override: New file.
45686         * modules/unictype/property-bidi-other-neutral: New file.
45687         * modules/unictype/property-hex-digit: New file.
45688         * modules/unictype/property-ascii-hex-digit: New file.
45689         * modules/unictype/property-ideographic: New file.
45690         * modules/unictype/property-unified-ideograph: New file.
45691         * modules/unictype/property-radical: New file.
45692         * modules/unictype/property-ids-binary-operator: New file.
45693         * modules/unictype/property-ids-trinary-operator: New file.
45694         * modules/unictype/property-zero-width: New file.
45695         * modules/unictype/property-space: New file.
45696         * modules/unictype/property-non-break: New file.
45697         * modules/unictype/property-iso-control: New file.
45698         * modules/unictype/property-format-control: New file.
45699         * modules/unictype/property-dash: New file.
45700         * modules/unictype/property-hyphen: New file.
45701         * modules/unictype/property-punctuation: New file.
45702         * modules/unictype/property-line-separator: New file.
45703         * modules/unictype/property-paragraph-separator: New file.
45704         * modules/unictype/property-quotation-mark: New file.
45705         * modules/unictype/property-sentence-terminal: New file.
45706         * modules/unictype/property-terminal-punctuation: New file.
45707         * modules/unictype/property-currency-symbol: New file.
45708         * modules/unictype/property-math: New file.
45709         * modules/unictype/property-other-math: New file.
45710         * modules/unictype/property-paired-punctuation: New file.
45711         * modules/unictype/property-left-of-pair: New file.
45712         * modules/unictype/property-combining: New file.
45713         * modules/unictype/property-composite: New file.
45714         * modules/unictype/property-decimal-digit: New file.
45715         * modules/unictype/property-numeric: New file.
45716         * modules/unictype/property-diacritic: New file.
45717         * modules/unictype/property-extender: New file.
45718         * modules/unictype/property-ignorable-control: New file.
45719         * modules/unictype/property-test: New file.
45720         * modules/unictype/property-byname: New file.
45721         * modules/unictype/property-all: New file.
45722         * modules/unictype/scripts: New file.
45723         * modules/unictype/scripts-all: New file.
45724         * modules/unictype/block-of: New file.
45725         * modules/unictype/block-test: New file.
45726         * modules/unictype/block-list: New file.
45727         * modules/unictype/block-all: New file.
45728         * modules/unictype/syntax-c-whitespace: New file.
45729         * modules/unictype/syntax-java-whitespace: New file.
45730         * modules/unictype/syntax-c-ident: New file.
45731         * modules/unictype/syntax-java-ident: New file.
45732         * modules/unictype/ctype-alnum: New file.
45733         * modules/unictype/ctype-alpha: New file.
45734         * modules/unictype/ctype-cntrl: New file.
45735         * modules/unictype/ctype-digit: New file.
45736         * modules/unictype/ctype-graph: New file.
45737         * modules/unictype/ctype-lower: New file.
45738         * modules/unictype/ctype-print: New file.
45739         * modules/unictype/ctype-punct: New file.
45740         * modules/unictype/ctype-space: New file.
45741         * modules/unictype/ctype-upper: New file.
45742         * modules/unictype/ctype-xdigit: New file.
45743         * modules/unictype/ctype-blank: New file.
45744         * lib/unictype/bidi_byname.c: New file.
45745         * lib/unictype/bidi_name.c: New file.
45746         * lib/unictype/bidi_of.c: New file.
45747         * lib/unictype/bidi_test.c: New file.
45748         * lib/unictype/bitmap.h: New file.
45749         * lib/unictype/block_test.c: New file.
45750         * lib/unictype/blocks.c: New file.
45751         * lib/unictype/categ_C.c: New file.
45752         * lib/unictype/categ_Cc.c: New file.
45753         * lib/unictype/categ_Cf.c: New file.
45754         * lib/unictype/categ_Cn.c: New file.
45755         * lib/unictype/categ_Co.c: New file.
45756         * lib/unictype/categ_Cs.c: New file.
45757         * lib/unictype/categ_L.c: New file.
45758         * lib/unictype/categ_Ll.c: New file.
45759         * lib/unictype/categ_Lm.c: New file.
45760         * lib/unictype/categ_Lo.c: New file.
45761         * lib/unictype/categ_Lt.c: New file.
45762         * lib/unictype/categ_Lu.c: New file.
45763         * lib/unictype/categ_M.c: New file.
45764         * lib/unictype/categ_Mc.c: New file.
45765         * lib/unictype/categ_Me.c: New file.
45766         * lib/unictype/categ_Mn.c: New file.
45767         * lib/unictype/categ_N.c: New file.
45768         * lib/unictype/categ_Nd.c: New file.
45769         * lib/unictype/categ_Nl.c: New file.
45770         * lib/unictype/categ_No.c: New file.
45771         * lib/unictype/categ_P.c: New file.
45772         * lib/unictype/categ_Pc.c: New file.
45773         * lib/unictype/categ_Pd.c: New file.
45774         * lib/unictype/categ_Pe.c: New file.
45775         * lib/unictype/categ_Pf.c: New file.
45776         * lib/unictype/categ_Pi.c: New file.
45777         * lib/unictype/categ_Po.c: New file.
45778         * lib/unictype/categ_Ps.c: New file.
45779         * lib/unictype/categ_S.c: New file.
45780         * lib/unictype/categ_Sc.c: New file.
45781         * lib/unictype/categ_Sk.c: New file.
45782         * lib/unictype/categ_Sm.c: New file.
45783         * lib/unictype/categ_So.c: New file.
45784         * lib/unictype/categ_Z.c: New file.
45785         * lib/unictype/categ_Zl.c: New file.
45786         * lib/unictype/categ_Zp.c: New file.
45787         * lib/unictype/categ_Zs.c: New file.
45788         * lib/unictype/categ_and.c: New file.
45789         * lib/unictype/categ_and_not.c: New file.
45790         * lib/unictype/categ_byname.c: New file.
45791         * lib/unictype/categ_name.c: New file.
45792         * lib/unictype/categ_none.c: New file.
45793         * lib/unictype/categ_of.c: New file.
45794         * lib/unictype/categ_or.c: New file.
45795         * lib/unictype/categ_test.c: New file.
45796         * lib/unictype/combining.c: New file.
45797         * lib/unictype/ctype_alnum.c: New file.
45798         * lib/unictype/ctype_alpha.c: New file.
45799         * lib/unictype/ctype_blank.c: New file.
45800         * lib/unictype/ctype_cntrl.c: New file.
45801         * lib/unictype/ctype_digit.c: New file.
45802         * lib/unictype/ctype_graph.c: New file.
45803         * lib/unictype/ctype_lower.c: New file.
45804         * lib/unictype/ctype_print.c: New file.
45805         * lib/unictype/ctype_punct.c: New file.
45806         * lib/unictype/ctype_space.c: New file.
45807         * lib/unictype/ctype_upper.c: New file.
45808         * lib/unictype/ctype_xdigit.c: New file.
45809         * lib/unictype/decdigit.c: New file.
45810         * lib/unictype/digit.c: New file.
45811         * lib/unictype/identsyntaxmap.h: New file.
45812         * lib/unictype/mirror.c: New file.
45813         * lib/unictype/numeric.c: New file.
45814         * lib/unictype/pr_alphabetic.c: New file.
45815         * lib/unictype/pr_ascii_hex_digit.c: New file.
45816         * lib/unictype/pr_bidi_arabic_digit.c: New file.
45817         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
45818         * lib/unictype/pr_bidi_block_separator.c: New file.
45819         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
45820         * lib/unictype/pr_bidi_common_separator.c: New file.
45821         * lib/unictype/pr_bidi_control.c: New file.
45822         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
45823         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
45824         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
45825         * lib/unictype/pr_bidi_european_digit.c: New file.
45826         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
45827         * lib/unictype/pr_bidi_left_to_right.c: New file.
45828         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
45829         * lib/unictype/pr_bidi_other_neutral.c: New file.
45830         * lib/unictype/pr_bidi_pdf.c: New file.
45831         * lib/unictype/pr_bidi_segment_separator.c: New file.
45832         * lib/unictype/pr_bidi_whitespace.c: New file.
45833         * lib/unictype/pr_byname.c: New file.
45834         * lib/unictype/pr_byname.gperf: New file.
45835         * lib/unictype/pr_combining.c: New file.
45836         * lib/unictype/pr_composite.c: New file.
45837         * lib/unictype/pr_currency_symbol.c: New file.
45838         * lib/unictype/pr_dash.c: New file.
45839         * lib/unictype/pr_decimal_digit.c: New file.
45840         * lib/unictype/pr_default_ignorable_code_point.c: New file.
45841         * lib/unictype/pr_deprecated.c: New file.
45842         * lib/unictype/pr_diacritic.c: New file.
45843         * lib/unictype/pr_extender.c: New file.
45844         * lib/unictype/pr_format_control.c: New file.
45845         * lib/unictype/pr_grapheme_base.c: New file.
45846         * lib/unictype/pr_grapheme_extend.c: New file.
45847         * lib/unictype/pr_grapheme_link.c: New file.
45848         * lib/unictype/pr_hex_digit.c: New file.
45849         * lib/unictype/pr_hyphen.c: New file.
45850         * lib/unictype/pr_id_continue.c: New file.
45851         * lib/unictype/pr_id_start.c: New file.
45852         * lib/unictype/pr_ideographic.c: New file.
45853         * lib/unictype/pr_ids_binary_operator.c: New file.
45854         * lib/unictype/pr_ids_trinary_operator.c: New file.
45855         * lib/unictype/pr_ignorable_control.c: New file.
45856         * lib/unictype/pr_iso_control.c: New file.
45857         * lib/unictype/pr_join_control.c: New file.
45858         * lib/unictype/pr_left_of_pair.c: New file.
45859         * lib/unictype/pr_line_separator.c: New file.
45860         * lib/unictype/pr_logical_order_exception.c: New file.
45861         * lib/unictype/pr_lowercase.c: New file.
45862         * lib/unictype/pr_math.c: New file.
45863         * lib/unictype/pr_non_break.c: New file.
45864         * lib/unictype/pr_not_a_character.c: New file.
45865         * lib/unictype/pr_numeric.c: New file.
45866         * lib/unictype/pr_other_alphabetic.c: New file.
45867         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
45868         * lib/unictype/pr_other_grapheme_extend.c: New file.
45869         * lib/unictype/pr_other_id_continue.c: New file.
45870         * lib/unictype/pr_other_id_start.c: New file.
45871         * lib/unictype/pr_other_lowercase.c: New file.
45872         * lib/unictype/pr_other_math.c: New file.
45873         * lib/unictype/pr_other_uppercase.c: New file.
45874         * lib/unictype/pr_paired_punctuation.c: New file.
45875         * lib/unictype/pr_paragraph_separator.c: New file.
45876         * lib/unictype/pr_pattern_syntax.c: New file.
45877         * lib/unictype/pr_pattern_white_space.c: New file.
45878         * lib/unictype/pr_private_use.c: New file.
45879         * lib/unictype/pr_punctuation.c: New file.
45880         * lib/unictype/pr_quotation_mark.c: New file.
45881         * lib/unictype/pr_radical.c: New file.
45882         * lib/unictype/pr_sentence_terminal.c: New file.
45883         * lib/unictype/pr_soft_dotted.c: New file.
45884         * lib/unictype/pr_space.c: New file.
45885         * lib/unictype/pr_terminal_punctuation.c: New file.
45886         * lib/unictype/pr_test.c: New file.
45887         * lib/unictype/pr_titlecase.c: New file.
45888         * lib/unictype/pr_unassigned_code_value.c: New file.
45889         * lib/unictype/pr_unified_ideograph.c: New file.
45890         * lib/unictype/pr_uppercase.c: New file.
45891         * lib/unictype/pr_variation_selector.c: New file.
45892         * lib/unictype/pr_white_space.c: New file.
45893         * lib/unictype/pr_xid_continue.c: New file.
45894         * lib/unictype/pr_xid_start.c: New file.
45895         * lib/unictype/pr_zero_width.c: New file.
45896         * lib/unictype/scripts.c: New file.
45897         * lib/unictype/sy_c_ident.c: New file.
45898         * lib/unictype/sy_c_whitespace.c: New file.
45899         * lib/unictype/sy_java_ident.c: New file.
45900         * lib/unictype/sy_java_whitespace.c: New file.
45901
45902         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
45903         Unicode 5.0.0.
45904         * lib/unictype/blocks.h: Likewise.
45905         * lib/unictype/categ_C.h: Likewise.
45906         * lib/unictype/categ_Cc.h: Likewise.
45907         * lib/unictype/categ_Cf.h: Likewise.
45908         * lib/unictype/categ_Cn.h: Likewise.
45909         * lib/unictype/categ_Co.h: Likewise.
45910         * lib/unictype/categ_Cs.h: Likewise.
45911         * lib/unictype/categ_L.h: Likewise.
45912         * lib/unictype/categ_Ll.h: Likewise.
45913         * lib/unictype/categ_Lm.h: Likewise.
45914         * lib/unictype/categ_Lo.h: Likewise.
45915         * lib/unictype/categ_Lt.h: Likewise.
45916         * lib/unictype/categ_Lu.h: Likewise.
45917         * lib/unictype/categ_M.h: Likewise.
45918         * lib/unictype/categ_Mc.h: Likewise.
45919         * lib/unictype/categ_Me.h: Likewise.
45920         * lib/unictype/categ_Mn.h: Likewise.
45921         * lib/unictype/categ_N.h: Likewise.
45922         * lib/unictype/categ_Nd.h: Likewise.
45923         * lib/unictype/categ_Nl.h: Likewise.
45924         * lib/unictype/categ_No.h: Likewise.
45925         * lib/unictype/categ_P.h: Likewise.
45926         * lib/unictype/categ_Pc.h: Likewise.
45927         * lib/unictype/categ_Pd.h: Likewise.
45928         * lib/unictype/categ_Pe.h: Likewise.
45929         * lib/unictype/categ_Pf.h: Likewise.
45930         * lib/unictype/categ_Pi.h: Likewise.
45931         * lib/unictype/categ_Po.h: Likewise.
45932         * lib/unictype/categ_Ps.h: Likewise.
45933         * lib/unictype/categ_S.h: Likewise.
45934         * lib/unictype/categ_Sc.h: Likewise.
45935         * lib/unictype/categ_Sk.h: Likewise.
45936         * lib/unictype/categ_Sm.h: Likewise.
45937         * lib/unictype/categ_So.h: Likewise.
45938         * lib/unictype/categ_Z.h: Likewise.
45939         * lib/unictype/categ_Zl.h: Likewise.
45940         * lib/unictype/categ_Zp.h: Likewise.
45941         * lib/unictype/categ_Zs.h: Likewise.
45942         * lib/unictype/categ_of.h: Likewise.
45943         * lib/unictype/combining.h: Likewise.
45944         * lib/unictype/ctype_alnum.h: Likewise.
45945         * lib/unictype/ctype_alpha.h: Likewise.
45946         * lib/unictype/ctype_blank.h: Likewise.
45947         * lib/unictype/ctype_cntrl.h: Likewise.
45948         * lib/unictype/ctype_digit.h: Likewise.
45949         * lib/unictype/ctype_graph.h: Likewise.
45950         * lib/unictype/ctype_lower.h: Likewise.
45951         * lib/unictype/ctype_print.h: Likewise.
45952         * lib/unictype/ctype_punct.h: Likewise.
45953         * lib/unictype/ctype_space.h: Likewise.
45954         * lib/unictype/ctype_upper.h: Likewise.
45955         * lib/unictype/ctype_xdigit.h: Likewise.
45956         * lib/unictype/decdigit.h: Likewise.
45957         * lib/unictype/digit.h: Likewise.
45958         * lib/unictype/mirror.h: Likewise.
45959         * lib/unictype/numeric.h: Likewise.
45960         * lib/unictype/pr_alphabetic.h: Likewise.
45961         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
45962         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
45963         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
45964         * lib/unictype/pr_bidi_block_separator.h: Likewise.
45965         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
45966         * lib/unictype/pr_bidi_common_separator.h: Likewise.
45967         * lib/unictype/pr_bidi_control.h: Likewise.
45968         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
45969         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
45970         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
45971         * lib/unictype/pr_bidi_european_digit.h: Likewise.
45972         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
45973         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
45974         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
45975         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
45976         * lib/unictype/pr_bidi_pdf.h: Likewise.
45977         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
45978         * lib/unictype/pr_bidi_whitespace.h: Likewise.
45979         * lib/unictype/pr_combining.h: Likewise.
45980         * lib/unictype/pr_composite.h: Likewise.
45981         * lib/unictype/pr_currency_symbol.h: Likewise.
45982         * lib/unictype/pr_dash.h: Likewise.
45983         * lib/unictype/pr_decimal_digit.h: Likewise.
45984         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
45985         * lib/unictype/pr_deprecated.h: Likewise.
45986         * lib/unictype/pr_diacritic.h: Likewise.
45987         * lib/unictype/pr_extender.h: Likewise.
45988         * lib/unictype/pr_format_control.h: Likewise.
45989         * lib/unictype/pr_grapheme_base.h: Likewise.
45990         * lib/unictype/pr_grapheme_extend.h: Likewise.
45991         * lib/unictype/pr_grapheme_link.h: Likewise.
45992         * lib/unictype/pr_hex_digit.h: Likewise.
45993         * lib/unictype/pr_hyphen.h: Likewise.
45994         * lib/unictype/pr_id_continue.h: Likewise.
45995         * lib/unictype/pr_id_start.h: Likewise.
45996         * lib/unictype/pr_ideographic.h: Likewise.
45997         * lib/unictype/pr_ids_binary_operator.h: Likewise.
45998         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
45999         * lib/unictype/pr_ignorable_control.h: Likewise.
46000         * lib/unictype/pr_iso_control.h: Likewise.
46001         * lib/unictype/pr_join_control.h: Likewise.
46002         * lib/unictype/pr_left_of_pair.h: Likewise.
46003         * lib/unictype/pr_line_separator.h: Likewise.
46004         * lib/unictype/pr_logical_order_exception.h: Likewise.
46005         * lib/unictype/pr_lowercase.h: Likewise.
46006         * lib/unictype/pr_math.h: Likewise.
46007         * lib/unictype/pr_non_break.h: Likewise.
46008         * lib/unictype/pr_not_a_character.h: Likewise.
46009         * lib/unictype/pr_numeric.h: Likewise.
46010         * lib/unictype/pr_other_alphabetic.h: Likewise.
46011         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
46012         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
46013         * lib/unictype/pr_other_id_continue.h: Likewise.
46014         * lib/unictype/pr_other_id_start.h: Likewise.
46015         * lib/unictype/pr_other_lowercase.h: Likewise.
46016         * lib/unictype/pr_other_math.h: Likewise.
46017         * lib/unictype/pr_other_uppercase.h: Likewise.
46018         * lib/unictype/pr_paired_punctuation.h: Likewise.
46019         * lib/unictype/pr_paragraph_separator.h: Likewise.
46020         * lib/unictype/pr_pattern_syntax.h: Likewise.
46021         * lib/unictype/pr_pattern_white_space.h: Likewise.
46022         * lib/unictype/pr_private_use.h: Likewise.
46023         * lib/unictype/pr_punctuation.h: Likewise.
46024         * lib/unictype/pr_quotation_mark.h: Likewise.
46025         * lib/unictype/pr_radical.h: Likewise.
46026         * lib/unictype/pr_sentence_terminal.h: Likewise.
46027         * lib/unictype/pr_soft_dotted.h: Likewise.
46028         * lib/unictype/pr_space.h: Likewise.
46029         * lib/unictype/pr_terminal_punctuation.h: Likewise.
46030         * lib/unictype/pr_titlecase.h: Likewise.
46031         * lib/unictype/pr_unassigned_code_value.h: Likewise.
46032         * lib/unictype/pr_unified_ideograph.h: Likewise.
46033         * lib/unictype/pr_uppercase.h: Likewise.
46034         * lib/unictype/pr_variation_selector.h: Likewise.
46035         * lib/unictype/pr_white_space.h: Likewise.
46036         * lib/unictype/pr_xid_continue.h: Likewise.
46037         * lib/unictype/pr_xid_start.h: Likewise.
46038         * lib/unictype/pr_zero_width.h: Likewise.
46039         * lib/unictype/scripts.h: Likewise.
46040         * lib/unictype/scripts_byname.gperf: Likewise.
46041         * lib/unictype/sy_c_ident.h: Likewise.
46042         * lib/unictype/sy_c_whitespace.h: Likewise.
46043         * lib/unictype/sy_java_ident.h: Likewise.
46044         * lib/unictype/sy_java_whitespace.h: Likewise.
46045
46046         * lib/unictype/Makefile: New file.
46047         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
46048         glibc.
46049         * lib/unictype/3level.h: New file, copied from glibc.
46050         * lib/unictype/3levelbit.h: New file.
46051
46052 2007-11-11  Bruno Haible  <bruno@clisp.org>
46053
46054         * modules/gperf: New file.
46055         * modules/iconv_open (Depends-on): Add it.
46056         (Makefile.am): Remove the GPERF definition.
46057
46058 2007-11-11  Bruno Haible  <bruno@clisp.org>
46059
46060         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
46061         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
46062
46063 2007-11-11  Bruno Haible  <bruno@clisp.org>
46064
46065         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
46066         (usage): Remove function.
46067
46068 2007-11-11  Bruno Haible  <bruno@clisp.org>
46069
46070         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
46071         gl_FUNC_CEILF_LIBS.
46072         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
46073         gl_FUNC_CEIL_LIBS.
46074         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
46075         gl_FUNC_CEILL_LIBS.
46076         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
46077         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
46078         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
46079
46080 2007-11-11  Bruno Haible  <bruno@clisp.org>
46081
46082         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
46083         roundf were declared but do not exist on functions.
46084         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
46085         roundl were declared but do not exist on functions.
46086         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
46087         HAVE_FLOORL_AND_CEILL, respectively.
46088         Needed for Sun C on Solaris 10.
46089
46090 2007-11-11  Bruno Haible  <bruno@clisp.org>
46091
46092         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
46093         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
46094         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
46095         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
46096         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
46097         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
46098         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
46099         HAVE_DECL_ROUNDF.
46100         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
46101         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
46102         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
46103         of HAVE_DECL_ROUND*.
46104         * modules/math (Makefile.am): Update.
46105
46106 2007-11-10  Bruno Haible  <bruno@clisp.org>
46107
46108         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
46109         ptrdiff_t as m4/intl.m4.
46110
46111 2007-11-10  Jim Meyering  <meyering@redhat.com>
46112
46113         Avoid link failure for the argmatch test.
46114         * tests/test-argmatch.c (usage): Define function to avoid a link
46115         failure: argmatch_die requires a usage function.
46116
46117 2007-11-09  Bruno Haible  <bruno@clisp.org>
46118
46119         * doc/functions/snprintf.texi: Mention BeOS deficiency.
46120         * doc/functions/vsnprintf.texi: Likewise.
46121         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
46122         with a size argument < 2.
46123
46124 2007-11-09  Bruno Haible  <bruno@clisp.org>
46125
46126         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
46127         buffer. Fixes an inefficiency introduced on 2007-11-03.
46128
46129 2007-11-09  Bruno Haible  <bruno@clisp.org>
46130
46131         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
46132         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
46133
46134 2007-11-08  Jim Meyering  <meyering@redhat.com>
46135
46136         Change cache variable name prefix "jm_" to "gl_" everywhere.
46137         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
46138         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
46139         * m4/uptime.m4: s/gl_/jm_/
46140
46141 2007-11-07  Bruno Haible  <bruno@clisp.org>
46142
46143         Update to GNU gettext 0.17.
46144         * m4/intl.m4: Update to GNU gettext 0.17.
46145         * m4/po.m4: Likewise.
46146         * modules/gettext (Files): Remove m4/ulonglong.m4.
46147         (configure.ac): Require gettext infrastructure from version 0.17.
46148
46149 2007-11-06  Bruno Haible  <bruno@clisp.org>
46150
46151         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
46152         symbolic values are not defined in a public header.
46153         * lib/freadable.c (freadable) [QNX]: Likewise.
46154         * lib/freadahead.c (freadahead) [QNX]: Likewise.
46155         * lib/freading.c (freading) [QNX]: Likewise.
46156         * lib/fseterr.c (fseterr) [QNX]: Likewise.
46157         * lib/fwritable.c (fwritable) [QNX]: Likewise.
46158         * lib/fwriting.c (fwriting) [QNX]: Likewise.
46159         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
46160         Reported by Alain Magloire.
46161
46162         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
46163
46164 2007-11-05  Bruno Haible  <bruno@clisp.org>
46165
46166         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
46167         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
46168         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
46169         Reported by Eric Blake.
46170
46171 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46172             Bruno Haible  <bruno@clisp.org>
46173
46174         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
46175         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
46176         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
46177         (malloc): Undefine also before including <stdlib.h>.
46178         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
46179         Needed on OSF/1 4.0.
46180
46181 2007-11-05  Jim Meyering  <meyering@redhat.com>
46182
46183         git-version-gen: sync from coreutils.
46184         * build-aux/git-version-gen: Add comments.
46185         Change the first '-' to '.' in the snapshot version string,
46186         e.g., 6.9-377-08144 -> 6.9.377-08144
46187         Remove first parameter.
46188         Don't declare a version "-dirty" merely because a time
46189         stamp has changed.
46190
46191 2007-11-04  Bruno Haible  <bruno@clisp.org>
46192
46193         * lib/lock.h: Protect all macro definitions containing an 'if'
46194         statement through a "do { ... } while (0)".
46195         * lib/tls.h: Likewise.
46196
46197 2007-11-04  Bruno Haible  <bruno@clisp.org>
46198
46199         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
46200
46201 2007-11-04  Bruno Haible  <bruno@clisp.org>
46202
46203         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
46204         * modules/fprintf-posix (Depends-on): Add nocrash.
46205         * modules/snprintf-posix (Depends-on): Likewise.
46206         * modules/sprintf-posix (Depends-on): Likewise.
46207         * modules/vasnprintf-posix (Depends-on): Likewise.
46208         * modules/vasprintf-posix (Depends-on): Likewise.
46209         * modules/vfprintf-posix (Depends-on): Likewise.
46210         * modules/vsnprintf-posix (Depends-on): Likewise.
46211         * modules/vsprintf-posix (Depends-on): Likewise.
46212         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46213         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46214         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46215         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46216         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46217         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46218         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46219
46220 2007-11-04  Bruno Haible  <bruno@clisp.org>
46221
46222         * modules/nocrash: New file.
46223         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
46224         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
46225
46226 2007-11-04  Bruno Haible  <bruno@clisp.org>
46227
46228         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
46229         precision handling.
46230         * tests/test-vasprintf-posix.c (test_function): Likewise.
46231         * tests/test-snprintf-posix.h (test_function): Likewise.
46232         * tests/test-sprintf-posix.h (test_function): Likewise.
46233
46234         Fix *printf behaviour for large precisions on mingw and BeOS.
46235         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
46236         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
46237         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
46238         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46239         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46240         gl_PRINTF_PRECISION and test its result. Invoke
46241         gl_PREREQ_VASNPRINTF_PRECISION.
46242         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46243         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46244         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46245         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46246         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46247         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46248         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46249         * doc/functions/fprintf.texi: Update.
46250         * doc/functions/printf.texi: Update.
46251         * doc/functions/snprintf.texi: Update.
46252         * doc/functions/sprintf.texi: Update.
46253         * doc/functions/vfprintf.texi: Update.
46254         * doc/functions/vprintf.texi: Update.
46255         * doc/functions/vsnprintf.texi: Update.
46256         * doc/functions/vsprintf.texi: Update.
46257
46258 2007-11-04  Bruno Haible  <bruno@clisp.org>
46259
46260         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
46261
46262 2007-11-04  Bruno Haible  <bruno@clisp.org>
46263
46264         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
46265         Reported by Sylvain Beucler <beuc@gnu.org>.
46266
46267 2007-11-03  Bruno Haible  <bruno@clisp.org>
46268
46269         * tests/test-fprintf-posix2.sh: New file.
46270         * tests/test-fprintf-posix2.c: New file.
46271         * modules/fprintf-posix-tests (Files): Add them.
46272         (TESTS): Add test-fprintf-posix2.sh.
46273         (configure.ac): Check for getrlimit and setrlimit.
46274         (check_PROGRAMS): Add test-fprintf-posix2.
46275
46276         * tests/test-printf-posix2.sh: New file.
46277         * tests/test-printf-posix2.c: New file.
46278         * modules/printf-posix-tests (Files): Add them.
46279         (TESTS): Add test-printf-posix2.sh.
46280         (configure.ac): Check for getrlimit and setrlimit.
46281         (check_PROGRAMS): Add test-printf-posix2.
46282
46283         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
46284         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
46285         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
46286         (decode_double): New function, copied from decode_long_double.
46287         (scale10_round_decimal_decoded): New function, extracted from
46288         scale10_round_decimal_long_double.
46289         (scale10_round_decimal_long_double): Use it.
46290         (scale10_round_decimal_double): New function.
46291         (floorlog10): New function.
46292         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
46293         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
46294         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46295         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46296         gl_PRINTF_ENOMEM and test its result. Invoke
46297         gl_PREREQ_VASNPRINTF_ENOMEM.
46298         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46299         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46300         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46301         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46302         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46303         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46304         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46305         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
46306         * modules/snprintf-posix (Depends-on): Likewise.
46307         * modules/sprintf-posix (Depends-on): Likewise.
46308         * modules/vasnprintf-posix (Depends-on): Likewise.
46309         * modules/vasprintf-posix (Depends-on): Likewise.
46310         * modules/vfprintf-posix (Depends-on): Likewise.
46311         * modules/vsnprintf-posix (Depends-on): Likewise.
46312         * modules/vsprintf-posix (Depends-on): Likewise.
46313         * doc/functions/fprintf.texi: Update.
46314         * doc/functions/printf.texi: Update.
46315         * doc/functions/snprintf.texi: Update.
46316         * doc/functions/sprintf.texi: Update.
46317         * doc/functions/vfprintf.texi: Update.
46318         * doc/functions/vprintf.texi: Update.
46319         * doc/functions/vsnprintf.texi: Update.
46320         * doc/functions/vsprintf.texi: Update.
46321
46322 2007-11-03  Bruno Haible  <bruno@clisp.org>
46323
46324         * modules/frexp-nolibm-tests: New file.
46325
46326         * modules/frexp-nolibm: New file.
46327         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
46328
46329 2007-11-03  Bruno Haible  <bruno@clisp.org>
46330
46331         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
46332         value is C99 compliant.
46333         Needed for OSF/1 5.1.
46334
46335 2007-11-03  Bruno Haible  <bruno@clisp.org>
46336
46337         Fix out-of-memory handling of vasnprintf.
46338         * lib/printf-parse.c: Include <errno.h>.
46339         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
46340         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
46341         is already set.
46342
46343 2007-11-02  Eric Blake  <ebb9@byu.net>
46344
46345         Fix tests on cygwin.
46346         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
46347
46348 2007-11-01  Bruno Haible  <bruno@clisp.org>
46349
46350         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
46351         warning.
46352         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
46353         needed for POSIX compatibility.
46354
46355 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46356
46357         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
46358         for compatibility with GNU.
46359
46360 2007-11-01  Bruno Haible  <bruno@clisp.org>
46361
46362         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
46363         (putenv): Renamed from rpl_putenv. Change argument type from
46364         'const char *' to 'char *'.
46365         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
46366         of defining putenv in config.h, just set REPLACE_PUTENV.
46367         * modules/putenv (Depends-on): Add stdlib.
46368         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46369         (Include): Use <stdlib.h>.
46370         * lib/stdlib.in.h (putenv): New declaration.
46371         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
46372         REPLACE_PUTENV.
46373         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
46374         REPLACE_PUTENV.
46375         Needed for MacOS X 10.5.0.
46376         Reported by Peter O'Gorman <peter@pogma.com>.
46377
46378 2007-11-01  Jim Meyering  <meyering@redhat.com>
46379
46380         Treat an empty date string exactly like "0".
46381         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
46382         if the remaining date string (to be parsed) is empty, use "0".
46383         Reported by Mischa Molhoek and discussed in this thread:
46384         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
46385
46386 2007-10-31  Bruno Haible  <bruno@clisp.org>
46387
46388         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
46389         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
46390         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
46391         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
46392         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
46393         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
46394
46395 2007-10-31  Bruno Haible  <bruno@clisp.org>
46396
46397         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
46398         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
46399         (AC_TYPE_LONG_LONG_INT): Use it.
46400         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
46401         it as well.
46402         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
46403         to m4/longlong.m4.
46404         * modules/stdint (Files): Remove m4/ulonglong.m4.
46405         * modules/strtoull (Files): Use m4/longlong.m4 instead of
46406         m4/ulonglong.m4.
46407         * modules/strtoumax (Files): Likewise.
46408
46409 2007-10-30  Bruno Haible  <bruno@clisp.org>
46410
46411         * modules/xvasprintf-posix: New file.
46412         Suggested by Eric Blake.
46413
46414 2007-10-30  Bruno Haible  <bruno@clisp.org>
46415
46416         * modules/xprintf-posix-tests: New file.
46417         * tests/test-xprintf-posix.sh: New file.
46418         * tests/test-xprintf-posix.c: New file.
46419         * tests/test-xfprintf-posix.c: New file.
46420
46421         * modules/xprintf-posix: New file.
46422
46423 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46424
46425         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
46426         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
46427         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
46428
46429 2007-10-29  Bruno Haible  <bruno@clisp.org>
46430
46431         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
46432         contain the special marker '_cv_'.
46433         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
46434         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
46435         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
46436         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
46437         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
46438         Reported by Ralf Wildenhues.
46439
46440 2007-10-29  Bruno Haible  <bruno@clisp.org>
46441
46442         * gnulib-tool (func_import): When --lgpl is not specified, set
46443         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
46444         GPLv3.
46445         Reported by Simon Josefsson.
46446
46447 2007-10-28  Bruno Haible  <bruno@clisp.org>
46448
46449         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
46450         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
46451         HAVE_DECL_ISFINITE.
46452         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
46453         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
46454         HAVE_DECL_ISFINITE.
46455
46456 2007-10-28  Bruno Haible  <bruno@clisp.org>
46457
46458         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
46459         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
46460
46461 2007-10-28  Bruno Haible  <bruno@clisp.org>
46462
46463         Fix link errors with Sun C 5.0 on Solaris 10.
46464         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
46465         function is declared but not present in the compiler's libm.
46466         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
46467         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
46468         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
46469         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
46470         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
46471         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
46472         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
46473         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
46474         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
46475         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
46476         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
46477         HAVE_DECL_FLOORL.
46478
46479 2007-10-28  Bruno Haible  <bruno@clisp.org>
46480
46481         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
46482         gl_FUNC_FLOORL. Cache the result.
46483         (gl_FUNC_FLOORL): Use it.
46484         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
46485         gl_FUNC_CEILL. Cache the result.
46486         (gl_FUNC_CEILL): Use it.
46487
46488         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
46489         gl_FUNC_FLOOR. Cache the result.
46490         (gl_FUNC_FLOOR): Use it.
46491         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
46492         gl_FUNC_CEIL. Cache the result.
46493         (gl_FUNC_CEIL): Use it.
46494
46495         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
46496         gl_FUNC_FLOORF. Cache the result.
46497         (gl_FUNC_FLOORF): Use it.
46498         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
46499         gl_FUNC_CEILF. Cache the result.
46500         (gl_FUNC_CEILF): Use it.
46501
46502 2007-10-28  Bruno Haible  <bruno@clisp.org>
46503
46504         * gnulib-tool: Allow specifying the LGPL version number through
46505         --lgpl=2 or --lgpl=3.
46506         (func_usage): Document --lgpl with argument.
46507         Handle --lgpl=... arguments.
46508         (func_import): Recognize also gl_LGPL calls with an argument. When
46509         --lgpl=2 is used and the module's license is just LGPL, report an
46510         error. Set sed_transform_lib_file according to the lgpl variable. In
46511         the generated files, use --lgpl or gl_LGPL invocations with argument,
46512         if necessary.
46513         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
46514         an LGPv2+ license.
46515         * doc/gnulib-tool.texi (Modified imports): Update explanation of
46516         gl_LGPL macro.
46517
46518 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46519             Bruno Haible  <bruno@clisp.org>
46520
46521         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
46522         (u16_uctomb_aux): Likewise.
46523         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
46524         !HAVE_INLINE.
46525         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
46526
46527 2007-10-28  Bruno Haible  <bruno@clisp.org>
46528
46529         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
46530         Invoke AM_GETTEXT_OPTION if it exists.
46531         * modules/vasprintf: Likewise.
46532         * modules/verror: Likewise.
46533         * modules/xprintf: Likewise.
46534         * modules/xvasprintf: Likewise.
46535
46536 2007-10-27  Ben Pfaff  <blp@gnu.org>
46537
46538         * lib/math.in.h: Define isfinite macro and prototypes for
46539         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
46540         implementations.
46541         * m4/math_h.m4: New substitutions for isfinite module.
46542         * lib/isfinite.c: New file.
46543         * m4/isfinite.m4: New file.
46544         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
46545         * modules/isfinite: New file.
46546         * modules/isfinite-tests: New file.
46547         * tests/tests-isfinite.c: New file.
46548         * doc/functions/isfinite.texi: Mention isfinite module.
46549         * MODULES.html.sh: Mention new module.
46550
46551 2007-10-27  Ben Pfaff  <blp@gnu.org>
46552
46553         Ralf Wildenhues reported that Tru64 4.0D declares the round
46554         functions but does not have definitions.
46555         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
46556         cannot be found in any library, set the output variable to
46557         "missing" instead of "".
46558         * m4/round.m4: Also use our substitute if we cannot find round in
46559         any library, even if it is declared.
46560         * m4/roundf.m4: Likewise for roundf.
46561         * m4/roundl.m4: Likewise for roundl.
46562         * lib/math.in.h: Undefine roundf, round, roundl before defining
46563         their replacements, to allow for hypothetical systems where these
46564         may be defined as macros but not available in libraries.
46565
46566 2007-10-27  Bruno Haible  <bruno@clisp.org>
46567
46568         * doc/gnulib.texi: Invoke @firstparagraphindent.
46569         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
46570         changes in gnulib.
46571         (Source changes): New section.
46572
46573 2007-10-26  Bruno Haible  <bruno@clisp.org>
46574
46575         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
46576         borrowed from autoconf.
46577
46578 2007-10-26  Bruno Haible  <bruno@clisp.org>
46579
46580         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
46581         strerror returned the empty string. Needed on HP-UX 11.00.
46582
46583 2007-10-24  Micah Cowan  <micah@cowan.name>
46584
46585         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
46586         * build-aux/bootstrap: Remove support for now-unnecessary option,
46587         --cvs-user, and envvars CVS_USER, CVS_RSH.
46588
46589 2007-10-24  Jim Meyering  <meyering@redhat.com>
46590
46591         Avoid diagnostics from sha1sum when there is no cached checksum.
46592         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
46593         if the po.s1 file hasn't been created yet.
46594
46595         * build-aux/bootstrap: Sync from coreutils:
46596         2007-10-24  Jim Meyering  <meyering@redhat.com>
46597         Get gnulib from the git repository, not from an obsolete cvs one.
46598         * build-aux/bootstrap: Suggestion from Micah Cowan.
46599         2007-10-04  Jim Meyering  <jim@meyering.net>
46600         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
46601         (update_po_files): Work also when there are no .po files in po/.
46602
46603 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46604
46605         * README: Append ".git" to git and cg examples.
46606         Problem reported by Benoit Sigoure.
46607
46608 2007-10-23  Micah Cowan  <micah@cowan.name>
46609
46610         * users.txt: Add wget.
46611
46612 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46613
46614         Fix linking of some unistdio tests on FreeBSD.
46615         * modules/unistdio/u16-vsnprintf-tests
46616         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
46617         * modules/unistdio/u16-vsprintf-tests
46618         (test_u16_vsnprintf1_LDADD): Likewise.
46619         * modules/unistdio/u32-vsnprintf-tests
46620         (test_u32_vsnprintf1_LDADD): Likewise.
46621         * modules/unistdio/u32-vsprintf-tests
46622         (test_u32_vsprintf1_LDADD): Likewise.
46623         * modules/unistdio/u8-vsnprintf-tests
46624         (test_u8_vsnprintf1_LDADD): Likewise.
46625         * modules/unistdio/u8-vsprintf-tests
46626         (test_u8_vsprintf1_LDADD): Likewise.
46627         * modules/unistdio/ulc-vsnprintf-tests
46628         (test_ulc_vsnprintf1_LDADD): Likewise.
46629         * modules/unistdio/ulc-vsprintf-tests
46630         (test_ulc_vsprintf1_LDADD): Likewise.
46631
46632         Fix linking of some uniconv tests on FreeBSD.
46633         * modules/uniconv/u16-conv-from-enc-tests
46634         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
46635         * modules/uniconv/u16-conv-to-enc-tests
46636         (test_u16_conv_to_enc_LDADD): Likewise.
46637         * modules/uniconv/u16-strconv-from-enc-tests
46638         (test_u16_strconv_from_enc_LDADD): Likewise.
46639         * modules/uniconv/u16-strconv-to-enc-tests
46640         (test_u16_strconv_to_enc_LDADD): Likewise.
46641         * modules/uniconv/u32-conv-from-enc-tests
46642         (test_u32_conv_from_enc_LDADD): Likewise.
46643         * modules/uniconv/u32-conv-to-enc-tests
46644         (test_u32_conv_to_enc_LDADD): Likewise.
46645         * modules/uniconv/u32-strconv-from-enc-tests
46646         (test_u32_strconv_from_enc_LDADD): Likewise.
46647         * modules/uniconv/u32-strconv-to-enc-tests
46648         (test_u32_strconv_to_enc_LDADD): Likewise.
46649         * modules/uniconv/u8-conv-from-enc-tests
46650         (test_u8_conv_from_enc_LDADD): Likewise.
46651         * modules/uniconv/u8-conv-to-enc-tests
46652         (test_u8_conv_to_enc_LDADD): Likewise.
46653         * modules/uniconv/u8-strconv-from-enc-tests
46654         (test_u8_strconv_from_enc_LDADD): Likewise.
46655         * modules/uniconv/u8-strconv-to-enc-tests
46656         (test_u8_strconv_to_enc_LDADD): Likewise.
46657
46658 2007-10-22  Bruno Haible  <bruno@clisp.org>
46659
46660         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
46661         size.
46662
46663 2007-10-22  Eric Blake  <ebb9@byu.net>
46664
46665         Tweak x*printf documentation.
46666         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
46667         variable name and comments.
46668         Suggested by Bruno Haible.
46669
46670 2007-10-22  Bruno Haible  <bruno@clisp.org>
46671
46672         * lib/acl.c (copy_acl): Fix file name in comment.
46673
46674 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46675
46676         Fix Tru64 problem with stdbool.h.
46677         * lib/stdbool.in.h (false, true):
46678         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
46679         Don't declare as an enum in this situation; it runs afoul of Tru64.
46680         Problem reported by Steven M. Schweda in
46681         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
46682
46683 2007-10-22  Eric Blake  <ebb9@byu.net>
46684
46685         Also wrap vf?printf.
46686         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
46687         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
46688         (xvprintf, xvfprintf): New functions.
46689
46690 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46691
46692         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
46693         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
46694
46695         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
46696         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
46697
46698 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46699
46700         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
46701         by Bruno Haible.
46702
46703 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46704
46705         * lib/getloadavg.c
46706         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
46707         Undef `sys' after including sys/table.h, for Tru64 4.0D.
46708
46709         * tests/test-i-ring.c: Work for C89.
46710
46711 2007-10-22  Bruno Haible  <bruno@clisp.org>
46712
46713         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
46714         -1u, in preprocessor expression, so that we don't test for the bug
46715         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
46716         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
46717
46718 2007-10-22  Eric Blake  <ebb9@byu.net>
46719
46720         * tests/test-yesno.sh: Silence stderr during test.
46721
46722 2007-10-22  Simon Josefsson  <simon@josefsson.org>
46723
46724         * modules/crypto/gc-camellia: New file.
46725
46726         * m4/gc-camellia.m4: New file.
46727
46728         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
46729
46730         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
46731
46732 2007-10-22  Simon Josefsson  <simon@josefsson.org>
46733
46734         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
46735         --help to stdout.  Reported by sms@antinode.org (Steven
46736         M. Schweda).
46737
46738 2007-10-22  Simon Josefsson  <simon@josefsson.org>
46739
46740         * users.txt: Fix link to libksba.
46741
46742 2007-10-21  Ben Pfaff  <blp@gnu.org>
46743
46744         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
46745         round.c roundf implementation that depends on floorf and ceilf to
46746         be tested unconditionally.
46747
46748 2007-10-21  Ben Pfaff  <blp@gnu.org>
46749
46750         * m4/check-libm-func.m4: Removed.
46751         * m4/check-math-lib.m4: New file.
46752         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
46753         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
46754         definition and lack of AC_LIBOBJ([roundf]).
46755         * m4/roundl.m4: Ditto, and similarly for roundl.
46756         * modules/round: Reference new m4 file.
46757         * modules/roundf: Ditto.
46758         * modules/roundl: Ditto.
46759         * tests/test-round2.c (main): Use ROUND instead of round.
46760         Bug report from Bruno Haible.
46761
46762 2007-10-21  Bruno Haible  <bruno@clisp.org>
46763
46764         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
46765         context.
46766
46767 2007-10-21  Bruno Haible  <bruno@clisp.org>
46768
46769         * tests/test-wcwidth.c (main): Allow negative result for some control
46770         characters.
46771
46772         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
46773         Needed on OSF/1 5.1.
46774
46775 2007-10-21  Bruno Haible  <bruno@clisp.org>
46776
46777         * tests/test-floorf1.c: Include isnanf.h.
46778         (main): Use isnanf() instead of isnan().
46779         * tests/test-ceilf1.c: Include isnanf.h.
46780         (main): Use isnanf() instead of isnan().
46781         * tests/test-truncf1.c: Include isnanf.h.
46782         (main): Use isnanf() instead of isnan().
46783         * tests/test-roundf1.c: Include isnanf.h.
46784         (main): Use isnanf() instead of isnan().
46785
46786 2007-10-21  Eric Blake  <ebb9@byu.net>
46787
46788         * users.txt: Update URL for m4.
46789
46790 2007-10-21  Bruno Haible  <bruno@clisp.org>
46791
46792         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
46793
46794 2007-10-21  Bruno Haible  <bruno@clisp.org>
46795
46796         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
46797         Git's management files if the CVS files are not present.
46798
46799 2007-10-20  Bruno Haible  <bruno@clisp.org>
46800
46801         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
46802         gcc-3.4.x.
46803
46804 2007-10-20  Ben Pfaff  <blp@gnu.org>
46805
46806         * lib/math.in.h: Declare round, roundf, roundl if we are providing
46807         implementations.
46808         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
46809         * lib/round.c: New file.
46810         * lib/roundf.c: New file.
46811         * lib/roundl.c: New file.
46812         * m4/round.m4: New file.
46813         * m4/roundf.m4: New file.
46814         * m4/roundl.m4: New file.
46815         * m4/check-libm-func-m4: New file.
46816         * modules/math: Replace round, roundf, roundl related @VARS@ in
46817         math.in.h.
46818         * modules/round: New file.
46819         * modules/round-tests: New file.
46820         * modules/roundf: New file.
46821         * modules/roundf-tests: New file.
46822         * modules/roundl: New file.
46823         * modules/roundl-tests: New file.
46824         * tests/test-round1.c: New file.
46825         * tests/test-round2.c: New file.
46826         * tests/test-roundf1.c: New file.
46827         * tests/test-roundf2.c: New file.
46828         * tests/test-roundl.c: New file.
46829         * doc/functions/round.texi: Mention round module.
46830         * doc/functions/roundf.texi: Mention roundf module.
46831         * doc/functions/roundl.texi: Mention roundl module.
46832         * MODULES.html.sh: Mention new modules.
46833         Thanks to Bruno Haible for suggestions.
46834
46835 2007-10-20  Jim Meyering  <meyering@redhat.com>
46836
46837         * lib/xprintf.c: Include <config.h> unconditionally.
46838
46839         Change xprintf's license to GPL.
46840         * modules/xprintf (License): s/LGPL/GPL/, since this module
46841         depends on modules (exit and exitfail) which are GPL.
46842         Suggestion from Bruno Haible.
46843
46844         xprintf fixes.
46845         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
46846         Use a clearer diagnostic.
46847         Patch from Bruno Haible.
46848
46849 2007-10-20  Bruno Haible  <bruno@clisp.org>
46850
46851         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
46852         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
46853         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46854
46855 2007-10-20  Bruno Haible  <bruno@clisp.org>
46856
46857         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
46858         precision in the comparison result > x - 1 or similar.
46859         * tests/test-ceilf2.c (correct_result_p): Likewise.
46860         * tests/test-truncf2.c (correct_result_p): Likewise.
46861         * tests/test-trunc2.c (correct_result_p): Likewise.
46862         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46863
46864 2007-10-20  Bruno Haible  <bruno@clisp.org>
46865
46866         * modules/ceil: New file.
46867         * m4/ceil.m4: New file.
46868         * doc/functions/ceil.texi: Mention the 'ceil' module.
46869
46870 2007-10-20  Bruno Haible  <bruno@clisp.org>
46871
46872         * modules/floor: New file.
46873         * m4/floor.m4: New file.
46874         * doc/functions/floor.texi: Mention the 'floor' module.
46875
46876 2007-10-20  Bruno Haible  <bruno@clisp.org>
46877
46878         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
46879         of %a.
46880         * modules/floorf-tests (Depends-on): Likewise.
46881         * modules/truncf-tests (Depends-on): Likewise.
46882         * modules/trunc-tests (Depends-on): Likewise.
46883         Reported by Ben Pfaff.
46884
46885 2007-10-19  Jim Meyering  <meyering@redhat.com>
46886
46887         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
46888         Don't bother testing specific errno values.  Just test ferror.
46889
46890         New module: xprintf
46891         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
46892
46893 2007-10-19  Bruno Haible  <bruno@clisp.org>
46894
46895         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
46896         syntax.
46897         * modules/javaexec (Makefile.am): Likewise.
46898         * modules/relocatable-prog (Makefile.am): Likewise.
46899         Suggested by Jim Meyering.
46900
46901 2007-10-18  Bruno Haible  <bruno@clisp.org>
46902
46903         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
46904         Reported by Jim Meyering.
46905
46906 2007-10-18  Eric Blake  <ebb9@byu.net>
46907
46908         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
46909
46910 2007-10-18  Bruno Haible  <bruno@clisp.org>
46911
46912         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
46913         the format string into writable memory. Needed in Fortify conditions.
46914
46915 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
46916             Bruno Haible  <bruno@clisp.org>
46917
46918         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
46919         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
46920         * modules/trim (Depends-on): Add mbchar.
46921         (configure.ac): Add gl_FUNC_MBRTOWC.
46922         (Makefile.am): Augment lib_SOURCES.
46923
46924 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46925
46926         Modify glob.c to use fstatat and dirfd, to simplify it.
46927         Suggested by Eric Blake.
46928         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
46929         Don't include <stdbool.h>; not used.
46930         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
46931         (link_exists_p): Simplify implementation, since we can now assume
46932         dirfd and fstatat.
46933         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
46934
46935 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46936
46937         * gnulib-tool (func_get_dependencies): Fix sed script to
46938         match only tests.
46939
46940 2007-10-17  Bruno Haible  <bruno@clisp.org>
46941
46942         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
46943         allow locale names without encoding suffix.
46944         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
46945         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46946
46947 2007-10-16  Bruno Haible  <bruno@clisp.org>
46948
46949         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
46950         * lib/getgroups.c (getgroups): Likewise.
46951         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
46952
46953 2007-10-16  Bruno Haible  <bruno@clisp.org>
46954
46955         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
46956         * modules/malloc-posix (License): Likewise.
46957         * modules/realloc-posix (License): Likewise.
46958         * modules/calloc-posix (License): Likewise.
46959         * modules/intprops (License): Change from GPL to LGPL, with
46960         Paul Eggert's approval.
46961
46962 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46963
46964         Merge glibc changes into lib/glob.c.
46965
46966         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
46967         2007-10-15 04:59:03 UTC.  Here are the changes:
46968
46969         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
46970
46971         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
46972
46973         * lib/glob.c: Add some branch prediction throughout.
46974
46975         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
46976
46977         [BZ #5103]
46978         * lib/glob.c (glob): Recognize patterns starting \/.
46979
46980         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
46981
46982         [BZ #3996]
46983         * lib/glob.c (attribute_hidden): Define if not defined.
46984         (glob): Unescape dirname, filename or username when needed and not
46985         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
46986         is NULL.  Handle unescaped [ in pattern without closing ].
46987         Don't pass GLOB_CHECK down to recursive glob for directories.
46988         (__glob_pattern_type): New function.
46989         (__glob_pattern_p): Implement using __glob_pattern_type.
46990         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
46991         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
46992         Remove unreachable code.
46993
46994         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
46995
46996         * lib/glob.c (glob_in_dir): Add some comments and asserts to
46997         explain why there are no leaks.
46998
46999         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
47000
47001         [BZ #3253]
47002         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
47003         time, rather allocate increasingly bigger arrays of pointers, if
47004         possible with alloca, if too large with malloc.
47005
47006 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47007
47008         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
47009         Problem reported by H.Merijn Brand in
47010         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
47011         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
47012         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
47013
47014 2007-10-15  Bruno Haible  <bruno@clisp.org>
47015
47016         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
47017         with explicit rpl_ prefix.
47018         * lib/fopen.c (fopen): Likewise.
47019         * lib/freopen.c (freopen): Likewise.
47020         * lib/iconv.c (iconv): Likewise.
47021         * lib/iconv_close.c (iconv_close): Likewise.
47022
47023 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47024
47025         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
47026
47027 2007-10-15  Bruno Haible  <bruno@clisp.org>
47028
47029         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
47030         <stddef.h> instead of <stdlib.h> since we only need NULL.
47031         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47032
47033 2007-10-15  Bruno Haible  <bruno@clisp.org>
47034
47035         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
47036         Replace paragraph talking about LIBOBJS.
47037         Reported by Colin Watson <cjwatson@debian.org>.
47038
47039 2007-10-15  Bruno Haible  <bruno@clisp.org>
47040
47041         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
47042         <stdlib.h> before using NULL.
47043
47044 2007-10-15  Simon Josefsson  <simon@josefsson.org>
47045
47046         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
47047         Reported by Albert Chin <china@thewrittenword.com>.
47048
47049 2007-10-14  Bruno Haible  <bruno@clisp.org>
47050
47051         * modules/iconv_open-utf-tests: New file.
47052         * tests/test-iconv-utf.c: New file.
47053
47054         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
47055         * modules/iconv_open-utf: New file.
47056         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
47057         (iconv, iconv_close): New declarations.
47058         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
47059         be defined.
47060         (iconv_open): Add special handling of conversion between UTF-8 and
47061         UTF-{16,32}{BE,LE}.
47062         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
47063         * lib/iconv_close.c: New file.
47064         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
47065         gl_FUNC_ICONV_OPEN.
47066         (gl_FUNC_ICONV_OPEN): Use it.
47067         (gl_FUNC_ICONV_OPEN_UTF): New macro.
47068         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
47069         and REPLACE_ICONV_UTF.
47070         * modules/iconv_open (Depends-on): Add c-strcase.
47071         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
47072         ICONV_CONST.
47073         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
47074
47075 2007-10-13  Albert Chin  <china@thewrittenword.com>
47076             Bruno Haible  <bruno@clisp.org>
47077
47078         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
47079         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
47080
47081 2007-10-13  Bruno Haible  <bruno@clisp.org>
47082
47083         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
47084         defined, use the ISO C99 inline semantics.
47085         * lib/argp.h (ARGP_EI): Likewise.
47086
47087 2007-10-13  Bruno Haible  <bruno@clisp.org>
47088
47089         Handle 'inline' change in gcc 4.3.0.
47090         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
47091         argp_fmtstream_write, argp_fmtstream_set_lmargin,
47092         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
47093         argp_fmtstream_point): Disable 'extern' declaration if the function
47094         definition is going to be provided inline.
47095         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
47096         semantics, not the ISO C99 inline semantics.
47097         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
47098         'extern' declaration if the function definition is going to be provided
47099         inline.
47100         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
47101         the GNU C inline semantics, not the ISO C99 inline semantics. With
47102         GCC 4.2, avoid a warning.
47103
47104 2007-10-13  Bruno Haible  <bruno@clisp.org>
47105
47106         * lib/freading.h (freading): Enable the use of __freading for
47107         glibc >= 2.7.
47108         * lib/freading.c (freading): Likewise.
47109
47110 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
47111
47112         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
47113         "warning: C99 inline functions are not supported; using GNU89".
47114
47115 2007-10-12  Bruno Haible  <bruno@clisp.org>
47116
47117         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
47118         of 2.
47119         * tests/test-ceilf2.c: New file.
47120         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
47121
47122         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
47123         * modules/ceilf-tests: Update.
47124
47125 2007-10-12  Bruno Haible  <bruno@clisp.org>
47126
47127         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
47128         of 2.
47129         * tests/test-floorf2.c: New file.
47130         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
47131
47132         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
47133         * modules/floorf-tests: Update.
47134
47135 2007-10-12  Bruno Haible  <bruno@clisp.org>
47136
47137         * tests/test-trunc2.c: New file.
47138         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
47139
47140         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
47141         * modules/trunc-tests: Update.
47142
47143 2007-10-12  Bruno Haible  <bruno@clisp.org>
47144
47145         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
47146         of 2.
47147         * tests/test-truncf2.c: New file.
47148         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
47149
47150         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
47151         * modules/truncf-tests: Update.
47152
47153 2007-10-11  Eric Blake  <ebb9@byu.net>
47154
47155         Don't claim strerror is broken on Interix.
47156         * doc/functions/strerror.texi (strerror): Known broken systems are
47157         now Solaris 8, and not Interix.
47158         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
47159         Interix on cross-compile.
47160         Reported by Martin Koeppe in
47161         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
47162
47163 2007-10-11  Bruno Haible  <bruno@clisp.org>
47164
47165         * modules/i-ring-tests: New file.
47166         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
47167         instead of assert.
47168
47169 2007-10-11  Bruno Haible  <bruno@clisp.org>
47170
47171         * modules/filenamecat-tests: New file.
47172         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
47173         * lib/filenamecat.c: Remove test code.
47174
47175 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
47176
47177         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
47178
47179         * lib/strerror.c: Include <string.h> always, to test interface,
47180         and to remove the need for the dummy.
47181         Include intprops.h to compute width instead of doing it ourselves
47182         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
47183         (strerror): Define it to return NULL if there's no system strerror.
47184         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
47185         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
47186         ancient pre-strerror Unix systems well any more.  Saying "unknown
47187         system error" is enough.
47188         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
47189         simpler strerror.c implementation.
47190         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
47191         Simplify the tests to reflect the simpler strerror implementation.
47192         * modules/strerror (Depends-on): Add intprops.
47193
47194 2007-10-09  Eric Blake  <ebb9@byu.net>
47195
47196         Silence test-fpending.
47197         * modules/fpending-tests (Files): Add wrapper script.
47198         * tests/test-fpending.sh: New file.
47199
47200 2007-10-09  Bruno Haible  <bruno@clisp.org>
47201
47202         * MODULES.html.sh (func_module): Don't create a hyperlink for
47203         function names like 'printf_frexp'.
47204         (Misc): Add crc, memxor.
47205         (Characteristics of floating types): New section.
47206         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
47207         isnanf-nolibm, signbit, trunc, truncf, truncl.
47208         (Enhancements for ISO C 99 functions): New subsection Input/output.
47209         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
47210         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
47211         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
47212         (Compatibility checks for POSIX:2001 functions): Add clock-time.
47213         (Enhancements for POSIX:2001 functions): Add chdir-long.
47214         (File system functions): Add areadlink, chdir-safer, read-file.
47215         Remove cycle-check.
47216         (File system as inode set): New section.
47217         (Date and time): Add gethrxtime.
47218         (Multithreading): Add openmp.
47219         (Internationalization functions): Add localename.
47220         (Unicode string functions): Add unistr/u*-mbsnlen.
47221         (Support for maintaining and releasing projects): Add git-version-gen.
47222         (Lone files): Remove directories.
47223
47224 2007-10-08  Ben Pfaff  <blp@gnu.org>
47225
47226         * lib/xmalloca.h: Fix typo in comment.
47227
47228 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
47229
47230         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
47231         when avoiding problems with integer overflow.  Use a portable test
47232         instead.
47233
47234 2007-10-08  Simon Josefsson  <simon@josefsson.org>
47235
47236         * modules/dummy (License): Change to LGPLv2+.
47237         * modules/float (License): Likewise
47238         * modules/realloc (License): Likewise
47239         * modules/stdlib (License): Likewise
47240
47241 2007-10-07  Bruno Haible  <bruno@clisp.org>
47242
47243         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
47244         * floor.c (TWO_MANT_DIG): Likewise.
47245         * ceil.c (TWO_MANT_DIG): Likewise.
47246         Reported by Ben Pfaff.
47247
47248 2007-10-07  Bruno Haible  <bruno@clisp.org>
47249
47250         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
47251         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
47252         * lib/frexp.c (FUNC): Likewise.
47253         * lib/printf-frexp.h (printf_frexp): Likewise.
47254         * lib/printf-frexpl.h (printf_frexpl): Likewise.
47255         * lib/printf-frexp.c (FUNC): Likewise.
47256         Suggested by Jim Meyering.
47257
47258 2007-10-07  Jim Meyering  <meyering@redhat.com>
47259
47260         Make xnanosleep's integer overflow test more robust.
47261         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
47262         so that gcc-4.3.0 doesn't optimize away this test for overflow.
47263
47264 2007-10-07  Bruno Haible  <bruno@clisp.org>
47265
47266         * NEWS: Mention the license change.
47267
47268         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
47269         abbreviations in the modules files.
47270
47271         Change copyright notice from GPLv2+ to GPLv3+.
47272         * README: Change copyright notice.
47273         * MODULES.html.sh: Likewise.
47274         * build-aux/bootstrap.conf: Likewise.
47275         * build-aux/config.libpath: Likewise.
47276         * build-aux/csharpcomp.sh.in: Likewise.
47277         * build-aux/csharpexec.sh.in: Likewise.
47278         * build-aux/install-reloc: Likewise.
47279         * build-aux/javacomp.sh.in: Likewise.
47280         * build-aux/javaexec.sh.in: Likewise.
47281         * build-aux/ldd.sh.in: Likewise.
47282         * build-aux/reloc-ldflags: Likewise.
47283         * build-aux/relocatable.sh.in: Likewise.
47284         * build-aux/x-to-1.in: Likewise.
47285         * check-module: Likewise.
47286         * config/srclistvars.sh: Likewise.
47287         * gnulib-tool: Likewise.
47288         * lib/acl-internal.h: Likewise.
47289         * lib/acl.c: Likewise.
47290         * lib/acl.h: Likewise.
47291         * lib/acl_entries.c: Likewise.
47292         * lib/areadlink-with-size.c: Likewise.
47293         * lib/areadlink.c: Likewise.
47294         * lib/areadlink.h: Likewise.
47295         * lib/argmatch.c: Likewise.
47296         * lib/argmatch.h: Likewise.
47297         * lib/argp-ba.c: Likewise.
47298         * lib/argp-eexst.c: Likewise.
47299         * lib/argp-fmtstream.c: Likewise.
47300         * lib/argp-fmtstream.h: Likewise.
47301         * lib/argp-fs-xinl.c: Likewise.
47302         * lib/argp-help.c: Likewise.
47303         * lib/argp-namefrob.h: Likewise.
47304         * lib/argp-parse.c: Likewise.
47305         * lib/argp-pin.c: Likewise.
47306         * lib/argp-pv.c: Likewise.
47307         * lib/argp-pvh.c: Likewise.
47308         * lib/argp-xinl.c: Likewise.
47309         * lib/argp.h: Likewise.
47310         * lib/at-func.c: Likewise.
47311         * lib/atanl.c: Likewise.
47312         * lib/backupfile.c: Likewise.
47313         * lib/backupfile.h: Likewise.
47314         * lib/basename.c: Likewise.
47315         * lib/binary-io.h: Likewise.
47316         * lib/byteswap.in.h: Likewise.
47317         * lib/c-stack.c: Likewise.
47318         * lib/c-stack.h: Likewise.
47319         * lib/c-strcasestr.c: Likewise.
47320         * lib/c-strcasestr.h: Likewise.
47321         * lib/c-strstr.c: Likewise.
47322         * lib/c-strstr.h: Likewise.
47323         * lib/c-strtod.c: Likewise.
47324         * lib/calloc.c: Likewise.
47325         * lib/canon-host.c: Likewise.
47326         * lib/canon-host.h: Likewise.
47327         * lib/canonicalize-lgpl.c: Likewise.
47328         * lib/canonicalize.c: Likewise.
47329         * lib/canonicalize.h: Likewise.
47330         * lib/ceil.c: Likewise.
47331         * lib/ceilf.c: Likewise.
47332         * lib/ceill.c: Likewise.
47333         * lib/chdir-long.c: Likewise.
47334         * lib/chdir-long.h: Likewise.
47335         * lib/chdir-safer.c: Likewise.
47336         * lib/chdir-safer.h: Likewise.
47337         * lib/chown.c: Likewise.
47338         * lib/classpath.c: Likewise.
47339         * lib/classpath.h: Likewise.
47340         * lib/clean-temp.c: Likewise.
47341         * lib/clean-temp.h: Likewise.
47342         * lib/cloexec.c: Likewise.
47343         * lib/close-stream.c: Likewise.
47344         * lib/closein.c: Likewise.
47345         * lib/closein.h: Likewise.
47346         * lib/closeout.c: Likewise.
47347         * lib/closeout.h: Likewise.
47348         * lib/concat-filename.c: Likewise.
47349         * lib/copy-file.c: Likewise.
47350         * lib/copy-file.h: Likewise.
47351         * lib/count-one-bits.h: Likewise.
47352         * lib/crc.c: Likewise.
47353         * lib/crc.h: Likewise.
47354         * lib/creat-safer.c: Likewise.
47355         * lib/csharpcomp.c: Likewise.
47356         * lib/csharpcomp.h: Likewise.
47357         * lib/csharpexec.c: Likewise.
47358         * lib/csharpexec.h: Likewise.
47359         * lib/cycle-check.c: Likewise.
47360         * lib/cycle-check.h: Likewise.
47361         * lib/diacrit.c: Likewise.
47362         * lib/diacrit.h: Likewise.
47363         * lib/diffseq.h: Likewise.
47364         * lib/dirchownmod.c: Likewise.
47365         * lib/dirent.in.h: Likewise.
47366         * lib/dirfd.c: Likewise.
47367         * lib/dirfd.h: Likewise.
47368         * lib/dirname.c: Likewise.
47369         * lib/dirname.h: Likewise.
47370         * lib/dummy.c: Likewise.
47371         * lib/dup-safer.c: Likewise.
47372         * lib/dup2.c: Likewise.
47373         * lib/eealloc.h: Likewise.
47374         * lib/error.c: Likewise.
47375         * lib/error.h: Likewise.
47376         * lib/euidaccess.c: Likewise.
47377         * lib/exclude.c: Likewise.
47378         * lib/exclude.h: Likewise.
47379         * lib/execute.c: Likewise.
47380         * lib/execute.h: Likewise.
47381         * lib/exitfail.c: Likewise.
47382         * lib/exitfail.h: Likewise.
47383         * lib/expl.c: Likewise.
47384         * lib/fatal-signal.c: Likewise.
47385         * lib/fatal-signal.h: Likewise.
47386         * lib/fbufmode.c: Likewise.
47387         * lib/fbufmode.h: Likewise.
47388         * lib/fchdir.c: Likewise.
47389         * lib/fchmodat.c: Likewise.
47390         * lib/fchownat.c: Likewise.
47391         * lib/fcntl--.h: Likewise.
47392         * lib/fcntl-safer.h: Likewise.
47393         * lib/fcntl.in.h: Likewise.
47394         * lib/fd-safer.c: Likewise.
47395         * lib/fflush.c: Likewise.
47396         * lib/file-has-acl.c: Likewise.
47397         * lib/file-set.c: Likewise.
47398         * lib/file-type.c: Likewise.
47399         * lib/file-type.h: Likewise.
47400         * lib/fileblocks.c: Likewise.
47401         * lib/filemode.c: Likewise.
47402         * lib/filemode.h: Likewise.
47403         * lib/filename.h: Likewise.
47404         * lib/filenamecat.c: Likewise.
47405         * lib/filenamecat.h: Likewise.
47406         * lib/findprog.c: Likewise.
47407         * lib/findprog.h: Likewise.
47408         * lib/float.in.h: Likewise.
47409         * lib/floor.c: Likewise.
47410         * lib/floorf.c: Likewise.
47411         * lib/floorl.c: Likewise.
47412         * lib/fopen-safer.c: Likewise.
47413         * lib/fopen.c: Likewise.
47414         * lib/fpending.c: Likewise.
47415         * lib/fpending.h: Likewise.
47416         * lib/fprintf.c: Likewise.
47417         * lib/fprintftime.h: Likewise.
47418         * lib/fpucw.h: Likewise.
47419         * lib/fpurge.c: Likewise.
47420         * lib/fpurge.h: Likewise.
47421         * lib/freadable.c: Likewise.
47422         * lib/freadable.h: Likewise.
47423         * lib/freadahead.c: Likewise.
47424         * lib/freadahead.h: Likewise.
47425         * lib/freading.c: Likewise.
47426         * lib/freading.h: Likewise.
47427         * lib/free.c: Likewise.
47428         * lib/freopen.c: Likewise.
47429         * lib/frexp.c: Likewise.
47430         * lib/frexpl.c: Likewise.
47431         * lib/fseek.c: Likewise.
47432         * lib/fseterr.c: Likewise.
47433         * lib/fseterr.h: Likewise.
47434         * lib/fstatat.c: Likewise.
47435         * lib/fstrcmp.c: Likewise.
47436         * lib/fstrcmp.h: Likewise.
47437         * lib/fsusage.c: Likewise.
47438         * lib/fsusage.h: Likewise.
47439         * lib/ftell.c: Likewise.
47440         * lib/ftello.c: Likewise.
47441         * lib/fts-cycle.c: Likewise.
47442         * lib/fts.c: Likewise.
47443         * lib/fts_.h: Likewise.
47444         * lib/full-read.c: Likewise.
47445         * lib/full-read.h: Likewise.
47446         * lib/full-write.c: Likewise.
47447         * lib/full-write.h: Likewise.
47448         * lib/fwritable.c: Likewise.
47449         * lib/fwritable.h: Likewise.
47450         * lib/fwriteerror.c: Likewise.
47451         * lib/fwriteerror.h: Likewise.
47452         * lib/fwriting.c: Likewise.
47453         * lib/fwriting.h: Likewise.
47454         * lib/gcd.c: Likewise.
47455         * lib/gcd.h: Likewise.
47456         * lib/getcwd.c: Likewise.
47457         * lib/getdate.h: Likewise.
47458         * lib/getdate.y: Likewise.
47459         * lib/getdomainname.c: Likewise.
47460         * lib/getdomainname.h: Likewise.
47461         * lib/getgroups.c: Likewise.
47462         * lib/gethostname.c: Likewise.
47463         * lib/gethrxtime.c: Likewise.
47464         * lib/gethrxtime.h: Likewise.
47465         * lib/getloadavg.c: Likewise.
47466         * lib/getndelim2.c: Likewise.
47467         * lib/getndelim2.h: Likewise.
47468         * lib/getnline.c: Likewise.
47469         * lib/getnline.h: Likewise.
47470         * lib/getopt.c: Likewise.
47471         * lib/getopt.in.h: Likewise.
47472         * lib/getopt1.c: Likewise.
47473         * lib/getopt_int.h: Likewise.
47474         * lib/getpagesize.h: Likewise.
47475         * lib/getsubopt.c: Likewise.
47476         * lib/gettime.c: Likewise.
47477         * lib/getugroups.c: Likewise.
47478         * lib/getugroups.h: Likewise.
47479         * lib/getusershell.c: Likewise.
47480         * lib/gl_anyavltree_list1.h: Likewise.
47481         * lib/gl_anyavltree_list2.h: Likewise.
47482         * lib/gl_anyhash_list1.h: Likewise.
47483         * lib/gl_anyhash_list2.h: Likewise.
47484         * lib/gl_anylinked_list1.h: Likewise.
47485         * lib/gl_anylinked_list2.h: Likewise.
47486         * lib/gl_anyrbtree_list1.h: Likewise.
47487         * lib/gl_anyrbtree_list2.h: Likewise.
47488         * lib/gl_anytree_list1.h: Likewise.
47489         * lib/gl_anytree_list2.h: Likewise.
47490         * lib/gl_anytree_oset.h: Likewise.
47491         * lib/gl_anytreehash_list1.h: Likewise.
47492         * lib/gl_anytreehash_list2.h: Likewise.
47493         * lib/gl_array_list.c: Likewise.
47494         * lib/gl_array_list.h: Likewise.
47495         * lib/gl_array_oset.c: Likewise.
47496         * lib/gl_array_oset.h: Likewise.
47497         * lib/gl_avltree_list.c: Likewise.
47498         * lib/gl_avltree_list.h: Likewise.
47499         * lib/gl_avltree_oset.c: Likewise.
47500         * lib/gl_avltree_oset.h: Likewise.
47501         * lib/gl_avltreehash_list.c: Likewise.
47502         * lib/gl_avltreehash_list.h: Likewise.
47503         * lib/gl_carray_list.c: Likewise.
47504         * lib/gl_carray_list.h: Likewise.
47505         * lib/gl_linked_list.c: Likewise.
47506         * lib/gl_linked_list.h: Likewise.
47507         * lib/gl_linkedhash_list.c: Likewise.
47508         * lib/gl_linkedhash_list.h: Likewise.
47509         * lib/gl_list.c: Likewise.
47510         * lib/gl_list.h: Likewise.
47511         * lib/gl_oset.c: Likewise.
47512         * lib/gl_oset.h: Likewise.
47513         * lib/gl_rbtree_list.c: Likewise.
47514         * lib/gl_rbtree_list.h: Likewise.
47515         * lib/gl_rbtree_oset.c: Likewise.
47516         * lib/gl_rbtree_oset.h: Likewise.
47517         * lib/gl_rbtreehash_list.c: Likewise.
47518         * lib/gl_rbtreehash_list.h: Likewise.
47519         * lib/gl_sublist.c: Likewise.
47520         * lib/gl_sublist.h: Likewise.
47521         * lib/group-member.c: Likewise.
47522         * lib/group-member.h: Likewise.
47523         * lib/hard-locale.c: Likewise.
47524         * lib/hard-locale.h: Likewise.
47525         * lib/hash-pjw.c: Likewise.
47526         * lib/hash-pjw.h: Likewise.
47527         * lib/hash-triple.c: Likewise.
47528         * lib/hash.c: Likewise.
47529         * lib/hash.h: Likewise.
47530         * lib/human.c: Likewise.
47531         * lib/human.h: Likewise.
47532         * lib/i-ring.c: Likewise.
47533         * lib/i-ring.h: Likewise.
47534         * lib/idcache.c: Likewise.
47535         * lib/imaxabs.c: Likewise.
47536         * lib/imaxdiv.c: Likewise.
47537         * lib/inet_pton.c: Likewise.
47538         * lib/inet_pton.h: Likewise.
47539         * lib/intprops.h: Likewise.
47540         * lib/inttostr.c: Likewise.
47541         * lib/inttostr.h: Likewise.
47542         * lib/inttypes.in.h: Likewise.
47543         * lib/isapipe.c: Likewise.
47544         * lib/isdir.c: Likewise.
47545         * lib/isnan.c: Likewise.
47546         * lib/isnan.h: Likewise.
47547         * lib/isnanf.c: Likewise.
47548         * lib/isnanf.h: Likewise.
47549         * lib/isnanl-nolibm.h: Likewise.
47550         * lib/isnanl.c: Likewise.
47551         * lib/isnanl.h: Likewise.
47552         * lib/javacomp.c: Likewise.
47553         * lib/javacomp.h: Likewise.
47554         * lib/javaexec.c: Likewise.
47555         * lib/javaexec.h: Likewise.
47556         * lib/javaversion.c: Likewise.
47557         * lib/javaversion.h: Likewise.
47558         * lib/javaversion.java: Likewise.
47559         * lib/lbrkprop.h: Likewise.
47560         * lib/lchmod.h: Likewise.
47561         * lib/lchown.c: Likewise.
47562         * lib/ldexpl.c: Likewise.
47563         * lib/linebreak.c: Likewise.
47564         * lib/linebreak.h: Likewise.
47565         * lib/linebuffer.c: Likewise.
47566         * lib/linebuffer.h: Likewise.
47567         * lib/locale.in.h: Likewise.
47568         * lib/logl.c: Likewise.
47569         * lib/long-options.c: Likewise.
47570         * lib/long-options.h: Likewise.
47571         * lib/lstat.c: Likewise.
47572         * lib/lstat.h: Likewise.
47573         * lib/math.in.h: Likewise.
47574         * lib/mbchar.c: Likewise.
47575         * lib/mbchar.h: Likewise.
47576         * lib/mbfile.h: Likewise.
47577         * lib/mbiter.h: Likewise.
47578         * lib/mbscasecmp.c: Likewise.
47579         * lib/mbscasestr.c: Likewise.
47580         * lib/mbschr.c: Likewise.
47581         * lib/mbscspn.c: Likewise.
47582         * lib/mbslen.c: Likewise.
47583         * lib/mbsncasecmp.c: Likewise.
47584         * lib/mbsnlen.c: Likewise.
47585         * lib/mbspbrk.c: Likewise.
47586         * lib/mbspcasecmp.c: Likewise.
47587         * lib/mbsrchr.c: Likewise.
47588         * lib/mbssep.c: Likewise.
47589         * lib/mbsspn.c: Likewise.
47590         * lib/mbsstr.c: Likewise.
47591         * lib/mbstok_r.c: Likewise.
47592         * lib/mbswidth.c: Likewise.
47593         * lib/mbswidth.h: Likewise.
47594         * lib/mbuiter.h: Likewise.
47595         * lib/memcasecmp.c: Likewise.
47596         * lib/memcasecmp.h: Likewise.
47597         * lib/memchr.c: Likewise.
47598         * lib/memcmp.c: Likewise.
47599         * lib/memcoll.c: Likewise.
47600         * lib/memcoll.h: Likewise.
47601         * lib/memcpy.c: Likewise.
47602         * lib/memrchr.c: Likewise.
47603         * lib/mkancesdirs.c: Likewise.
47604         * lib/mkdir-p.c: Likewise.
47605         * lib/mkdir-p.h: Likewise.
47606         * lib/mkdir.c: Likewise.
47607         * lib/mkdirat.c: Likewise.
47608         * lib/mkdtemp.c: Likewise.
47609         * lib/mkstemp-safer.c: Likewise.
47610         * lib/mkstemp.c: Likewise.
47611         * lib/modechange.c: Likewise.
47612         * lib/modechange.h: Likewise.
47613         * lib/mountlist.c: Likewise.
47614         * lib/mountlist.h: Likewise.
47615         * lib/mpsort.c: Likewise.
47616         * lib/nanosleep.c: Likewise.
47617         * lib/obstack.c: Likewise.
47618         * lib/obstack.h: Likewise.
47619         * lib/open-safer.c: Likewise.
47620         * lib/open.c: Likewise.
47621         * lib/openat-die.c: Likewise.
47622         * lib/openat-priv.h: Likewise.
47623         * lib/openat-proc.c: Likewise.
47624         * lib/openat.c: Likewise.
47625         * lib/openat.h: Likewise.
47626         * lib/pagealign_alloc.c: Likewise.
47627         * lib/pagealign_alloc.h: Likewise.
47628         * lib/physmem.c: Likewise.
47629         * lib/physmem.h: Likewise.
47630         * lib/pipe-safer.c: Likewise.
47631         * lib/pipe.c: Likewise.
47632         * lib/pipe.h: Likewise.
47633         * lib/posixtm.c: Likewise.
47634         * lib/posixtm.h: Likewise.
47635         * lib/posixver.c: Likewise.
47636         * lib/printf-frexp.c: Likewise.
47637         * lib/printf-frexp.h: Likewise.
47638         * lib/printf-frexpl.c: Likewise.
47639         * lib/printf-frexpl.h: Likewise.
47640         * lib/printf.c: Likewise.
47641         * lib/progname.c: Likewise.
47642         * lib/progname.h: Likewise.
47643         * lib/progreloc.c: Likewise.
47644         * lib/putenv.c: Likewise.
47645         * lib/quote.c: Likewise.
47646         * lib/quote.h: Likewise.
47647         * lib/quotearg.c: Likewise.
47648         * lib/quotearg.h: Likewise.
47649         * lib/raise.c: Likewise.
47650         * lib/readline.c: Likewise.
47651         * lib/readline.h: Likewise.
47652         * lib/readlink.c: Likewise.
47653         * lib/readtokens.c: Likewise.
47654         * lib/readtokens.h: Likewise.
47655         * lib/readtokens0.c: Likewise.
47656         * lib/readtokens0.h: Likewise.
47657         * lib/readutmp.c: Likewise.
47658         * lib/readutmp.h: Likewise.
47659         * lib/realloc.c: Likewise.
47660         * lib/relocwrapper.c: Likewise.
47661         * lib/rename-dest-slash.c: Likewise.
47662         * lib/rename.c: Likewise.
47663         * lib/rmdir.c: Likewise.
47664         * lib/rpmatch.c: Likewise.
47665         * lib/safe-read.c: Likewise.
47666         * lib/safe-read.h: Likewise.
47667         * lib/safe-write.c: Likewise.
47668         * lib/safe-write.h: Likewise.
47669         * lib/same-inode.h: Likewise.
47670         * lib/same.c: Likewise.
47671         * lib/same.h: Likewise.
47672         * lib/save-cwd.c: Likewise.
47673         * lib/save-cwd.h: Likewise.
47674         * lib/savedir.c: Likewise.
47675         * lib/savedir.h: Likewise.
47676         * lib/savewd.c: Likewise.
47677         * lib/savewd.h: Likewise.
47678         * lib/search.in.h: Likewise.
47679         * lib/setenv.c: Likewise.
47680         * lib/setenv.h: Likewise.
47681         * lib/settime.c: Likewise.
47682         * lib/sh-quote.c: Likewise.
47683         * lib/sh-quote.h: Likewise.
47684         * lib/sig2str.c: Likewise.
47685         * lib/sig2str.h: Likewise.
47686         * lib/signal.in.h: Likewise.
47687         * lib/signbitd.c: Likewise.
47688         * lib/signbitf.c: Likewise.
47689         * lib/signbitl.c: Likewise.
47690         * lib/sigprocmask.c: Likewise.
47691         * lib/sincosl.c: Likewise.
47692         * lib/sleep.c: Likewise.
47693         * lib/sprintf.c: Likewise.
47694         * lib/sqrtl.c: Likewise.
47695         * lib/stat-time.h: Likewise.
47696         * lib/stdio--.h: Likewise.
47697         * lib/stdio-safer.h: Likewise.
47698         * lib/stdlib--.h: Likewise.
47699         * lib/stdlib-safer.h: Likewise.
47700         * lib/stdlib.in.h: Likewise.
47701         * lib/stpcpy.c: Likewise.
47702         * lib/stpncpy.c: Likewise.
47703         * lib/strchrnul.c: Likewise.
47704         * lib/strcspn.c: Likewise.
47705         * lib/strerror.c: Likewise.
47706         * lib/strftime.c: Likewise.
47707         * lib/strftime.h: Likewise.
47708         * lib/striconveh.c: Likewise.
47709         * lib/striconveh.h: Likewise.
47710         * lib/striconveha.c: Likewise.
47711         * lib/striconveha.h: Likewise.
47712         * lib/stripslash.c: Likewise.
47713         * lib/strnlen1.c: Likewise.
47714         * lib/strnlen1.h: Likewise.
47715         * lib/strtod.c: Likewise.
47716         * lib/strtoimax.c: Likewise.
47717         * lib/strtok_r.c: Likewise.
47718         * lib/strtol.c: Likewise.
47719         * lib/strtoll.c: Likewise.
47720         * lib/strtoul.c: Likewise.
47721         * lib/strtoull.c: Likewise.
47722         * lib/sysexits.in.h: Likewise.
47723         * lib/tempname.c: Likewise.
47724         * lib/tempname.h: Likewise.
47725         * lib/timespec.h: Likewise.
47726         * lib/tls.c: Likewise.
47727         * lib/tls.h: Likewise.
47728         * lib/tmpdir.c: Likewise.
47729         * lib/tmpdir.h: Likewise.
47730         * lib/tmpfile-safer.c: Likewise.
47731         * lib/tmpfile.c: Likewise.
47732         * lib/trigl.c: Likewise.
47733         * lib/trigl.h: Likewise.
47734         * lib/trim.c: Likewise.
47735         * lib/trim.h: Likewise.
47736         * lib/trunc.c: Likewise.
47737         * lib/truncf.c: Likewise.
47738         * lib/truncl.c: Likewise.
47739         * lib/tsearch.c: Likewise.
47740         * lib/unicodeio.c: Likewise.
47741         * lib/unicodeio.h: Likewise.
47742         * lib/unistd--.h: Likewise.
47743         * lib/unistd-safer.h: Likewise.
47744         * lib/unistdio/ulc-fprintf.c: Likewise.
47745         * lib/unistdio/ulc-vfprintf.c: Likewise.
47746         * lib/unlinkdir.c: Likewise.
47747         * lib/unlinkdir.h: Likewise.
47748         * lib/unlocked-io.h: Likewise.
47749         * lib/unsetenv.c: Likewise.
47750         * lib/userspec.c: Likewise.
47751         * lib/utime.c: Likewise.
47752         * lib/utimecmp.c: Likewise.
47753         * lib/utimecmp.h: Likewise.
47754         * lib/utimens.c: Likewise.
47755         * lib/verify.h: Likewise.
47756         * lib/verror.c: Likewise.
47757         * lib/verror.h: Likewise.
47758         * lib/version-etc-fsf.c: Likewise.
47759         * lib/version-etc.c: Likewise.
47760         * lib/version-etc.h: Likewise.
47761         * lib/vfprintf.c: Likewise.
47762         * lib/vprintf.c: Likewise.
47763         * lib/vsprintf.c: Likewise.
47764         * lib/w32spawn.h: Likewise.
47765         * lib/wait-process.c: Likewise.
47766         * lib/wait-process.h: Likewise.
47767         * lib/wcwidth.c: Likewise.
47768         * lib/write-any-file.c: Likewise.
47769         * lib/xalloc-die.c: Likewise.
47770         * lib/xalloc.h: Likewise.
47771         * lib/xasprintf.c: Likewise.
47772         * lib/xgetcwd.c: Likewise.
47773         * lib/xgetcwd.h: Likewise.
47774         * lib/xgetdomainname.c: Likewise.
47775         * lib/xgetdomainname.h: Likewise.
47776         * lib/xgethostname.c: Likewise.
47777         * lib/xmalloc.c: Likewise.
47778         * lib/xmalloca.c: Likewise.
47779         * lib/xmalloca.h: Likewise.
47780         * lib/xmemcoll.c: Likewise.
47781         * lib/xnanosleep.c: Likewise.
47782         * lib/xreadlink.c: Likewise.
47783         * lib/xreadlink.h: Likewise.
47784         * lib/xsetenv.c: Likewise.
47785         * lib/xsetenv.h: Likewise.
47786         * lib/xstriconv.c: Likewise.
47787         * lib/xstriconv.h: Likewise.
47788         * lib/xstrndup.c: Likewise.
47789         * lib/xstrndup.h: Likewise.
47790         * lib/xstrtod.c: Likewise.
47791         * lib/xstrtod.h: Likewise.
47792         * lib/xstrtol-error.c: Likewise.
47793         * lib/xstrtol.c: Likewise.
47794         * lib/xstrtol.h: Likewise.
47795         * lib/xtime.h: Likewise.
47796         * lib/xvasprintf.c: Likewise.
47797         * lib/xvasprintf.h: Likewise.
47798         * lib/yesno.c: Likewise.
47799         * lib/yesno.h: Likewise.
47800         * posix-modules: Likewise.
47801         * tests/test-alloca-opt.c: Likewise.
47802         * tests/test-arcfour.c: Likewise.
47803         * tests/test-arctwo.c: Likewise.
47804         * tests/test-argmatch.c: Likewise.
47805         * tests/test-argp-2.sh: Likewise.
47806         * tests/test-argp.c: Likewise.
47807         * tests/test-arpa_inet.c: Likewise.
47808         * tests/test-array_list.c: Likewise.
47809         * tests/test-array_oset.c: Likewise.
47810         * tests/test-atexit.c: Likewise.
47811         * tests/test-avltree_list.c: Likewise.
47812         * tests/test-avltree_oset.c: Likewise.
47813         * tests/test-avltreehash_list.c: Likewise.
47814         * tests/test-base64.c: Likewise.
47815         * tests/test-binary-io.c: Likewise.
47816         * tests/test-byteswap.c: Likewise.
47817         * tests/test-c-ctype.c: Likewise.
47818         * tests/test-c-strcasecmp.c: Likewise.
47819         * tests/test-c-strcasestr.c: Likewise.
47820         * tests/test-c-strncasecmp.c: Likewise.
47821         * tests/test-c-strstr.c: Likewise.
47822         * tests/test-canonicalize-lgpl.c: Likewise.
47823         * tests/test-canonicalize.c: Likewise.
47824         * tests/test-carray_list.c: Likewise.
47825         * tests/test-ceilf.c: Likewise.
47826         * tests/test-ceill.c: Likewise.
47827         * tests/test-count-one-bits.c: Likewise.
47828         * tests/test-crc.c: Likewise.
47829         * tests/test-dirname.c: Likewise.
47830         * tests/test-fbufmode.c: Likewise.
47831         * tests/test-fcntl.c: Likewise.
47832         * tests/test-fflush.c: Likewise.
47833         * tests/test-floorf.c: Likewise.
47834         * tests/test-floorl.c: Likewise.
47835         * tests/test-fopen.c: Likewise.
47836         * tests/test-fprintf-posix.c: Likewise.
47837         * tests/test-fprintf-posix.h: Likewise.
47838         * tests/test-fpurge.c: Likewise.
47839         * tests/test-freadable.c: Likewise.
47840         * tests/test-freadahead.c: Likewise.
47841         * tests/test-freading.c: Likewise.
47842         * tests/test-freopen.c: Likewise.
47843         * tests/test-frexp.c: Likewise.
47844         * tests/test-frexpl.c: Likewise.
47845         * tests/test-fseek.c: Likewise.
47846         * tests/test-fseeko.c: Likewise.
47847         * tests/test-fseterr.c: Likewise.
47848         * tests/test-fstrcmp.c: Likewise.
47849         * tests/test-ftell.c: Likewise.
47850         * tests/test-ftello.c: Likewise.
47851         * tests/test-fwritable.c: Likewise.
47852         * tests/test-fwriting.c: Likewise.
47853         * tests/test-getaddrinfo.c: Likewise.
47854         * tests/test-getpass.c: Likewise.
47855         * tests/test-gettimeofday.c: Likewise.
47856         * tests/test-hmac-md5.c: Likewise.
47857         * tests/test-hmac-sha1.c: Likewise.
47858         * tests/test-iconv.c: Likewise.
47859         * tests/test-iconvme.c: Likewise.
47860         * tests/test-inttypes.c: Likewise.
47861         * tests/test-isnan.c: Likewise.
47862         * tests/test-isnanf.c: Likewise.
47863         * tests/test-isnanl-nolibm.c: Likewise.
47864         * tests/test-isnanl.c: Likewise.
47865         * tests/test-isnanl.h: Likewise.
47866         * tests/test-ldexpl.c: Likewise.
47867         * tests/test-linked_list.c: Likewise.
47868         * tests/test-linkedhash_list.c: Likewise.
47869         * tests/test-locale.c: Likewise.
47870         * tests/test-localename.c: Likewise.
47871         * tests/test-lock.c: Likewise.
47872         * tests/test-lseek.c: Likewise.
47873         * tests/test-malloca.c: Likewise.
47874         * tests/test-math.c: Likewise.
47875         * tests/test-mbscasecmp.c: Likewise.
47876         * tests/test-mbscasestr1.c: Likewise.
47877         * tests/test-mbscasestr2.c: Likewise.
47878         * tests/test-mbscasestr3.c: Likewise.
47879         * tests/test-mbscasestr4.c: Likewise.
47880         * tests/test-mbschr.c: Likewise.
47881         * tests/test-mbscspn.c: Likewise.
47882         * tests/test-mbsncasecmp.c: Likewise.
47883         * tests/test-mbspbrk.c: Likewise.
47884         * tests/test-mbspcasecmp.c: Likewise.
47885         * tests/test-mbsrchr.c: Likewise.
47886         * tests/test-mbsspn.c: Likewise.
47887         * tests/test-mbsstr1.c: Likewise.
47888         * tests/test-mbsstr2.c: Likewise.
47889         * tests/test-mbsstr3.c: Likewise.
47890         * tests/test-md5.c: Likewise.
47891         * tests/test-memmem.c: Likewise.
47892         * tests/test-netinet_in.c: Likewise.
47893         * tests/test-open.c: Likewise.
47894         * tests/test-printf-frexp.c: Likewise.
47895         * tests/test-printf-frexpl.c: Likewise.
47896         * tests/test-printf-posix.c: Likewise.
47897         * tests/test-printf-posix.h: Likewise.
47898         * tests/test-rbtree_list.c: Likewise.
47899         * tests/test-rbtree_oset.c: Likewise.
47900         * tests/test-rbtreehash_list.c: Likewise.
47901         * tests/test-read-file.c: Likewise.
47902         * tests/test-rijndael.c: Likewise.
47903         * tests/test-search.c: Likewise.
47904         * tests/test-signbit.c: Likewise.
47905         * tests/test-sleep.c: Likewise.
47906         * tests/test-snprintf-posix.c: Likewise.
47907         * tests/test-snprintf-posix.h: Likewise.
47908         * tests/test-snprintf.c: Likewise.
47909         * tests/test-sprintf-posix.c: Likewise.
47910         * tests/test-sprintf-posix.h: Likewise.
47911         * tests/test-stat-time.c: Likewise.
47912         * tests/test-stdbool.c: Likewise.
47913         * tests/test-stdint.c: Likewise.
47914         * tests/test-stdio.c: Likewise.
47915         * tests/test-stdlib.c: Likewise.
47916         * tests/test-stpncpy.c: Likewise.
47917         * tests/test-strcasestr.c: Likewise.
47918         * tests/test-striconv.c: Likewise.
47919         * tests/test-striconveh.c: Likewise.
47920         * tests/test-striconveha.c: Likewise.
47921         * tests/test-string.c: Likewise.
47922         * tests/test-sys_select.c: Likewise.
47923         * tests/test-sys_socket.c: Likewise.
47924         * tests/test-sys_stat.c: Likewise.
47925         * tests/test-sys_time.c: Likewise.
47926         * tests/test-sysexits.c: Likewise.
47927         * tests/test-time.c: Likewise.
47928         * tests/test-tls.c: Likewise.
47929         * tests/test-trunc.c: Likewise.
47930         * tests/test-truncf.c: Likewise.
47931         * tests/test-truncl.c: Likewise.
47932         * tests/test-unistd.c: Likewise.
47933         * tests/test-vasnprintf-posix.c: Likewise.
47934         * tests/test-vasnprintf-posix2.c: Likewise.
47935         * tests/test-vasnprintf.c: Likewise.
47936         * tests/test-vasprintf-posix.c: Likewise.
47937         * tests/test-vasprintf.c: Likewise.
47938         * tests/test-verify.c: Likewise.
47939         * tests/test-vfprintf-posix.c: Likewise.
47940         * tests/test-vprintf-posix.c: Likewise.
47941         * tests/test-vsnprintf-posix.c: Likewise.
47942         * tests/test-vsnprintf.c: Likewise.
47943         * tests/test-vsprintf-posix.c: Likewise.
47944         * tests/test-wchar.c: Likewise.
47945         * tests/test-wctype.c: Likewise.
47946         * tests/test-wcwidth.c: Likewise.
47947         * tests/test-xstrtol.c: Likewise.
47948         * tests/test-xvasprintf.c: Likewise.
47949         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
47950         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
47951         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
47952         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
47953         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
47954         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
47955         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
47956         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
47957         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
47958         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
47959         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
47960         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
47961         * tests/uniname/test-uninames.c: Likewise.
47962         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
47963         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
47964         * tests/unistdio/test-u16-printf1.h: Likewise.
47965         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
47966         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
47967         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
47968         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
47969         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
47970         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
47971         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
47972         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
47973         * tests/unistdio/test-u32-printf1.h: Likewise.
47974         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
47975         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
47976         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
47977         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
47978         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
47979         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
47980         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
47981         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
47982         * tests/unistdio/test-u8-printf1.h: Likewise.
47983         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
47984         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
47985         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
47986         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
47987         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
47988         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
47989         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
47990         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
47991         * tests/unistdio/test-ulc-printf1.h: Likewise.
47992         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
47993         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
47994         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
47995         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
47996         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
47997         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
47998         * tests/uniwidth/test-u16-strwidth.c: Likewise.
47999         * tests/uniwidth/test-u16-width.c: Likewise.
48000         * tests/uniwidth/test-u32-strwidth.c: Likewise.
48001         * tests/uniwidth/test-u32-width.c: Likewise.
48002         * tests/uniwidth/test-u8-strwidth.c: Likewise.
48003         * tests/uniwidth/test-u8-width.c: Likewise.
48004         * tests/uniwidth/test-uc_width.c: Likewise.
48005         * config/srclist-update: Likewise.
48006         (fixlicense): Update to GPLv3+.
48007
48008         Change copyright notice from LGPLv2.1+ to LGPLv3+.
48009         * tests/test-tsearch.c: Change copyright notice.
48010
48011         Change copyright notice from LGPLv2.0+ to LGPLv3+.
48012         * lib/c-strcaseeq.h: Change copyright notice.
48013         * lib/streq.h: Likewise.
48014         * lib/uniconv.h: Likewise.
48015         * lib/uniconv/u-conv-from-enc.h: Likewise.
48016         * lib/uniconv/u-conv-to-enc.h: Likewise.
48017         * lib/uniconv/u-strconv-from-enc.h: Likewise.
48018         * lib/uniconv/u-strconv-to-enc.h: Likewise.
48019         * lib/uniconv/u16-conv-from-enc.c: Likewise.
48020         * lib/uniconv/u16-conv-to-enc.c: Likewise.
48021         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
48022         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
48023         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
48024         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
48025         * lib/uniconv/u32-conv-from-enc.c: Likewise.
48026         * lib/uniconv/u32-conv-to-enc.c: Likewise.
48027         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
48028         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
48029         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
48030         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
48031         * lib/uniconv/u8-conv-from-enc.c: Likewise.
48032         * lib/uniconv/u8-conv-to-enc.c: Likewise.
48033         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
48034         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
48035         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
48036         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
48037         * lib/uniname.h: Likewise.
48038         * lib/uniname/uniname.c: Likewise.
48039         * lib/unistdio.h: Likewise.
48040         * lib/unistdio/u-asnprintf.h: Likewise.
48041         * lib/unistdio/u-asprintf.h: Likewise.
48042         * lib/unistdio/u-printf-args.c: Likewise.
48043         * lib/unistdio/u-printf-args.h: Likewise.
48044         * lib/unistdio/u-printf-parse.h: Likewise.
48045         * lib/unistdio/u-snprintf.h: Likewise.
48046         * lib/unistdio/u-sprintf.h: Likewise.
48047         * lib/unistdio/u-vasprintf.h: Likewise.
48048         * lib/unistdio/u-vsnprintf.h: Likewise.
48049         * lib/unistdio/u-vsprintf.h: Likewise.
48050         * lib/unistdio/u16-asnprintf.c: Likewise.
48051         * lib/unistdio/u16-asprintf.c: Likewise.
48052         * lib/unistdio/u16-printf-parse.c: Likewise.
48053         * lib/unistdio/u16-snprintf.c: Likewise.
48054         * lib/unistdio/u16-sprintf.c: Likewise.
48055         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
48056         * lib/unistdio/u16-u16-asprintf.c: Likewise.
48057         * lib/unistdio/u16-u16-snprintf.c: Likewise.
48058         * lib/unistdio/u16-u16-sprintf.c: Likewise.
48059         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
48060         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
48061         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
48062         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
48063         * lib/unistdio/u16-vasnprintf.c: Likewise.
48064         * lib/unistdio/u16-vasprintf.c: Likewise.
48065         * lib/unistdio/u16-vsnprintf.c: Likewise.
48066         * lib/unistdio/u16-vsprintf.c: Likewise.
48067         * lib/unistdio/u32-asnprintf.c: Likewise.
48068         * lib/unistdio/u32-asprintf.c: Likewise.
48069         * lib/unistdio/u32-printf-parse.c: Likewise.
48070         * lib/unistdio/u32-snprintf.c: Likewise.
48071         * lib/unistdio/u32-sprintf.c: Likewise.
48072         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
48073         * lib/unistdio/u32-u32-asprintf.c: Likewise.
48074         * lib/unistdio/u32-u32-snprintf.c: Likewise.
48075         * lib/unistdio/u32-u32-sprintf.c: Likewise.
48076         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
48077         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
48078         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
48079         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
48080         * lib/unistdio/u32-vasnprintf.c: Likewise.
48081         * lib/unistdio/u32-vasprintf.c: Likewise.
48082         * lib/unistdio/u32-vsnprintf.c: Likewise.
48083         * lib/unistdio/u32-vsprintf.c: Likewise.
48084         * lib/unistdio/u8-asnprintf.c: Likewise.
48085         * lib/unistdio/u8-asprintf.c: Likewise.
48086         * lib/unistdio/u8-printf-parse.c: Likewise.
48087         * lib/unistdio/u8-snprintf.c: Likewise.
48088         * lib/unistdio/u8-sprintf.c: Likewise.
48089         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
48090         * lib/unistdio/u8-u8-asprintf.c: Likewise.
48091         * lib/unistdio/u8-u8-snprintf.c: Likewise.
48092         * lib/unistdio/u8-u8-sprintf.c: Likewise.
48093         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
48094         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
48095         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
48096         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
48097         * lib/unistdio/u8-vasnprintf.c: Likewise.
48098         * lib/unistdio/u8-vasprintf.c: Likewise.
48099         * lib/unistdio/u8-vsnprintf.c: Likewise.
48100         * lib/unistdio/u8-vsprintf.c: Likewise.
48101         * lib/unistdio/ulc-asnprintf.c: Likewise.
48102         * lib/unistdio/ulc-asprintf.c: Likewise.
48103         * lib/unistdio/ulc-printf-parse.c: Likewise.
48104         * lib/unistdio/ulc-snprintf.c: Likewise.
48105         * lib/unistdio/ulc-sprintf.c: Likewise.
48106         * lib/unistdio/ulc-vasnprintf.c: Likewise.
48107         * lib/unistdio/ulc-vasprintf.c: Likewise.
48108         * lib/unistdio/ulc-vsnprintf.c: Likewise.
48109         * lib/unistdio/ulc-vsprintf.c: Likewise.
48110         * lib/unistr.h: Likewise.
48111         * lib/unistr/u-cpy-alloc.h: Likewise.
48112         * lib/unistr/u-cpy.h: Likewise.
48113         * lib/unistr/u-endswith.h: Likewise.
48114         * lib/unistr/u-move.h: Likewise.
48115         * lib/unistr/u-set.h: Likewise.
48116         * lib/unistr/u-startswith.h: Likewise.
48117         * lib/unistr/u-stpcpy.h: Likewise.
48118         * lib/unistr/u-stpncpy.h: Likewise.
48119         * lib/unistr/u-strcat.h: Likewise.
48120         * lib/unistr/u-strcpy.h: Likewise.
48121         * lib/unistr/u-strcspn.h: Likewise.
48122         * lib/unistr/u-strdup.h: Likewise.
48123         * lib/unistr/u-strlen.h: Likewise.
48124         * lib/unistr/u-strncat.h: Likewise.
48125         * lib/unistr/u-strncpy.h: Likewise.
48126         * lib/unistr/u-strnlen.h: Likewise.
48127         * lib/unistr/u-strpbrk.h: Likewise.
48128         * lib/unistr/u-strspn.h: Likewise.
48129         * lib/unistr/u-strstr.h: Likewise.
48130         * lib/unistr/u-strtok.h: Likewise.
48131         * lib/unistr/u16-check.c: Likewise.
48132         * lib/unistr/u16-chr.c: Likewise.
48133         * lib/unistr/u16-cmp.c: Likewise.
48134         * lib/unistr/u16-cpy-alloc.c: Likewise.
48135         * lib/unistr/u16-cpy.c: Likewise.
48136         * lib/unistr/u16-endswith.c: Likewise.
48137         * lib/unistr/u16-mblen.c: Likewise.
48138         * lib/unistr/u16-mbsnlen.c: Likewise.
48139         * lib/unistr/u16-mbtouc-aux.c: Likewise.
48140         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
48141         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
48142         * lib/unistr/u16-mbtouc.c: Likewise.
48143         * lib/unistr/u16-mbtoucr.c: Likewise.
48144         * lib/unistr/u16-move.c: Likewise.
48145         * lib/unistr/u16-next.c: Likewise.
48146         * lib/unistr/u16-prev.c: Likewise.
48147         * lib/unistr/u16-set.c: Likewise.
48148         * lib/unistr/u16-startswith.c: Likewise.
48149         * lib/unistr/u16-stpcpy.c: Likewise.
48150         * lib/unistr/u16-stpncpy.c: Likewise.
48151         * lib/unistr/u16-strcat.c: Likewise.
48152         * lib/unistr/u16-strchr.c: Likewise.
48153         * lib/unistr/u16-strcmp.c: Likewise.
48154         * lib/unistr/u16-strcpy.c: Likewise.
48155         * lib/unistr/u16-strcspn.c: Likewise.
48156         * lib/unistr/u16-strdup.c: Likewise.
48157         * lib/unistr/u16-strlen.c: Likewise.
48158         * lib/unistr/u16-strmblen.c: Likewise.
48159         * lib/unistr/u16-strmbtouc.c: Likewise.
48160         * lib/unistr/u16-strncat.c: Likewise.
48161         * lib/unistr/u16-strncmp.c: Likewise.
48162         * lib/unistr/u16-strncpy.c: Likewise.
48163         * lib/unistr/u16-strnlen.c: Likewise.
48164         * lib/unistr/u16-strpbrk.c: Likewise.
48165         * lib/unistr/u16-strrchr.c: Likewise.
48166         * lib/unistr/u16-strspn.c: Likewise.
48167         * lib/unistr/u16-strstr.c: Likewise.
48168         * lib/unistr/u16-strtok.c: Likewise.
48169         * lib/unistr/u16-to-u32.c: Likewise.
48170         * lib/unistr/u16-to-u8.c: Likewise.
48171         * lib/unistr/u16-uctomb-aux.c: Likewise.
48172         * lib/unistr/u16-uctomb.c: Likewise.
48173         * lib/unistr/u32-check.c: Likewise.
48174         * lib/unistr/u32-chr.c: Likewise.
48175         * lib/unistr/u32-cmp.c: Likewise.
48176         * lib/unistr/u32-cpy-alloc.c: Likewise.
48177         * lib/unistr/u32-cpy.c: Likewise.
48178         * lib/unistr/u32-endswith.c: Likewise.
48179         * lib/unistr/u32-mblen.c: Likewise.
48180         * lib/unistr/u32-mbsnlen.c: Likewise.
48181         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
48182         * lib/unistr/u32-mbtouc.c: Likewise.
48183         * lib/unistr/u32-mbtoucr.c: Likewise.
48184         * lib/unistr/u32-move.c: Likewise.
48185         * lib/unistr/u32-next.c: Likewise.
48186         * lib/unistr/u32-prev.c: Likewise.
48187         * lib/unistr/u32-set.c: Likewise.
48188         * lib/unistr/u32-startswith.c: Likewise.
48189         * lib/unistr/u32-stpcpy.c: Likewise.
48190         * lib/unistr/u32-stpncpy.c: Likewise.
48191         * lib/unistr/u32-strcat.c: Likewise.
48192         * lib/unistr/u32-strchr.c: Likewise.
48193         * lib/unistr/u32-strcmp.c: Likewise.
48194         * lib/unistr/u32-strcpy.c: Likewise.
48195         * lib/unistr/u32-strcspn.c: Likewise.
48196         * lib/unistr/u32-strdup.c: Likewise.
48197         * lib/unistr/u32-strlen.c: Likewise.
48198         * lib/unistr/u32-strmblen.c: Likewise.
48199         * lib/unistr/u32-strmbtouc.c: Likewise.
48200         * lib/unistr/u32-strncat.c: Likewise.
48201         * lib/unistr/u32-strncmp.c: Likewise.
48202         * lib/unistr/u32-strncpy.c: Likewise.
48203         * lib/unistr/u32-strnlen.c: Likewise.
48204         * lib/unistr/u32-strpbrk.c: Likewise.
48205         * lib/unistr/u32-strrchr.c: Likewise.
48206         * lib/unistr/u32-strspn.c: Likewise.
48207         * lib/unistr/u32-strstr.c: Likewise.
48208         * lib/unistr/u32-strtok.c: Likewise.
48209         * lib/unistr/u32-to-u16.c: Likewise.
48210         * lib/unistr/u32-to-u8.c: Likewise.
48211         * lib/unistr/u32-uctomb.c: Likewise.
48212         * lib/unistr/u8-check.c: Likewise.
48213         * lib/unistr/u8-chr.c: Likewise.
48214         * lib/unistr/u8-cmp.c: Likewise.
48215         * lib/unistr/u8-cpy-alloc.c: Likewise.
48216         * lib/unistr/u8-cpy.c: Likewise.
48217         * lib/unistr/u8-endswith.c: Likewise.
48218         * lib/unistr/u8-mblen.c: Likewise.
48219         * lib/unistr/u8-mbsnlen.c: Likewise.
48220         * lib/unistr/u8-mbtouc-aux.c: Likewise.
48221         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
48222         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
48223         * lib/unistr/u8-mbtouc.c: Likewise.
48224         * lib/unistr/u8-mbtoucr.c: Likewise.
48225         * lib/unistr/u8-move.c: Likewise.
48226         * lib/unistr/u8-next.c: Likewise.
48227         * lib/unistr/u8-prev.c: Likewise.
48228         * lib/unistr/u8-set.c: Likewise.
48229         * lib/unistr/u8-startswith.c: Likewise.
48230         * lib/unistr/u8-stpcpy.c: Likewise.
48231         * lib/unistr/u8-stpncpy.c: Likewise.
48232         * lib/unistr/u8-strcat.c: Likewise.
48233         * lib/unistr/u8-strchr.c: Likewise.
48234         * lib/unistr/u8-strcmp.c: Likewise.
48235         * lib/unistr/u8-strcpy.c: Likewise.
48236         * lib/unistr/u8-strcspn.c: Likewise.
48237         * lib/unistr/u8-strdup.c: Likewise.
48238         * lib/unistr/u8-strlen.c: Likewise.
48239         * lib/unistr/u8-strmblen.c: Likewise.
48240         * lib/unistr/u8-strmbtouc.c: Likewise.
48241         * lib/unistr/u8-strncat.c: Likewise.
48242         * lib/unistr/u8-strncmp.c: Likewise.
48243         * lib/unistr/u8-strncpy.c: Likewise.
48244         * lib/unistr/u8-strnlen.c: Likewise.
48245         * lib/unistr/u8-strpbrk.c: Likewise.
48246         * lib/unistr/u8-strrchr.c: Likewise.
48247         * lib/unistr/u8-strspn.c: Likewise.
48248         * lib/unistr/u8-strstr.c: Likewise.
48249         * lib/unistr/u8-strtok.c: Likewise.
48250         * lib/unistr/u8-to-u16.c: Likewise.
48251         * lib/unistr/u8-to-u32.c: Likewise.
48252         * lib/unistr/u8-uctomb-aux.c: Likewise.
48253         * lib/unistr/u8-uctomb.c: Likewise.
48254         * lib/unitypes.h: Likewise.
48255         * lib/uniwidth.h: Likewise.
48256         * lib/uniwidth/cjk.h: Likewise.
48257         * lib/uniwidth/u16-strwidth.c: Likewise.
48258         * lib/uniwidth/u16-width.c: Likewise.
48259         * lib/uniwidth/u32-strwidth.c: Likewise.
48260         * lib/uniwidth/u32-width.c: Likewise.
48261         * lib/uniwidth/u8-strwidth.c: Likewise.
48262         * lib/uniwidth/u8-width.c: Likewise.
48263         * lib/uniwidth/width.c: Likewise.
48264
48265 2007-10-07  Bruno Haible  <bruno@clisp.org>
48266
48267         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
48268         The file is still under LGPL (see modules/inttypes).
48269
48270 2007-10-06  Bruno Haible  <bruno@clisp.org>
48271
48272         * modules/trunc (Dependencies): Add 'extensions'.
48273         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
48274         Reported by Ben Pfaff <blp@gnu.org>.
48275
48276 2007-10-06  Bruno Haible  <bruno@clisp.org>
48277
48278         * modules/freopen-tests: New file.
48279         * tests/test-freopen.c: New file.
48280
48281         * modules/fopen-tests: New file.
48282         * tests/test-fopen.c: New file.
48283
48284         * modules/fopen: New file.
48285         * lib/fopen.c: New file.
48286         * m4/fopen.m4: New file.
48287         * modules/freopen: New file.
48288         * lib/freopen.c: New file.
48289         * m4/freopen.m4: New file.
48290         * lib/stdio.in.h (fopen, freopen): New declarations.
48291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
48292         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
48293         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
48294         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
48295         * doc/functions/fopen.texi: Mention the 'fopen' module.
48296         * doc/functions/freopen.texi: Mention the 'freopen' module.
48297
48298 2007-10-06  Bruno Haible  <bruno@clisp.org>
48299
48300         * modules/open-tests: New file.
48301         * tests/test-open.c: New file.
48302
48303         * modules/open: New file.
48304         * lib/open.c: New file.
48305         * m4/open.m4: New file.
48306         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
48307         lib/open.c does.
48308         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
48309         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
48310         macros.
48311         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
48312         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
48313         REPLACE_OPEN.
48314         * doc/functions/open.texi: Mention the 'open' module.
48315
48316 2007-10-04  Bruno Haible  <bruno@clisp.org>
48317
48318         * modules/ceill-tests: New file.
48319         * tests/test-ceill.c: New file.
48320
48321         * modules/ceill: New file.
48322         * lib/ceill.c: Replace entire file.
48323         * m4/ceill.m4: New file.
48324         * lib/math.in.h (ceill): Replace declaration.
48325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
48326         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
48327         * doc/functions/ceill.texi: Mention the 'ceill' module.
48328         * modules/mathl (Files): Remove lib/ceill.c.
48329         (Depends-on): Add ceill.
48330
48331 2007-10-04  Bruno Haible  <bruno@clisp.org>
48332
48333         * modules/ceilf-tests: New file.
48334         * tests/test-ceilf.c: New file.
48335
48336         * modules/ceilf: New file.
48337         * lib/ceil.c: New file.
48338         * lib/ceilf.c: New file.
48339         * m4/ceilf.m4: New file.
48340         * lib/math.in.h (ceilf): New declaration.
48341         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
48342         HAVE_DECL_CEILF.
48343         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
48344         HAVE_DECL_CEILF.
48345         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
48346
48347 2007-10-04  Bruno Haible  <bruno@clisp.org>
48348
48349         * modules/floorl-tests: New file.
48350         * tests/test-floorl.c: New file.
48351
48352         * modules/floorl: New file.
48353         * lib/floorl.c: Replace entire file.
48354         * m4/floorl.m4: New file.
48355         * lib/math.in.h (floorl): Replace declaration.
48356         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
48357         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
48358         * doc/functions/floorl.texi: Mention the 'floorl' module.
48359         * modules/mathl (Files): Remove lib/floorl.c.
48360         (Depends-on): Add floorl.
48361
48362 2007-10-04  Bruno Haible  <bruno@clisp.org>
48363
48364         * modules/floorf-tests: New file.
48365         * tests/test-floorf.c: New file.
48366
48367         * modules/floorf: New file.
48368         * lib/floor.c: New file.
48369         * lib/floorf.c: New file.
48370         * m4/floorf.m4: New file.
48371         * lib/math.in.h (floorf): New declaration.
48372         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
48373         HAVE_DECL_FLOORF.
48374         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
48375         HAVE_DECL_FLOORF.
48376         * doc/functions/floorf.texi: Mention the 'floorf' module.
48377
48378 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
48379             Bruno Haible  <bruno@clisp.org>
48380
48381         Advertise for the Git server instead of the CVS server.
48382         * doc/gnulib-intro.texi (Steady Development): Mention the Git
48383         repository instead of the CVS one.
48384         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
48385         about all VCS systems generically.
48386         * doc/gnulib.texi (Introduction): Capitalize `Git'.
48387
48388 2007-10-04  Bruno Haible  <bruno@clisp.org>
48389
48390         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
48391         means.
48392         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
48393
48394 2007-10-04  Bruno Haible  <bruno@clisp.org>
48395
48396         * modules/truncl-tests: New file.
48397         * tests/test-truncl.c: New file.
48398
48399         * modules/truncl: New file.
48400         * lib/truncl.c: New file.
48401         * m4/truncl.m4: New file.
48402         * lib/math.in.h (truncl): New declaration.
48403         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
48404         HAVE_DECL_TRUNCL.
48405         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
48406         HAVE_DECL_TRUNCL.
48407         * doc/functions/truncl.texi: Mention the 'truncl' module.
48408
48409 2007-10-04  Bruno Haible  <bruno@clisp.org>
48410
48411         * modules/truncf-tests: New file.
48412         * tests/test-truncf.c: New file.
48413
48414         * modules/truncf: New file.
48415         * lib/trunc.c: Make paramerizable through USE_* macros.
48416         * lib/truncf.c: New file.
48417         * m4/truncf.m4: New file.
48418         * lib/math.in.h (truncf): New declaration.
48419         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
48420         HAVE_DECL_TRUNCF.
48421         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
48422         HAVE_DECL_TRUNCF.
48423         * doc/functions/truncf.texi: Mention the 'truncf' module.
48424
48425 2007-10-03  Bruno Haible  <bruno@clisp.org>
48426
48427         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
48428         augmentation also for tests modules.
48429         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
48430         * modules/atexit-tests (Makefile.am): Likewise.
48431         * modules/binary-io-tests (Makefile.am): Likewise.
48432         * modules/c-strcase-tests (Makefile.am): Likewise.
48433         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
48434         * modules/canonicalize-tests (Makefile.am): Likewise.
48435         * modules/closein-tests (Makefile.am): Likewise.
48436         * modules/fprintf-posix-tests (Makefile.am): Likewise.
48437         * modules/freadahead-tests (Makefile.am): Likewise.
48438         * modules/fseek-tests (Makefile.am): Likewise.
48439         * modules/fseeko-tests (Makefile.am): Likewise.
48440         * modules/ftell-tests (Makefile.am): Likewise.
48441         * modules/ftello-tests (Makefile.am): Likewise.
48442         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
48443         * modules/isnanl-tests (Makefile.am): Likewise.
48444         * modules/lseek-tests (Makefile.am): Likewise.
48445         * modules/mbscasecmp-tests (Makefile.am): Likewise.
48446         * modules/mbscasestr-tests (Makefile.am): Likewise.
48447         * modules/mbschr-tests (Makefile.am): Likewise.
48448         * modules/mbscspn-tests (Makefile.am): Likewise.
48449         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
48450         * modules/mbspbrk-tests (Makefile.am): Likewise.
48451         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
48452         * modules/mbsrchr-tests (Makefile.am): Likewise.
48453         * modules/mbsspn-tests (Makefile.am): Likewise.
48454         * modules/mbsstr-tests (Makefile.am): Likewise.
48455         * modules/printf-posix-tests (Makefile.am): Likewise.
48456         * modules/snprintf-posix-tests (Makefile.am): Likewise.
48457         * modules/sprintf-posix-tests (Makefile.am): Likewise.
48458         * modules/tsearch-tests (Makefile.am): Likewise.
48459         * modules/uniname/uniname-tests (Makefile.am): Likewise.
48460         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
48461         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
48462         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
48463         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
48464         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
48465         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
48466         * modules/vprintf-posix-tests (Makefile.am): Likewise.
48467         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
48468         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
48469         * modules/xstrtoimax-tests (Makefile.am): Likewise.
48470         * modules/xstrtol-tests (Makefile.am): Likewise.
48471         * modules/xstrtoumax-tests (Makefile.am): Likewise.
48472         * modules/yesno-tests (Makefile.am): Likewise.
48473
48474 2007-10-03  Bruno Haible  <bruno@clisp.org>
48475
48476         * modules/trunc-tests: New file.
48477         * tests/test-trunc.c: New file.
48478
48479         * modules/trunc: New file.
48480         * lib/trunc.c: New file.
48481         * m4/trunc.m4: New file.
48482         * lib/math.in.h (trunc): New declaration.
48483         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
48484         HAVE_DECL_TRUNC.
48485         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
48486         HAVE_DECL_TRUNC.
48487         * doc/functions/trunc.texi: Mention the 'trunc' module.
48488
48489 2007-10-03  Bruno Haible  <bruno@clisp.org>
48490
48491         * tests/test-fpending.c: New file, mostly copied
48492         from coreutils/lib/t-fpending.c.
48493         * modules/fpending-tests: New file.
48494
48495 2007-10-03  Bruno Haible  <bruno@clisp.org>
48496
48497         Port the stdio extensions to QNX (untested).
48498         * lib/fseterr.c (fseterr): Add support for QNX.
48499         * lib/fbufmode.c (fbufmode): Likewise.
48500         * lib/freadable.c (freadable): Likewise.
48501         * lib/fwritable.c (fwritable): Likewise.
48502         * lib/freading.c (freading): Likewise.
48503         * lib/fwriting.c (fwriting): Likewise.
48504         * lib/freadahead.c (freadahed): Likewise.
48505         * lib/fpurge.c (fpurge): Likewise.
48506         * lib/fseeko.c (rpl_fseeko): Likewise.
48507
48508 2007-10-03  Bruno Haible  <bruno@clisp.org>
48509             Jim Meyering  <jim@meyering.net>
48510             Eric Blake  <ebb9@byu.net>
48511
48512         * doc/relocatable.texi: Use @command instead of @program.
48513
48514 2007-10-02  Jim Meyering  <jim@meyering.net>
48515
48516         Perform one more "_.h" -> ".in.h" substitution.
48517         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
48518         instead of unistd_.h here, too.
48519
48520 2007-10-01  Bruno Haible  <bruno@clisp.org>
48521
48522         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
48523         Needed for the alloca-opt module.
48524
48525 2007-09-30  Bruno Haible  <bruno@clisp.org>
48526
48527         * lib/alloca.in.h: Renamed from lib/alloca_.h.
48528         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
48529         alloca_.h.
48530         * lib/argz.in.h: Renamed from lib/argz_.h.
48531         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
48532         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
48533         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
48534         byteswap_.h.
48535         * lib/dirent.in.h: Renamed from lib/dirent_.h.
48536         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
48537         dirent_.h.
48538         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
48539         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
48540         fcntl_.h.
48541         * lib/float.in.h: Renamed from lib/float_.h.
48542         * modules/float (Files, Makefile.am): Use float.in.h instead of
48543         float_.h.
48544         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
48545         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
48546         fnmatch_.h.
48547         * lib/getopt.in.h: Renamed from lib/getopt_.h.
48548         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
48549         getopt_.h.
48550         * lib/glob.in.h: Renamed from lib/glob_.h.
48551         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
48552         * lib/iconv.in.h: Renamed from lib/iconv_.h.
48553         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
48554         iconv_.h.
48555         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
48556         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
48557         inttypes_.h.
48558         * lib/locale.in.h: Renamed from lib/locale_.h.
48559         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
48560         locale_.h.
48561         * lib/math.in.h: Renamed from lib/math_.h.
48562         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
48563         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
48564         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
48565         of netinet_in_.h. Add dependency.
48566         * lib/poll.in.h: Renamed from lib/poll_.h.
48567         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
48568         * lib/search.in.h: Renamed from lib/search_.h.
48569         * modules/search (Files, Makefile.am): Use search.in.h instead of
48570         search_.h.
48571         * lib/signal.in.h: Renamed from lib/signal_.h.
48572         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
48573         _signal.h.
48574         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
48575         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
48576         stdbool_.h.
48577         * lib/stdint.in.h: Renamed from lib/stdint_.h.
48578         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
48579         stdint_.h.
48580         * lib/stdio.in.h: Renamed from lib/stdio_.h.
48581         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
48582         stdio_.h.
48583         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
48584         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
48585         stdlib_.h.
48586         * lib/string.in.h: Renamed from lib/string_.h.
48587         * modules/string (Files, Makefile.am): Use string.in.h instead of
48588         string_.h.
48589         * doc/gnulib-tool.texi (Initial import): Update.
48590         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
48591         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
48592         of sys_select_.h. Add dependency.
48593         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
48594         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
48595         of sys_socket_.h.
48596         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
48597         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
48598         sys_stat_.h.
48599         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
48600         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
48601         sys_time_.h.
48602         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
48603         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
48604         sysexits_.h.
48605         * lib/time.in.h: Renamed from lib/time_.h.
48606         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
48607         * lib/unistd.in.h: Renamed from lib/unistd_.h.
48608         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
48609         unistd_.h.
48610         * lib/wchar.in.h: Renamed from lib/wchar_.h.
48611         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
48612         wchar_.h.
48613         * lib/wctype.in.h: Renamed from lib/wctype_.h.
48614         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
48615         wctype_.h.
48616         * build-aux/bootstrap (slurp): Update.
48617         * lib/.cppi-disable: Update.
48618
48619 2007-09-30  Bruno Haible  <bruno@clisp.org>
48620
48621         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
48622         Needed on BeOS.
48623
48624 2007-09-30  Bruno Haible  <bruno@clisp.org>
48625
48626         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
48627
48628 2007-09-29  Bruno Haible  <bruno@clisp.org>
48629
48630         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
48631
48632 2007-09-29  Bruno Haible  <bruno@clisp.org>
48633
48634         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
48635         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
48636         * build-aux/install-reloc: Compile also areadlink.c.
48637         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
48638
48639 2007-09-29  Bruno Haible  <bruno@clisp.org>
48640
48641         * gnulib-tool (func_emit_initmacro_done): Indentation.
48642
48643 2007-09-29  Bruno Haible  <bruno@clisp.org>
48644
48645         * README: Add CVS checkout update instructions.
48646         Info from Bob Proulx <bob@proulx.com>.
48647
48648 2007-09-28  Eric Blake  <ebb9@byu.net>
48649
48650         Provide move-if-change.
48651         * build-aux/move-if-change: New file, based on best practice
48652         rather than any canonical upstream location.
48653
48654 2007-09-28  Jim Meyering  <jim@meyering.net>
48655
48656         Fix canonicalize loop-detection corner case.
48657         Do not attempt to stat the symlink values stored via seen_triple.
48658         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
48659         on linux-2.6.18, (but not 2.6.22).
48660         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
48661         triple_compare.  The former compares dev,ino,filename, while the latter
48662         would actually stat dirname(filename) when dev and ino were equal.
48663         * lib/hash-triple.c: Install <string.h>.
48664         (STREQ): Define.
48665         (triple_compare_ino_str): New function.
48666         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
48667
48668 2007-09-28  Eric Blake  <ebb9@byu.net>
48669
48670         Enforce that AC_REPLACE_FUNCS files exist.
48671         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
48672         override check for typos.
48673
48674         Fix test-closein on Solaris 10.
48675         * tests/test-closein.c (main): Don't assume stdin can be inherited
48676         closed on all systems.
48677         * tests/test-closein.sh: Likewise.
48678         Reported by Piotr Tarnowski.
48679
48680 2007-09-28  Jim Meyering  <jim@meyering.net>
48681
48682         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
48683
48684 2007-09-27  Jim Meyering  <jim@meyering.net>
48685
48686         canonicalize: Avoid a false-positive cycle failure.
48687         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
48688         Sort.  Remove cycle-check.
48689         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
48690         not cycle-check.h.
48691         (seen_triple): New function.
48692         (canonicalize_filename_mode): Use it instead of cycle-check.
48693         * tests/test-canonicalize.c: Add a test for this bug.
48694         * tests/test-canonicalize.sh: Set up and run the test.
48695
48696         New module, file-set, from coreutils.
48697         * modules/file-set: Define it.
48698         * lib/file-set.c, lib/file-set.h: Implement.
48699
48700         New module, hash-triple, from coreutils.
48701         * modules/hash-triple: Define it.
48702         * lib/hash-triple.c, lib/hash-triple.h: Implement.
48703
48704 2007-09-25  Eric Blake  <ebb9@byu.net>
48705
48706         Fix strerror on Interix.
48707         * lib/string_.h (strerror): Declare replacement.
48708         * doc/functions/strerror.texi (strerror): Document the Interix
48709         shortcoming.
48710         * modules/string (Makefile.am): Support new hooks.
48711         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
48712         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
48713         gl_FUNC_STRERROR_SEPARATE.
48714         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
48715         * lib/strerror.c (rpl_strerror): Provide replacement.
48716         * modules/strerror (Depends-on): Add string.
48717         (configure.ac): Detect use of module.
48718         * tests/test-strerror.c: New file.
48719         * modules/strerror-tests: New test module.
48720         * modules/argp (Depends-on): Add strerror.
48721         * modules/error (Depends-on): Likewise.
48722         Reported by Martin Koeppe.
48723
48724 2007-09-24  Bruno Haible  <bruno@clisp.org>
48725
48726         * README: Update git instructions.
48727
48728 2007-09-24  Eric Blake  <ebb9@byu.net>
48729
48730         Revert fpending breakage from 2007-09-08.
48731         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
48732         __fpending.c.
48733
48734 2007-09-24  Jim Meyering  <jim@meyering.net>
48735
48736         filenamecat.c: Add a test.
48737         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
48738         showing how the function works when DIR is the empty string.
48739
48740 2007-09-21  Simon Josefsson  <simon@josefsson.org>
48741
48742         * tests/test-canonicalize.sh: Turn on executable bit.
48743
48744 2007-09-19  Eric Blake  <ebb9@byu.net>
48745
48746         * README: Update CVS instructions.
48747
48748 2007-09-18  Bruno Haible  <bruno@clisp.org>
48749
48750         * modules/areadlink: New file.
48751         * lib/areadlink.h (areadlink): New declaration.
48752         * lib/areadlink.c: New file, based on lib/xreadlink.c.
48753
48754 2007-09-17  Jim Meyering  <jim@meyering.net>
48755
48756         * lib/savewd.c (ESTALE) [!defined]: Define.
48757         Reported to be required on Interix by Martin Koeppe.
48758
48759 2007-09-17  Bruno Haible  <bruno@clisp.org>
48760
48761         * gnulib-tool (func_version): Use $version.
48762
48763 2007-09-16  Bruno Haible  <bruno@clisp.org>
48764
48765         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
48766         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
48767         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
48768         Reported by Greg Schafer <gschafer@zip.com.au>.
48769
48770 2007-09-15  Bruno Haible  <bruno@clisp.org>
48771
48772         * gnulib-tool (sed): Try a little harder to make bash understand the
48773         alias.
48774         Reported by Bruce Korb <bruce.korb@gmail.com>.
48775
48776 2007-09-13  Eric Blake  <ebb9@byu.net>
48777
48778         * ChangeLog: Remove conflict markers.
48779
48780 2007-09-13  Simon Josefsson  <simon@josefsson.org>
48781
48782         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
48783         Reported by Bruno Haible <bruno@clisp.org>.
48784
48785 2007-09-12  Bruno Haible  <bruno@clisp.org>
48786
48787         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
48788         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
48789         is not defined.
48790
48791 2007-09-12  Eric Blake  <ebb9@byu.net>
48792
48793         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
48794         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
48795         Autoconf definition.
48796         * modules/euidaccess (Depends-on): Add extensions, for
48797         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
48798         * modules/fnmatch (Depends-on): Likewise.
48799         * modules/getaddrinfo (Depends-on): Likewise.
48800         * modules/getdelim (Depends-on): Likewise.
48801         * modules/getline (Depends-on): Likewise.
48802         * modules/getsubopt (Depends-on): Likewise.
48803         * modules/gettext (Depends-on): Likewise.
48804         * modules/group-member (Depends-on): Likewise.
48805         * modules/mbchar (Depends-on): Likewise.
48806         * modules/memmem (Depends-on): Likewise.
48807         * modules/mempcpy (Depends-on): Likewise.
48808         * modules/memrchr (Depends-on): Likewise.
48809         * modules/pagealign_alloc (Depends-on): Likewise.
48810         * modules/readutmp (Depends-on): Likewise.
48811         * modules/stpcpy (Depends-on): Likewise.
48812         * modules/stpncpy (Depends-on): Likewise.
48813         * modules/strchrnul (Depends-on): Likewise.
48814         * modules/strndup (Depends-on): Likewise.
48815         * modules/strsep (Depends-on): Likewise.
48816         * modules/strverscmp (Depends-on): Likewise.
48817         * modules/vasprintf (Depends-on): Likewise.
48818         * modules/wcwidth (Depends-on): Likewise.
48819         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
48820         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
48821         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
48822         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
48823         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
48824         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
48825         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
48826         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
48827         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
48828         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
48829         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48830         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
48831         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
48832         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
48833         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
48834         * m4/readutmp.m4 (gl_READUTMP): Likewise.
48835         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48836         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
48837         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48838         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
48839         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
48840         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
48841         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
48842         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
48843         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
48844         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48845         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
48846         so that lock.m4 can be used in gettext without extensions module.
48847
48848 2007-09-11  Bruno Haible  <bruno@clisp.org>
48849
48850         * m4/isc-posix.m4: Remove file.
48851         Suggested by Eric Blake.
48852
48853 2007-09-11  Eric Blake  <ebb9@byu.net>
48854
48855         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
48856
48857 2007-09-10  Bruno Haible  <bruno@clisp.org>
48858
48859         * posix-modules: Fix typo in error message.
48860         Reported by Matt <mkraai@beckman.com>.
48861
48862 2007-09-09  Bruno Haible  <bruno@clisp.org>
48863
48864         * doc/functions/getdelim.texi: Update list of platforms lacking the
48865         function.
48866         * doc/functions/getline.texi: Likewise.
48867
48868 2007-09-09  Jim Meyering  <jim@meyering.net>
48869
48870         * lib/hash.c (hash_initialize): Detect calloc failure.
48871         Reported by Bruno Haible.
48872
48873 2007-09-09  Bruno Haible  <bruno@clisp.org>
48874
48875         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
48876         malloc or realloc fails.
48877
48878 2007-09-09  Bruno Haible  <bruno@clisp.org>
48879
48880         * modules/getcwd (Depends-on): Add malloc-posix.
48881         * modules/glob (Depends-on): Likewise.
48882         * modules/putenv (Depends-on): Likewise.
48883         * modules/strdup (Depends-on): Likewise.
48884         * modules/getdelim (Depends-on): Add realloc-posix.
48885         * modules/read-file (Depends-on): Likewise.
48886
48887 2007-09-09  Bruno Haible  <bruno@clisp.org>
48888
48889         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
48890         (gl_FUNC_MALLOC_POSIX): Require it.
48891         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
48892         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
48893         * modules/realloc (Files): Add m4/malloc.m4.
48894         * modules/calloc (Files): Likewise.
48895
48896 2007-09-09  Bruno Haible  <bruno@clisp.org>
48897
48898         * modules/malloc-posix: New file.
48899         * modules/malloc (Depends-on): Add malloc-posix.
48900         * lib/malloc.c: Include errno.h.
48901         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
48902         and a POSIX-compatible malloc into a single function. Set ENOMEM
48903         when returning NULL.
48904         * m4/malloc.m4: New file.
48905         * doc/functions/malloc.texi: Mention the malloc-posix module.
48906         * lib/stdlib_.h (malloc): New declaration.
48907         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48908         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
48909         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
48910         and HAVE_MALLOC_POSIX.
48911
48912 2007-09-09  Bruno Haible  <bruno@clisp.org>
48913
48914         * modules/realloc-posix: New file.
48915         * modules/realloc (Depends-on): Add realloc-posix.
48916         * lib/realloc.c: Include errno.h.
48917         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
48918         and a POSIX-compatible realloc into a single function. Set ENOMEM
48919         when returning NULL.
48920         * m4/realloc.m4: New file.
48921         * doc/functions/realloc.texi: Mention the realloc-posix module.
48922         * lib/stdlib_.h (realloc): New declaration.
48923         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48924         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
48925         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
48926         and HAVE_REALLOC_POSIX.
48927
48928 2007-09-09  Bruno Haible  <bruno@clisp.org>
48929
48930         * modules/calloc-posix: New file.
48931         * modules/calloc (Depends-on): Add calloc-posix.
48932         * lib/calloc.c: Include errno.h.
48933         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
48934         and a POSIX-compatible calloc into a single function. Set ENOMEM
48935         when returning NULL.
48936         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
48937         * doc/functions/calloc.texi: Mention the calloc-posix module.
48938         * lib/stdlib_.h (calloc): New declaration.
48939         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48940         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
48941         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
48942         and HAVE_CALLOC_POSIX.
48943
48944 2007-09-09  Bruno Haible  <bruno@clisp.org>
48945
48946         Allow for modules to show an arbitrary notice.
48947         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
48948         * gnulib-tool: New option --extract-notice.
48949         (func_usage): Document it.
48950         (sed_extract_prog): Update.
48951         (func_get_notice): New function.
48952         (func_modules_notice): New function.
48953         (func_import, func_create_testdir): Invoke it.
48954         Suggested by Jim Meyering.
48955
48956 2007-09-09  Bruno Haible  <bruno@clisp.org>
48957
48958         * gnulib-tool: New options --verbose, --quiet.
48959         (func_usage): Document them.
48960         (verbose): New variable.
48961         (func_execute_command): New function.
48962         (func_import): Don't show the module list and the file list if
48963         $verbose < 0.
48964         (func_create_testdir): Likewise. Use func_execute_command.
48965         (func_create_megatestdir): Use func_execute_command.
48966
48967 2007-09-08  Bruno Haible  <bruno@clisp.org>
48968
48969         * gnulib-tool (func_import): Prefer rsync over wget when available,
48970         for fetching the PO files.
48971
48972 2007-09-08  Bruno Haible  <bruno@clisp.org>
48973
48974         * posix-modules: New file. Portions copied from gnulib-tool.
48975         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
48976
48977 2007-09-08  Jim Meyering  <jim@meyering.net>
48978
48979         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
48980         * lib/fpending.h: Rename from __fpending.h.
48981         * lib/fpending.c: Rename from __fpending.c.
48982         Include "fpending.h", not "__fpending.h".
48983         * lib/__fpending.h, lib/__fpending.c: Remove files.
48984         * modules/fpending (Files): Reflect new file names.
48985         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
48986
48987 2007-09-08  Bruno Haible  <bruno@clisp.org>
48988
48989         * m4/inttypes-h.m4: Remove stub file.
48990
48991 2007-09-07  Simon Josefsson  <simon@josefsson.org>
48992
48993         * doc/headers/stdint.texi: Discuss #include_next issue.
48994
48995 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48996
48997         * build-aux/bootstrap: Remove obsolete comment about wget --help.
48998
48999 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49000
49001         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
49002         in variable name.
49003
49004 2007-09-03  Jim Meyering  <jim@meyering.net>
49005
49006         New module: git-version-gen.
49007         * modules/git-version-gen: New file.
49008
49009         Import changes from coreutils for bootstrap script.
49010
49011         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
49012
49013         bootstrap: uses rsync to download the .po files
49014         * build-aux/bootstrap (po_download_command_format): New global.
49015         (download_po_files): Use rsync.
49016         (update_po_files): Don't remove .po files after download,
49017         so future rsync runs can take advantage of the copies.
49018
49019         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
49020
49021         Solve the unnecessary-.po-file-regeneration problem once and for all.
49022         * build-aux/bootstrap (download_po_files): New function, renamed from
49023         get_translations.  Now, downloads, but doesn't update LINGUAS.
49024         (update_po_files): New function.
49025
49026         bootstrap: Ignore more.
49027         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
49028         uniwidth to e.g., lib/.gitignore.
49029         (slurp): Handle the sys_stat_.h -> sys mapping, too.
49030
49031         * build-aux/bootstrap: New setting: vc_ignore.
49032         (insert_sorted_if_absent): Create $file if absent.
49033         Adapt to new, possibly empty, list: $vc_ignore.
49034
49035         bootstrap: generate more ignorable names
49036         * build-aux/bootstrap (slurp): When generating ignorable names,
49037         also map .sin to .sed, .gperf to .c, and .y to .c.
49038
49039 2007-09-03  Jim Meyering  <jim@meyering.net>
49040
49041         * build-aux/git-version-gen: New file, from coreutils.  For details, see
49042         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
49043
49044 2007-09-02  Bruno Haible  <bruno@clisp.org>
49045
49046         Fix mis-recognition of 'mcs' on QNX 6.
49047         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
49048         output contains the string "Mono".
49049         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
49050         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
49051
49052 2007-09-01  Bruno Haible  <bruno@clisp.org>
49053
49054         Fix collision between uniwidth/* and linebreak modules.
49055         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
49056         u32_width): Remove declarations.
49057         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
49058         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
49059         streq3, streq2, streq1, streq0): Remove functions.
49060         (STREQ): Remove macro.
49061         (is_cjk_encoding): Remove function.
49062         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
49063         (uc_width, u8_width, u16_width, u32_width): Remove functions.
49064         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
49065         * NEWS: Document the change.
49066
49067 2007-09-01  Bruno Haible  <bruno@clisp.org>
49068
49069         * lib/streq.h: Add double-inclusion guard.
49070
49071 2007-09-01  Karl Berry  <karl@gnu.org>
49072
49073         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
49074
49075 2007-08-28  Jim Meyering  <jim@meyering.net>
49076
49077         Rename mreadlink_with_size to areadlink_with_size.
49078         * NEWS: Document the change.
49079         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
49080         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
49081         * lib/mreadlink.h: Rename this to...
49082         * lib/areadlink.h: ...this.
49083         * modules/mreadlink-with-size: Rename this to...
49084         * modules/areadlink-with-size: ...this.
49085         * lib/canonicalize.c: Reflect the renaming.
49086         * modules/canonicalize: Likewise.
49087
49088 2007-08-26  Bruno Haible  <bruno@clisp.org>
49089
49090         * gnulib-tool (func_import): When deciding which files to remove,
49091         consider also dangling symbolic links.
49092         Reported by Eric Blake.
49093
49094 2007-08-26  Bruno Haible  <bruno@clisp.org>
49095
49096         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
49097
49098 2007-08-23  Simon Josefsson  <simon@josefsson.org>
49099
49100         * lib/readline.c: Don't include getline.h, the prototype is now
49101         found in stdio.h.
49102
49103 2007-08-23  Jim Meyering  <jim@meyering.net>
49104
49105         Getdelim touchup.
49106         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
49107         around the funlockfile call, since funlockfile never sets errno.
49108         Don't set errno upon failed realloc.
49109
49110 2007-08-22  Eric Blake  <ebb9@byu.net>
49111
49112         Getline touchups.
49113         * lib/getdelim.c (getdelim): Revert regression that required *n to
49114         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
49115         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
49116         getdelim, rather than whether implementation is missing.
49117         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
49118         * lib/stdio_.h (getline): Also declare if replacement is
49119         required.
49120         * doc/functions/getdelim.texi: New file.
49121         * doc/functions/getline.texi: Likewise.
49122         * doc/gnulib.texi (Function Substitutes): Add new files.
49123         Reported by Bruno Haible.
49124
49125 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
49126
49127         * users.txt: Add Guile.
49128
49129 2007-08-22  Eric Blake  <ebb9@byu.net>
49130
49131         * tests/test-getdelim.c (main): Use remove, not unlink.
49132         * tests/test-getline.c (main): Likewise.
49133
49134         Move getline and getdelim into stdio.h, per POSIX 200x.
49135         * modules/getline (Files): Remove getline.h.
49136         (Depends-on): Add stdio.
49137         (configure.ac): Add module indicator.
49138         * modules/getdelim (Files): Remove getdelim.h.
49139         (Depends-on): Add stdio.
49140         (configure.ac): Add module indicator.
49141         * modules/stdio (Makefile.am): Work with new indicators.
49142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
49143         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
49144         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
49145         * lib/getdelim.h: Delete.
49146         * lib/getline.h: Delete.
49147         * lib/stdio_.h (getdelim, getline): Declare.
49148         * modules/getdelim-tests: New module.
49149         * modules/getline-tests: Likewise.
49150         * tests/test-getdelim.c: New file.
49151         * tests/test-getline.c: Likewise.
49152         * NEWS: Document the change.
49153         * lib/getline.c: Update choice of header.
49154         * lib/csharpcomp.c: Likewise.
49155         * lib/getpass.c: Likewise.
49156         * lib/javacomp.c: Likewise.
49157         * lib/javaversion.c: Likewise.
49158         * lib/yesno.c: Likewise.
49159         * lib/getdelim.c: Likewise.
49160         (getdelim): Set errno on failure, and avoid memory leak.
49161
49162 2007-08-19  Bruno Haible  <bruno@clisp.org>
49163
49164         * modules/closein (Depends-on): Add freadahead.
49165         * lib/closein.c: Include freadahead.h.
49166         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
49167         is zero.
49168
49169 2007-08-19  Bruno Haible  <bruno@clisp.org>
49170
49171         * modules/freadahead-tests: New file.
49172         * tests/test-freadahead.sh: New file.
49173         * tests/test-freadahead.c: New file.
49174
49175         * modules/freadahead: New file.
49176         * lib/freadahead.h: New file.
49177         * lib/freadahead.c: New file.
49178         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
49179         fbufmode, fpurge, freadable, fwritable.
49180
49181 2007-08-19  Eric Blake  <ebb9@byu.net>
49182
49183         Test yesno in combination with closein.
49184         * lib/yesno.c (yesno): Document use of stdin.
49185         * modules/yesno-tests (Files): New module.
49186         * tests/test-yesno.c (main): New file.
49187         * tests/test-yesno.sh: Likewise.
49188
49189 2007-08-19  Bruno Haible  <bruno@clisp.org>
49190
49191         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
49192         * lib/fseeko.c (rpl_fseeko): Likewise.
49193         * lib/fseterr.c (fseterr): Likewise.
49194
49195 2007-08-19  Bruno Haible  <bruno@clisp.org>
49196
49197         * tests/test-lseek.c (main): Disable a test for BeOS.
49198         * doc/functions/lseek.texi: Document the BeOS bug.
49199
49200 2007-08-19  Bruno Haible  <bruno@clisp.org>
49201             Eric Blake  <ebb9@byu.net>
49202
49203         * lib/lseek.c: Include <sys/stat.h>.
49204         (rpl_lseek): Add workaround code also for Unix platforms.
49205         Needed for BeOS.
49206         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
49207         * doc/functions/lseek.texi: Document BeOS definiency.
49208
49209 2007-08-18  Bruno Haible  <bruno@clisp.org>
49210
49211         * modules/fstrcmp-tests: New file.
49212         * tests/test-fstrcmp.c: New file.
49213
49214 2007-08-18  Bruno Haible  <bruno@clisp.org>
49215
49216         * modules/fstrcmp: New file, from GNU gettext with modifications.
49217         * lib/fstrcmp.h: New file, from GNU gettext.
49218         * lib/fstrcmp.c: New file, from GNU gettext.
49219         * MODULES.html.sh (String handling): Add fstrcmp.
49220
49221 2007-08-18  Bruno Haible  <bruno@clisp.org>
49222
49223         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
49224         'bool'.
49225         (diag, compareseq): Remove const from the ctxt argument.
49226         (USE_HEURISTIC): Undefine at the end.
49227
49228 2007-08-18  Jim Meyering  <jim@meyering.net>
49229
49230         New file: lib/idcache.h
49231         * NEWS: Mention the addition.
49232         * modules/idcache (Files): Add lib/idcache.h
49233         * lib/idcache.c: Include "idcache.h".
49234         Don't include <sys/types.h>.
49235         Add a FIXME comment.
49236         Move file-scoped "static" declarations to the top.
49237         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
49238
49239 2007-08-17  Bruno Haible  <bruno@clisp.org>
49240         and Paul Eggert  <eggert@cs.ucla.edu>
49241
49242         * MODULES.html.sh: Add diffseq.
49243         * modules/diffseq: New file.
49244         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
49245         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
49246
49247 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49248
49249         Import changes from coreutils for bootstrap script.
49250
49251         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
49252
49253         * build-aux/bootstrap (slurp): Work even in environments where
49254         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
49255         current code does not slurp files whose names start with ".", and
49256         this looks like it might be a troublesome area.
49257
49258         2007-07-11  Jim Meyering  <jim@meyering.net>
49259
49260         If there's a GPL vN copyright comment, require that N == 3.
49261
49262         2007-07-08  Jim Meyering  <jim@meyering.net>
49263
49264         Run the coreutils-specific code only if tests/Makefile.am.in exists.
49265         * build-aux/bootstrap (mam_template): Move definition out of loop.
49266
49267         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
49268
49269         * build-aux/bootstrap (symlink_to_dir): Rename function from
49270         symlink_to_gnulib.  Add a directory parameter.  Update all
49271         callers.
49272         (cp_mark_as_generated): Also check for -- and link to -- files in
49273         gl/.
49274
49275         2007-07-08  Jim Meyering  <jim@meyering.net>
49276
49277         Adapt to deeper hierarchy in gnulib.
49278         * build-aux/bootstrap (symlink_to_dir): If the destination
49279         directory doesn't exist, create it. This is required at least for
49280         "lib/uniwidth/cjk.h".
49281
49282         2007-05-15  Jim Meyering  <jim@meyering.net>
49283
49284         * build-aux/bootstrap: Now that generated Makefile.am files
49285         are no longer under version control, they must be created at
49286         bootstrap time.
49287
49288 2007-08-14  Ben Pfaff  <blp@gnu.org>
49289
49290         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
49291
49292 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49293
49294         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
49295         given the changes below.
49296         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
49297         even on hosts that have padding bits beyond the supported 64.
49298
49299 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49300
49301         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
49302         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
49303         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
49304         depends on it.
49305         (xstrtol_error): Remove.
49306         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
49307         but with a different signature.
49308         (ATTRIBUTE_NORETURN, __attribute__): New macros.
49309         * lib/xstrtol-error.c: Include exitfail.h.
49310         (xstrtol_fatal): New function, with a different signature from the
49311         old xstrtol_error, so that the caller need not worry about passing
49312         in an exit status, or about storage management of the option argument.
49313         (xstrtol_error): Now a static function.  Redo signature to
49314         implement xstrtol_fatal.  Output the correct number of hyphens in
49315         front of the option so that the caller need not worry about
49316         storage management.
49317         (N_): New macro.
49318         (_): Remove; not used now.
49319         * modules/xstrtol: Depend on getopt.
49320         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
49321         of old STRTOL_FATAL_ERROR macro.
49322         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
49323         of test program.
49324         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
49325         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
49326
49327 2007-08-08  Eric Blake  <ebb9@byu.net>
49328
49329         * lib/xstrtol-error.c: Add missing include.
49330
49331         Move xstrtol messages into gnulib domain, when --pobase is used.
49332         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
49333         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
49334         * modules/xstrtol (Files): Distribute new file.
49335         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
49336         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
49337         * tests/test-xstrtol.c: ...into new file.
49338         * tests/test-xstrtoul.c: Also test xstrtoul.
49339         * tests/test-xstrtoimax.c: Also test xstrtoimax.
49340         * tests/test-xstrtoumax.c: Also test xstrtoumax.
49341         * tests/test-xstrtol.sh: Drive the tests.
49342         * tests/test-xstrtoimax.sh: Likewise.
49343         * tests/test-xstrtoumax.sh: Likewise.
49344         * modules/xstrtol-tests: New module.
49345         * modules/xstrtoimax-tests: Likewise.
49346         * modules/xstrtoumax-tests: Likewise.
49347
49348 2007-08-08  Jim Meyering  <jim@meyering.net>
49349
49350         New function: mfile_name_concat.
49351         * lib/filenamecat.c (mfile_name_concat): New function, just like
49352         file_name_concat, but return NULL upon failure rather than exiting
49353         with a diagnostic.
49354         * lib/filenamecat.h: Declare it.
49355
49356 2007-08-07  Bruno Haible  <bruno@clisp.org>
49357
49358         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
49359         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
49360         warning from gcc.
49361         Reported by Eric Blake.
49362
49363 2007-08-07  Simon Josefsson  <simon@josefsson.org>
49364
49365         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
49366         * modules/crypto/arcfour (License): Likewise.
49367         * modules/crypto/des-tests (License): Likewise.
49368         * modules/crypto/gc-arctwo-tests (License): Likewise.
49369         * modules/crypto/gc-des-tests (License): Likewise.
49370         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
49371         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
49372         * modules/crypto/gc-md2-tests (License): Likewise.
49373         * modules/crypto/gc-md4-tests (License): Likewise.
49374         * modules/crypto/gc-md5-tests (License): Likewise.
49375         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
49376         * modules/crypto/gc-rijndael-tests (License): Likewise.
49377         * modules/crypto/gc-sha1-tests (License): Likewise.
49378         * modules/crypto/gc-tests (License): Likewise.
49379         * modules/crypto/hmac-md5 (License): Likewise.
49380         * modules/crypto/hmac-sha1 (License): Likewise.
49381         * modules/crypto/md2-tests (License): Likewise.
49382         * modules/crypto/md4-tests (License): Likewise.
49383         * modules/crypto/md5 (License): Likewise.
49384         * modules/crypto/rijndael (License): Likewise.
49385         * modules/crypto/sha1 (License): Likewise.
49386         * modules/memxor (License): Likewise.
49387
49388 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
49389         and Bruno Haible  <bruno@clisp.org>
49390
49391         * NEWS: Describe interface changes to human, xstrtol.
49392         * lib/human.h: Include <xstrtol.h>.
49393         (human_options): Return enum strtol_error, not int.  Remove
49394         bool arg; take int * instead.
49395         * lib/human.c: Don't include "gettext.h".
49396         (_): Remove; no longer used.
49397         Don't include <xstrtol.h>, since human.h does it.
49398         (human_options): Adjust to abovementioned interface changes.
49399         Do not report error to stderr; that's now the caller's
49400         responsibility.
49401         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
49402         interface change.
49403         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
49404         Str, Argument_type_string.  All uses changed.  Put " argument"
49405         in diagnostics to make them clearer.  Change wording of suffix
49406         message for clarity.
49407         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
49408         Argument_type_string.
49409         (STRTOL_FATAL_WARN): Remove; no longer used.
49410         * modules/human (Depends-on): Remove gettext-h.
49411
49412 2007-08-06  Simon Josefsson  <simon@josefsson.org>
49413
49414         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
49415
49416 2007-07-31  Bruno Haible  <bruno@clisp.org>
49417
49418         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
49419         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
49420         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
49421
49422 2007-07-31  Bruno Haible  <bruno@clisp.org>
49423
49424         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
49425         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
49426
49427 2007-07-30  Bruno Haible  <bruno@clisp.org>
49428
49429         * modules/base64 (License): Use the synonymous term "LGPLv2+".
49430         * modules/c-ctype (License): Likewise.
49431         * modules/c-strcase (License): Likewise.
49432         * modules/check-version (License): Likewise.
49433         * modules/iconv (License): Likewise.
49434         * modules/iconv_open (License): Likewise.
49435         * modules/read-file (License): Likewise.
49436         * modules/striconv (License): Likewise.
49437         * modules/strverscmp (License): Likewise.
49438         * modules/vasprintf (License): Likewise.
49439         * modules/crypto/des (License): Likewise.
49440         * modules/crypto/gc (License): Likewise.
49441         * modules/crypto/gc-arcfour (License): Likewise.
49442         * modules/crypto/gc-arctwo (License): Likewise.
49443         * modules/crypto/gc-des (License): Likewise.
49444         * modules/crypto/gc-hmac-md5 (License): Likewise.
49445         * modules/crypto/gc-hmac-sha1 (License): Likewise.
49446         * modules/crypto/gc-md2 (License): Likewise.
49447         * modules/crypto/gc-md4 (License): Likewise.
49448         * modules/crypto/gc-md5 (License): Likewise.
49449         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
49450         * modules/crypto/gc-random (License): Likewise.
49451         * modules/crypto/gc-rijndael (License): Likewise.
49452         * modules/crypto/gc-sha1 (License): Likewise.
49453         * modules/crypto/md2 (License): Likewise.
49454         * modules/crypto/md4 (License): Likewise.
49455
49456 2007-07-30  Jim Meyering  <jim@meyering.net>
49457
49458         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
49459         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
49460         it has valid stat data.  This bug would cause du not to count the
49461         sizes of inaccessible directories.
49462         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
49463         in <http://bugzilla.redhat.com/250077>.
49464
49465 2007-07-25  Peter O'Gorman  <peter@pogma.com>
49466             Bruno Haible  <bruno@clisp.org>
49467
49468         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
49469         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
49470         #include_next, gives a diagnostic about it, but reports no error in
49471         the exit code.
49472         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
49473
49474 2007-07-24  Ben Pfaff  <blp@gnu.org>
49475
49476         Improve name: "count-one-bits" is better than "popcount".
49477         * MODULES.html.sh: Update name.
49478         * lib/popcount.h: Renamed lib/count-one-bits.h.
49479         (popcount): Renamed count_one_bits.
49480         (popcountl): Renamed count_one_bits_l.
49481         (popcountll): Renamed count_one_bits_ll.
49482         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
49483         * modules/popcount: Renamed module/count-one-bits.
49484         * modules/popcount-tests: Renamed module/count-one-bits-tests.
49485         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
49486
49487 2007-07-23  Ben Pfaff  <blp@gnu.org>
49488
49489         * lib/popcount.h (popcount32): Reduce size of constants, to allow
49490         better code generation, and add U to large constants to avoid
49491         warnings, in non-GCC case.
49492         Suggested by Bruno Haible.
49493
49494 2007-07-23  Ben Pfaff  <blp@gnu.org>
49495
49496         * lib/popcount.h: Use verify_true instead of if...abort.
49497         * modules/popcount: Depend on verify module.
49498         Suggested by Jim Meyering.
49499
49500 2007-07-23  Bruno Haible  <bruno@clisp.org>
49501
49502         * gnulib-tool (func_import): Create a .cvsignore file also when the
49503         directory is not yet in CVS but the toplevel directory is. When
49504         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
49505         Reported by Karl Berry.
49506
49507 2007-07-22  Ben Pfaff  <blp@gnu.org>
49508
49509         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
49510         case.
49511         Suggested by Eric Blake.
49512
49513 2007-07-22  Ben Pfaff  <blp@gnu.org>
49514
49515         New module: popcount.
49516         * MODULES.html.sh: Add popcount.
49517         * modules/popcount: New file.
49518         * modules/popcount-tests: New file.
49519         * tests/test-popcount.c: New file.
49520         * lib/popcount.h: New file.
49521         * m4/popcount.m4: New file.
49522
49523 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49524
49525         * build-aux/announce-gen: Update to GPLv3.
49526
49527         * build-aux/config.guess: Update from config.
49528
49529 2007-07-21  Bruno Haible  <bruno@clisp.org>
49530
49531         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
49532         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
49533
49534 2007-07-20  Jim Meyering  <jim@meyering.net>
49535
49536         * check-module: Diagnose a self-dependency.
49537
49538 2007-07-19  Bruno Haible  <bruno@clisp.org>
49539
49540         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
49541         empty.
49542         Reported by Eric Blake.
49543
49544 2007-07-18  Bruno Haible  <bruno@clisp.org>
49545
49546         * gnulib-tool: New options --po-base, --po-domain.
49547         (func_usage): Document them.
49548         (pobase, po_domain): New variables.
49549         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
49550         DEFAULT_TEXT_DOMAIN.
49551         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
49552         (func_import): Consider pobase and po_domain. Create a po/ directory.
49553         (func_create_testdir): Set pobase and po_domain to empty.
49554         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
49555         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
49556
49557 2007-07-18  Bruno Haible  <bruno@clisp.org>
49558
49559         * gnulib-tool (func_get_automake_snippet): Synthesize also an
49560         EXTRA_DIST augmentation for files in build-aux/.
49561
49562 2007-07-16  Bruno Haible  <bruno@clisp.org>
49563
49564         * modules/lseek (License): Use the synonymous term "LGPLv2+".
49565         * modules/getdelim (License): Likewise.
49566
49567 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49568
49569         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
49570         * modules/d-type (License): Likewise.
49571         * modules/extensions (License): Likewise.
49572         * modules/fnmatch (License): Likewise.
49573         * modules/fseeko (License): Likewise.
49574         * modules/getaddrinfo (License): Likewise.
49575         * modules/getline (License): Likewise.
49576         * modules/getlogin_r (License): Likewise.
49577         * modules/getpass (License): Likewise.
49578         * modules/gettimeofday (License): Likewise.
49579         * modules/glob (License): Likewise.
49580         * modules/inet_ntop (License): Likewise.
49581         * modules/malloc (License): Likewise.
49582         * modules/malloca (License): Likewise.
49583         * modules/memmem (License): Likewise.
49584         * modules/mempcpy (License): Likewise.
49585         * modules/memset (License): Likewise.
49586         * modules/minmax (License): Likewise.
49587         * modules/mktime (License): Likewise.
49588         * modules/netinet_in (License): Likewise.
49589         * modules/pathmax (License): Likewise.
49590         * modules/poll (License): Likewise.
49591         * modules/regex (License): Likewise.
49592         * modules/snprintf (License): Likewise.
49593         * modules/stdbool (License): Likewise.
49594         * modules/stdint (License): Likewise.
49595         * modules/stdio (License): Likewise.
49596         * modules/strcase (License): Likewise.
49597         * modules/strcasestr (License): Likewise.
49598         * modules/strdup (License): Likewise.
49599         * modules/string (License): Likewise.
49600         * modules/strndup (License): Likewise.
49601         * modules/strnlen (License): Likewise.
49602         * modules/strpbrk (License): Likewise.
49603         * modules/strptime (License): Likewise.
49604         * modules/strsep (License): Likewise.
49605         * modules/sys_select (License): Likewise.
49606         * modules/sys_socket (License): Likewise.
49607         * modules/sys_stat (License): Likewise.
49608         * modules/sys_time (License): Likewise.
49609         * modules/time (License): Likewise.
49610         * modules/time_r (License): Likewise.
49611         * modules/timegm (License): Likewise.
49612         * modules/unistd (License): Likewise.
49613         * modules/vsnprintf (License): Likewise.
49614         * modules/wctype (License): Likewise.
49615
49616 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49617
49618         * modules/argz (License): LGPLv2+.
49619
49620 2007-07-15  Karl Berry  <karl@gnu.org>
49621
49622         * doc/gnulib.texi: revise node structure per new fdl.texi.
49623
49624 2007-07-14  Bruno Haible  <bruno@clisp.org>
49625
49626         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
49627         the output file.
49628         * lib/uniname/uninames.h: Regenerated.
49629
49630 2007-07-14  Karl Berry  <karl@gnu.org>
49631
49632         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
49633         omitting sectioning and index commands.
49634
49635 2007-07-13  Bruno Haible  <bruno@clisp.org>
49636
49637         New gnulib-tool option --more-symlinks.
49638         * gnulib-tool (func_usage): Document --more-symlinks.
49639         (do_copyrights): New variable.
49640         Recognize option --more-symlinks.
49641         (func_import): Don't add a copyright notice transform to
49642         sed_transform_lib_file if do_copyrights is empty.
49643
49644 2007-07-13  Bruno Haible  <bruno@clisp.org>
49645
49646         * lib/vasnprintf.c (decimal_point_char): Define also if
49647         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
49648         && !NEED_PRINTF_DIRECTIVE_A.
49649         Reported by Clemens Koller <clemens.koller@anagramm.de> via
49650         Gary V. Vaughan <gary@gnu.org>.
49651
49652 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
49653
49654         * lib/inttypes_.h: Undo previous change, since it was fixed
49655         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
49656
49657 2007-07-13  Bruno Haible  <bruno@clisp.org>
49658
49659         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
49660         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
49661
49662 2007-07-13  Jim Meyering  <jim@meyering.net>
49663
49664         df: Don't fail for Tru64's "file-on-file mount".
49665         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
49666         so we fall through and use statfs instead.  Details here:
49667         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
49668         Reported by Albert Chin.
49669
49670 2007-07-13  Bruno Haible  <bruno@clisp.org>
49671
49672         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
49673         * modules/configmake (License): Likewise.
49674         * modules/gettext (License): Likewise.
49675         * modules/gettext-h (License): Likewise.
49676         * modules/include_next (License): Likewise.
49677         * modules/link-warning (License): Likewise.
49678         * modules/localcharset (License): Likewise.
49679         * modules/localename (License): Likewise.
49680         * modules/lock (License): Likewise.
49681         * modules/relocatable-lib-lgpl (License): Likewise.
49682         * modules/size_max (License): Likewise.
49683         * modules/vasnprintf (License): Likewise.
49684         * modules/wchar (License): Likewise.
49685         * modules/xsize (License): Likewise.
49686
49687 2007-07-13  Bruno Haible  <bruno@clisp.org>
49688
49689         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
49690         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
49691
49692 2007-07-12  Bruno Haible  <bruno@clisp.org>
49693
49694         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
49695         in the modules files.
49696
49697 2007-07-11  Karl Berry  <karl@gnu.org>
49698
49699         * MODULES.html.sh (func_module): use
49700          sed -e '\|^'"${includefile}"'$|d'
49701          instead of /.../d, to avoid errors on $includefile's containing /.
49702
49703 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49704
49705         * gnulib-tool (func_import): Avoid duplication of --avoid
49706         statements
49707         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
49708         names to `_' in variable names.
49709
49710 2007-07-10  Eric Blake  <ebb9@byu.net>
49711
49712         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
49713         * NEWS: Document this change.
49714
49715 2007-07-08  Bruno Haible  <bruno@clisp.org>
49716
49717         Update to Unicode 5.0.
49718         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
49719         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
49720         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
49721         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
49722         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
49723         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
49724         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
49725         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
49726         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
49727         U+10A3F, U+1D242..U+1D244.
49728         (nonspacing_table_ind): Update.
49729         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
49730         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
49731
49732 2007-07-08  Bruno Haible  <bruno@clisp.org>
49733
49734         Update to Unicode 5.0.
49735         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
49736         code transform. Extend the name index field of unicode_name_to_code and
49737         unicode_code_to_name from 16 to 24 bits.
49738         * lib/uniname/uniname.c (unicode_character_name,
49739         unicode_name_character): Add the range 0x12xxx to the code transform.
49740         * lib/uniname/uninames.h: Regenerated.
49741         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
49742
49743 2007-07-07  Bruno Haible  <bruno@clisp.org>
49744
49745         * modules/wcwidth-tests: New file.
49746         * tests/test-wcwidth.c: New file.
49747
49748         Work around MacOS X wcwidth() bug.
49749         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
49750         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
49751         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
49752         original wcwidth in non-UTF-8 locales.
49753         * modules/wcwidth (Depends-on): Add localcharset, streq,
49754         uniwidth/width.
49755         * doc/functions/wcwidth.texi: Update.
49756
49757 2007-07-07  Bruno Haible  <bruno@clisp.org>
49758
49759         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
49760         (wcwidth): New declaration.
49761         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
49762         macros.
49763         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
49764         here. Prepare for creating <wchar.h> unconditionally.
49765         * modules/wchar (Depends-on): Add link-warning.
49766         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
49767         REPLACE_WCWIDTH, and GL_LINK_WARNING.
49768         * lib/wcwidth.h: Remove file.
49769         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
49770         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
49771         * modules/wcwidth (Files): Remove lib/wcwidth.h.
49772         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
49773         (Include): Replace wcwidth.h with <wchar.h>.
49774         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
49775         * lib/mbchar.h: Don't include wcwidth.h.
49776         * lib/mbswidth.c: Likewise.
49777         * NEWS: Mention the change.
49778
49779 2007-07-07  Bruno Haible  <bruno@clisp.org>
49780
49781         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
49782         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
49783         definition with an external declaration.
49784         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
49785         defined as a function. Remove AC_C_INLINE requirement.
49786         * modules/wcwidth (Files): Add lib/wcwidth.c.
49787         (Makefile.am): Remove redundant statement.
49788
49789 2007-07-07  Bruno Haible  <bruno@clisp.org>
49790
49791         * MODULES.html.sh (Unicode string functions): Add the new modules.
49792
49793         * tests/uniwidth/test-u32-strwidth.c: New file.
49794         * modules/uniwidth/u32-strwidth-tests: New file.
49795
49796         * lib/uniwidth/u32-strwidth.c: New file.
49797         * modules/uniwidth/u32-strwidth: New file.
49798
49799         * tests/uniwidth/test-u16-strwidth.c: New file.
49800         * modules/uniwidth/u16-strwidth-tests: New file.
49801
49802         * lib/uniwidth/u16-strwidth.c: New file.
49803         * modules/uniwidth/u16-strwidth: New file.
49804
49805         * tests/uniwidth/test-u8-strwidth.c: New file.
49806         * modules/uniwidth/u8-strwidth-tests: New file.
49807
49808         * lib/uniwidth/u8-strwidth.c: New file.
49809         * modules/uniwidth/u8-strwidth: New file.
49810
49811         * tests/uniwidth/test-u32-width.c: New file.
49812         * modules/uniwidth/u32-width-tests: New file.
49813
49814         * lib/uniwidth/u32-width.c: New file.
49815         * modules/uniwidth/u32-width: New file.
49816
49817         * tests/uniwidth/test-u16-width.c: New file.
49818         * modules/uniwidth/u16-width-tests: New file.
49819
49820         * lib/uniwidth/u16-width.c: New file.
49821         * modules/uniwidth/u16-width: New file.
49822
49823         * tests/uniwidth/test-u8-width.c: New file.
49824         * modules/uniwidth/u8-width-tests: New file.
49825
49826         * lib/uniwidth/u8-width.c: New file.
49827         * modules/uniwidth/u8-width: New file.
49828
49829         * tests/uniwidth/test-uc_width.c: New file.
49830         * modules/uniwidth/width-tests: New file.
49831
49832         * lib/uniwidth/width.c: New file, from GNU libiconv.
49833         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
49834         * modules/uniwidth/width: New file.
49835
49836         * lib/uniwidth.h: New file, from GNU libiconv.
49837         * modules/uniwidth/base: New file.
49838
49839 2007-07-07  Bruno Haible  <bruno@clisp.org>
49840
49841         * lib/uniname.h: New file, from GNU gettext.
49842         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
49843         * lib/uniname/uninames.h: New file, from GNU gettext.
49844         * lib/uniname/uniname.c: New file, from GNU gettext.
49845         * tests/uniname/test-uninames.sh: New file.
49846         * tests/uniname/test-uninames.c: New file, from GNU gettext.
49847         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
49848         * modules/uniname/base: New file.
49849         * modules/uniname/uniname: New file.
49850         * modules/uniname/uniname-tests: New file.
49851         * MODULES.html.sh (Unicode string functions): Add the new modules.
49852
49853 2007-07-06  Bruno Haible  <bruno@clisp.org>
49854
49855         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
49856
49857 2007-07-06  Bruno Haible  <bruno@clisp.org>
49858
49859         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
49860         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
49861         includes <cygwin/sys_time.h> which includes <sys/select.h> which
49862         include <sys/time.h>.
49863         Reported by Eric Blake.
49864
49865 2007-07-06  Eric Blake  <ebb9@byu.net>
49866
49867         Fix testing canonicalize on cygwin.
49868         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
49869         Revert patch from 2007-06-19.
49870         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
49871         canonicalize module is also in use.
49872         * tests/test-canonicalize.c: New file.
49873         * tests/test-canonicalize.sh: Likewise.
49874         * modules/canonicalize-tests: Likewise.
49875
49876 2007-07-06  Jim Meyering  <jim@meyering.net>
49877
49878         * lib/getugroups.c (getugroups): Detect getgrent failure.
49879         Adjust comment to reflect reality: this function may return -1.
49880
49881 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
49882
49883         * build-aux/bootstrap (TP_URL,get_translations): Update to use
49884         the new TP address.
49885         (usage): Fix typo
49886         (gnulib_mk): New variable.
49887
49888 2007-07-05  Jim Meyering  <jim@meyering.net>
49889
49890         Don't let endgrent clobber errno, no matter how improbable.
49891         * lib/getugroups.c (getugroups): Save and restore errno around
49892         endgrent call.
49893
49894         Close the group DB even when failing with 2^31 or more members.
49895         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
49896
49897 2007-07-04  Jim Meyering  <jim@meyering.net>
49898
49899         * lib/getugroups.h: New file.
49900         * lib/getugroups.c: Include "getugroups.h".
49901         Remove uses of "register" keyword.
49902         Move local variable, "cp", down into scope where used.
49903         Give "username" parameter the "const" attribute.
49904         * modules/getugroups (Files): Add lib/getugroups.h
49905
49906 2007-07-04  Karl Berry  <karl@gnu.org>
49907
49908         * MODULES.html.sh (func_all_modules): Complete rename of
49909         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
49910
49911 2007-07-02  Bruno Haible  <bruno@clisp.org>
49912
49913         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
49914         mode, when inttypes.h comes from gnulib.
49915         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
49916
49917 2007-07-02  Simon Josefsson  <simon@josefsson.org>
49918
49919         * NEWS: Mention lgpl module name change.
49920
49921         * modules/lgpl-2.1: Renamed from lgpl.
49922
49923         * NEWS: Mention gpl module name change.
49924
49925         * modules/gpl-3.0: New file, based on gpl-2.0.
49926
49927         * modules/gpl-2.0: Renamed from gpl.
49928
49929         * modules/gpl: Fix filename, doc/gpl.texi is now found at
49930         doc/gpl-2.0.texi.
49931
49932 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49933
49934         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
49935         #define __STDC_LIMIT_MACROS temporarily while including
49936         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
49937         Problem reported by Joel E. Denny in
49938         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
49939
49940 2007-07-01  Bruno Haible  <bruno@clisp.org>
49941
49942         * lib/unistdio.h: New file.
49943         * lib/unistdio/u-asnprintf.h: New file.
49944         * lib/unistdio/u-asprintf.h: New file.
49945         * lib/unistdio/u-printf-args.c: New file.
49946         * lib/unistdio/u-printf-args.h: New file.
49947         * lib/unistdio/u-printf-parse.h: New file.
49948         * lib/unistdio/u-snprintf.h: New file.
49949         * lib/unistdio/u-sprintf.h: New file.
49950         * lib/unistdio/u-vasprintf.h: New file.
49951         * lib/unistdio/u-vsnprintf.h: New file.
49952         * lib/unistdio/u-vsprintf.h: New file.
49953         * lib/unistdio/ulc-asnprintf.c: New file.
49954         * lib/unistdio/ulc-asprintf.c: New file.
49955         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
49956         * lib/unistdio/ulc-printf-parse.c: New file.
49957         * lib/unistdio/ulc-snprintf.c: New file.
49958         * lib/unistdio/ulc-sprintf.c: New file.
49959         * lib/unistdio/ulc-vasnprintf.c: New file.
49960         * lib/unistdio/ulc-vasprintf.c: New file.
49961         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
49962         * lib/unistdio/ulc-vsnprintf.c: New file.
49963         * lib/unistdio/ulc-vsprintf.c: New file.
49964         * lib/unistdio/u8-asnprintf.c: New file.
49965         * lib/unistdio/u8-asprintf.c: New file.
49966         * lib/unistdio/u8-printf-parse.c: New file.
49967         * lib/unistdio/u8-snprintf.c: New file.
49968         * lib/unistdio/u8-sprintf.c: New file.
49969         * lib/unistdio/u8-vasnprintf.c: New file.
49970         * lib/unistdio/u8-vasprintf.c: New file.
49971         * lib/unistdio/u8-vsnprintf.c: New file.
49972         * lib/unistdio/u8-vsprintf.c: New file.
49973         * lib/unistdio/u8-u8-asnprintf.c: New file.
49974         * lib/unistdio/u8-u8-asprintf.c: New file.
49975         * lib/unistdio/u8-u8-snprintf.c: New file.
49976         * lib/unistdio/u8-u8-sprintf.c: New file.
49977         * lib/unistdio/u8-u8-vasnprintf.c: New file.
49978         * lib/unistdio/u8-u8-vasprintf.c: New file.
49979         * lib/unistdio/u8-u8-vsnprintf.c: New file.
49980         * lib/unistdio/u8-u8-vsprintf.c: New file.
49981         * lib/unistdio/u16-asnprintf.c: New file.
49982         * lib/unistdio/u16-asprintf.c: New file.
49983         * lib/unistdio/u16-printf-parse.c: New file.
49984         * lib/unistdio/u16-snprintf.c: New file.
49985         * lib/unistdio/u16-sprintf.c: New file.
49986         * lib/unistdio/u16-vasnprintf.c: New file.
49987         * lib/unistdio/u16-vasprintf.c: New file.
49988         * lib/unistdio/u16-vsnprintf.c: New file.
49989         * lib/unistdio/u16-vsprintf.c: New file.
49990         * lib/unistdio/u16-u16-asnprintf.c: New file.
49991         * lib/unistdio/u16-u16-asprintf.c: New file.
49992         * lib/unistdio/u16-u16-snprintf.c: New file.
49993         * lib/unistdio/u16-u16-sprintf.c: New file.
49994         * lib/unistdio/u16-u16-vasnprintf.c: New file.
49995         * lib/unistdio/u16-u16-vasprintf.c: New file.
49996         * lib/unistdio/u16-u16-vsnprintf.c: New file.
49997         * lib/unistdio/u16-u16-vsprintf.c: New file.
49998         * lib/unistdio/u32-asnprintf.c: New file.
49999         * lib/unistdio/u32-asprintf.c: New file.
50000         * lib/unistdio/u32-printf-parse.c: New file.
50001         * lib/unistdio/u32-snprintf.c: New file.
50002         * lib/unistdio/u32-sprintf.c: New file.
50003         * lib/unistdio/u32-vasnprintf.c: New file.
50004         * lib/unistdio/u32-vasprintf.c: New file.
50005         * lib/unistdio/u32-vsnprintf.c: New file.
50006         * lib/unistdio/u32-vsprintf.c: New file.
50007         * lib/unistdio/u32-u32-asnprintf.c: New file.
50008         * lib/unistdio/u32-u32-asprintf.c: New file.
50009         * lib/unistdio/u32-u32-snprintf.c: New file.
50010         * lib/unistdio/u32-u32-sprintf.c: New file.
50011         * lib/unistdio/u32-u32-vasnprintf.c: New file.
50012         * lib/unistdio/u32-u32-vasprintf.c: New file.
50013         * lib/unistdio/u32-u32-vsnprintf.c: New file.
50014         * lib/unistdio/u32-u32-vsprintf.c: New file.
50015         * tests/unistdio/test-ulc-asnprintf1.c: New file.
50016         * tests/unistdio/test-ulc-asnprintf1.h: New file.
50017         * tests/unistdio/test-ulc-printf1.h: New file.
50018         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
50019         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
50020         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
50021         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
50022         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
50023         * tests/unistdio/test-ulc-vasprintf1.c: New file.
50024         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
50025         * tests/unistdio/test-ulc-vsprintf1.c: New file.
50026         * tests/unistdio/test-u8-asnprintf1.c: New file.
50027         * tests/unistdio/test-u8-asnprintf1.h: New file.
50028         * tests/unistdio/test-u8-printf1.h: New file.
50029         * tests/unistdio/test-u8-vasnprintf1.c: New file.
50030         * tests/unistdio/test-u8-vasnprintf2.c: New file.
50031         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
50032         * tests/unistdio/test-u8-vasnprintf3.c: New file.
50033         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
50034         * tests/unistdio/test-u8-vasprintf1.c: New file.
50035         * tests/unistdio/test-u8-vsnprintf1.c: New file.
50036         * tests/unistdio/test-u8-vsprintf1.c: New file.
50037         * tests/unistdio/test-u16-asnprintf1.c: New file.
50038         * tests/unistdio/test-u16-asnprintf1.h: New file.
50039         * tests/unistdio/test-u16-printf1.h: New file.
50040         * tests/unistdio/test-u16-vasnprintf1.c: New file.
50041         * tests/unistdio/test-u16-vasnprintf2.c: New file.
50042         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
50043         * tests/unistdio/test-u16-vasnprintf3.c: New file.
50044         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
50045         * tests/unistdio/test-u16-vasprintf1.c: New file.
50046         * tests/unistdio/test-u16-vsnprintf1.c: New file.
50047         * tests/unistdio/test-u16-vsprintf1.c: New file.
50048         * tests/unistdio/test-u32-asnprintf1.c: New file.
50049         * tests/unistdio/test-u32-asnprintf1.h: New file.
50050         * tests/unistdio/test-u32-printf1.h: New file.
50051         * tests/unistdio/test-u32-vasnprintf1.c: New file.
50052         * tests/unistdio/test-u32-vasnprintf2.c: New file.
50053         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
50054         * tests/unistdio/test-u32-vasnprintf3.c: New file.
50055         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
50056         * tests/unistdio/test-u32-vasprintf1.c: New file.
50057         * tests/unistdio/test-u32-vsnprintf1.c: New file.
50058         * tests/unistdio/test-u32-vsprintf1.c: New file.
50059         * modules/unistdio/base: New file.
50060         * modules/unistdio/u-printf-args: New file.
50061         * modules/unistdio/ulc-asnprintf: New file.
50062         * modules/unistdio/ulc-asprintf: New file.
50063         * modules/unistdio/ulc-fprintf: New file.
50064         * modules/unistdio/ulc-printf-parse: New file.
50065         * modules/unistdio/ulc-snprintf: New file.
50066         * modules/unistdio/ulc-sprintf: New file.
50067         * modules/unistdio/ulc-vasnprintf: New file.
50068         * modules/unistdio/ulc-vasprintf: New file.
50069         * modules/unistdio/ulc-vfprintf: New file.
50070         * modules/unistdio/ulc-vsnprintf: New file.
50071         * modules/unistdio/ulc-vsprintf: New file.
50072         * modules/unistdio/u8-asnprintf: New file.
50073         * modules/unistdio/u8-asprintf: New file.
50074         * modules/unistdio/u8-printf-parse: New file.
50075         * modules/unistdio/u8-snprintf: New file.
50076         * modules/unistdio/u8-sprintf: New file.
50077         * modules/unistdio/u8-vasnprintf: New file.
50078         * modules/unistdio/u8-vasprintf: New file.
50079         * modules/unistdio/u8-vsnprintf: New file.
50080         * modules/unistdio/u8-vsprintf: New file.
50081         * modules/unistdio/u8-u8-asnprintf: New file.
50082         * modules/unistdio/u8-u8-asprintf: New file.
50083         * modules/unistdio/u8-u8-snprintf: New file.
50084         * modules/unistdio/u8-u8-sprintf: New file.
50085         * modules/unistdio/u8-u8-vasnprintf: New file.
50086         * modules/unistdio/u8-u8-vasprintf: New file.
50087         * modules/unistdio/u8-u8-vsnprintf: New file.
50088         * modules/unistdio/u8-u8-vsprintf: New file.
50089         * modules/unistdio/u16-asnprintf: New file.
50090         * modules/unistdio/u16-asprintf: New file.
50091         * modules/unistdio/u16-printf-parse: New file.
50092         * modules/unistdio/u16-snprintf: New file.
50093         * modules/unistdio/u16-sprintf: New file.
50094         * modules/unistdio/u16-vasnprintf: New file.
50095         * modules/unistdio/u16-vasprintf: New file.
50096         * modules/unistdio/u16-vsnprintf: New file.
50097         * modules/unistdio/u16-vsprintf: New file.
50098         * modules/unistdio/u16-u16-asnprintf: New file.
50099         * modules/unistdio/u16-u16-asprintf: New file.
50100         * modules/unistdio/u16-u16-snprintf: New file.
50101         * modules/unistdio/u16-u16-sprintf: New file.
50102         * modules/unistdio/u16-u16-vasnprintf: New file.
50103         * modules/unistdio/u16-u16-vasprintf: New file.
50104         * modules/unistdio/u16-u16-vsnprintf: New file.
50105         * modules/unistdio/u16-u16-vsprintf: New file.
50106         * modules/unistdio/u32-asnprintf: New file.
50107         * modules/unistdio/u32-asprintf: New file.
50108         * modules/unistdio/u32-printf-parse: New file.
50109         * modules/unistdio/u32-snprintf: New file.
50110         * modules/unistdio/u32-sprintf: New file.
50111         * modules/unistdio/u32-vasnprintf: New file.
50112         * modules/unistdio/u32-vasprintf: New file.
50113         * modules/unistdio/u32-vsnprintf: New file.
50114         * modules/unistdio/u32-vsprintf: New file.
50115         * modules/unistdio/u32-u32-asnprintf: New file.
50116         * modules/unistdio/u32-u32-asprintf: New file.
50117         * modules/unistdio/u32-u32-snprintf: New file.
50118         * modules/unistdio/u32-u32-sprintf: New file.
50119         * modules/unistdio/u32-u32-vasnprintf: New file.
50120         * modules/unistdio/u32-u32-vasprintf: New file.
50121         * modules/unistdio/u32-u32-vsnprintf: New file.
50122         * modules/unistdio/u32-u32-vsprintf: New file.
50123         * modules/unistdio/ulc-asnprintf-tests: New file.
50124         * modules/unistdio/ulc-vasnprintf-tests: New file.
50125         * modules/unistdio/ulc-vasprintf-tests: New file.
50126         * modules/unistdio/ulc-vsnprintf-tests: New file.
50127         * modules/unistdio/ulc-vsprintf-tests: New file.
50128         * modules/unistdio/u8-asnprintf-tests: New file.
50129         * modules/unistdio/u8-vasnprintf-tests: New file.
50130         * modules/unistdio/u8-vasprintf-tests: New file.
50131         * modules/unistdio/u8-vsnprintf-tests: New file.
50132         * modules/unistdio/u8-vsprintf-tests: New file.
50133         * modules/unistdio/u16-asnprintf-tests: New file.
50134         * modules/unistdio/u16-vasnprintf-tests: New file.
50135         * modules/unistdio/u16-vasprintf-tests: New file.
50136         * modules/unistdio/u16-vsnprintf-tests: New file.
50137         * modules/unistdio/u16-vsprintf-tests: New file.
50138         * modules/unistdio/u32-asnprintf-tests: New file.
50139         * modules/unistdio/u32-vasnprintf-tests: New file.
50140         * modules/unistdio/u32-vasprintf-tests: New file.
50141         * modules/unistdio/u32-vsnprintf-tests: New file.
50142         * modules/unistdio/u32-vsprintf-tests: New file.
50143         * MODULES.html.sh (Unicode string functions): Add the new modules.
50144
50145 2007-07-01  Bruno Haible  <bruno@clisp.org>
50146
50147         * lib/sprintf.c (sprintf): Limit the available length estimation,
50148         to avoid address wraparound.
50149         * lib/vsprintf.c (vsprintf): Likewise.
50150         * modules/sprintf-posix (Dependencies): Add stdint.
50151         * modules/vsprintf-posix (Dependencies): Likewise.
50152
50153 2007-07-01  Bruno Haible  <bruno@clisp.org>
50154
50155         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
50156         Windows PATH as well. Conservative double-quoting. Comments.
50157
50158 2007-07-01  Bruno Haible  <bruno@clisp.org>
50159             Eric Blake  <ebb9@byu.net>
50160             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50161
50162         * gnulib-tool (self_abspathname): Fix algorithm to cope with
50163         empty components in $PATH, denoting '.'.
50164
50165 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50166
50167         * gnulib-tool: Fix indentation.
50168         (func_create_megatestdir): Likewise.
50169         Report by Bruno Haible.
50170
50171 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50172
50173         Sync from Automake.
50174         * build-aux/gnupload: Fix shell portability issues with for loops.
50175         Report by Karl Berry.
50176
50177 2007-06-29  Simon Josefsson  <simon@josefsson.org>
50178
50179         * build-aux/maint.mk (POURL): Use translationproject.org.
50180
50181 2007-06-27  Simon Josefsson  <simon@josefsson.org>
50182             Bruno Haible  <bruno@clisp.org>
50183
50184         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
50185         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
50186         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
50187         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
50188         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
50189
50190 2007-06-27  Bruno Haible  <bruno@clisp.org>
50191
50192         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
50193         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
50194
50195 2007-06-26  Karl Berry  <karl@gnu.org>
50196
50197         * MODULES.html.sh: remove xreadlink-with-size.
50198
50199 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
50200
50201         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
50202         method that I hope also handles the double-include problem noted
50203         by Bruno Haible in
50204         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
50205
50206 2007-06-23  Bruno Haible  <bruno@clisp.org>
50207
50208         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50209         Don't let the 'mostlyclean' target fail if the last subdirectory could
50210         not be removed.
50211         Reported by Karl Berry.
50212
50213 2007-06-23  Bruno Haible  <bruno@clisp.org>
50214
50215         * gnulib-tool (echo): Add a speedier workaround for ksh.
50216         * tests/test-echo.sh: Likewise.
50217
50218 2007-06-23  Bruno Haible  <bruno@clisp.org>
50219
50220         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
50221         * tests/test-echo.sh: Likewise.
50222
50223 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50224
50225         * gnulib-tool (IFS): Initialize early, so we don't set it to
50226         empty later.
50227         (self_abspathname): Rewrite algorithm to set it, reindent.
50228         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
50229         (func_create_megatestdir): Merge some sed scripts.
50230
50231 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
50232
50233         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
50234         exposed by Sun Studio 11 cc on Solaris 8.
50235
50236 2007-06-22  Bruno Haible  <bruno@clisp.org>
50237
50238         * gnulib-tool (echo): Ensure the echo primitive does not interpret
50239         backslashes.
50240         * tests/test-echo.sh: New file.
50241
50242 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50243
50244         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
50245         simplify `sed_replace_build_aux' scripts, they are portable but
50246         echoing them with `echo' is not.
50247         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
50248
50249 2007-06-21  Karl Berry  <karl@gnu.org>
50250
50251         * config/srclist.txt: guess we can't handle the licenses via
50252         srclist at the moment.
50253
50254 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50255
50256         * MODULES.html.sh: Add include_next.
50257         * modules/include_next: New file.
50258
50259 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50260
50261         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
50262         INCLUDE_NEXT.
50263         (gl_CHECK_NEXT_HEADERS): New macro.
50264         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
50265         the obsolescent gl_ABSOLUTE_HEADER.
50266         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
50267         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
50268         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
50269         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
50270         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
50271         * m4/math_h.m4 (gl_MATH_H): Likewise.
50272         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
50273         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
50274         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
50275         * m4/stdint.m4 (gl_STDINT_H): Likewise.
50276         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
50277         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
50278         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
50279         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50280         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
50281         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
50282         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
50283         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
50284         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
50285         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
50286         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
50287         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
50288         * m4/inttypes.m4 (gl_INTTYPES_H): Define
50289         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
50290         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
50291         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
50292         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
50293         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
50294         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
50295         * lib/float_.h: Likewise.
50296         * lib/inttypes_.h: Likewise.
50297         * lib/math_.h: Likewise.
50298         * lib/search_.h: Likewise.
50299         * lib/signal_.h: Likewise.
50300         * lib/stdint_.h: Likewise.
50301         * lib/stdio_.h: Likewise.
50302         * lib/stdlib_.h: Likewise.
50303         * lib/string_.h: Likewise.
50304         * lib/sys_stat_.h: Likewise.
50305         * lib/sys_time_.h: Likewise.
50306         * lib/time_.h: Likewise.
50307         * lib/unistd_.h: Likewise.
50308         * lib/wchar_.h: Likewise.
50309         * lib/wctype_.h: Likewise.
50310         * lib/dirent_.h: Likewise.
50311         * lib/iconv_.h: Likewise.
50312         * lib/locale_.h: Likewise.
50313         * lib/netinet_in_.h: Likewise.
50314         * lib/sys_select_.h: Likewise.
50315         * lib/sys_socket_.h: Likewise.
50316         * lib/sysexits_.h: Likewise.
50317         * modules/fcntl (Depends-on): Depend on include_next, not
50318         absolute_header.
50319         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
50320         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
50321         * modules/fchdir: Likewise.
50322         * modules/float: Likewise.
50323         * modules/iconv_open: Likewise.
50324         * modules/inttypes: Likewise.
50325         * modules/locale: Likewise.
50326         * modules/math: Likewise.
50327         * modules/netinet_in: Likewise.
50328         * modules/search: Likewise.
50329         * modules/signal: Likewise.
50330         * modules/stdint: Likewise.
50331         * modules/stdio: Likewise.
50332         * modules/stdlib: Likewise.
50333         * modules/string: Likewise.
50334         * modules/sys_select: Likewise.
50335         * modules/sys_socket: Likewise.
50336         * modules/sys_stat: Likewise.
50337         * modules/sys_time: Likewise.
50338         * modules/sysexits: Likewise.
50339         * modules/time: Likewise.
50340         * modules/unistd: Likewise.
50341         * modules/wchar: Likewise.
50342         * modules/wctype: Likewise.
50343         * modules/sys_stat: Change maintainer to "all".
50344         * modules/unistd: Likewise.
50345
50346 2007-06-20  Karl Berry  <karl@gnu.org>
50347
50348         * config/srclist.txt: track www changes in license files.
50349
50350 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
50351
50352         * build-aux/bootstrap: Remove stray dot.
50353         Make sure build_aux settings are honored when linking
50354         gnulib_extra_files.
50355
50356 2007-06-19  Eric Blake  <ebb9@byu.net>
50357
50358         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
50359         Allow compilation on cygwin.
50360
50361 2007-06-19  Jim Meyering  <jim@meyering.net>
50362
50363         xreadlink-with-size: Remove module.  No longer used.
50364         Ex-callers now use xreadlink or mreadlink-with-size.
50365         * modules/xreadlink-with-size: Remove module.
50366         * lib/xreadlink-with-size.c: Remove file.
50367         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
50368         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
50369         just before the function definition *is* accurate.
50370
50371         Eliminate one way canonicalize_filename_mode could exit.
50372         * lib/canonicalize.c (canonicalize_filename_mode):
50373         Use mreadlink_with_size, not xreadlink_with_size.
50374
50375 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
50376
50377         Detect porting problems to FreeBSD/arm, which has time_t wider than
50378         long int.  Original problem reported for GNU diff by Xin Li in
50379         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
50380         * modules/getdate (Depends-on): Add intprops, verify.
50381         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
50382         is an integer type no wider than long int.
50383
50384 2007-06-18  Jim Meyering  <jim@meyering.net>
50385
50386         New module: mreadlink-with-size.
50387         * MODULES.html.sh: Add mreadlink-with-size.
50388         * modules/mreadlink-with-size: New module
50389         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
50390         not xreadlink-with-size.
50391         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
50392
50393 2007-06-16  Bruno Haible  <bruno@clisp.org>
50394
50395         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
50396         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
50397         Reported by Gary V. Vaughan <gary@gnu.org>.
50398
50399 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
50400
50401         Revamp lchown so that it lives in unistd.h where it belongs.
50402         * lib/lchown.h: Remove.
50403         * lib/dirchownmod.c: Don't include lib/lchown.h.
50404         * lib/fchownat.c: Likewise.
50405         * lib/openat.c: Likewise.
50406         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
50407         does not follow symlinks.
50408         (EOPNOTSUPP): Define if not defined.
50409         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
50410         is defined to 0.
50411         (lchown): New decl.
50412         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
50413         Do not check for lchown decl.
50414         Set REPLACE_LCHOWN.
50415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
50416         REPLACE_LCHOWN.
50417         * modules/chown: Make it clear it follows symlinks.
50418         * modules/lchown: Make it clear it doesn't follow symlinks.
50419         (Files): Remove lib/lchown.h
50420         (Depends-on): Add unistd.
50421         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
50422         (Include): Include <unistd.h>, not "lchown.h".
50423         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
50424         REPLACE_LCHOWN.
50425
50426 2007-06-15  Jim Meyering  <jim@meyering.net>
50427
50428         Change license (GPL to LGPL) of fsusage and dependents.
50429         * modules/fsusage (License): Change to LGPL.
50430         * modules/full-read (License): Likewise.
50431         * modules/full-write (License): Likewise.
50432         * modules/safe-read (License): Likewise.
50433         * modules/safe-write (License): Likewise.
50434
50435 2007-06-14  Ben Pfaff  <blp@gnu.org>
50436
50437         Missing part of allocsa -> malloca transition.
50438         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
50439         gl_MALLOCA.
50440
50441 2007-06-12  Bruno Haible  <bruno@clisp.org>
50442
50443         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
50444         to ia64, x86_64, i386.
50445         Reported by Eric Blake.
50446
50447 2007-06-12  Bruno Haible  <bruno@clisp.org>
50448
50449         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
50450         cross-compiling to x86_64.
50451
50452 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
50453
50454         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
50455         glitch reported by Ralf Wildenhues in
50456         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
50457
50458         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
50459         Vin Shelton.
50460
50461 2007-06-11  Bruno Haible  <bruno@clisp.org>
50462
50463         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
50464         replacement string.
50465         Reported by Eric Blake.
50466
50467 2007-06-10  Bruno Haible  <bruno@clisp.org>
50468
50469         Prepare vasnprintf code for use with Unicode strings.
50470         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
50471         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
50472         TYPE_U32_STRING.
50473         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
50474         a_u32_string variants.
50475         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
50476         * lib/printf-args.c: Don't include config.h and the specification
50477         header if PRINTF_FETCHARGS is already defined.
50478         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
50479         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
50480         TYPE_U16_STRING, TYPE_U32_STRING.
50481         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
50482         u16_directive, u16_directives, u32_directive, u32_directives): New
50483         types.
50484         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
50485         New declarations.
50486         * lib/printf-parse.c: Don't include config.h and the specification
50487         header if PRINTF_PARSE is already defined. Eliminate the set of
50488         parameters for WIDE_CHAR_VERSION; the user of this file must provide
50489         them now. Include c-ctype.h.
50490         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
50491         directive and CHAR_T_ONLY_ASCII.
50492         * lib/vasnprintf.c: Don't include config.h and the specification header
50493         if VASNPRINTF is already defined.
50494         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
50495         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
50496         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
50497         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
50498         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
50499         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
50500         code accordingly.
50501         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
50502         pad_ourselves also in this case, with the 'c' and 's' directives, and
50503         with a different notion of "width".
50504         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
50505
50506 2007-06-10  Bruno Haible  <bruno@clisp.org>
50507
50508         * modules/unistr/u32-mbsnlen: New file.
50509         * lib/unistr/u32-mbsnlen.c: New file.
50510
50511         * modules/unistr/u16-mbsnlen: New file.
50512         * lib/unistr/u16-mbsnlen.c: New file.
50513
50514         * modules/unistr/u8-mbsnlen: New file.
50515         * lib/unistr/u8-mbsnlen.c: New file.
50516
50517         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
50518         declarations.
50519
50520 2007-06-10  Bruno Haible  <bruno@clisp.org>
50521
50522         * lib/string_.h (mbsnlen): New declaration.
50523         * lib/mbsnlen.c: New file.
50524         * m4/mbsnlen.m4: New file.
50525         * modules/mbsnlen: New file.
50526         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
50527         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
50528         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
50529
50530 2007-06-10  Bruno Haible  <bruno@clisp.org>
50531
50532         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
50533
50534 2007-06-10  Bruno Haible  <bruno@clisp.org>
50535
50536         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
50537         * lib/mbuiter.h: Likewise.
50538
50539 2007-06-10  Bruno Haible  <bruno@clisp.org>
50540
50541         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
50542         declaration.
50543
50544 2007-06-10  Karl Berry  <karl@gnu.org>
50545
50546         * config/srclist.txt: remove gettext entries, Bruno prefers
50547         to update individually.
50548
50549 2007-06-10  Bruno Haible  <bruno@clisp.org>
50550
50551         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
50552         'maxlen'. Ensure only length + width bytes are allocated, not
50553         length + 1 + width.
50554
50555 2007-06-09  Bruno Haible  <bruno@clisp.org>
50556
50557         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
50558         (CHAR_T): Remove macro.
50559         (VASNPRINTF): Update.
50560
50561 2007-06-09  Bruno Haible  <bruno@clisp.org>
50562
50563         * MODULES.html.sh (Unicode string functions): Add the new modules.
50564
50565         * modules/uniconv/u32-conv-to-enc: New file.
50566         * lib/uniconv/u32-conv-to-enc.c: New file.
50567         * modules/uniconv/u32-conv-to-enc-tests: New file.
50568         * tests/uniconv/test-u32-conv-to-enc.c: New file.
50569
50570         * modules/uniconv/u16-conv-to-enc: New file.
50571         * lib/uniconv/u16-conv-to-enc.c: New file.
50572         * lib/uniconv/u-conv-to-enc.h: New file.
50573         * modules/uniconv/u16-conv-to-enc-tests: New file.
50574         * tests/uniconv/test-u16-conv-to-enc.c: New file.
50575
50576         * modules/uniconv/u8-conv-to-enc: New file.
50577         * lib/uniconv/u8-conv-to-enc.c: New file.
50578         * modules/uniconv/u8-conv-to-enc-tests: New file.
50579         * tests/uniconv/test-u8-conv-to-enc.c: New file.
50580
50581         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
50582         u32_conv_to_encoding): New declarations.
50583
50584 2007-06-09  Bruno Haible  <bruno@clisp.org>
50585
50586         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
50587
50588 2007-06-09  Bruno Haible  <bruno@clisp.org>
50589
50590         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
50591         * modules/malloca: Renamed from modules/allocsa, updated.
50592         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
50593         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
50594         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
50595         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
50596         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
50597         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
50598         * modules/xmalloca: Renamed from modules/xallocsa, updated.
50599         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
50600         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
50601         * modules/c-strcasestr (Depends-on): Update.
50602         * lib/c-strcasestr.c: Update.
50603         * modules/c-strstr (Depends-on): Update.
50604         * lib/c-strstr.c: Update.
50605         * modules/canonicalize-lgpl (Depends-on): Update.
50606         * lib/canonicalize-lgpl.c: Update.
50607         * modules/clean-temp (Depends-on): Update.
50608         * lib/clean-temp.c: Update.
50609         * modules/csharpcomp (Depends-on): Update.
50610         * lib/csharpcomp.c: Update.
50611         * modules/csharpexec (Depends-on): Update.
50612         * lib/csharpexec.c: Update.
50613         * modules/javacomp (Depends-on): Update.
50614         * lib/javacomp.c: Update.
50615         * modules/javaexec (Depends-on): Update.
50616         * lib/javaexec.c: Update.
50617         * modules/mbscasestr (Depends-on): Update.
50618         * lib/mbscasestr.c: Update.
50619         * modules/mbsstr (Depends-on): Update.
50620         * lib/mbsstr.c: Update.
50621         * modules/setenv (Depends-on): Update.
50622         * lib/setenv.c: Update.
50623         * modules/strcasestr (Depends-on): Update.
50624         * lib/strcasestr.c: Update.
50625         * modules/striconveha (Depends-on): Update.
50626         * lib/striconveha.c: Update.
50627         * modules/relocatable-prog-wrapper (Files): Update.
50628         * lib/relocwrapper.c: Update.
50629         * build-aux/install-reloc: Update.
50630         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
50631
50632 2007-06-08  Bruno Haible  <bruno@clisp.org>
50633
50634         Port to uClibc.
50635         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
50636         * lib/fpurge.c (fpurge): Likewise.
50637         * lib/freading.c (freading): Likewise.
50638         * lib/fseeko.c (rpl_fseeko): Likewise.
50639         * lib/fseterr.c (fseterr): Likewise.
50640         * lib/fwriting.c (fwriting): Likewise.
50641         * tests/test-fflush.c (main): Avoid a failure on uClibc.
50642
50643 2007-06-08  Bruno Haible  <bruno@clisp.org>
50644
50645         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
50646         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
50647         * modules/gettext (Files): Add m4/intlmacosx.m4.
50648
50649 2007-06-07  Bruno Haible  <bruno@clisp.org>
50650
50651         * modules/localename-tests: New file.
50652         * tests/test-localename.c: New file.
50653
50654         New module 'localename'.
50655         * lib/localename.h: New file.
50656         * lib/localename.c: New file, from GNU gettext.
50657         * m4/localename.m4: New file.
50658         * modules/localename: New file.
50659
50660 2007-06-07  Bruno Haible  <bruno@clisp.org>
50661
50662         Work around the lack of <wchar.h> on some builds of uClibc.
50663         * doc/headers/wchar.texi: Update.
50664         * lib/wchar_.h: Include <wchar.h> only if it exists.
50665         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
50666         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
50667         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
50668         doesn't exist.
50669         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
50670         * modules/mbfile (Depends-on): Add wchar.
50671         * modules/mbiter (Depends-on): Likewise.
50672         * modules/mbuiter (Depends-on): Likewise.
50673         Reported by Simon Josefsson.
50674
50675 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
50676
50677         Work around problem reported by Steven M. Schweda in
50678         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
50679         Tru64 5.1B with the Compaq compiler environment installed declares
50680         an 'isblank' function but does not define it in the C library.
50681         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
50682         * lib/regex_internal.h (isblank): Likewise.
50683         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
50684         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
50685
50686 2007-06-05  Bruno Haible  <bruno@clisp.org>
50687
50688         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
50689         ia64.
50690         * modules/printf-safe: New file.
50691         * modules/fprintf-posix (Depends-on): Add printf-safe.
50692         * modules/printf-posix (Depends-on): Likewise.
50693         * modules/snprintf-posix (Depends-on): Likewise.
50694         * modules/sprintf-posix (Depends-on): Likewise.
50695         * modules/vasnprintf-posix (Depends-on): Likewise.
50696         * modules/vasprintf-posix (Depends-on): Likewise.
50697         * modules/vfprintf-posix (Depends-on): Likewise.
50698         * modules/vprintf-posix (Depends-on): Likewise.
50699         * modules/vsnprintf-posix (Depends-on): Likewise.
50700         * modules/vsprintf-posix (Depends-on): Likewise.
50701         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
50702         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
50703         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
50704         "no" on i386, x86_64, ia64.
50705         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
50706         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
50707         on i386, x86_64, ia64.
50708         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
50709         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
50710         on i386, x86_64, ia64.
50711         * tests/test-vasnprintf-posix.c: Include float.h.
50712         (LDBL80_WORDS): New macro.
50713         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
50714         on i386, x86_64, ia64.
50715         * tests/test-vasprintf-posix.c: Include float.h.
50716         (LDBL80_WORDS): New macro.
50717         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
50718         on i386, x86_64, ia64.
50719         * tests/test-snprintf-posix.c: Include float.h.
50720         * tests/test-sprintf-posix.c: Likewise.
50721         * tests/test-vsnprintf-posix.c: Likewise.
50722         * tests/test-vsprintf-posix.c: Likewise.
50723
50724 2007-06-05  Bruno Haible  <bruno@clisp.org>
50725
50726         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
50727         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
50728         non-IEEE numbers on i386, x86_64, ia64.
50729         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
50730         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
50731         * tests/test-isnanl.h: Include float.h.
50732         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
50733
50734 2007-06-05  Bruno Haible  <bruno@clisp.org>
50735
50736         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
50737         also the %a / %A. Handle the %a / %A code before this extra handling.
50738
50739 2007-06-05  Bruno Haible  <bruno@clisp.org>
50740
50741         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
50742         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
50743
50744 2007-06-05  Bruno Haible  <bruno@clisp.org>
50745
50746         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
50747         typo in variable name.
50748
50749 2007-06-05  Eric Blake  <ebb9@byu.net>
50750
50751         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
50752         Reported by Simon Josefsson.
50753
50754 2007-06-04  Bruno Haible  <bruno@clisp.org>
50755
50756         Avoid test failures on some PowerPC platforms.
50757         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
50758         Define differently for PowerPC.
50759         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
50760         Reported by Gary V. Vaughan <gary@gnu.org>.
50761
50762 2007-06-02  Bruno Haible  <bruno@clisp.org>
50763
50764         Fix test-stdint failure on FreeBSD/ia64.
50765         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
50766         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
50767         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
50768         * doc/headers/stdint.texi: Update.
50769
50770 2007-06-01  Bruno Haible  <bruno@clisp.org>
50771
50772         * tests/test-binary-io.c (main): Pass a third argument to open().
50773         Reported by Gary V. Vaughan <gary@gnu.org>.
50774
50775 2007-06-01  Bruno Haible  <bruno@clisp.org>
50776
50777         * doc/functions/frexpl.texi: Update for mingw.
50778
50779 2007-06-01  Bruno Haible  <bruno@clisp.org>
50780
50781         * tests/test-lseek.c (main): Disable test of errno for invalid third
50782         argument.
50783         * doc/functions/lseek.texi: Update.
50784         Reported by Gary V. Vaughan <gary@gnu.org>.
50785
50786 2007-05-28  Bruno Haible  <bruno@clisp.org>
50787
50788         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
50789
50790 2007-05-31  Eric Blake  <ebb9@byu.net>
50791
50792         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
50793         cross compiling.
50794
50795 2007-05-30  Eric Blake  <ebb9@byu.net>
50796         and Bruno Haible  <bruno@clisp.org>
50797
50798         Work around mingw test failures exposed by m4-1.4.9b.
50799         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
50800         * tests/test-unistd.c: Disable uid_t and git_t tests for the
50801         moment.
50802
50803 2007-05-30  Bruno Haible  <bruno@clisp.org>
50804
50805         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
50806         assuming that they are closed. Needed on HP-UX 11.
50807
50808 2007-05-29  Bruno Haible  <bruno@clisp.org>
50809
50810         Fix a problem with #include_next.
50811         * lib/dirent_.h: Split the double-inclusion guard.
50812         * lib/fcntl_.h: Likewise.
50813         * lib/float_.h: Likewise.
50814         * lib/iconv_.h: Likewise.
50815         * lib/inttypes_.h: Likewise.
50816         * lib/locale_.h: Likewise.
50817         * lib/math_.h: Likewise.
50818         * lib/netinet_in_.h: Likewise.
50819         * lib/search_.h: Likewise.
50820         * lib/signal_.h: Likewise.
50821         * lib/stdint_.h: Likewise.
50822         * lib/stdio_.h: Likewise.
50823         * lib/stdlib_.h: Likewise.
50824         * lib/string_.h: Likewise.
50825         * lib/sys_select_.h: Likewise.
50826         * lib/sys_socket_.h: Likewise.
50827         * lib/sys_stat_.h: Likewise.
50828         * lib/sys_time_.h: Likewise.
50829         * lib/sysexits_.h: Likewise.
50830         * lib/time_.h: Likewise.
50831         * lib/unistd_.h: Likewise.
50832         * lib/wchar_.h: Likewise.
50833         * lib/wctype_.h: Likewise.
50834
50835 2007-05-29  Bruno Haible  <bruno@clisp.org>
50836
50837         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
50838         for the moment.
50839
50840 2007-05-29  Bruno Haible  <bruno@clisp.org>
50841
50842         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
50843         invocation.
50844         Reported by Eric Blake.
50845
50846 2007-05-29  Bruno Haible  <bruno@clisp.org>
50847
50848         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
50849         compiling case.
50850
50851 2007-05-29  Eric Blake  <ebb9@byu.net>
50852             Bruno Haible  <bruno@clisp.org>
50853
50854         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
50855         cross compiles.
50856
50857 2007-05-28  Eric Blake  <ebb9@byu.net>
50858
50859         * modules/closein-tests (test_closein_LDADD): Support test on
50860         cygwin with libtool.
50861
50862 2007-05-28  Bruno Haible  <bruno@clisp.org>
50863
50864         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
50865         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
50866         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
50867         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
50868         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
50869         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
50870         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
50871         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
50872         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
50873
50874 2007-05-28  Eric Blake  <ebb9@byu.net>
50875
50876         Unconditionally include <config.h> in unit tests.
50877         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
50878         * tests/test-allocsa.c, tests/test-arcfour.c,
50879         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
50880         tests/test-array_list.c, tests/test-array_oset.c,
50881         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
50882         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
50883         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
50884         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
50885         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
50886         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
50887         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
50888         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
50889         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
50890         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
50891         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
50892         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
50893         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
50894         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
50895         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
50896         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
50897         test-md5.c, test-memmem.c, test-printf-posix.c,
50898         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
50899         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
50900         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
50901         test-strcasestr.c, test-striconv.c, test-striconveh.c,
50902         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
50903         test-vasnprintf-posix2.c, test-vasnprintf.c,
50904         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
50905         test-vfprintf-posix.c, test-vprintf-posix.c,
50906         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
50907         test-xvasprintf.c: Likewise.
50908
50909 2007-05-28  Bruno Haible  <bruno@clisp.org>
50910
50911         * gnulib-tool (func_import): Remember the --with-tests command-line
50912         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
50913         Reported by Eric Blake.
50914
50915 2007-05-28  Bruno Haible  <bruno@clisp.org>
50916
50917         * modules/ftell-tests: New file.
50918         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
50919         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
50920
50921         * lib/ftell.c: New file.
50922         * modules/ftell: New file.
50923         * m4/ftell.m4: New file.
50924         * doc/functions/ftell.texi: Update.
50925         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
50926         REPLACE_FTELL.
50927         * lib/stdio_.h (rpl_ftell): New declaration.
50928         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
50929         REPLACE_FTELL.
50930
50931 2007-05-28  Eric Blake  <ebb9@byu.net>
50932
50933         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
50934
50935 2007-05-28  Bruno Haible  <bruno@clisp.org>
50936
50937         * modules/fseek-tests: New file.
50938         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
50939         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
50940
50941         * lib/fseek.c: New file.
50942         * modules/fseek: New file.
50943         * m4/fseek.m4: New file.
50944         * doc/functions/fseek.texi: Update.
50945         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
50946         REPLACE_FSEEK.
50947         * lib/stdio_.h (rpl_fseek): New declaration.
50948         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
50949         REPLACE_FSEEK.
50950
50951 2007-05-28  Bruno Haible  <bruno@clisp.org>
50952
50953         * lib/stdio_.h (fflush): More comments.
50954
50955 2007-05-28  Bruno Haible  <bruno@clisp.org>
50956
50957         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
50958         runtime test.
50959
50960 2007-05-28  Eric Blake  <ebb9@byu.net>
50961
50962         Improve lseek module.
50963         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
50964         * lib/unistd_.h (lseek): Scale back link warning message.
50965         * tests/test-lseek.c: Beef up test.
50966         * tests/test-lseek.sh: Exercise more facets of lseek.
50967         Reported by Bruno Haible.
50968
50969 2007-05-28  Bruno Haible  <bruno@clisp.org>
50970
50971         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
50972         to define.
50973
50974 2007-05-27  Bruno Haible  <bruno@clisp.org>
50975
50976         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
50977
50978 2007-05-27  Bruno Haible  <bruno@clisp.org>
50979
50980         * modules/openmp: New file.
50981         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
50982         Noah Misch.
50983
50984 2007-05-26  Bruno Haible  <bruno@clisp.org>
50985
50986         * modules/chdir-long (Depends-on): Add fchdir.
50987         * modules/chdir-safer (Depends-on): Likewise.
50988         * modules/fts (Depends-on): Likewise.
50989         * modules/fts-lgpl (Depends-on): Likewise.
50990         * modules/openat (Depends-on): Likewise.
50991         * modules/savewd (Depends-on): Likewise.
50992
50993 2007-05-24  Eric Blake  <ebb9@byu.net>
50994
50995         Fix lseek on mingw.
50996         * modules/lseek: New module.
50997         * m4/lseek.m4: New file.
50998         * lib/lseek.c: New file.
50999         * modules/lseek-tests: New file.
51000         * tests/test-lseek.c: New file.
51001         * tests/test-lseek.sh: New file.
51002         * MODULES.html.sh: Document lseek module.
51003         * modules/fflush (Depends-on): Add lseek, fseeko.
51004         * modules/fseeko (Depends-on): Likewise.
51005         * modules/ftello (Depends-on): Likewise.
51006         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
51007         broken.
51008         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
51009         broken.
51010         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
51011         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
51012         * lib/ftello.c (rpl_ftello): Likewise.
51013         * tests/test-fseeko.c (main): Test this.
51014         * tests/test-fseeko.sh: Likewise.
51015         * tests/test-ftello.c (main): Likewise.
51016         * tests/test-ftello.sh: Likewise.
51017         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
51018         implies replacing fseek.
51019         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
51020         HAVE_FTELLO.
51021         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
51022         * modules/unistd (Makefile.am): Likewise.
51023         * lib/unistd_.h (lseek): Declare a replacement.
51024         * doc/functions/lseek.texi (lseek): Document this fix.
51025         * doc/functions/fseek.texi (fseek): Likewise.
51026         * doc/functions/ftell.texi (ftell): Likewise.
51027
51028 2007-05-24  Bruno Haible  <bruno@clisp.org>
51029
51030         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
51031         in the printed representation of a NaN.
51032         * tests/test-vasprintf-posix.c (test_function): Likewise.
51033         * tests/test-snprintf-posix.h (test_function): Likewise.
51034         * tests/test-sprintf-posix.h (test_function): Likewise.
51035         Reported by Eric Blake.
51036
51037 2007-05-23  Eric Blake  <ebb9@byu.net>
51038
51039         Fix fseeko/ftello on cygwin 1.5.24.
51040         * doc/functions/fseeko.texi (fseeko): Document the fix.
51041         * doc/functions/ftello.texi (ftello): Document the fix.
51042         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
51043         * doc/functions/stdout.text (stdout): New file.
51044         * doc/functions/stderr.text (stderr): New file.
51045         * doc/gnulib.texi (Function Substitutes): Use new files.
51046         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
51047         prior to 1.7.0.
51048         * tests/test-ftello.c (main): Likewise for ftello.
51049         * tests/test-fseeko.sh: New file.
51050         * tests/test-ftello.sh: New file.
51051         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
51052         with seekable stdin.
51053         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
51054         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
51055         (gl_REPLACE_FSEEKO): New macro.
51056         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
51057         * modules/fseeko (Files): Distribute fseeko.c.
51058         * modules/ftello (Files): Distribute ftello.c.
51059         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
51060         mode.
51061         * lib/ftello.c (rpl_ftello): New file.
51062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
51063         fseeko, ftello.
51064         (gl_STDIN_LARGE_OFFSET): New macro.
51065         * modules/stdio (Makefile.am): Perform the replacement.
51066         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
51067
51068 2007-05-23  Bruno Haible  <bruno@clisp.org>
51069
51070         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
51071         GNULIB_POSIXCHECK is defined.
51072
51073 2007-05-21  Bruno Haible  <bruno@clisp.org>
51074
51075         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
51076         Check also the output for NaN arguments. When cross-compiling, guess
51077         no on IRIX.
51078         * lib/vasnprintf.c: Update comments.
51079         * tests/test-vasnprintf-posix.c (strisnan): New function.
51080         (test_function): Use it.
51081         * tests/test-vasprintf-posix.c (strisnan): New function.
51082         (test_function): Use it.
51083         * tests/test-snprintf-posix.h (strisnan): New function.
51084         (test_function): Use it.
51085         * tests/test-sprintf-posix.h (strisnan): New function.
51086         (test_function): Use it.
51087         Reported by Eric Blake.
51088
51089 2007-05-20  Bruno Haible  <bruno@clisp.org>
51090
51091         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
51092         numbers that fails on BeOS.
51093         * doc/functions/frexpl.texi: Update.
51094
51095 2007-05-20  Jim Meyering  <jim@meyering.net>
51096
51097         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
51098         forced upon us by glibc-2.6.
51099
51100 2007-05-20  Bruno Haible  <bruno@clisp.org>
51101
51102         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
51103         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
51104         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
51105         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
51106         NEED_PRINTF_INFINITE.
51107         (is_infinitel): New function.
51108         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
51109         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
51110         gl_PREREQ_VASNPRINTF_INFINITE.
51111         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
51112         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51113         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
51114         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
51115         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
51116         gl_PREREQ_VASNPRINTF_INFINITE.
51117         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51118         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51119         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51120         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51121         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51122         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51123         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51124         * doc/functions/fprintf.texi: Update.
51125         * doc/functions/printf.texi: Update.
51126         * doc/functions/snprintf.texi: Update.
51127         * doc/functions/sprintf.texi: Update.
51128         * doc/functions/vfprintf.texi: Update.
51129         * doc/functions/vprintf.texi: Update.
51130         * doc/functions/vsnprintf.texi: Update.
51131         * doc/functions/vsprintf.texi: Update.
51132
51133 2007-05-20  Bruno Haible  <bruno@clisp.org>
51134
51135         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
51136         was not found in libc.
51137         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
51138
51139 2007-05-20  Bruno Haible  <bruno@clisp.org>
51140
51141         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
51142         printed as "-nan" instead of "nan".
51143         * tests/test-vasprintf-posix.c (test_function): Likewise.
51144         * tests/test-snprintf-posix.h (test_function): Likewise.
51145         * tests/test-sprintf-posix.h (test_function): Likewise.
51146         Needed for HP-UX 11.
51147
51148 2007-05-20  Jim Meyering  <jim@meyering.net>
51149
51150         Fix buggy test for the fchownat-deref bug.
51151         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
51152         symlink required for the run-test.  Without it, this test would
51153         always declare that fchownat doesn't work, and client code would
51154         unnecessarily use the replacement function with fixed libc.
51155         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
51156         Reported by Greg Schafer.
51157
51158 2007-05-19  Bruno Haible  <bruno@clisp.org>
51159
51160         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
51161         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
51162         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
51163         Needed for IRIX 6.5 and Solaris 2.5.1.
51164
51165 2007-05-19  Bruno Haible  <bruno@clisp.org>
51166
51167         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
51168         (test_function): Skip tests involving -0.0 on platforms where
51169         -0.0 = 0.0.
51170         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
51171         (test_function): Skip tests involving -0.0 on platforms where
51172         -0.0 = 0.0.
51173         * tests/test-snprintf-posix.h (have_minus_zero): New function.
51174         (test_function): Skip tests involving -0.0 on platforms where
51175         -0.0 = 0.0.
51176         * tests/test-sprintf-posix.h (have_minus_zero): New function.
51177         (test_function): Skip tests involving -0.0 on platforms where
51178         -0.0 = 0.0.
51179         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
51180         tests.
51181         * tests/test-printf-posix.h (test_function): Likewise.
51182         * tests/test-printf-posix.output: Remove all -0.0 related results.
51183         Needed for IRIX 6.5.
51184
51185 2007-05-19  Bruno Haible  <bruno@clisp.org>
51186
51187         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
51188         printed as "nan0x7fffffff" instead of "nan".
51189         * tests/test-vasprintf-posix.c (test_function): Likewise.
51190         * tests/test-snprintf-posix.h (test_function): Likewise.
51191         * tests/test-sprintf-posix.h (test_function): Likewise.
51192         * tests/test-fprintf-posix.h (NaN): Remove macro.
51193         (test_function): Remove all NaN related tests.
51194         * tests/test-printf-posix.h (NaN): Remove macro.
51195         (test_function): Remove all NaN related tests.
51196         * tests/test-printf-posix.output: Remove all NaN related results.
51197         Needed for IRIX 6.5.
51198
51199 2007-05-19  Bruno Haible  <bruno@clisp.org>
51200
51201         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
51202         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
51203
51204 2007-05-19  Bruno Haible  <bruno@clisp.org>
51205
51206         * lib/float_.h: New file.
51207         * m4/float_h.m4: New file.
51208         * modules/float: New file.
51209         * modules/isnanl (Dependencies): Add float.
51210         * modules/isnanl-nolibm (Dependencies): Likewise.
51211         * modules/mathl (Dependencies): Likewise.
51212         * modules/printf-frexpl (Dependencies): Likewise.
51213         * modules/signbit (Dependencies): Likewise.
51214         * modules/vasnprintf (Dependencies): Likewise.
51215         * doc/headers/float.texi: Update.
51216
51217 2007-05-19  Jim Meyering  <jim@meyering.net>
51218
51219         * lib/utimens.c (gl_futimens): Rename from futimens,
51220         now that glibc-2.6 declares futimens.
51221         * lib/utimens.h: Likewise.
51222
51223 2007-05-19  Bruno Haible  <bruno@clisp.org>
51224
51225         Avoid test failures on mingw.
51226         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
51227         * tests/test-printf-posix.sh: Likewise.
51228         * tests/test-vfprintf-posix.sh: Likewise.
51229         * tests/test-vprintf-posix.sh: Likewise.
51230
51231 2007-05-19  Bruno Haible  <bruno@clisp.org>
51232
51233         Fix *printf result for NaN, Inf, -0.0 on mingw.
51234         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
51235         * lib/vasnprintf.c: Include math.h and isnan.h.
51236         (is_infinite_or_zero): New function.
51237         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
51238         values in the %f, %F, %e, %E, %g, %G directives.
51239         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
51240         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51241         gl_PRINTF_INFINITE and test its result. Invoke
51242         gl_PREREQ_VASNPRINTF_INFINITE.
51243         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51244         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51245         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51246         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51247         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51248         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51249         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51250         * doc/functions/fprintf.texi: Update.
51251         * doc/functions/printf.texi: Update.
51252         * doc/functions/snprintf.texi: Update.
51253         * doc/functions/sprintf.texi: Update.
51254         * doc/functions/vfprintf.texi: Update.
51255         * doc/functions/vprintf.texi: Update.
51256         * doc/functions/vsnprintf.texi: Update.
51257         * doc/functions/vsprintf.texi: Update.
51258
51259 2007-05-19  Bruno Haible  <bruno@clisp.org>
51260
51261         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
51262         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
51263         Instead of multiplying with 10^k, set extra_zeroes to k.
51264         (scale10_round_long_double): Remove function.
51265
51266 2007-05-18  Bruno Haible  <bruno@clisp.org>
51267
51268         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
51269         introduced on 2007-05-06.
51270
51271 2007-05-18  Bruno Haible  <bruno@clisp.org>
51272
51273         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
51274         %g directives.
51275         * tests/test-vasprintf-posix.c (test_function): Likewise.
51276         * tests/test-snprintf-posix.h (test_function): Likewise.
51277         * tests/test-sprintf-posix.h (test_function): Likewise.
51278
51279 2007-05-18  Bruno Haible  <bruno@clisp.org>
51280
51281         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
51282         (strmatch): New function.
51283         (test_function): Test the %f directive on numbers of various exponents.
51284         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
51285         (strmatch): New function.
51286         (test_function): Test the %f directive on numbers of various exponents.
51287         * tests/test-snprintf-posix.h (strmatch): New function.
51288         (test_function): Test the %f directive on numbers of various exponents.
51289         * tests/test-sprintf-posix.h (strmatch): New function.
51290         (test_function): Test the %f directive on numbers of various exponents.
51291         * tests/test-snprintf-posix.c (SIZEOF): New macro.
51292         * tests/test-sprintf-posix.c (SIZEOF): New macro.
51293         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
51294         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
51295
51296 2007-05-18  Bruno Haible  <bruno@clisp.org>
51297
51298         Add support for 'long double' number output.
51299         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
51300         * lib/vasnprintf.c: Include math.h and float+.h.
51301         (mp_limb_t): New type.
51302         (GMP_LIMB_BITS): New macro.
51303         (mp_twolimb_t): New type.
51304         (GMP_TWOLIMB_BITS): New macro.
51305         (mpn_t): New type.
51306         (multiply, divide, convert_to_decimal, decode_long_double,
51307         scale10_round_long_double, scale10_round_decimal_long_double,
51308         floorlog10l): New functions.
51309         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
51310         for the %f, %F, %e, %E, %g, %G directives.
51311         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
51312         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51313         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
51314         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
51315         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51316         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51317         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51318         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51319         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51320         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51321         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51322         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
51323         * modules/snprintf-posix (Depends-on): Likewise.
51324         * modules/sprintf-posix (Depends-on): Likewise.
51325         * modules/vasnprintf-posix (Depends-on): Likewise.
51326         * modules/vasprintf-posix (Depends-on): Likewise.
51327         * modules/vfprintf-posix (Depends-on): Likewise.
51328         * modules/vsnprintf-posix (Depends-on): Likewise.
51329         * modules/vsprintf-posix (Depends-on): Likewise.
51330         * modules/vasnprintf (Files): Add lib/float+.h.
51331         * doc/functions/fprintf.texi: Update.
51332         * doc/functions/printf.texi: Update.
51333         * doc/functions/snprintf.texi: Update.
51334         * doc/functions/sprintf.texi: Update.
51335         * doc/functions/vfprintf.texi: Update.
51336         * doc/functions/vprintf.texi: Update.
51337         * doc/functions/vsnprintf.texi: Update.
51338         * doc/functions/vsprintf.texi: Update.
51339
51340 2007-05-18  Bruno Haible  <bruno@clisp.org>
51341
51342         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
51343
51344 2007-05-18  Bruno Haible  <bruno@clisp.org>
51345
51346         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
51347         for printing 64-bit integers. Needed for mingw.
51348
51349 2007-05-18  Bruno Haible  <bruno@clisp.org>
51350
51351         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
51352         gl_FUNC_FREXPL_WORKS.
51353         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
51354
51355 2007-05-18  Bruno Haible  <bruno@clisp.org>
51356
51357         * modules/frexpl-nolibm-tests: New file.
51358
51359         * modules/frexpl-nolibm: New file.
51360         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
51361
51362 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
51363
51364         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
51365         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
51366         GCC 4.2, which otherwise issues a lot of warnings.
51367         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
51368         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
51369         Likewise.
51370         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
51371         * modules/iconv_open (iconv.h): Likewise.
51372         * modules/locale (locale.h): Likewise.
51373         * modules/netinet_in (netinet/in.h): Likewise.
51374         * modules/sys_select (sys_select.h): Likewise.
51375         * modules/sys_socket (sys/socket.h): Likewise.
51376         * modules/sys_stat (sys/stat.h): Likewise.
51377         * modules/sysexits (sysexits.h): Likewise.
51378         * modules/unistd (unistd.h): Likewise.
51379
51380 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51381
51382         * modules/closein-tests (Makefile.am): Distribute
51383         `test-closein.sh'.
51384
51385 2007-05-17  Bruno Haible  <bruno@clisp.org>
51386
51387         * tests/test-printf-posix.output: Renamed from
51388         tests/test-fprintf-posix.out.
51389         * modules/fprintf-posix-tests: Update.
51390         * modules/printf-posix-tests: Update.
51391         * modules/vfprintf-posix-tests: Update.
51392         * modules/vprintf-posix-tests: Update.
51393         * tests/test-fprintf-posix.sh: Update.
51394         * tests/test-printf-posix.sh: Update.
51395         * tests/test-vfprintf-posix.sh: Update.
51396         * tests/test-vprintf-posix.sh: Update.
51397         Reported by Ralf Wildenhues.
51398
51399 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
51400
51401         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
51402         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
51403         GCC 4.2, which otherwise issues a lot of warnings.
51404         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
51405         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
51406         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
51407         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
51408         it should no longer be needed.
51409         * lib/string_.h: Likewise.
51410         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
51411         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
51412         * modules/inttypes (inttypes.h): Likewise.
51413         * modules/math (math.h): Likewise.
51414         * modules/search (search.h): Likewise.
51415         * modules/signal (signal.h): Likewise.
51416         * modules/stdint (stdint.h): Likewise.
51417         * modules/stdio (stdio.h): Likewise.
51418         * modules/stdlib (stdlib.h): Likewise.
51419         * modules/string (string.h): Likewise.
51420         * modules/sys_time (sys/time.h): Likewise.
51421         * modules/time (time.h): Likewise.
51422         * modules/wchar (wchar.h): Likewise.
51423         * modules/wctype (wtype.h): Likewise.
51424
51425 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51426
51427         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
51428
51429 2007-05-13  Bruno Haible  <bruno@clisp.org>
51430
51431         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
51432         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51433         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
51434         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
51435         (gl_PREREQ_STRTOK_R): Don't require it here.
51436
51437 2007-05-13  Bruno Haible  <bruno@clisp.org>
51438
51439         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
51440         when used in C++ mode.
51441
51442 2007-05-12  Bruno Haible  <bruno@clisp.org>
51443
51444         * lib/linebuffer.h: Tweak doc.
51445         * lib/linebuffer.c: Likewise.
51446
51447 2007-05-12  James Youngman  <jay@gnu.org>
51448
51449         * lib/linebuffer.c (readlinebuffer_delim): New function,
51450         like readlinebuffer, but use a caller-specified delimiter.
51451         (readlinebuffer): Just call readlinebuffer_delim with '\n'
51452         as the delimiter.
51453         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
51454
51455 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51456
51457         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
51458         * modules/openat (Files): Remove openat-die.c.
51459         (Depends-on): Add openat-die.
51460         * modules/openat-die: New module.
51461
51462 2007-05-06  Bruno Haible  <bruno@clisp.org>
51463
51464         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
51465         Update with info about Cygwin.
51466         * doc/functions/fprintf.texi: Update.
51467         * doc/functions/printf.texi: Update.
51468         * doc/functions/snprintf.texi: Update.
51469         * doc/functions/sprintf.texi: Update.
51470         * doc/functions/vfprintf.texi: Update.
51471         * doc/functions/vprintf.texi: Update.
51472         * doc/functions/vsnprintf.texi: Update.
51473         * doc/functions/vsprintf.texi: Update.
51474         Reported by Eric Blake.
51475
51476 2007-05-06  Bruno Haible  <bruno@clisp.org>
51477
51478         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
51479         padding ourselves for the floating-point directives.
51480         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
51481         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
51482         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51483         gl_PRINTF_FLAG_ZERO and test its result. Invoke
51484         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
51485         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51486         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
51487         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51488         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51489         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51490         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51491         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51492         * tests/test-snprintf-posix.h (test_function): Also check the width
51493         and some flags in the %f directive.
51494         * tests/test-sprintf-posix.h (test_function): Likewise.
51495         * tests/test-vasnprintf-posix.c (test_function): Likewise.
51496         * tests/test-vasprintf-posix.c (test_function): Likewise.
51497         * doc/functions/fprintf.texi: Update.
51498         * doc/functions/printf.texi: Update.
51499         * doc/functions/snprintf.texi: Update.
51500         * doc/functions/sprintf.texi: Update.
51501         * doc/functions/vfprintf.texi: Update.
51502         * doc/functions/vprintf.texi: Update.
51503         * doc/functions/vsnprintf.texi: Update.
51504         * doc/functions/vsprintf.texi: Update.
51505
51506 2007-05-06  Bruno Haible  <bruno@clisp.org>
51507
51508         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
51509         pass the ' flag character to sprintf or snprintf.
51510         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
51511         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
51512         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51513         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
51514         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
51515         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51516         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
51517         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51518         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51519         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51520         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51521         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51522         * tests/test-snprintf-posix.h (test_function): Also check the grouping
51523         flag.
51524         * tests/test-sprintf-posix.h (test_function): Likewise.
51525         * tests/test-vasnprintf-posix.c (test_function): Likewise.
51526         * tests/test-vasprintf-posix.c (test_function): Likewise.
51527         * doc/functions/fprintf.texi: Update.
51528         * doc/functions/printf.texi: Update.
51529         * doc/functions/snprintf.texi: Update.
51530         * doc/functions/sprintf.texi: Update.
51531         * doc/functions/vfprintf.texi: Update.
51532         * doc/functions/vprintf.texi: Update.
51533         * doc/functions/vsnprintf.texi: Update.
51534         * doc/functions/vsprintf.texi: Update.
51535
51536 2007-05-01  Bruno Haible  <bruno@clisp.org>
51537
51538         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
51539
51540 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
51541
51542         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
51543         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
51544
51545 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
51546
51547         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
51548         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
51549         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
51550
51551 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
51552
51553         * lib/argp-help.c (struct hol_entry): New member `ord'.
51554         (HOL_ENTRY_PTRCMP): Use ord for comparison
51555         (hol_sort): Initialize ord.
51556
51557 2007-05-01  Bruno Haible  <bruno@clisp.org>
51558
51559         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
51560         Reported by Eric Blake.
51561         * doc/gnulib.texi (Function Substitutes): Update.
51562
51563 2007-05-01  Bruno Haible  <bruno@clisp.org>
51564
51565         * doc/functions.texi: Remove file, now redundant through
51566         doc/functions/*.texi.
51567
51568 2007-05-01  Bruno Haible  <bruno@clisp.org>
51569
51570         * modules/argp (Depends-on): Add sleep.
51571
51572 2007-05-01  Bruno Haible  <bruno@clisp.org>
51573
51574         * modules/sleep-tests: New file.
51575         * tests/test-sleep.c: New file.
51576
51577         * modules/sleep: New file.
51578         * lib/sleep.c: New file.
51579         * m4/sleep.m4: New file.
51580         * lib/unistd_.h (sleep): New declaration.
51581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
51582         HAVE_SLEEP.
51583         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
51584         * doc/functions/sleep.texi: Document the sleep module.
51585
51586 2007-05-01  Bruno Haible  <bruno@clisp.org>
51587
51588         * lib/sigprocmask.h: Remove file.
51589         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
51590         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
51591         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
51592         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
51593         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
51594         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
51595         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
51596         HAVE_SIGSET_T as a shell variable.
51597         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
51598         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
51599         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
51600         (Depends-on): Add signal. Remove verify.
51601         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
51602         (Include): Mention <signal.h> instead of sigprocmask.h.
51603         * NEWS: Mention the change.
51604         * lib/fatal-signal.c: Don't include sigprocmask.h.
51605
51606 2007-05-01  Bruno Haible  <bruno@clisp.org>
51607
51608         * modules/signal: New file.
51609         * lib/signal_.h: New file.
51610         * m4/signal_h.m4: New file.
51611
51612 2007-05-01  Bruno Haible  <bruno@clisp.org>
51613
51614         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
51615         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
51616         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
51617         HAVE_WCTYPE_CTMP_BUG into wctype.h.
51618
51619 2007-05-01  Bruno Haible  <bruno@clisp.org>
51620
51621         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
51622         configure time.
51623         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
51624         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
51625         * modules/sys_stat (Makefile.am): Substitute their values into
51626         sys/stat.h.
51627
51628 2007-05-01  Bruno Haible  <bruno@clisp.org>
51629
51630         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
51631         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
51632         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
51633
51634 2007-05-01  Bruno Haible  <bruno@clisp.org>
51635
51636         * doc/header/assert.texi: Undo last change: don't mention the gnulib
51637         'assert' module here.
51638
51639 2007-05-01  Bruno Haible  <bruno@clisp.org>
51640
51641         * doc/functions/*.texi: New files.
51642         * doc/functions/google-ranking.txt: New file.
51643         * doc/gnulib.texi (Function Substitutes): New chapter.
51644         (ctime, inet_ntoa): Remove sections.
51645         * doc/ctime.texi: Remove file.
51646         * doc/inet_ntoa.texi: Remove file.
51647         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
51648         dependencies.
51649         (%.info): New rule, specifying a --reference-limit.
51650
51651 2007-05-01  Bruno Haible  <bruno@clisp.org>
51652
51653         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
51654
51655 2007-05-01  Bruno Haible  <bruno@clisp.org>
51656
51657         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
51658         the portability of 'mkdir' to mingw systems.
51659
51660 2007-05-01  Bruno Haible  <bruno@clisp.org>
51661
51662         * doc/headers/google-ranking.txt: New file.
51663
51664 2007-04-30  Eric Blake  <ebb9@byu.net>
51665
51666         Prefer fseeko to fseek.
51667         * modules/getpass (Depends-on): Add fseeko.
51668         * lib/getpass.c (getpass): Use fseeko, not fseek.
51669
51670 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
51671
51672         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
51673         assumes the sorting is stable, while most qsort implementations
51674         are not.  Use argument addresses to ensure they never compare as
51675         equal.
51676
51677         * tests/test-argp-2.sh (usage-indent test): Fix output
51678         (func_compare): Restore diff options
51679         * tests/test-argp.c: Restore #include "progname.h"
51680
51681 2007-04-29  Bruno Haible  <bruno@clisp.org>
51682
51683         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
51684         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51685         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
51686         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51687         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
51688         (configure.ac): Define CHECK_SNPRINTF_POSIX.
51689         (TESTS, check_PROGRAMS): Add test-snprintf.
51690         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
51691         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
51692         (TESTS, check_PROGRAMS): Add test-vsnprintf.
51693         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
51694         assertions that fail on HP-UX, OSF/1, or IRIX.
51695         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
51696
51697 2007-04-29  Bruno Haible  <bruno@clisp.org>
51698
51699         * MODULES.html.sh (posix_functions): Remove 'contents'.
51700
51701 2007-04-29  Karl Berry  <karl@gnu.org>
51702
51703         * config/srclist.txt (gendocs_template_min): new entry.
51704
51705 2007-04-29  Bruno Haible  <bruno@clisp.org>
51706
51707         Work around fpurge bug on BSD systems.
51708         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
51709         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
51710         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
51711         fpurge to rpl_fpurge if the system already has this function.
51712         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
51713         the case where the system already has this function. Correct invariants
51714         on BSD systems.
51715         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
51716         BSD systems.
51717
51718 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51719
51720         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
51721         proposed by Sven Verdoolaege.
51722
51723         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
51724         options.
51725         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
51726         (usage and help tests): Update
51727
51728 2007-04-29  Bruno Haible  <bruno@clisp.org>
51729
51730         * tests/test-fflush.c (main): Use a file of size 17, not 10.
51731         Print more information in case of failure. Disable a test on BeOS.
51732
51733 2007-04-29  Bruno Haible  <bruno@clisp.org>
51734
51735         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
51736         This helps debugging on systems on which no gdb is available.
51737
51738 2007-04-29  Bruno Haible  <bruno@clisp.org>
51739
51740         * lib/freading.h: Improve comments.
51741         * lib/fwriting.h: Likewise.
51742         * tests/test-freading.c (main): Don't check freading immediately after
51743         repositioning. Needed for glibc.
51744
51745 2007-04-29  Bruno Haible  <bruno@clisp.org>
51746
51747         * lib/freading.c (freading): Trivial simplification.
51748
51749 2007-04-28  Bruno Haible  <bruno@clisp.org>
51750
51751         * tests/test-fwriting.c (main): Also test the interaction between
51752         fflush and fwriting.
51753         * modules/fwriting-tests (Depends-on): Add fflush.
51754
51755         * tests/test-freading.c (main): Also test the interaction between
51756         fflush and freading.
51757         * modules/freading-tests (Depends-on): Add fflush.
51758
51759 2007-04-28  Bruno Haible  <bruno@clisp.org>
51760
51761         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
51762         fseeko and ftello.
51763         Suggested by Eric Blake.
51764
51765 2007-04-28  Jim Meyering  <jim@meyering.net>
51766
51767         Avoid false-negative in gl_STDINT_H's C99 conformance test.
51768         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
51769         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
51770
51771 2007-04-27  Eric Blake  <ebb9@byu.net>
51772
51773         * doc/headers/assert.texi (assert.h): Document assert module use.
51774
51775 2007-04-27  Bruno Haible  <bruno@clisp.org>
51776
51777         * doc/headers/*.texi: New files.
51778         * doc/gnulib.texi (Header File Substitutes): New chapter.
51779         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
51780         dependencies.
51781         (standards.info ,standards.html, standards.dvi): Update dependencies.
51782         (mostlyclean, clean): New targets.
51783
51784 2007-04-27  Bruno Haible  <bruno@clisp.org>
51785
51786         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
51787         * modules/sysexits (Files, Makefile.am): Update.
51788
51789         * lib/sys_socket_.h: Renamed from lib/socket_.h.
51790         * modules/sys_socket (Files, Makefile.am): Update.
51791
51792         * lib/sys_stat_.h: Renamed from lib/stat_.h.
51793         * modules/sys_stat (Files, Makefile.am): Update.
51794
51795 2007-04-27  Eric Blake  <ebb9@byu.net>
51796
51797         * lib/freading.h: Improve comments.
51798         * lib/fwriting.h: Likewise.
51799         * lib/fflush.c: Likewise.
51800
51801         Fix closein for mingw.
51802         * modules/closein-tests: Add tests for closein.
51803         * tests/test-closein.c: New file.
51804         * tests/test-closein.sh: Likewise.
51805         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
51806         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
51807
51808 2007-04-27  Bruno Haible  <bruno@clisp.org>
51809
51810         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
51811         version is < 6.
51812         * lib/math_.h [__DECC]: Likewise.
51813         * lib/stdio_.h [__DECC]: Likewise.
51814         * lib/stdlib_.h [__DECC]: Likewise.
51815         * lib/string_.h [__DECC]: Likewise.
51816         * lib/time_.h [__DECC]: Likewise.
51817         * lib/wchar_.h [__DECC]: Likewise.
51818         * lib/wctype_.h [__DECC]: Likewise.
51819
51820 2007-04-27  Bruno Haible  <bruno@clisp.org>
51821
51822         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
51823
51824 2007-04-27  Bruno Haible  <bruno@clisp.org>
51825
51826         * lib/fflush.c: Add comments.
51827         * modules/fpurge-tests (Depends-on): Add fflush.
51828         * modules/freadable-tests (Depends-on): Likewise.
51829         * modules/fwritable-tests (Depends-on): Likewise.
51830
51831 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
51832
51833         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
51834         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
51835         Report by Bruno Haible <bruno@clisp.org>.
51836
51837 2007-04-26  Eric Blake  <ebb9@byu.net>
51838
51839         Fix fflush on mingw.
51840         * modules/fflush (Depends-on): Add freading.
51841         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
51842         but unread data.
51843
51844 2007-04-26  Eric Blake  <ebb9@byu.net>
51845         and Bruno Haible  <bruno@clisp.org>
51846
51847         Implement freading and fwriting.
51848         * lib/freading.c: New file.
51849         * lib/freading.h: Likewise.
51850         * m4/freading.m4: Likewise.
51851         * modules/freading: Likewise.
51852         * modules/freading-tests: Likewise.
51853         * tests/test-freading.c: Likewise.
51854         * lib/fwriting.c: New file.
51855         * lib/fwriting.h: Likewise.
51856         * m4/fwriting.m4: Likewise.
51857         * modules/fwriting: Likewise.
51858         * modules/fwriting-tests: Likewise.
51859         * tests/test-fwriting.c: Likewise.
51860         * MODULES.html.sh (File stream based Input/Output): Mention them.
51861
51862 2007-04-26  Bruno Haible  <bruno@clisp.org>
51863
51864         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
51865         'long' when we assume it.
51866         Suggested by Eric Blake.
51867
51868 2007-04-26  Bruno Haible  <bruno@clisp.org>
51869
51870         Ensure fseeko, ftello are declared on glibc systems.
51871         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
51872         * modules/fseeko (configure.ac-early): Likewise.
51873         * modules/ftello (configure.ac-early): Likewise.
51874         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
51875         AC_FUNC_FSEEKO for this.
51876         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
51877         (gl_CHECK_FSEEKO): Remove macro.
51878
51879 2007-04-26  Bruno Haible  <bruno@clisp.org>
51880
51881         * tests/test-fflush.c (main): Also check the ftell result after
51882         fflush and fseek/fseeko.
51883         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
51884         file descriptor position cache in the stream.
51885         * lib/fseeko.c (rpl_fseeko): Likewise.
51886
51887 2007-04-26  Bruno Haible  <bruno@clisp.org>
51888
51889         * modules/fflush-tests (Depends-on): Add fseeko.
51890
51891 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
51892             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51893
51894         * lib/argz_.h: ensure error_t definition is obtained in same
51895         mechanism system argz.h would have.
51896         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
51897         argz facilities are known bad.  Err on the side of caution if
51898         cross-compiling.
51899
51900 2007-04-25  Eric Blake  <ebb9@byu.net>
51901
51902         * lib/fpurge.c (includes): Use stdlib.h for free.
51903         * tests/test-fflush.c (main): Also test fflush-fseeko.
51904
51905 2007-04-25  Bruno Haible  <bruno@clisp.org>
51906
51907         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
51908         * lib/fseeko.c: New file.
51909         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
51910         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
51911         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
51912         gl_FUNC_FSEEKO.
51913         (gl_FUNC_FSEEKO): Invoke it.
51914         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
51915         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
51916         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
51917
51918 2007-04-25  Bruno Haible  <bruno@clisp.org>
51919
51920         * modules/fflush (Depends-on): Add ftello.
51921
51922 2007-04-25  Bruno Haible  <bruno@clisp.org>
51923
51924         * modules/ftello-tests: New file.
51925         * tests/test-ftello.c: New file.
51926
51927         * modules/ftello: New file.
51928         * m4/ftello.m4: New file.
51929         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
51930         HAVE_FTELLO.
51931         * lib/stdio_.h (ftello): New declaration.
51932         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
51933         HAVE_FTELLO.
51934
51935 2007-04-25  Bruno Haible  <bruno@clisp.org>
51936
51937         * modules/fseeko-tests: New file.
51938         * tests/test-fseeko.c: New file.
51939
51940         * modules/fseeko: New file.
51941         * m4/fseeko.m4: New file.
51942         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
51943         HAVE_FSEEKO.
51944         * lib/stdio_.h (fseeko): New declaration.
51945         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
51946         HAVE_FSEEKO.
51947
51948 2007-04-25  Bruno Haible  <bruno@clisp.org>
51949
51950         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
51951
51952 2007-04-25  Bruno Haible  <bruno@clisp.org>
51953
51954         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
51955         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
51956         * tests/test-unistd.c: Likewise.
51957         * tests/test-fcntl.c: Likewise.
51958
51959 2007-04-23  Eric Blake  <ebb9@byu.net>
51960
51961         * lib/fflush.c: Fix missing include.
51962         Reported by Bruno Haible.
51963
51964 2007-04-23  Bruno Haible  <bruno@clisp.org>
51965
51966         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
51967         Reported by Eric Blake.
51968
51969 2007-04-23  Bruno Haible  <bruno@clisp.org>
51970
51971         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
51972
51973 2007-04-23  Bruno Haible  <bruno@clisp.org>
51974
51975         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
51976
51977 2007-04-23  Bruno Haible  <bruno@clisp.org>
51978
51979         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
51980         Needed on HP-UX 11.
51981
51982 2007-04-16  Eric Blake  <ebb9@byu.net>
51983
51984         Make fflush rely on fpurge.
51985         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
51986         open coding all variants.
51987         * modules/fflush (Depends-on): Add fpurge and unistd.
51988         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
51989         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
51990
51991         Fix --with-tests compilation on cygwin.
51992         * modules/argmatch-tests (Makefile.am): List gnulib library first
51993         in LDADD.
51994         * modules/argp-tests (Makefile.am): Likewise.
51995         * modules/array-list-tests (Makefile.am): Likewise.
51996         * modules/array-oset-tests (Makefile.am): Likewise.
51997         * modules/avltree-list-tests (Makefile.am): Likewise.
51998         * modules/avltree-oset-tests (Makefile.am): Likewise.
51999         * modules/avltreehash-list-tests (Makefile.am): Likewise.
52000         * modules/carray-list-tests (Makefile.am): Likewise.
52001         * modules/dirname-tests (Makefile.am): Likewise.
52002         * modules/frexp-tests (Makefile.am): Likewise.
52003         * modules/isnanl-tests (Makefile.am): Likewise.
52004         * modules/linked-list-tests (Makefile.am): Likewise.
52005         * modules/linkedhash-list-tests (Makefile.am): Likewise.
52006         * modules/lock-tests (Makefile.am): Likewise.
52007         * modules/rbtree-list-tests (Makefile.am): Likewise.
52008         * modules/rbtree-oset-tests (Makefile.am): Likewise.
52009         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
52010         * modules/tls-tests (Makefile.am): Likewise.
52011         * modules/tsearch-tests (Makefile.am): Likewise.
52012         * modules/xvasprintf-tests (Makefile.am): Likewise.
52013
52014         Fix fpurge for cygwin.
52015         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
52016         value.
52017         * modules/fpurge-tests (Depends-on): Clean up trash.
52018
52019 2007-04-16  Simon Josefsson  <simon@josefsson.org>
52020
52021         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
52022
52023         * m4/autobuild.m4: Re-indent.
52024
52025 2007-04-13  Bruno Haible  <bruno@clisp.org>
52026
52027         * modules/fpurge-tests: New file.
52028         * tests/test-fpurge.c: New file.
52029
52030         * modules/fpurge: New file.
52031         * lib/fpurge.h: New file.
52032         * lib/fpurge.c: New file.
52033         * m4/fpurge.m4: New file.
52034
52035 2007-04-13  Bruno Haible  <bruno@clisp.org>
52036
52037         * modules/fbufmode-tests: New file.
52038         * tests/test-fbufmode.c: New file.
52039
52040         * modules/fbufmode: New file.
52041         * lib/fbufmode.h: New file.
52042         * lib/fbufmode.c: New file.
52043         * m4/fbufmode.m4: New file.
52044
52045 2007-04-13  Bruno Haible  <bruno@clisp.org>
52046
52047         * modules/fwritable-tests: New file.
52048         * tests/test-fwritable.c: New file.
52049
52050         * modules/fwritable: New file.
52051         * lib/fwritable.h: New file.
52052         * lib/fwritable.c: New file.
52053         * m4/fwritable.m4: New file.
52054
52055 2007-04-13  Bruno Haible  <bruno@clisp.org>
52056
52057         * modules/freadable-tests: New file.
52058         * tests/test-freadable.c: New file.
52059
52060         * modules/freadable: New file.
52061         * lib/freadable.h: New file.
52062         * lib/freadable.c: New file.
52063         * m4/freadable.m4: New file.
52064
52065 2007-04-13  Bruno Haible  <bruno@clisp.org>
52066
52067         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
52068         MOSTLYCLEANFILES.
52069
52070 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
52071
52072         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
52073         gzip bootstrap.conf to avoid dragging in i18n machinery.
52074         (gnulib_tool_option): Use it.
52075
52076 2007-04-13  Bruno Haible  <bruno@clisp.org>
52077
52078         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
52079         %F directives.
52080         * tests/test-vasprintf-posix.c (test_function): Likewise.
52081         * tests/test-snprintf-posix.h (test_function): Likewise.
52082         * tests/test-sprintf-posix.h (test_function): Likewise.
52083         * tests/test-fprintf-posix.h (test_function): Likewise.
52084         * tests/test-printf-posix.h (test_function): Likewise.
52085         * tests/test-fprintf-posix.out: Likewise.
52086
52087 2007-04-13  Bruno Haible  <bruno@clisp.org>
52088
52089         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
52090         * modules/tls-tests (configure.ac): Likewise.
52091         Reported by Arto C. Nirkko <anirkko@insel.ch>.
52092
52093 2007-04-13  Bruno Haible  <bruno@clisp.org>
52094
52095         * lib/tls.c (glthread_tls_get): Fix return type.
52096         Patch by Arto C. Nirkko <anirkko@insel.ch>.
52097
52098 2007-04-12  Eric Blake  <ebb9@byu.net>
52099
52100         * modules/gettime (Depends-on): Remove gettime.
52101         Reported by Dmitry V. Levin.
52102
52103 2007-04-12  Bruno Haible  <bruno@clisp.org>
52104
52105         * modules/fflush (Include): Mention <stdio.h>.
52106         * modules/strtoimax (Include): Mention <inttypes.h>.
52107         * modules/strtoumax (Include): Likewise.
52108
52109 2007-04-12  Eric Blake  <ebb9@byu.net>
52110
52111         * .cvsignore: New file.
52112         * .gitignore: Likewise.
52113
52114 2007-04-12  Bruno Haible  <bruno@clisp.org>
52115
52116         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
52117         not before, since $(LDADD) often contains libgnu.a.
52118         * modules/striconv-tests (test_striconv_LDADD): Likewise.
52119         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
52120         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
52121         Needed on Cygwin.
52122
52123 2007-04-12  Eric Blake  <ebb9@byu.net>
52124
52125         Work around glibc's failure to flush stdin on fclose.
52126         * lib/closein.c (close_stdin): Flush stdin before closing.
52127
52128         Work around glibc's failure to reset seekable stdin on exit.
52129         * modules/closein: New module.
52130         * lib/closein.c: New file.
52131         * lib/closein.h: Likewise.
52132         * m4/closein.m4: Likewise.
52133         * MODULES.html.sh (File stream based Input/Output): Document it.
52134
52135 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52136
52137         * gnulib-tool: Rename generated 'autobuild' script to
52138         'do-autobuild' in --create-megatestdir output.
52139
52140         * doc/gnulib.texi (Build robot for gnulib): Fix.
52141
52142 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52143
52144         * modules/sysexits (Depends-on): Add absolute-header.
52145
52146 2007-04-12  Eric Blake  <ebb9@byu.net>
52147
52148         No need to preserve errno on success.
52149         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
52150         Reported by Bruno Haible.
52151
52152 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52153
52154         * MODULES.html.sh (Support for maintaining and releasing
52155         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
52156
52157 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52158
52159         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
52160
52161 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52162
52163         * modules/autobuild: New module.
52164
52165         * m4/autobuild.m4: New file.
52166
52167 2007-04-11  Bruno Haible  <bruno@clisp.org>
52168
52169         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
52170         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
52171         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
52172         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
52173         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52174         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52175         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52176         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52177         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52178         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52179         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
52180         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52181         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52182         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
52183         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52184         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52185         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
52186         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52187         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52188         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
52189         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52190         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52191         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
52192         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52193         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52194         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
52195         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52196         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52197         Reported by Eric Blake.
52198
52199 2007-04-11  Bruno Haible  <bruno@clisp.org>
52200
52201         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
52202
52203 2007-04-10  Bruno Haible  <bruno@clisp.org>
52204
52205         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
52206         for NaN and Infinity. Needed on FreeBSD 6.1.
52207         * tests/test-vasnprintf-posix.c (test_function): Undo last change
52208         regarding results for "%010a" of Infinity and NaN.
52209         * tests/test-vasprintf-posix.c (test_function): Likewise.
52210         * tests/test-snprintf-posix.h (test_function): Likewise.
52211         * tests/test-sprintf-posix.h (test_function): Likewise.
52212         * tests/test-fprintf-posix.h (test_function): Likewise.
52213         * tests/test-printf-posix.h (test_function): Likewise.
52214         * tests/test-fprintf-posix.out: Likewise.
52215
52216 2007-04-10  Bruno Haible  <bruno@clisp.org>
52217
52218         * modules/locale-tests: New file.
52219         * tests/test-locale.c: New file.
52220
52221         * modules/locale: New file.
52222         * lib/locale_.h: New file.
52223         * m4/locale_h.m4: New file.
52224
52225 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
52226             Bruno Haible  <bruno@clisp.org>
52227
52228         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
52229         be determined, test for availability of the copysignf, copysign,
52230         copysignl functions.
52231         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
52232         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
52233         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
52234
52235 2007-04-09  Eric Blake  <ebb9@byu.net>
52236
52237         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
52238         * modules/stdio (Makefile.am): Support fflush.
52239         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52240         * modules/fflush: New file.
52241         * lib/fflush.c: Likewise.
52242         * m4/fflush.m4: Likewise.
52243         * modules/fflush-tests: New test.
52244         * tests/test-fflush.c: Likewise.
52245         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
52246
52247 2007-04-06  Bruno Haible  <bruno@clisp.org>
52248
52249         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
52250         (VASNPRINTF): Use signbit for faster determination whether to print a
52251         minus sign.
52252         * modules/vasnprintf (Files): Remove lib/float+.h.
52253         * modules/fprintf-posix (Depends-on): Add signbit.
52254         * modules/snprintf-posix (Depends-on): Likewise.
52255         * modules/sprintf-posix (Depends-on): Likewise.
52256         * modules/vasnprintf-posix (Depends-on): Likewise.
52257         * modules/vasprintf-posix (Depends-on): Likewise.
52258         * modules/vfprintf-posix (Depends-on): Likewise.
52259         * modules/vsnprintf-posix (Depends-on): Likewise.
52260         * modules/vsprintf-posix (Depends-on): Likewise.
52261
52262 2007-04-06  Bruno Haible  <bruno@clisp.org>
52263
52264         * tests/test-frexp.c (main): Test also the sign bit of zero results.
52265         * tests/test-frexpl.c (main): Likewise.
52266         * tests/test-ldexpl.c (main): Likewise.
52267         * modules/frexp-tests (Depends-on): Add signbit.
52268         * modules/frexpl-tests (Depdends-on): Likewise.
52269         * modules/ldexpl-tests (Depdends-on): Likewise.
52270
52271 2007-04-06  Bruno Haible  <bruno@clisp.org>
52272
52273         * modules/signbit-tests: New file.
52274         * tests/test-signbit.c: New file.
52275
52276         * modules/signbit: New file.
52277         * lib/signbitf.c: New file.
52278         * lib/signbitd.c: New file.
52279         * lib/signbitl.c: New file.
52280         * m4/signbit.m4: New file.
52281         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
52282         (signbit): New macro.
52283         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
52284         REPLACE_SIGNBIT.
52285         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
52286         REPLACE_FREXPL into math.h.
52287
52288 2007-04-06  Bruno Haible  <bruno@clisp.org>
52289
52290         * modules/isnanf-nolibm-tests: New file.
52291         * tests/test-isnanf.c: New file.
52292
52293         * modules/isnanf-nolibm: New file.
52294         * lib/isnanf.h: New file.
52295         * lib/isnanf.c: New file.
52296         * lib/isnan.c: Consider the USE_FLOAT macro.
52297         * m4/isnanf.m4: New file.
52298
52299 2007-04-06  Bruno Haible  <bruno@clisp.org>
52300
52301         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
52302         (Link): New section.
52303
52304         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
52305
52306 2007-04-06  Bruno Haible  <bruno@clisp.org>
52307
52308         Assume the 'long double' type.
52309         * m4/longdouble.m4: Remove file.
52310         * config/srclist.txt: Don't mention longdouble.m4.
52311         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
52312         * lib/float+.h: Likewise.
52313         * lib/frexp.c: Likewise.
52314         * lib/printf-args.h: Likewise.
52315         * lib/printf-args.c: Likewise.
52316         * lib/printf-frexp.c: Likewise.
52317         * lib/printf-parse.c: Likewise.
52318         * lib/vasnprintf.c: Likewise.
52319         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
52320         * m4/intl.m4: Likewise.
52321         * m4/isnanl.m4: Likewise.
52322         * m4/printf.m4: Likewise.
52323         * m4/printf-frexpl.m4: Likewise.
52324         * m4/vasnprintf.m4: Likewise.
52325         * modules/allocsa (Files): Remove m4/longdouble.m4.
52326         * modules/gettext (Files): Likewise.
52327         * modules/relocatable-prog-wrapper (Files): Likewise.
52328         * modules/vasnprintf (Files): Likewise.
52329         * modules/isnanl (Files): Likewise.
52330         (Include): Simplify.
52331         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
52332         (Include): Simplify.
52333         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
52334         (Include): Simplify.
52335         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
52336         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52337         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
52338         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52339         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
52340         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52341         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
52342         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52343         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
52344         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52345         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
52346         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52347         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
52348         * tests/test-isnanl.c: Likewise.
52349         * tests/test-snprintf-posix.h: Likewise.
52350         * tests/test-sprintf-posix.h: Likewise.
52351         * tests/test-vasnprintf-posix.c: Likewise.
52352         * tests/test-vasnprintf-posix2.c: Likewise.
52353         * tests/test-vasprintf-posix.c: Likewise.
52354
52355 2007-04-06  Bruno Haible  <bruno@clisp.org>
52356
52357         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
52358         * lib/math_.h [__DECC]: Include the overridden include file through
52359         #include_next, outside the double-inclusion guard.
52360         * lib/stdio_.h [__DECC]: Likewise.
52361         * lib/stdlib_.h [__DECC]: Likewise.
52362         * lib/string_.h [__DECC]: Likewise.
52363         * lib/time_.h [__DECC]: Likewise.
52364         * lib/wchar_.h [__DECC]: Likewise.
52365         * lib/wctype_.h [__DECC]: Likewise.
52366         * lib/inttypes_.h [__DECC]: Likewise.
52367         Reported by Albert Chin <china@thewrittenword.com> in
52368         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
52369
52370 2007-04-04  Eric Blake  <ebb9@byu.net>
52371
52372         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
52373         1.5.x.
52374
52375 2007-04-04  Bruno Haible  <bruno@clisp.org>
52376
52377         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
52378         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
52379
52380 2007-04-04  Bruno Haible  <bruno@clisp.org>
52381
52382         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
52383         results for "%010a" of Infinity and NaN.
52384         * tests/test-vasprintf-posix.c (test_function): Likewise.
52385         * tests/test-snprintf-posix.h (test_function): Likewise.
52386         * tests/test-sprintf-posix.h (test_function): Likewise.
52387         * tests/test-fprintf-posix.h (test_function): Remove these tests.
52388         * tests/test-printf-posix.h (test_function): Likewise.
52389         * tests/test-fprintf-posix.out: Update.
52390         Needed for FreeBSD 6.1.
52391
52392 2007-04-04  Bruno Haible  <bruno@clisp.org>
52393
52394         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
52395         directly used by the gnulib modules nor by gnulib-tool.
52396
52397 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
52398
52399         * DEPENDENCIES: Give overall description of version dependency
52400         desirability.  Use more-typical names for apps.
52401         Add shell, coreutils, diffutils, grep, tar, gzip.
52402
52403 2007-04-04  Simon Josefsson  <simon@josefsson.org>
52404
52405         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
52406
52407 2007-04-04  Karl Berry  <karl@gnu.org>
52408
52409         * MODULES.html.sh (func_module): missing '.
52410
52411 2007-04-03  Bruno Haible  <bruno@clisp.org>
52412
52413         * modules/argmatch-tests (Makefile.am): New variable
52414         test_argmatch_LDADD.
52415         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
52416         * modules/array-list-tests (Makefile.am): New variable
52417         test_array_list_LDADD.
52418         * modules/array-oset-tests (Makefile.am): New variable
52419         test_array_oset_LDADD.
52420         * modules/avltree-list-tests (Makefile.am): New variable
52421         test_avltree_list_LDADD.
52422         * modules/avltree-oset-tests (Makefile.am): New variable
52423         test_avltree_oset_LDADD.
52424         * modules/avltreehash-list-tests (Makefile.am): New variable
52425         test_avltreehash_list_LDADD.
52426         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
52427         test_canonicalize_lgpl_LDADD.
52428         * modules/carray-list-tests (Makefile.am): New variable
52429         test_carray_list_LDADD.
52430         * modules/dirname-tests (Makefile.am): New variable
52431         test_dirname_LDADD.
52432         * modules/linked-list-tests (Makefile.am): New variable
52433         test_linked_list_LDADD.
52434         * modules/linkedhash-list-tests (Makefile.am): New variable
52435         test_linkedhash_list_LDADD.
52436         * modules/rbtree-list-tests (Makefile.am): New variable
52437         test_rbtree_list_LDADD.
52438         * modules/rbtree-oset-tests (Makefile.am): New variable
52439         test_rbtree_oset_LDADD.
52440         * modules/rbtreehash-list-tests (Makefile.am): New variable
52441         test_rbtreehash_list_LDADD.
52442         * modules/xvasprintf-tests (Makefile.am): New variable
52443         test_xvasprintf_LDADD.
52444         Reported by Eric Blake.
52445
52446 2007-04-03  Eric Blake  <ebb9@byu.net>
52447
52448         * DEPENDENCIES: Weaken m4 requirements.
52449
52450 2007-04-03  Bruno Haible  <bruno@clisp.org>
52451
52452         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
52453         * modules/isnanl-tests (configure.ac): Likewise.
52454
52455 2007-04-03  Ben Pfaff  <blp@gnu.org>
52456
52457         * modules/iconv_open: Add $(srcdir)/ to source directory
52458         references in Makefile fragments that call gperf, to fix VPATH
52459         builds.
52460
52461 2007-04-03  Bruno Haible  <bruno@clisp.org>
52462
52463         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
52464         * lib/ldexpl.c: Undo last change.
52465
52466 2007-04-03  Bruno Haible  <bruno@clisp.org>
52467
52468         * modules/printf-frexpl (Depends-on): Undo last change.
52469         (Files): Add m4/ldexpl.m4.
52470
52471 2007-04-03  Bruno Haible  <bruno@clisp.org>
52472
52473         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
52474         * modules/isnanl (Link): New section.
52475
52476         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
52477         * modules/frexp (Link): New section.
52478
52479         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
52480         * modules/frexpl (Link): New section.
52481
52482         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
52483         * modules/ldexpl (Link): New section.
52484
52485 2007-04-03  Bruno Haible  <bruno@clisp.org>
52486
52487         * modules/TEMPLATE-EXTENDED: New file.
52488         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
52489
52490 2007-04-03  Bruno Haible  <bruno@clisp.org>
52491
52492         * DEPENDENCIES: New file.
52493         Suggested by Simon Josefsson.
52494
52495 2007-04-03  Bruno Haible  <bruno@clisp.org>
52496
52497         * doc/gnulib.texi: Escape @.
52498
52499 2007-04-03  James Youngman  <jay@gnu.org>
52500         and Paul Eggert  <eggert@cs.ucla.edu>
52501
52502         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
52503         birthtime on all systems that have birthtime, not just those which
52504         use st_birthtimensec rather than st_birthtim.  Putting zero in
52505         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
52506         that the birth time is not available for files on an NFS mount.
52507
52508 2007-04-03  Simon Josefsson  <simon@josefsson.org>
52509
52510         * modules/memxor: Move back from crypto/, suggested by Bruno.
52511         * modules/crypto/hmac-sha1: Fix memxor dependency.
52512
52513         * modules/crypto/gc: Moved from ../.
52514
52515 2007-04-02  Eric Blake  <ebb9@byu.net>
52516
52517         * lib/ldexpl.c (includes): Avoid libm.
52518
52519         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
52520
52521 2007-04-02  Bruno Haible  <bruno@clisp.org>
52522
52523         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
52524         on IRIX.
52525
52526 2007-04-02  Bruno Haible  <bruno@clisp.org>
52527
52528         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
52529         x86 or x86_64 platforms running MacOS X.
52530         Reported by Ryan Schmidt <@ryandesign.com>.
52531
52532 2007-04-02  Bruno Haible  <bruno@clisp.org>
52533
52534         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
52535         i386.
52536
52537 2007-04-01  Simon Josefsson  <simon@josefsson.org>
52538
52539         * modules/crypto/arcfour: Moved from ../.
52540         * modules/crypto/arcfour-tests: Moved from ../.
52541         * modules/crypto/arctwo: Moved from ../.
52542         * modules/crypto/arctwo-tests: Moved from ../.
52543         * modules/crypto/des: Moved from ../.
52544         * modules/crypto/des-tests: Moved from ../.
52545         * modules/crypto/gc-arcfour: Moved from ../.
52546         * modules/crypto/gc-arcfour-tests: Moved from ../.
52547         * modules/crypto/gc-arctwo: Moved from ../.
52548         * modules/crypto/gc-arctwo-tests: Moved from ../.
52549         * modules/crypto/gc-des: Moved from ../.
52550         * modules/crypto/gc-des-tests: Moved from ../.
52551         * modules/crypto/gc-hmac-md5: Moved from ../.
52552         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
52553         * modules/crypto/gc-hmac-sha1: Moved from ../.
52554         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
52555         * modules/crypto/gc-md2: Moved from ../.
52556         * modules/crypto/gc-md2-tests: Moved from ../.
52557         * modules/crypto/gc-md4: Moved from ../.
52558         * modules/crypto/gc-md4-tests: Moved from ../.
52559         * modules/crypto/gc-md5: Moved from ../.
52560         * modules/crypto/gc-md5-tests: Moved from ../.
52561         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
52562         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
52563         * modules/crypto/gc-random: Moved from ../.
52564         * modules/crypto/gc-rijndael: Moved from ../.
52565         * modules/crypto/gc-rijndael-tests: Moved from ../.
52566         * modules/crypto/gc-sha1: Moved from ../.
52567         * modules/crypto/gc-sha1-tests: Moved from ../.
52568         * modules/crypto/gc-tests: Moved from ../.
52569         * modules/crypto/hmac-md5: Moved from ../.
52570         * modules/crypto/hmac-md5-tests: Moved from ../.
52571         * modules/crypto/hmac-sha1: Moved from ../.
52572         * modules/crypto/hmac-sha1-tests: Moved from ../.
52573         * modules/crypto/md2: Moved from ../.
52574         * modules/crypto/md2-tests: Moved from ../.
52575         * modules/crypto/md4: Moved from ../.
52576         * modules/crypto/md4-tests: Moved from ../.
52577         * modules/crypto/md5: Moved from ../.
52578         * modules/crypto/md5-tests: Moved from ../.
52579         * modules/crypto/memxor: Moved from ../.
52580         * modules/crypto/rijndael: Moved from ../.
52581         * modules/crypto/rijndael-tests: Moved from ../.
52582         * modules/crypto/sha1: Moved from ../.
52583
52584 2007-03-30  James Youngman  <jay@gnu.org>
52585
52586         * tests/test-stat-time.c (prepare_test): use chmod() rather than
52587         rename() to change the ctime of a file (because ctime is unaffected
52588         by rename on jfs2 on AIX 5.1).
52589         (main): Start by doing cleanup, in case a previous run failed leaving
52590         test files behind.
52591
52592 2007-03-31  Bruno Haible  <bruno@clisp.org>
52593
52594         Support old proprietary implementations of iconv.
52595         * modules/iconv_open: New file.
52596         * lib/iconv_.h: New file.
52597         * m4/iconv_h.m4: New file.
52598         * lib/iconv_open.c: New file.
52599         * lib/iconv_open-aix.gperf: New file.
52600         * lib/iconv_open-hpux.gperf: New file.
52601         * lib/iconv_open-irix.gperf: New file.
52602         * lib/iconv_open-osf.gperf: New file.
52603         * m4/iconv_open.m4: New file.
52604         * modules/linebreak (Depends-on): Add iconv_open.
52605         * modules/striconv (Depends-on): Likewise.
52606         * modules/striconveh (Depends-on): Likewise.
52607         * modules/unicodeio (Depends-on): Likewise.
52608         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
52609         (iconv_t)(-1).
52610         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
52611         conversion if cd is (iconv_t)(-1).
52612         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
52613         is not possible.
52614
52615 2007-03-31  Bruno Haible  <bruno@clisp.org>
52616
52617         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
52618         work on Solaris either. Protect also second use of "autodetect_jp".
52619
52620 2007-03-31  Bruno Haible  <bruno@clisp.org>
52621
52622         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
52623         the function is not present.
52624
52625 2007-03-31  Bruno Haible  <bruno@clisp.org>
52626
52627         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
52628         the function is not present.
52629
52630 2007-03-31  Bruno Haible  <bruno@clisp.org>
52631
52632         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
52633         a bug in HP-UX iconv_open().
52634
52635 2007-03-31  Bruno Haible  <bruno@clisp.org>
52636
52637         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
52638         (Mathematics <math.h>): New section, add fpieee.
52639         (Input/output <stdio.h>): Add fseterr.
52640         (Mathematics <math.h>): New section, add printf-frexp.
52641         (Container data structures): Add sublist.
52642         (Core language properties): Add fpucw, inline.
52643         (Functions for greatest-width integer types <inttypes.h>): Add
52644         imaxabs, imaxdiv, inttypes.
52645         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
52646         isnanl-nolibm, ldexp.
52647         (Mathematics <math.h>): New section, add printf-frexpl.
52648         (Support for systems lacking POSIX:2001): Add fprintf-posix,
52649         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
52650         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
52651         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
52652         (Unicode string functions): Add unistr/u*-mbtoucr.
52653         (Java): Add javacomp-script, javaexec-script.
52654         (C#): Add csharpcomp-script, csharpexec-script.
52655         (Support for building libraries and executables): Add havelib,
52656         relocatable-*.
52657         (Support for maintaining and releasing projects): Renamed from
52658         'Support for maintaining and release projects'. Add announce-gen.
52659
52660 2007-03-31  Bruno Haible  <bruno@clisp.org>
52661
52662         * README: Talk primarily about git.
52663         (git and CVS): Renamed from CVS.
52664         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
52665         gnulib is available through git.
52666         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
52667
52668 2007-03-30  Bruno Haible  <bruno@clisp.org>
52669
52670         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
52671         * lib/poll_.h: Likewise.
52672         * lib/stat_.h: Likewise.
52673         * lib/sys_time_.h: Likewise.
52674         * lib/sysexit_.h: Likewise.
52675         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
52676         * lib/stdbool_.h: Likewise.
52677         * lib/byteswap_.h: Add double-inclusion guard.
52678
52679 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
52680
52681         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
52682
52683 2007-03-30  Karl Berry  <karl@gnu.org>
52684
52685         * config/srclist-update: double space after USA in the license
52686         substitution, since that's how it's usually (?) written.
52687
52688 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
52689
52690         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
52691         reported by Bruno Haible.
52692
52693 2007-03-29  Bruno Haible  <bruno@clisp.org>
52694
52695         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
52696         a bug in AIX iconv().
52697
52698 2007-03-29  Bruno Haible  <bruno@clisp.org>
52699
52700         * modules/ldexpl-tests: New file.
52701         * tests/test-ldexpl.c: New file.
52702
52703 2007-03-29  Bruno Haible  <bruno@clisp.org>
52704
52705         * lib/ldexpl.c: Include fpucw.h.
52706         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
52707         multiplication.
52708         * modules/ldexpl (Depends-on): Add fpucw.
52709
52710 2007-03-29  Bruno Haible  <bruno@clisp.org>
52711
52712         * modules/ldexpl: New file.
52713         * m4/ldexpl.m4: New file.
52714         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
52715         set.
52716         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
52717         REPLACE_LDEXPL.
52718         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
52719         REPLACE_LDEXPL.
52720         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
52721         gl_FUNC_LDEXPL_WORKS.
52722         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
52723         * modules/mathl (Files): Remove lib/ldexpl.c.
52724         (Depends-on): Add ldexpl.
52725
52726 2007-03-29  Bruno Haible  <bruno@clisp.org>
52727
52728         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
52729
52730 2007-03-29  Bruno Haible  <bruno@clisp.org>
52731
52732         * tests/test-striconveh.c (main): Don't assume that a direct conversion
52733         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
52734         and possibly also HP-UX.
52735         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
52736         work on AIX, IRIX, HP-UX, OSF/1.
52737         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
52738         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
52739         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
52740         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
52741         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
52742         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
52743
52744 2007-03-29  Bruno Haible  <bruno@clisp.org>
52745
52746         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
52747
52748 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
52749
52750         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
52751         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
52752
52753 2007-03-29  Eric Blake  <ebb9@byu.net>
52754
52755         * lib/acl-internal.h: Remove redundant include.
52756         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
52757         Cygwin when a file is locked.
52758
52759 2007-03-29  Bruno Haible  <bruno@clisp.org>
52760
52761         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
52762         file.
52763         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
52764
52765 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
52766
52767         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
52768         try to remove a parent directory if the child couldn't be removed
52769         (except for the first rmdir, which could fail because the child
52770         doesn't exist).  Problem reported by Jeff Blaine in
52771         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
52772
52773 2007-03-28  Bruno Haible  <bruno@clisp.org>
52774
52775         * lib/striconveh.c (utf8conv_carefully): New function.
52776         (mem_cd_iconveh_internal): Invoke it.
52777
52778 2007-03-28  Bruno Haible  <bruno@clisp.org>
52779
52780         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
52781         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
52782         input.
52783         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
52784         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
52785         unistr/u8-uctomb.
52786
52787 2007-03-28  Bruno Haible  <bruno@clisp.org>
52788
52789         * modules/unistr/u8-mbtoucr: New file.
52790         * lib/unistr/u8-mbtoucr.c: New file.
52791         * modules/unistr/u16-mbtoucr: New file.
52792         * lib/unistr/u16-mbtoucr.c: New file.
52793         * modules/unistr/u16-mbtoucr: New file.
52794         * lib/unistr/u16-mbtoucr.c: New file.
52795         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
52796
52797 2007-03-27  Simon Josefsson  <simon@josefsson.org>
52798             Bruno Haible  <bruno@clisp.org>
52799
52800         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
52801         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
52802         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
52803
52804         * m4/stdio_h.m4: Add stubs for vasprintf too.
52805
52806         * modules/stdio: Support vasprintf in sed command.
52807
52808         * modules/vasprintf: Depend on stdio for prototypes.  Remove
52809         vasprintf.h.  Add stdio module indicator.
52810
52811         * lib/stdio_.h: Declare asprintf and vasprintf, based on
52812         vasprintf.h.
52813
52814         * lib/vasprintf.h: File removed.
52815
52816         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
52817         * lib/vasprintf.c: Ditto.
52818         * lib/xvasprintf.c: Ditto.
52819         * tests/test-vasprintf-posix.c: Ditto.
52820         * tests/test-vasprintf.c: Ditto.
52821
52822 2007-03-27  Bruno Haible  <bruno@clisp.org>
52823
52824         Make vasnprintf multithread-safe.
52825         * lib/vasnprintf.c (decimal_point_char): New function.
52826         (VASNPRINTF): Use it.
52827         Suggested by Simon Josefsson.
52828
52829 2007-03-27  Eric Blake  <ebb9@byu.net>
52830
52831         Support sub-second birthtime on cygwin.
52832         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
52833         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
52834         (get_stat_birthtime): Also work with st_birthtim.
52835
52836 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
52837
52838         * lib/stat-time.h (USE_BIRTHTIME): Remove.
52839         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
52840         (get_stat_birthtime_ns): Do not try to use "spare" fields.
52841         (get_stat_birthtime_ns): Simplify compile-time tests.
52842         (get_stat_birthtime): Change the API to look like
52843         get_stat_mtime etc., except return a negative tv_nsec on error.
52844         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
52845         Don't check for "spare" fields.
52846         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
52847         or for struct stat.st_birthtime, as these tests aren't used.
52848         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
52849
52850 2007-03-27  Bruno Haible  <bruno@clisp.org>
52851
52852         * lib/stat-time.h: Include <sys/stat.h>.
52853
52854 2007-03-27  James Youngman  <jay@gnu.org>
52855
52856         * lib/stat-time.h (get_stat_birthtime): New function for
52857           retrieving st_birthtime as provided by UFS2 (hence *BSD).
52858         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
52859           and its variants.
52860         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
52861         * modules/stat-time-test: New file.
52862         * tests/test-stat-time.c: New test, devised by Bruno Haible.
52863
52864 2007-03-26  Bruno Haible  <bruno@clisp.org>
52865
52866         Better support of signalling NaNs.
52867         * lib/atanl.c: Include isnanl.h.
52868         (atanl): Perform test for NaN at the beginning of the function and
52869         through a call to isnanl.
52870         * lib/cosl.c: Include isnanl.h.
52871         (cosl): Perform test for NaN at the beginning of the function and
52872         through a call to isnanl.
52873         * lib/ldexpl.c: Include isnanl.h.
52874         (ldexpl): Perform test for NaN through a call to isnanl.
52875         * lib/logl.c: Include isnanl.h.
52876         (logl): Perform test for NaN at the beginning of the function and
52877         through a call to isnanl.
52878         * lib/sinl.c: Include isnanl.h.
52879         (sinl): Perform test for NaN at the beginning of the function and
52880         through a call to isnanl.
52881         * lib/sqrtl.c: Include isnanl.h.
52882         (sqrtl): Perform test for NaN at the beginning of the function and
52883         through a call to isnanl.
52884         * lib/tanl.c: Include isnanl.h.
52885         (tanl): Perform test for NaN at the beginning of the function and
52886         through a call to isnanl.
52887         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
52888         * modules/mathl (Depends-on): Add isnanl.
52889
52890 2007-03-26  Eric Blake  <ebb9@byu.net>
52891
52892         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
52893         regression in logic sense of previous patch.
52894
52895 2007-03-26  Bruno Haible  <bruno@clisp.org>
52896
52897         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
52898         unportable shell command "if ! ...".
52899         Reported by Ralf Wildenhues.
52900
52901 2007-03-25  Bruno Haible  <bruno@clisp.org>
52902
52903         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
52904         <sysexits.h> file, and only add EX_CONFIG.
52905         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
52906         absolute file name and whether it is sufficient. Substitute also
52907         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
52908         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
52909         ABSOLUTE_SYSEXITS_H into sysexits.h.
52910
52911 2007-03-25  Bruno Haible  <bruno@clisp.org>
52912
52913         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
52914         hints is NULL.
52915
52916 2007-03-25  Bruno Haible  <bruno@clisp.org>
52917
52918         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
52919         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
52920
52921 2007-03-25  Bruno Haible  <bruno@clisp.org>
52922
52923         * lib/vasnprintf.c: Include langinfo.h.
52924         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
52925         multithread-safe.
52926         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
52927         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
52928         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52929         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52930         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52931         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52932         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52933         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
52934         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52935         Reported by Simon Josefsson.
52936
52937 2007-03-25  Bruno Haible  <bruno@clisp.org>
52938
52939         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
52940         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
52941         * modules/vasnprintf (Depends-on): Add stdint.
52942
52943 2007-03-25  Bruno Haible  <bruno@clisp.org>
52944
52945         * modules/fpieee: New file.
52946         * m4/fpieee.m4: New file.
52947         * modules/isnan-nolibm (Depends-on): Add fpieee.
52948         * modules/isnanl-nolibm (Depends-on): Add fpieee.
52949         * modules/isnanl (Depends-on): Add fpieee.
52950
52951 2007-03-25  Bruno Haible  <bruno@clisp.org>
52952
52953         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
52954
52955 2007-03-25  Bruno Haible  <bruno@clisp.org>
52956
52957         Avoid test failures on IRIX 6.5.
52958         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
52959         (main): Use it.
52960         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
52961         macros.
52962         (main): Use them.
52963
52964 2007-03-25  Bruno Haible  <bruno@clisp.org>
52965
52966         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
52967         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
52968         exists but doesn't work.
52969         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
52970         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
52971         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
52972         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
52973         math.h.
52974
52975 2007-03-25  Bruno Haible  <bruno@clisp.org>
52976
52977         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
52978         returns inf. Needed on IRIX 6.5.
52979
52980 2007-03-25  Bruno Haible  <bruno@clisp.org>
52981
52982         * tests/test-frexpl.c: Include isnanl-nolibm.h.
52983         (main): Use isnanl instead of x != x idiom.
52984         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
52985
52986         * tests/test-frexp.c: Include isnan.h.
52987         (main): Use isnan instead of x != x idiom.
52988         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
52989
52990 2007-03-25  Bruno Haible  <bruno@clisp.org>
52991
52992         * tests/test-frexp.c (NaN): New function/macro.
52993         (main): Use it instead of 0.0 / 0.0.
52994         * tests/test-isnan.c (NaN): New function/macro.
52995         (main): Use it instead of 0.0 / 0.0.
52996         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
52997         (test_function): Use it instead of 0.0 / 0.0.
52998         * tests/test-vasprintf-posix.c (NaN): New function/macro.
52999         (test_function): Use it instead of 0.0 / 0.0.
53000         * tests/test-snprintf-posix.h (NaN): New function/macro.
53001         (test_function): Use it instead of 0.0 / 0.0.
53002         * tests/test-sprintf-posix.h (NaN): New function/macro.
53003         (test_function): Use it instead of 0.0 / 0.0.
53004         * tests/test-fprintf-posix.h (NaN): New function/macro.
53005         (test_function): Use it instead of 0.0 / 0.0.
53006         * tests/test-printf-posix.h (NaN): New function/macro.
53007         (test_function): Use it instead of 0.0 / 0.0.
53008
53009         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
53010
53011 2007-03-25  Bruno Haible  <bruno@clisp.org>
53012
53013         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
53014
53015 2007-03-25  Bruno Haible  <bruno@clisp.org>
53016
53017         * lib/regexec.c (merge_state_with_log): Make static.
53018
53019 2007-03-25  Bruno Haible  <bruno@clisp.org>
53020
53021         * lib/trigl.c (kernel_rem_pio2): Make static.
53022
53023 2007-03-25  Bruno Haible  <bruno@clisp.org>
53024
53025         * lib/sincosl.c (sincosl_table): Make static.
53026
53027 2007-03-25  Bruno Haible  <bruno@clisp.org>
53028
53029         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
53030         if the compiler does not support C99.
53031
53032 2007-03-25  Bruno Haible  <bruno@clisp.org>
53033
53034         * modules/time (Makefile.am): Ensure all rule action lines start with a
53035         tab.
53036
53037 2007-03-24  Bruno Haible  <bruno@clisp.org>
53038
53039         * modules/tsearch-tests: New file.
53040         * tests/test-tsearch.sh: New file.
53041         * tests/test-tsearch.c: New file, mostly copied from glibc.
53042
53043         * modules/search-tests: New file.
53044         * tests/test-search.c: New file.
53045
53046         * modules/search: New file.
53047         * lib/search_.h: New file, incorporating lib/tsearch.h.
53048         * m4/search_h.m4: New file.
53049         * lib/tsearch.h: Remove file.
53050         * lib/tsearch.c: Include search.h instead of tsearch.h.
53051         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
53052         HAVE_TSEARCH.
53053         * modules/tsearch (Files): Remove lib/tsearch.h.
53054         (Depends-on): Add search.
53055         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
53056         (Include): Change tsearch.h into search.h.
53057
53058 2007-03-24  Bruno Haible  <bruno@clisp.org>
53059
53060         * modules/fpucw: New file.
53061         * lib/fpucw.h: New file.
53062         * lib/frexp.c: Include fpucw.h.
53063         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
53064         (FUNC): Use them.
53065         * lib/printf-frexp.c: Include fpucw.h.
53066         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
53067         (FUNC): Use them.
53068         * lib/vasnprintf.c: Include fpucw.h.
53069         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
53070         'long double' calculations.
53071         * tests/test-frexpl.c: Include fpucw.h.
53072         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
53073         * tests/test-printf-frexpl.c: Include fpucw.h.
53074         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
53075         * modules/frexpl (Depends-on): Add fpucw.
53076         * modules/printf-frexpl (Depends-on): Likewise.
53077         * modules/fprintf-posix (Depends-on): Likewise.
53078         * modules/snprintf-posix (Depends-on): Likewise.
53079         * modules/sprintf-posix (Depends-on): Likewise.
53080         * modules/vasnprintf-posix (Depends-on): Likewise.
53081         * modules/vasprintf-posix (Depends-on): Likewise.
53082         * modules/vfprintf-posix (Depends-on): Likewise.
53083         * modules/vsnprintf-posix (Depends-on): Likewise.
53084         * modules/vsprintf-posix (Depends-on): Likewise.
53085         * modules/frexpl-tests (Depends-on): Likewise.
53086         * modules/printf-frexpl-tests (Depends-on): Likewise.
53087
53088 2007-03-24  Bruno Haible  <bruno@clisp.org>
53089
53090         * lib/float+.h: New file.
53091         * lib/isnan.c: Include float+.h.
53092         (SIZE): New macro.
53093         (FUNC): Compare only SIZE bytes of the value.
53094         * lib/vasnprintf.c: Include float+.h.
53095         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
53096         SIZEOF_LDBL or SIZEOF_DBL bytes.
53097         * modules/isnan-nolibm (Files): Add lib/float+.h.
53098         * modules/isnanl-nolibm (Files): Add lib/float+.h.
53099         * modules/isnanl (Files): Add lib/float+.h.
53100         * modules/vasnprintf (Files): Add lib/float+.h.
53101
53102 2007-03-24  Bruno Haible  <bruno@clisp.org>
53103
53104         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
53105         include isnanl-nolibm.h.
53106
53107 2007-03-24  Bruno Haible  <bruno@clisp.org>
53108
53109         * tests/test-read-file.c (main): Don't produce spurious output for
53110         expected situations. Make the test fail if it encountered unexpected
53111         results.
53112
53113 2007-03-24  Bruno Haible  <bruno@clisp.org>
53114
53115         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
53116         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
53117
53118 2007-03-24  Bruno Haible  <bruno@clisp.org>
53119
53120         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
53121
53122 2007-03-24  Bruno Haible  <bruno@clisp.org>
53123
53124         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
53125         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
53126
53127         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
53128         * modules/utf8-ucs4: Turn into a symbolic link to module
53129         unistr/u8-mbtouc.
53130
53131         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
53132         utf8-ucs4-unsafe.
53133         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
53134         unistr/u8-mbtouc-unsafe.
53135
53136         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
53137         * modules/utf16-ucs4: Turn into a symbolic link to module
53138         unistr/u16-mbtouc.
53139
53140         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
53141         utf16-ucs4-unsafe.
53142         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
53143         unistr/u16-mbtouc-unsafe.
53144
53145         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
53146         * modules/ucs4-utf8: Turn into a symbolic link to module
53147         unistr/u8-ubtomb.
53148
53149         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
53150         * modules/ucs4-utf16: Turn into a symbolic link to module
53151         unistr/u16-ubtomb.
53152
53153 2007-03-24  Bruno Haible  <bruno@clisp.org>
53154
53155         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
53156         Enable the function only if HAVE_INLINE.
53157         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
53158         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
53159         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
53160         Enable the function only if HAVE_INLINE.
53161         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
53162         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
53163         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
53164         Enable the function only if HAVE_INLINE.
53165         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
53166         Enable the function only if HAVE_INLINE.
53167         * modules/utf8-ucs4: Update.
53168         * modules/utf8-ucs4-unsafe: Update.
53169         * modules/utf16-ucs4: Update.
53170         * modules/utf16-ucs4-unsafe: Update.
53171         * modules/ucs4-utf8: Update.
53172         * modules/ucs4-utf16: Update.
53173
53174 2007-03-24  Bruno Haible  <bruno@clisp.org>
53175
53176         * lib/utf8-ucs4.h: Remove file.
53177         * lib/utf8-ucs4-unsafe.h: Remove file.
53178         * lib/utf16-ucs4.h: Remove file.
53179         * lib/utf16-ucs4-unsafe.h: Remove file.
53180         * lib/ucs4-utf8.h: Remove file.
53181         * lib/ucs4-utf16.h: Remove file.
53182         * lib/unistr.h: Include their previous contents.
53183         * m4/utf-ucs4.m4: Remove file.
53184         * m4/ucs4-utf.m4: Remove file.
53185         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
53186         (Depends-on): Add unistr/base.
53187         (configure.ac): Remove gl_UTF_UCS4.
53188         (Makefile.am): Update.
53189         (Include): Change to unistr.h.
53190         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
53191         (Depends-on): Add unistr/base.
53192         (configure.ac): Remove gl_UTF_UCS4.
53193         (Makefile.am): Update.
53194         (Include): Change to unistr.h.
53195         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
53196         (Depends-on): Add unistr/base.
53197         (configure.ac): Remove gl_UTF_UCS4.
53198         (Makefile.am): Update.
53199         (Include): Change to unistr.h.
53200         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
53201         (Depends-on): Add unistr/base.
53202         (configure.ac): Remove gl_UTF_UCS4.
53203         (Makefile.am): Update.
53204         (Include): Change to unistr.h.
53205         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
53206         (Depends-on): Add unistr/base.
53207         (configure.ac): Remove gl_UCS4_UTF.
53208         (Makefile.am): Update.
53209         (Include): Change to unistr.h.
53210         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
53211         (Depends-on): Add unistr/base.
53212         (configure.ac): Remove gl_UCS4_UTF.
53213         (Makefile.am): Update.
53214         (Include): Change to unistr.h.
53215         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
53216         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
53217         utf8-ucs4-unsafe.h.
53218         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
53219         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
53220         utf16-ucs4-unsafe.h.
53221         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
53222         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
53223         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
53224         * lib/unistr/u8-strchr.c: Likewise.
53225         * lib/unistr/u8-strrchr.c: Likewise.
53226         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
53227         * lib/unistr/u16-strchr.c: Likewise.
53228         * lib/unistr/u16-strrchr.c: Likewise.
53229         * lib/striconveh.c: Update.
53230         * lib/linebreak.c: Update.
53231
53232 2007-03-24  Bruno Haible  <bruno@clisp.org>
53233
53234         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
53235         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
53236
53237 2007-03-22  Bruno Haible  <bruno@clisp.org>
53238
53239         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
53240
53241 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53242
53243         * MODULES.html.sh (File system functions): New module write-any-file.
53244         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
53245         * m4/write-any-file.m4: New files.
53246
53247 2007-03-23  Eric Blake  <ebb9@byu.net>
53248
53249         * gnulib-tool: Rearrange space-tab sequences, since some editors
53250         like to eat them.
53251
53252 2007-03-23  Eric Blake  <ebb9@byu.net>
53253
53254         * lib/version-etc.c (version_etc_va): Update license wording to
53255         be more concise.  Recommended by Richard Stallman.
53256
53257 2007-03-22  Bruno Haible  <bruno@clisp.org>
53258
53259         * lib/poll.c (MSG_PEEK): New fallback definition.
53260
53261 2007-03-22  Bruno Haible  <bruno@clisp.org>
53262
53263         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
53264         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
53265         (main): Update.
53266         Fixes a compilation error on BeOS.
53267
53268 2007-03-22  Bruno Haible  <bruno@clisp.org>
53269
53270         * modules/frexpl-tests: New file.
53271         * tests/test-frexpl.c: New file.
53272
53273         * modules/frexpl: New file.
53274         * m4/frexpl.m4: New file.
53275         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
53276         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
53277         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
53278         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
53279         (Depends-on): Add frexpl. Remove isnanl-nolibm.
53280         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
53281
53282 2007-03-22  Bruno Haible  <bruno@clisp.org>
53283
53284         * lib/frexpl.c: Share code with lib/frexp.c.
53285         * modules/mathl (Files): Add lib/frexp.c.
53286         (Depends-on): Add isnanl-nolibm.
53287
53288 2007-03-22  Bruno Haible  <bruno@clisp.org>
53289
53290         * modules/printf-frexp (Files): Add m4/frexp.m4.
53291         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
53292         only if the found frexp function actually works.
53293
53294 2007-03-22  Bruno Haible  <bruno@clisp.org>
53295
53296         * lib/frexp.c: Remove older implementation that uses divisions.
53297
53298 2007-03-21  Bruno Haible  <bruno@clisp.org>
53299
53300         * modules/frexp-tests: New file.
53301         * tests/test-frexp.c: New file.
53302
53303         * modules/frexp: New file.
53304         * lib/frexp.c: New file.
53305         * m4/frexp.m4: New file.
53306         * lib/math_.h (frexp): New declaration.
53307         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
53308         REPLACE_FREXP.
53309         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
53310
53311 2007-03-21  Bruno Haible  <bruno@clisp.org>
53312
53313         * modules/isnanl-tests: New file.
53314         * tests/test-isnanl.c: New file.
53315
53316         * modules/isnanl: New file.
53317         * lib/isnanl.h: New file.
53318         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
53319         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
53320         gl_FUNC_ISNANL_WORKS.
53321         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
53322         New macros.
53323
53324 2007-03-21  Bruno Haible  <bruno@clisp.org>
53325
53326         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
53327         lib/isnanl.h.
53328         (Include): Update.
53329         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
53330         * lib/vasnprintf.c: Update.
53331         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
53332         tests/test-isnanl.h, remove tests/test-isnanl.c.
53333         (Makefile.am): Update.
53334         * tests/test-isnanl-nolibm.c: New file.
53335         * tests/test-isnanl.h: New file.
53336         * tests/test-isnanl.c: Remove file.
53337
53338 2007-03-21  Jim Meyering  <jim@meyering.net>
53339
53340         When trying to open ".", treat ESTALE like EACCES.
53341         * lib/savewd.c (savewd_save): Resort to forking not just upon
53342         failure with EACCES, but also when errno is ESTALE.
53343
53344 2007-03-20  Bruno Haible  <bruno@clisp.org>
53345
53346         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
53347         Needed on AIX 5.1. Reported by Matthew Woehlke.
53348
53349 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53350
53351         Suggestions by Bruno Haible:
53352         * lib/acl-internal.h: Include "gettext.h" rather than rolling
53353         our own.
53354         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
53355         * modules/acl (Depends-on): Add gettext.
53356
53357 2007-03-19  Bruno Haible  <bruno@clisp.org>
53358
53359         * modules/iconvme: Remove file.
53360         * lib/iconvme.h: Remove file.
53361         * lib/iconvme.c: Remove file.
53362         * m4/iconvme.m4: Remove file.
53363
53364 2007-03-19  Bruno Haible  <bruno@clisp.org>
53365
53366         * doc/relocatable-maint.texi: Break long shell script line.
53367         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
53368
53369 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53370
53371         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
53372         handle file_has_acl.
53373         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
53374         * lib/acl.c: Move header inclusions and related macro defns into
53375         lib/acl-internal.h.
53376         (S_ISLNK): Remove defn, since that's now done for us.
53377         (file_has_acl): Move to lib/file-has-acl.c.
53378         Call acl_trivial if available.  This is the crucial part of the fix.
53379         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
53380         shared within the library.  Rewrite a bit, partly to make it compatible
53381         with the GNU coding style.
53382         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
53383         Remove unnecessary double-quotes.
53384         Don't test for acl_to_text; the build will catch that.
53385         Replace acl_entries if it doesn't exist and it is needed.
53386         Check for -lsec and acl_trivial (as used on Solaris 10).
53387         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
53388         lib/file-has-acl.c.
53389         (Depends-on): Add sys_stat, for S_ISLNK.
53390
53391 2007-03-19  Ben Pfaff  <blp@gnu.org>
53392
53393         * doc/gnulib.texi: Fix typos.
53394         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
53395
53396 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53397
53398         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
53399         If size is zero here, buf must be zero.
53400
53401 2007-03-19  Simon Josefsson  <simon@josefsson.org>
53402
53403         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
53404         <bruno@clisp.org>.
53405
53406 2007-03-18  Bruno Haible  <bruno@clisp.org>
53407
53408         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
53409         Suggested by Eric Blake.
53410
53411 2007-03-18  Ben Pfaff  <blp@gnu.org>
53412
53413         * doc/relocatable.texi: Recommend using as prefix a directory
53414         that does not exist and will never be created.  Based on
53415         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
53416         and others.
53417
53418 2007-03-17  Bruno Haible  <bruno@clisp.org>
53419
53420         * lib/fchownat.c: Include lchown.h.
53421
53422 2007-03-17  Bruno Haible  <bruno@clisp.org>
53423
53424         Fix endless loop when the given allocated size was > INT_MAX.
53425         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
53426         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
53427         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
53428         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
53429         * lib/sprintf.c (sprintf): Likewise.
53430
53431 2007-03-17  Bruno Haible  <bruno@clisp.org>
53432
53433         * tests/test-argp-2.sh (func_compare): Output a context diff.
53434
53435 2007-03-17  Bruno Haible  <bruno@clisp.org>
53436
53437         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
53438         locale's decimal-point character.
53439
53440 2007-03-17  Bruno Haible  <bruno@clisp.org>
53441
53442         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
53443         before comparing it. Needed because on some platforms (e.g. x86) a
53444         'long double' occupies less bytes than sizeof (long double).
53445
53446 2007-03-17  Bruno Haible  <bruno@clisp.org>
53447
53448         * tests/test-crc.c (main): Make printf statements 64-bit clean.
53449         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
53450         * tests/test-getaddrinfo.c (simple): Likewise.
53451         * tests/test-read-file.c (main): Likewise.
53452
53453 2007-03-17  Bruno Haible  <bruno@clisp.org>
53454
53455         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
53456
53457 2007-03-17  Bruno Haible  <bruno@clisp.org>
53458
53459         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
53460         unused variable.
53461
53462 2007-03-17  Bruno Haible  <bruno@clisp.org>
53463
53464         * tests/test-c-strcasecmp.c: Include c-strcase.h.
53465         * tests/test-c-strncasecmp.c: Likewise.
53466
53467 2007-03-17  Bruno Haible  <bruno@clisp.org>
53468
53469         * modules/stdlib (Depends-on): Add unistd.
53470         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
53471         Needed for MacOS X 10.3.
53472
53473 2007-03-17  Bruno Haible  <bruno@clisp.org>
53474
53475         * lib/unistr/u-strdup.h: Include <stdlib.h>.
53476
53477 2007-03-17  Bruno Haible  <bruno@clisp.org>
53478
53479         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
53480
53481 2007-03-17  Bruno Haible  <bruno@clisp.org>
53482
53483         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
53484         to reflect files copied from gnulib (with or without modifications).
53485         Suggested by Jim Meyering.
53486
53487 2007-03-17  Eric Blake  <ebb9@byu.net>
53488
53489         * NEWS: Document stdlib change from 2007-02-18.
53490
53491 2007-03-17  Jim Meyering  <jim@meyering.net>
53492
53493         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
53494         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
53495         someone uses a name containing shell meta-characters.
53496         Reported by Alfred M. Szmidt.
53497
53498         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
53499
53500 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
53501
53502         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
53503         and copy gettext configuration files only if configure.ac contains
53504         a use of AM_GNU_GETTEXT_VERSION.
53505
53506 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
53507
53508         * build-aux/bootstrap (gnulib_name): New variable.
53509         (gnulib_tool_options): Use it.
53510
53511 2007-03-13  Simon Josefsson  <simon@josefsson.org>
53512
53513         * tests/test-des.c: Use new namespace.
53514
53515 2007-03-15  Bruno Haible  <bruno@clisp.org>
53516
53517         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
53518         Reported by James Youngman <jay@gnu.org>.
53519
53520 2007-03-15  Bruno Haible  <bruno@clisp.org>
53521
53522         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
53523         declared prototype. Needed with cc on OSF/1 5.1.
53524
53525 2007-03-15  Bruno Haible  <bruno@clisp.org>
53526
53527         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
53528         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
53529         (struct gl_list_implementation): Add dispose_fn argument to the
53530         'create_empty', 'create' methods.
53531         (struct gl_list_impl_base): Add field 'dispose_fn'.
53532         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
53533         argument.
53534         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
53535         dispose_fn argument.
53536         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
53537         dispose_fn on the dropped values.
53538         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
53539         dispose_fn argument.
53540         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
53541         dropped values.
53542         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
53543         (gl_tree_remove_node): Call dispose_fn on the dropped value.
53544         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
53545         (gl_tree_remove_node): Call dispose_fn on the dropped value.
53546         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
53547         argument.
53548         (gl_tree_list_free): Call dispose_fn on the dropped values.
53549         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
53550         the dropped values.
53551         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
53552         Add dispose_fn argument.
53553         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
53554         Call dispose_fn on the dropped values.
53555         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
53556         Add dispose_fn argument.
53557         (gl_sublist_create): Initialize the 'dispose_fn' field.
53558         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
53559         * tests/test-array_list.c (main): Update.
53560         * tests/test-carray_list.c (main): Update.
53561         * tests/test-avltree_list.c (main): Update.
53562         * tests/test-rbtree_list.c (main): Update.
53563         * tests/test-avltreehash_list.c (main): Update.
53564         * tests/test-rbtreehash_list.c (main): Update.
53565         * tests/test-linked_list.c (main): Update.
53566         * tests/test-linkedhash_list.c (main): Update.
53567         * tests/test-array_oset.c (main): Update.
53568
53569 2007-03-15  Bruno Haible  <bruno@clisp.org>
53570
53571         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
53572         (gl_oset_create_empty): Add dispose_fn argument.
53573         (struct gl_oset_implementation): Add dispose_fn argument to
53574         'create_empty' method.
53575         (struct gl_oset_impl_base): Add dispose_fn field.
53576         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
53577         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
53578         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
53579         values.
53580         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
53581         (gl_tree_oset_free): Call dispose_fn on the dropped values.
53582         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
53583         dropped value.
53584         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
53585         dropped value.
53586         * tests/test-array_oset.c (main): Update.
53587         * tests/test-avltree_oset.c (main): Update.
53588         * tests/test-rbtree_oset.c (main): Update.
53589         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
53590
53591 2007-03-13  Bruno Haible  <bruno@clisp.org>
53592
53593         * tests/test-stdbool.c (i): Update after last patch.
53594
53595 2007-03-12  Bruno Haible  <bruno@clisp.org>
53596
53597         * lib/quotearg.c: Include <wctype.h> early, before the definition of
53598         the iswprint macro. Needed on Solaris 2.5.1.
53599
53600 2007-03-12  Bruno Haible  <bruno@clisp.org>
53601
53602         * tests/test-printf-frexp.c (main): Declare x as volatile.
53603
53604 2007-03-12  Simon Josefsson  <simon@josefsson.org>
53605
53606         * doc/gnulib.texi (Build robot for gnulib): New section.
53607
53608 2007-03-12  Jim Meyering  <jim@meyering.net>
53609
53610         * build-aux/bootstrap: New file.
53611         * build-aux/bootstrap.conf: New file, from coreutils.
53612
53613 2007-03-11  Bruno Haible  <bruno@clisp.org>
53614
53615         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
53616
53617 2007-03-12  Simon Josefsson  <simon@josefsson.org>
53618
53619         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
53620         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
53621         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
53622
53623 2007-03-11  Bruno Haible  <bruno@clisp.org>
53624
53625         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
53626         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
53627
53628 2007-03-11  Bruno Haible  <bruno@clisp.org>
53629
53630         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
53631         formula. Needed for SunPRO C 5.0.
53632
53633 2007-03-11  Bruno Haible  <bruno@clisp.org>
53634
53635         * modules/long-options (Depends-on): Add getopt.
53636
53637 2007-03-11  Bruno Haible  <bruno@clisp.org>
53638
53639         * modules/modechange (Depends-on): Add stdbool.
53640
53641 2007-03-11  Bruno Haible  <bruno@clisp.org>
53642
53643         * modules/i-ring (Depends-on): Add stdbool.
53644
53645 2007-03-11  Bruno Haible  <bruno@clisp.org>
53646
53647         * modules/gc-des (Depends-on): Add stdbool.
53648
53649 2007-03-11  Bruno Haible  <bruno@clisp.org>
53650
53651         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
53652
53653 2007-03-11  Bruno Haible  <bruno@clisp.org>
53654
53655         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
53656
53657 2007-03-11  Bruno Haible  <bruno@clisp.org>
53658
53659         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
53660
53661 2007-03-11  Bruno Haible  <bruno@clisp.org>
53662
53663         * lib/vasnprintf.c (sprintf): Undefine.
53664
53665 2007-03-11  Bruno Haible  <bruno@clisp.org>
53666
53667         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
53668         initializers in SunPRO C and Compaq C compilers.
53669
53670 2007-03-11  Bruno Haible  <bruno@clisp.org>
53671
53672         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
53673         decrementing code ANSI C compliant.
53674
53675 2007-03-11  Bruno Haible  <bruno@clisp.org>
53676
53677         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
53678         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
53679
53680 2007-03-11  Bruno Haible  <bruno@clisp.org>
53681
53682         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
53683         <stdbool.h> substitute doesn't pass.
53684
53685 2007-03-11  Bruno Haible  <bruno@clisp.org>
53686
53687         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
53688
53689 2007-03-11  Bruno Haible  <bruno@clisp.org>
53690
53691         * gnulib-tool (func_create_megatestdir): Create also an autobuild
53692         script, for submission to autobuild.josefsson.org.
53693
53694 2007-03-10  Bruno Haible  <bruno@clisp.org>
53695
53696         * modules/canonicalize-lgpl-tests: New file.
53697         * tests/test-canonicalize-lgpl.sh: New file.
53698         * tests/test-canonicalize-lgpl.c: New file.
53699
53700         * modules/c-strcase-tests: New file.
53701         * tests/test-c-strcase.sh: New file.
53702         * tests/test-c-strcasecmp.c: New file.
53703         * tests/test-c-strncasecmp.c: New file.
53704
53705         * modules/atexit-tests: New file.
53706         * tests/test-atexit.sh: New file.
53707         * tests/test-atexit.c: New file.
53708
53709 2007-03-10  Bruno Haible  <bruno@clisp.org>
53710
53711         * tests/test-binary-io.sh: Use temporary filenames that are not so
53712         likely to clash with those of other tests (in a parallel make).
53713         * tests/test-binary-io.c: Likewise.
53714
53715 2007-03-10  Bruno Haible  <bruno@clisp.org>
53716
53717         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
53718         fallback; use #error instead.
53719         Suggested by Simon Josefsson.
53720
53721 2007-03-10  Bruno Haible  <bruno@clisp.org>
53722
53723         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
53724         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
53725         first and the last.
53726
53727 2007-03-10  Bruno Haible  <bruno@clisp.org>
53728
53729         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
53730
53731 2007-03-10  Bruno Haible  <bruno@clisp.org>
53732
53733         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
53734         "make distcheck".
53735         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
53736         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
53737         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
53738
53739 2007-03-10  Bruno Haible  <bruno@clisp.org>
53740
53741         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
53742         variable.
53743         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
53744         variable.
53745
53746 2007-03-09  Eric Blake  <ebb9@byu.net>
53747         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
53748
53749         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
53750         types are not being provided by gnulib.
53751         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
53752         types are supported.
53753
53754 2007-03-10  Bruno Haible  <bruno@clisp.org>
53755
53756         * lib/stdio_.h (__attribute__): New macro.
53757         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
53758         vsprintf): Specify __attribute__ __format__ for GCC.
53759         Suggested by Eric Blake.
53760
53761 2007-03-09  Bruno Haible  <bruno@clisp.org>
53762
53763         * modules/printf-posix-tests: New file.
53764         * tests/test-printf-posix.sh: New file.
53765         * tests/test-printf-posix.c: New file.
53766
53767         * modules/printf-posix: New file.
53768         * lib/printf.c: New file.
53769         * m4/printf-posix-rpl.m4: New file.
53770         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
53771         REPLACE_PRINTF.
53772         * lib/stdio_.h (printf): New declaration.
53773         (format, __format__, ____printf____, ____scanf____, ____strftime____,
53774         ____strfmon____): New macros.
53775         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
53776         REPLACE_PRINTF.
53777
53778 2007-03-09  Bruno Haible  <bruno@clisp.org>
53779
53780         * tests/test-vasnprintf-posix2.sh: New file.
53781         * tests/test-vasnprintf-posix2.c: New file.
53782         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
53783         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
53784         (Makefile.am): Activate test-vasnprintf-posix2.sh.
53785
53786         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
53787         a locale dependent decimal point, rather than always '.'.
53788
53789 2007-03-09  Eric Blake  <ebb9@byu.net>
53790
53791         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
53792         spite of platforms like Tandem/NSK that define it to -1.
53793
53794 2007-03-08  Bruno Haible  <bruno@clisp.org>
53795
53796         * modules/vprintf-posix-tests: New file.
53797         * tests/test-vprintf-posix.sh: New file.
53798         * tests/test-vprintf-posix.c: New file.
53799         * tests/test-printf-posix.h: New file.
53800
53801         * modules/vprintf-posix: New file.
53802         * lib/vprintf.c: New file.
53803         * m4/vprintf-posix.m4: New file.
53804         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
53805         REPLACE_VPRINTF.
53806         * lib/stdio_.h (vprintf): New declaration.
53807         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
53808         REPLACE_VPRINTF.
53809
53810 2007-03-08  Bruno Haible  <bruno@clisp.org>
53811
53812         * modules/fprintf-posix-tests: New file.
53813         * tests/test-fprintf-posix.sh: New file.
53814         * tests/test-fprintf-posix.c: New file.
53815
53816         * modules/fprintf-posix: New file.
53817         * lib/fprintf.c: New file.
53818         * m4/fprintf-posix.m4: New file.
53819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
53820         REPLACE_FPRINTF.
53821         * lib/stdio_.h (fprintf): New declaration.
53822         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
53823         REPLACE_FPRINTF.
53824
53825 2007-03-08  Bruno Haible  <bruno@clisp.org>
53826
53827         * modules/vfprintf-posix-tests: New file.
53828         * tests/test-vfprintf-posix.sh: New file.
53829         * tests/test-vfprintf-posix.c: New file.
53830         * tests/test-fprintf-posix.h: New file.
53831         * tests/test-fprintf-posix.out: New file.
53832
53833         * modules/vfprintf-posix: New file.
53834         * lib/vfprintf.c: New file.
53835         * m4/vfprintf-posix.m4: New file.
53836         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
53837         REPLACE_VFPRINTF.
53838         * lib/stdio_.h (vfprintf): New declaration.
53839         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
53840         REPLACE_VFPRINTF.
53841
53842 2007-03-08  Bruno Haible  <bruno@clisp.org>
53843
53844         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
53845
53846 2007-03-08  Bruno Haible  <bruno@clisp.org>
53847
53848         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
53849         instead of 'expr' invocations.
53850         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53851         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53852         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53853         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53854         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53855         Suggested by Paul Eggert.
53856
53857 2007-03-08  Bruno Haible  <bruno@clisp.org>
53858
53859         * modules/fseterr-tests: New file.
53860         * tests/test-fseterr.c: New file.
53861
53862         * modules/fseterr: New file.
53863         * lib/fseterr.h: New file.
53864         * lib/fseterr.c: New file.
53865
53866 2007-03-08  Bruno Haible  <bruno@clisp.org>
53867
53868         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
53869         * lib/getopt_.h: Likewise.
53870         * lib/mbswidth.h: Likewise.
53871         * lib/setenv.h: Likewise.
53872         * lib/vasnprintf.h: Likewise.
53873         * lib/vasprintf.h: Likewise.
53874         * lib/verror.h: Likewise.
53875         * lib/xsetenv.h: Likewise.
53876         * lib/xvasprintf.h: Likewise.
53877
53878 2007-03-08  Jim Meyering  <jim@meyering.net>
53879
53880         * users.txt: Add parted.
53881
53882         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
53883
53884 2007-03-07  Bruno Haible  <bruno@clisp.org>
53885
53886         * m4/printf.m4: Make the shell script snippets copy&pastable.
53887
53888 2007-03-02  Bruno Haible  <bruno@clisp.org>
53889
53890         * lib/netinet_in_.h: New file.
53891         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
53892         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
53893         * modules/netinet_in (Files): Add lib/netinet_in_.h.
53894         (Depends-on): Add absolute-header.
53895         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
53896         into netinet/in.h.
53897
53898 2007-03-03  Bruno Haible  <bruno@clisp.org>
53899
53900         * lib/sys_select_.h: New file.
53901         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
53902         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
53903         * modules/sys_select (Files): Add lib/sys_select_.h.
53904         (Depends-on): Add absolute-header.
53905         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
53906         into sys/select.h.
53907
53908 2007-03-02  Bruno Haible  <bruno@clisp.org>
53909
53910         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
53911         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
53912         values.
53913         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
53914         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
53915         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
53916         * modules/sys_socket (Depends-on): Add absolute-header.
53917         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
53918         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
53919         (Include): Remove requirement of inclusion of <sys/types.h>.
53920
53921 2007-03-02  Bruno Haible  <bruno@clisp.org>
53922
53923         * lib/byteswap_.h (bswap_32): Fix formula.
53924
53925 2007-03-06  Bruno Haible  <bruno@clisp.org>
53926
53927         * modules/sprintf-posix-tests: New file.
53928         * tests/test-sprintf-posix.c: New file.
53929
53930         * modules/sprintf-posix: New file.
53931         * lib/sprintf.c: New file.
53932         * m4/sprintf-posix.m4: New file.
53933         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
53934         REPLACE_SPRINTF.
53935         * lib/stdio_.h (sprintf): New declaration.
53936         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
53937         REPLACE_SPRINTF.
53938
53939 2007-03-06  Bruno Haible  <bruno@clisp.org>
53940
53941         * modules/vsprintf-posix-tests: New file.
53942         * tests/test-vsprintf-posix.c: New file.
53943         * tests/test-sprintf-posix.h: New file.
53944
53945         * modules/vsprintf-posix: New file.
53946         * lib/vsprintf.c: New file.
53947         * m4/vsprintf-posix.m4: New file.
53948         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
53949         REPLACE_VSPRINTF.
53950         * lib/stdio_.h (vsprintf): New declaration.
53951         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
53952         REPLACE_VSPRINTF.
53953
53954 2007-03-06  Bruno Haible  <bruno@clisp.org>
53955
53956         * modules/vsnprintf (Depend-on): Remove minmax.
53957
53958 2007-03-06  Bruno Haible  <bruno@clisp.org>
53959
53960         * modules/snprintf-posix-tests: New file.
53961         * tests/test-snprintf-posix.c: New file.
53962
53963         * modules/snprintf-posix: New file.
53964         * m4/snprintf-posix.m4: New file.
53965         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
53966         gl_FUNC_SNPRINTF.
53967         (gl_FUNC_SNPRINTF): Invoke it.
53968         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
53969         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
53970         is set.
53971         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
53972
53973 2007-03-06  Bruno Haible  <bruno@clisp.org>
53974
53975         * modules/vsnprintf-posix-tests: New file.
53976         * tests/test-vsnprintf-posix.c: New file.
53977         * tests/test-snprintf-posix.h: New file.
53978
53979         * modules/vsnprintf-posix: New file.
53980         * m4/vsnprintf-posix.m4: New file.
53981         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
53982         gl_FUNC_VSNPRINTF.
53983         (gl_FUNC_VSNPRINTF): Invoke it.
53984         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
53985         * lib/stdio_.h (vsnprintf): Define as a replacement if
53986         REPLACE_VSNPRINTF is set.
53987         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
53988
53989 2007-03-06  Bruno Haible  <bruno@clisp.org>
53990
53991         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
53992         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
53993
53994 2007-03-06  Bruno Haible  <bruno@clisp.org>
53995
53996         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
53997         (asinl): Declare also if HAVE_DECL_ASINL is set.
53998         (atanl): Declare also if HAVE_DECL_ATANL is set.
53999         (ceill): Declare also if HAVE_DECL_CEILL is set.
54000         (cosl): Declare also if HAVE_DECL_COSL is set.
54001         (expl): Declare also if HAVE_DECL_EXPL is set.
54002         (floorl): Declare also if HAVE_DECL_FLOORL is set.
54003         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
54004         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
54005         (logl): Declare also if HAVE_DECL_LOGL is set.
54006         (sinl): Declare also if HAVE_DECL_SINL is set.
54007         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
54008         (tanl): Declare also if HAVE_DECL_TANL is set.
54009         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
54010         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
54011         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
54012         declaration of frexpl, ldexpl.
54013         * modules/printf-frexpl (Depends-on): Add math.
54014         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
54015
54016 2007-03-05  Bruno Haible  <bruno@clisp.org>
54017
54018         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
54019         frexpl and ldexpl are declared.
54020         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
54021
54022 2007-03-05  Bruno Haible  <bruno@clisp.org>
54023
54024         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
54025         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
54026
54027 2007-03-05  Bruno Haible  <bruno@clisp.org>
54028
54029         * lib/stdio_.h: Include <stddef.h>.
54030
54031 2007-03-05  Bruno Haible  <bruno@clisp.org>
54032
54033         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
54034
54035 2007-03-05  Bruno Haible  <bruno@clisp.org>
54036
54037         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
54038         NetBSD 4, from Ralf Wildenhues.
54039
54040 2007-03-04  Bruno Haible  <bruno@clisp.org>
54041
54042         * lib/vasprintf.h: Update #if logic for the case when the functions
54043         exist but are overridden.
54044
54045 2007-03-04  Bruno Haible  <bruno@clisp.org>
54046
54047         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
54048         implementations: glibc-2.4 and MacOS X 10.3.
54049         * tests/test-vasnprintf-posix.c (test_function): Test also the case
54050         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
54051         * tests/test-vasprintf-posix.c (test_function): Likewise.
54052
54053 2007-03-04  Bruno Haible  <bruno@clisp.org>
54054
54055         * modules/vasprintf-posix-tests: New file.
54056         * tests/test-vasprintf-posix.c: New file.
54057
54058         * modules/vasprintf-posix: New file.
54059         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
54060         defined.
54061         * m4/vasprintf-posix.m4: New file.
54062         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
54063         gl_FUNC_VASPRINTF.
54064         (gl_FUNC_VASPRINTF): Invoke it.
54065         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
54066         here.
54067         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
54068
54069 2007-03-04  Bruno Haible  <bruno@clisp.org>
54070
54071         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
54072         REPLACE_GETTIMEOFDAY.
54073         * modules/sys_time (Makefile.am): Likewise.
54074         * m4/sys_time_h.m4: Likewise.
54075         * m4/gettimeofday.m4: Likewise.
54076
54077 2007-03-04  Bruno Haible  <bruno@clisp.org>
54078
54079         * modules/vasnprintf-posix-tests: New file.
54080         * tests/test-vasnprintf-posix.c: New file.
54081
54082         * modules/vasnprintf-posix: New file.
54083         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
54084         printf-frexpl.h.
54085         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
54086         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
54087         REPLACE_VASNPRINTF is defined.
54088         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
54089         gl_FUNC_VASNPRINTF.
54090         (gl_FUNC_VASNPRINTF): Invoke it.
54091         * m4/vasnprintf-posix.m4: New file.
54092         * m4/printf.m4: New file.
54093
54094 2007-03-04  Bruno Haible  <bruno@clisp.org>
54095
54096         Compile progreloc.c only if --enable-relocatable is specified.
54097         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
54098         if --enable-relocatable was specified.
54099         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
54100         lib_SOURCES.
54101
54102 2007-03-04  Jim Meyering  <jim@meyering.net>
54103
54104         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
54105         Use it consistently, rather than enumerating errno constants.
54106
54107 2007-03-04  Bruno Haible  <bruno@clisp.org>
54108
54109         * modules/xvasprintf-tests: New file.
54110         * tests/test-xvasprintf.c: New file.
54111
54112         * modules/vasprintf-tests: New file.
54113         * tests/test-vasprintf.c: New file.
54114
54115         * modules/vasnprintf-tests: New file.
54116         * tests/test-vasnprintf.c: New file.
54117
54118         * modules/vsnprintf-tests: New file.
54119         * tests/test-vsnprintf.c: New file.
54120
54121         * modules/snprintf-tests: New file.
54122         * tests/test-snprintf.c: New file.
54123
54124 2007-03-04  Bruno Haible  <bruno@clisp.org>
54125
54126         Compile relocatable.c only if --enable-relocatable is specified.
54127         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
54128         gl_RELOCATABLE_LIBRARY.
54129         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
54130         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
54131         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
54132         gl_RELOCATABLE_LIBRARY.
54133         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
54134         (Makefile.am): Remove lib_SOURCES.
54135         * modules/relocatable-lib-lgpl (configure.ac): Invoke
54136         gl_RELOCATABLE_LIBRARY.
54137         (Makefile.am): Remove lib_SOURCES.
54138         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
54139         always.
54140         * modules/relocatable-prog-wrapper (configure.ac): Invoke
54141         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
54142
54143 2007-03-04  Bruno Haible  <bruno@clisp.org>
54144
54145         * modules/argmatch-tests: New file.
54146         * tests/test-argmatch.c: New file.
54147
54148         * tests/test-allocsa.c (main): Halve the number of loop runs.
54149
54150         * modules/alloca-opt-tests: New file.
54151         * tests/test-alloca-opt.c: New file.
54152
54153 2007-03-04  Jim Meyering  <jim@meyering.net>
54154
54155         Work around difference between Linux ACLs and Solaris 10 ZFS.
54156         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
54157         for EINVAL.
54158
54159 2007-03-03  Bruno Haible  <bruno@clisp.org>
54160
54161         * modules/relocatable-prog (Depends-on): Add back progreloc's
54162         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
54163
54164 2007-03-03  Bruno Haible  <bruno@clisp.org>
54165
54166         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
54167         * modules/relocatable-lib: New file.
54168
54169 2007-03-03  Bruno Haible  <bruno@clisp.org>
54170
54171         * modules/relocatable-prog: Renamed from modules/relocatable.
54172         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
54173
54174 2007-03-03  Bruno Haible  <bruno@clisp.org>
54175
54176         * modules/relocatable-script (Files): Add doc/relocatable.texi,
54177         m4/relocatable-lib.m4.
54178         (Depends-on): Remove 'relocatable'.
54179         (configure.ac): Add gl_RELOCATABLE_NOP.
54180
54181 2007-03-03  Bruno Haible  <bruno@clisp.org>
54182
54183         * modules/relocatable-prog-wrapper: New file.
54184         * modules/relocatable (Depends-on): Add it. Remove all other
54185         dependencies except progname.
54186         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
54187
54188         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
54189         (gl_FUNC_STRERROR): Nop.
54190         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
54191
54192         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
54193         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
54194
54195         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
54196         (gl_FUNC_READLINK): Update.
54197
54198         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
54199
54200 2007-03-03  Bruno Haible  <bruno@clisp.org>
54201
54202         * lib/xreadlink.c: Include <unistd.h> unconditionally.
54203         * modules/xreadlink (Depends-on): Add unistd.
54204         * modules/xreadlink-with-size (Depends-on): Likewise.
54205
54206 2007-03-03  Bruno Haible  <bruno@clisp.org>
54207
54208         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
54209         extracted from gt_FUNC_SETENV.
54210         (gt_FUNC_SETENV): Remove macro.
54211         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
54212         remove gt_FUNC_SETENV.
54213
54214 2007-03-03  Bruno Haible  <bruno@clisp.org>
54215
54216         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
54217         ENABLE_RELOCATABLE here.
54218         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
54219
54220 2007-03-03  Bruno Haible  <bruno@clisp.org>
54221
54222         * modules/rbtreehash-list-tests (Depends-on): Add progname.
54223         * tests/test-rbtreehash_list.c: Include progname.h.
54224         (main): Call set_program_name.
54225
54226         * modules/rbtree-oset-tests (Depends-on): Add progname.
54227         * tests/test-rbtree_oset.c: Include progname.h.
54228         (main): Call set_program_name.
54229
54230         * modules/rbtree-list-tests (Depends-on): Add progname.
54231         * tests/test-rbtree_list.c: Include progname.h.
54232         (main): Call set_program_name.
54233
54234         * modules/linked-list-tests (Depends-on): Add progname.
54235         * tests/test-linked_list.c: Include progname.h.
54236         (main): Call set_program_name.
54237
54238 2007-03-03  Bruno Haible  <bruno@clisp.org>
54239
54240         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
54241         All uses of __restrict changed to _Restrict_.
54242         * lib/glob_.h (__restrict): Remove macro.
54243
54244 2007-03-02  Bruno Haible  <bruno@clisp.org>
54245
54246         * modules/gettext (configure.ac): Require gettext infrastructure
54247         from version 0.16.1.
54248
54249 2007-03-02  Bruno Haible  <bruno@clisp.org>
54250
54251         * modules/linkedhash-list-tests (Depends-on): Add progname.
54252         * tests/test-linkedhash_list.c: Include progname.h.
54253         (main): Call set_program_name.
54254
54255         * modules/carray-list-tests (Depends-on): Add progname.
54256         * tests/test-carray_list.c: Include progname.h.
54257         (main): Call set_program_name.
54258
54259         * modules/avltreehash-list-tests (Depends-on): Add progname.
54260         * tests/test-avltreehash_list.c: Include progname.h.
54261         (main): Call set_program_name.
54262
54263         * modules/avltree-oset-tests (Depends-on): Add progname.
54264         * tests/test-avltree_oset.c: Include progname.h.
54265         (main): Call set_program_name.
54266
54267         * modules/avltree-list-tests (Depends-on): Add progname.
54268         * tests/test-avltree_list.c: Include progname.h.
54269         (main): Call set_program_name.
54270
54271         * modules/array-oset-tests (Depends-on): Add progname.
54272         * tests/test-array_oset.c: Include progname.h.
54273         (main): Call set_program_name.
54274
54275         * modules/array-list-tests (Depends-on): Add progname.
54276         * tests/test-array_list.c: Include progname.h.
54277         (main): Call set_program_name.
54278
54279         * modules/argp-tests (Depends-on): Add progname.
54280         * tests/test-argp.c: Include argp.h first. Include progname.h.
54281         (main): Call set_program_name.
54282
54283 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
54284
54285         * doc/gnulib-tool.texi (Initial import): Reword description of
54286         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
54287         limited effect even if defined after the first system include.
54288
54289 2007-03-01  Bruno Haible  <bruno@clisp.org>
54290
54291         * build-aux/config.libpath: Update to libtool-1.5.22.
54292         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54293
54294 2007-03-01  Bruno Haible  <bruno@clisp.org>
54295
54296         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
54297         foo_CFLAGS.
54298         Reported by Ralf Wildenhues.
54299
54300 2007-03-01  Bruno Haible  <bruno@clisp.org>
54301
54302         * build-aux/install-reloc: Remove object files left over by some
54303         compilers.
54304         Reported by Ralf Wildenhues.
54305
54306 2007-03-01  Bruno Haible  <bruno@clisp.org>
54307
54308         * build-aux/install-reloc: Break long lines.
54309
54310 2007-03-01  Bruno Haible  <bruno@clisp.org>
54311
54312         * doc/relocatable.texi: Document that it may not work on OpenBSD.
54313         Reported by Ralf Wildenhues.
54314
54315 2007-03-01  Bruno Haible  <bruno@clisp.org>
54316
54317         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
54318         include ordering constraints.
54319
54320 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54321
54322         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
54323         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
54324         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
54325         as another example.
54326         * lib/time_.h: Fix misspelling.
54327         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
54328         Require gl_HEADER_TIME_H_DEFAULTS.
54329         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
54330         * m4/time_r.m4 (gl_TIME_R): Likewise.
54331         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
54332
54333 2007-03-01  Bruno Haible  <bruno@clisp.org>
54334
54335         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
54336         * m4/utimens.m4 (gl_UTIMENS): Likewise.
54337
54338 2007-03-01  Jim Meyering  <jim@meyering.net>
54339
54340         * modules/xreadlink (Maintainer): Add my name.
54341         * modules/xreadlink-with-size (Depends-on): Alphabetize.
54342
54343 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
54344             Bruno Haible  <bruno@clisp.org>
54345
54346         * build-aux/install-reloc: Compile also c-ctype.c.
54347         * build-aux/relocatable.sh.in: New file.
54348         * doc/relocatable.texi: New file.
54349         * doc/relocatable-maint.texi: New file.
54350         * doc/gnulib.texi: Include relocatable-maint.texi.
54351         * lib/progreloc.c: Include unistd.h unconditionally.
54352         * lib/relocwrapper.c: Include unistd.h unconditionally.
54353         Include c-ctype.h.
54354         (add_dotbin): Use c_tolower.
54355         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
54356         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
54357         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
54358         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
54359         to m4/relocatable-lib.m4.
54360         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
54361         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
54362         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
54363         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
54364         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
54365         * modules/relocatable: New file.
54366         * modules/relocatable-lib: New file.
54367         * modules/relocatable-script: New file.
54368
54369 2007-02-28  Bruno Haible  <bruno@clisp.org>
54370
54371         Import --enable-relocatable infrastructure.
54372         * build-aux/config.libpath: New file, from GNU gettext.
54373         * build-aux/install-reloc: New file, from GNU gettext.
54374         * build-aux/reloc-ldflags: New file, from GNU gettext.
54375         * lib/relocatable.h: New file, from GNU gettext.
54376         * lib/relocatable.c: New file, from GNU gettext.
54377         * lib/relocwrapper.c: New file, from GNU gettext.
54378         * m4/relocatable.m4: New file, from GNU gettext.
54379
54380 2007-02-28  Bruno Haible  <bruno@clisp.org>
54381
54382         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
54383
54384         * modules/xreadlink: New file, from GNU gettext with modifications.
54385         * lib/xreadlink.c: New file, from GNU gettext.
54386         * lib/xreadlink.h: Add comments.
54387         (xreadlink): New declaration.
54388
54389         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
54390         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
54391         lib/xreadlink-with-size.c.
54392         (configure.ac): Remove gl_XREADLINK invocation.
54393         (Makefile.am): Augment lib_SOURCES.
54394         * m4/xreadlink.m4: Remove file.
54395         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
54396         (xreadlink_with_size): Renamed from xreadink.
54397         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
54398         * modules/canonicalize (Depends-on): Replace xreadlink with
54399         xreadlink-with-size.
54400         * lib/canonicalize.c (canonicalize_filename_mode): Update.
54401
54402 2007-02-25  Jim Meyering  <jim@meyering.net>
54403
54404         * build-aux/announce-gen: When complaining about excess arguments,
54405         list them.
54406
54407 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54408
54409         * README: Document signed integer overflow situation more
54410         accurately.
54411
54412 2007-02-25  Bruno Haible  <bruno@clisp.org>
54413
54414         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
54415         'a' or 'A' conversion.
54416
54417 2007-02-25  Bruno Haible  <bruno@clisp.org>
54418
54419         * modules/filename: Renamed from modules/pathname.
54420         (Files): Replace lib/pathname.h with lib/filename.h. Replace
54421         lib/concatpath.c with lib/concat-filename.c.
54422         (Makefile.am): Update.
54423         (Include): Replace pathname.h with filename.h.
54424         * lib/filename.h: Renamed from lib/pathname.h.
54425         (concatenated_filename): Renamed from concatenated_pathname.
54426         * lib/concat-filename.c: Renamed from lib/concatpath.c.
54427         (concatenated_filename): Renamed from concatenated_pathname.
54428         * lib/findprog.c: Include filename.h instead of pathname.h.
54429         (find_in_path): Update.
54430         * lib/javacomp.c: Include filename.h instead of pathname.h.
54431         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
54432         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
54433         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
54434         is_oldgcj_14_13_usable, is_javac_usable): Update.
54435         * lib/javaexec.c: Include filename.h instead of pathname.h.
54436         (execute_java_class): Update.
54437         * modules/findprog: Update.
54438         * modules/javacomp: Update.
54439         * modules/javaexec: Update.
54440         * MODULES.html.sh (File system functions): Add 'filename', remove
54441         'pathname'.
54442
54443 2007-02-25  Bruno Haible  <bruno@clisp.org>
54444
54445         * modules/printf-frexpl-tests: New file.
54446         * tests/test-printf-frexpl.c: New file.
54447
54448         * modules/printf-frexpl: New file.
54449         * lib/printf-frexpl.h: New file.
54450         * lib/printf-frexpl.c: New file.
54451         * m4/printf-frexpl.m4: New file.
54452
54453 2007-02-25  Bruno Haible  <bruno@clisp.org>
54454
54455         * modules/printf-frexp-tests: New file.
54456         * tests/test-printf-frexp.c: New file.
54457
54458         * modules/printf-frexp: New file.
54459         * lib/printf-frexp.h: New file.
54460         * lib/printf-frexp.c: New file.
54461         * m4/printf-frexp.m4: New file.
54462
54463 2007-02-25  Bruno Haible  <bruno@clisp.org>
54464
54465         Assume automake >= 1.10 for the tests.
54466         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
54467         * modules/arctwo-tests: Likewise.
54468         * modules/argp-tests: Likewise.
54469         * modules/avltree-list-tests: Likewise.
54470         * modules/avltree-oset-tests: Likewise.
54471         * modules/avltreehash-list-tests: Likewise.
54472         * modules/carray-list-tests: Likewise.
54473         * modules/crc-tests: Likewise.
54474         * modules/des-tests: Likewise.
54475         * modules/gc-arcfour-tests: Likewise.
54476         * modules/gc-arctwo-tests: Likewise.
54477         * modules/gc-des-tests: Likewise.
54478         * modules/gc-hmac-md5-tests: Likewise.
54479         * modules/gc-hmac-sha1-tests: Likewise.
54480         * modules/gc-md2-tests: Likewise.
54481         * modules/gc-md4-tests: Likewise.
54482         * modules/gc-md5-tests: Likewise.
54483         * modules/gc-pbkdf2-sha1-tests: Likewise.
54484         * modules/gc-rijndael-tests: Likewise.
54485         * modules/gc-sha1-tests: Likewise.
54486         * modules/gc-tests: Likewise.
54487         * modules/getaddrinfo-tests: Likewise.
54488         * modules/hmac-md5-tests: Likewise.
54489         * modules/hmac-sha1-tests: Likewise.
54490         * modules/linked-list-tests: Likewise.
54491         * modules/linkedhash-list-tests: Likewise.
54492         * modules/lock-tests: Likewise.
54493         * modules/md2-tests: Likewise.
54494         * modules/md4-tests: Likewise.
54495         * modules/md5-tests: Likewise.
54496         * modules/rbtree-list-tests: Likewise.
54497         * modules/rbtree-oset-tests: Likewise.
54498         * modules/rbtreehash-list-tests: Likewise.
54499         * modules/read-file-tests: Likewise.
54500         * modules/rijndael-tests: Likewise.
54501         * modules/stdint-tests: Likewise.
54502         * modules/tls-tests: Likewise.
54503
54504 2007-02-24  Bruno Haible  <bruno@clisp.org>
54505
54506         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
54507         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
54508         function; instead check whether isnan with a double argument links.
54509         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
54510         function; instead check whether isnan with a 'long double' argument
54511         links.
54512         Reported by Eric Blake <ebb9@byu.net>.
54513
54514 2007-02-24  Bruno Haible  <bruno@clisp.org>
54515
54516         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
54517         defined.
54518         * lib/isnanl.c: Remove all code. Just include isnan.c.
54519         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
54520
54521 2007-02-25  Jim Meyering  <jim@meyering.net>
54522
54523         Avoid conflicting types for 'unsetenv' on FreeBSD.
54524         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
54525         conflicting with FreeBSD's (5.0 and 6.1) function declaration
54526         in stdlib.h.
54527
54528 2007-02-24  Bruno Haible  <bruno@clisp.org>
54529
54530         * modules/isnanl-nolibm-tests: New file.
54531         * tests/test-isnanl.c: New file.
54532
54533         * modules/isnanl-nolibm: New file.
54534         * lib/isnanl.h: New file.
54535         * lib/isnanl.c: New file.
54536         * m4/isnanl.m4: New file.
54537
54538 2007-02-24  Bruno Haible  <bruno@clisp.org>
54539
54540         * modules/isnan-nolibm-tests: New file.
54541         * tests/test-isnan.c: New file.
54542
54543         * modules/isnan-nolibm: New file.
54544         * lib/isnan.h: New file.
54545         * lib/isnan.c: New file.
54546         * m4/isnan.m4: New file.
54547
54548 2007-02-24  Bruno Haible  <bruno@clisp.org>
54549
54550         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
54551         assume that an exponent fits in 20 bits.
54552
54553 2007-02-24  Jim Meyering  <jim@meyering.net>
54554
54555         * m4/regex.m4: Update the description of the configure-time option,
54556         --without-included-regex, to state accurately what the defaults are,
54557         and perhaps to give people an idea why using this option is risky.
54558
54559 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
54560
54561         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
54562         loops on small arguments.  This attempts to avoid the problem
54563         Bruno Haible reported for AIX 4.3.2 in
54564         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
54565
54566 2007-02-23  Bruno Haible  <bruno@clisp.org>
54567
54568         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
54569         Needed for help2man.
54570
54571 2007-02-23  Karl Berry  <karl@gnu.org>
54572
54573         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
54574         exists, foo.h should be cvs-ignored, not committed.
54575
54576 2007-02-23  Eric Blake  <ebb9@byu.net>
54577
54578         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
54579         * lib/stat-time.h (includes): Likewise.
54580         * lib/utimecmp.c (includes): Likewise.
54581         * lib/utimens.h (includes): Likewise.
54582         * lib/getdate.y (includes): Also include "timespec.h" for use
54583         internal to the module.
54584         * modules/utimens (Depends-on): Revert yesterday's patch.
54585         * modules/nanosleep (Depends-on): Add missing dependency.
54586
54587 2007-02-22  Bruno Haible  <bruno@clisp.org>
54588
54589         * lib/glob.c: Don't include getlogin_r.h.
54590
54591 2007-02-22  Jim Meyering  <jim@meyering.net>
54592
54593         * modules/utimens (Depends-on): Add timespec, required for
54594         utimens.h's inclusion of timespec.h.
54595
54596 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
54597
54598         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
54599         long unreadable paths in GNU/Linux.  Problem reported by Andreas
54600         Schwab in
54601         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
54602         I'll try to think of a better way to fix the Solaris problem.
54603
54604         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
54605         like glibc; on Solaris 10, it fails with errno == EINVAL.
54606         POSIX says the behavior is unspecified if the first argument is NULL,
54607         so play it safe and never pass NULL to the system getcwd.
54608
54609 2007-02-21  Jim Meyering  <jim@meyering.net>
54610
54611         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
54612         of gettimeofday.  It would conflict with the one now always
54613         provided via sys_time_.h.  Reported by Matthew Woehlke, as
54614         an IRIX 6.5 build failure.
54615
54616 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
54617
54618         Minor fixups to port to Solaris 10 with Sun C 5.8.
54619         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
54620         * modules/getcwd (Depends-on): Add dirfd.
54621         * lib/putenv.c (putenv): #undef it.
54622         (rpl_putenv): New decl.
54623         (malloc, free): Include <stdlib.h> rather than prototyping separately.
54624
54625 2007-02-20  Bruno Haible  <bruno@clisp.org>
54626
54627         * modules/stdio-tests: New file.
54628         * tests/test-stdio.c: New file.
54629
54630         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
54631         (Depends-on): Add stdio.
54632         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
54633         (Include): Use <stdio.h> instead of vsnprintf.h.
54634         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
54635         HAVE_DECL_VSNPRINTF.
54636         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
54637
54638         * modules/snprintf (Files): Remove lib/snprintf.h.
54639         (Depends-on): Add stdio.
54640         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
54641         (Include): Use <stdio.h> instead of snprintf.h.
54642         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
54643         HAVE_DECL_SNPRINTF.
54644         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
54645         * lib/getaddrinfo.c: Likewise.
54646
54647         * modules/stdio: New file.
54648         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
54649         * lib/snprintf.h: Remove file.
54650         * lib/vsnprintf.h: Remove file.
54651         * lib/.cppi-disable: Remove snprintf.h.
54652         * m4/stdio_h.m4: New file.
54653         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
54654
54655 2007-02-20  Jim Meyering  <jim@meyering.net>
54656
54657         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
54658         used by e.g., mingw.  From Bruno Haible.
54659
54660 2007-02-19  Bruno Haible  <bruno@clisp.org>
54661
54662         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
54663         warnings.
54664         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54665
54666 2007-02-19  Bruno Haible  <bruno@clisp.org>
54667
54668         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
54669         from mingw users.
54670
54671 2007-02-19  Bruno Haible  <bruno@clisp.org>
54672
54673         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
54674         warnings.
54675         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
54676
54677 2007-02-19  Jim Meyering  <jim@meyering.net>
54678
54679         Don't use FD after a successful "fdopendir (fd)".
54680         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
54681         Reset it by calling dirfd on the just-obtained DIR*.
54682
54683         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
54684         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
54685
54686 2007-02-18  Bruno Haible  <bruno@clisp.org>
54687
54688         * lib/readlink.c: Include <unistd.h>.
54689         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
54690         HAVE_READLINK.
54691         * modules/readlink (Depends-on): Add unistd.
54692         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54693         (Include): Add <unistd.h>.
54694
54695         * lib/getlogin_r.h: Remove file.
54696         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
54697         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
54698         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
54699         HAVE_DECL_GETLOGIN_R.
54700         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
54701         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54702         (Include): Use <unistd.h> instead of getlogin_r.h.
54703
54704         * lib/getcwd.h: Remove file.
54705         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
54706         * lib/xgetcwd.c: Likewise.
54707         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
54708         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
54709         * modules/getcwd (Files): Remove lib/getcwd.h.
54710         (Depends-on): Add unistd.
54711         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54712         (Include): Use <unistd.h> instad of getcwd.h.
54713
54714         * lib/ftruncate.c: Include <unistd.h> first.
54715         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
54716         Set HAVE_FTRUNCATE.
54717         * modules/ftruncate (Depends-on): Add unistd.
54718         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54719
54720         * lib/fchdir.c: Include <unistd.h> first.
54721         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
54722         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
54723         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
54724         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54725         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
54726
54727         * lib/dup2.c: Include <unistd.h> first.
54728         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
54729         HAVE_DUP2.
54730         * modules/dup2 (Depends-on): Add unistd.
54731         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54732
54733         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
54734         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
54735         REPLACE_CHOWN. Don't define chown as a macro here.
54736         * modules/chown (Depends-on): Add unistd.
54737         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54738
54739         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
54740         Add definition for GL_LINK_WARNING.
54741         (chown, dup2): New declarations.
54742         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
54743         link warning.
54744         (ftruncate): New declaration.
54745         (getcwd): New declaration, taken from old getcwd.h.
54746         (getlogin_r): New declaration, taken from old getlogin_r.h.
54747         (readlink): New declaration.
54748         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
54749         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
54750         (gl_PREREQ_UNISTD): Remove macro.
54751         (gl_UNISTD_MODULE_INDICATOR): New macro.
54752         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
54753         many new variables. Don't set UNISTD_H.
54754         * modules/unistd (Description): Change.
54755         (Depends-on): Add link-warning.
54756         (configure.ac): Update.
54757         (Makefile.am): Create unistd.h always. Substitute many new variables
54758         into it.
54759
54760 2007-02-18  Bruno Haible  <bruno@clisp.org>
54761
54762         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
54763         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
54764         HAVE_GETSUBOPT.
54765         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
54766         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
54767         * lib/getsubopt.h: Remove file.
54768         * modules/getsubopt (Files): Remove lib/getsubopt.h.
54769         (Depends-on): Add stdlib.
54770         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54771         (Includes): Use <stdlib.h> instead of getsubopt.h.
54772         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
54773         Set HAVE_GETSUBOPT.
54774         * lib/getsubopt.c: Don't include getsubopt.h.
54775
54776 2007-02-18  Bruno Haible  <bruno@clisp.org>
54777
54778         * modules/fchdir (Depends-on): Add dup2.
54779
54780 2007-02-18  Bruno Haible  <bruno@clisp.org>
54781
54782         * lib/stdlib_.h: Handle glibc's special invocation convention
54783         specially.
54784
54785 2007-02-18  Bruno Haible  <bruno@clisp.org>
54786
54787         * modules/stdlib-tests: New file.
54788         * tests/test-stdlib.c: New file.
54789
54790         * modules/mkstemp (Files): Remove lib/mkstemp.h.
54791         (Depends-on): Add stdlib.
54792         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54793         (Includes): Use <stdlib.h> instead of mkstemp.h.
54794         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
54795         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
54796         * lib/mkstemp.c: Don't include mkstemp.h.
54797         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
54798         * lib/stdlib--.h: Don't include mkstemp.h.
54799
54800         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
54801         (Depends-on): Add stdlib.
54802         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54803         (Includes): Use <stdlib.h> instead of mkdtemp.h.
54804         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
54805         HAVE_MKDTEMP.
54806         * lib/mkdtemp.c: Don't include mkdtemp.h.
54807         * lib/clean-temp.c: Don't include mkdtemp.h.
54808
54809         * modules/exit (Files): Remove lib/exit.h.
54810         (Depends-on): Add stdlib.
54811         (Makefile.am): Remove lib_SOURCES.
54812         (Include): Use <stdlib.h> instead of exit.h.
54813         * lib/argmatch.c: Don't include exit.h.
54814         * lib/execute.c: Likewise.
54815         * lib/pagealign_alloc.c: Likewise.
54816         * lib/pipe.c: Likewise.
54817         * lib/wait-process.c: Likewise.
54818         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
54819         * lib/exitfail.c: Likewise.
54820         * lib/savewd.c: Likewise.
54821         * lib/xsetenv.c: Likewise.
54822
54823         * modules/stdlib: New file.
54824         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
54825         and extra comments about mkstemp().
54826         * lib/exit.h: Remove file.
54827         * lib/mkdtemp.h: Remove file.
54828         * lib/mkstemp.h: Remove file.
54829         * m4/stdlib_h.m4: New file.
54830         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
54831
54832 2007-02-18  Bruno Haible  <bruno@clisp.org>
54833
54834         * modules/math-tests: New file.
54835         * tests/test-math.c: New file.
54836
54837         * modules/math: New file.
54838         * modules/mathl (Files): Remove lib/mathl.h.
54839         (Depends-on): Add math.
54840         (Makefile.am): Don't mention mathl.h.
54841         (Include): Use <math.h> instead of mathl.h.
54842         * lib/math_.h: New file.
54843         * lib/mathl.h: Remove file.
54844         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
54845         mathl.h.
54846         * lib/asinl.c: Likewise.
54847         * lib/atanl.c: Likewise.
54848         * lib/ceill.c: Likewise.
54849         * lib/cosl.c: Likewise.
54850         * lib/expl.c: Likewise.
54851         * lib/floorl.c: Likewise.
54852         * lib/frexpl.c: Likewise.
54853         * lib/ldexpl.c: Likewise.
54854         * lib/logl.c: Likewise.
54855         * lib/sincosl.c: Likewise.
54856         * lib/sinl.c: Likewise.
54857         * lib/sqrtl.c: Likewise.
54858         * lib/tanl.c: Likewise.
54859         * lib/trigl.c: Likewise.
54860         * m4/math_h.m4: New file.
54861         * MODULES.html.sh (Mathematics): Add math.
54862
54863 2007-02-17  Bruno Haible  <bruno@clisp.org>
54864
54865         * modules/wctype-tests: New file.
54866         * tests/test-wctype.c: New file.
54867
54868         * modules/wchar-tests: New file.
54869         * tests/test-wchar.c: New file.
54870
54871         * modules/unistd-tests: New file.
54872         * tests/test-unistd.c: New file.
54873
54874         * modules/time-tests: New file.
54875         * tests/test-time.c: New file.
54876
54877         * modules/sysexits-tests: New file.
54878         * tests/test-sysexits.c: New file.
54879
54880         * modules/sys_time-tests: New file.
54881         * tests/test-sys_time.c: New file.
54882
54883         * modules/sys_stat-tests: New file.
54884         * tests/test-sys_stat.c: New file.
54885
54886         * modules/sys_socket-tests: New file.
54887         * tests/test-sys_socket.c: New file.
54888
54889         * modules/sys_select-tests: New file.
54890         * tests/test-sys_select.c: New file.
54891
54892         * modules/string-tests: New file.
54893         * tests/test-string.c: New file.
54894
54895         * modules/stdbool-tests: New file.
54896         * tests/test-stdbool.c: New file.
54897
54898         * modules/netinet_in-tests: New file.
54899         * tests/test-netinet_in.c: New file.
54900
54901         * modules/inttypes-tests: New file.
54902         * tests/test-inttypes.c: New file.
54903
54904         * modules/fcntl-tests: New file.
54905         * tests/test-fcntl.c: New file.
54906
54907         * modules/byteswap-tests: New file.
54908         * tests/test-byteswap.c: New file.
54909
54910         * modules/arpa_inet-tests: New file.
54911         * tests/test-arpa_inet.c: New file.
54912
54913 2007-02-17  Bruno Haible  <bruno@clisp.org>
54914
54915         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
54916         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
54917         if the corresponding module is not enabled. Emit link warnings if
54918         the function is used nevertheless.
54919         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
54920         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
54921         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
54922         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
54923         * modules/inttypes (Depends-on): Add link-warning.
54924         (Makefile.am): Copy the contents of build-aux/link-warning.h into
54925         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
54926         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
54927         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
54928         * modules/imaxdiv (configure.ac): Likewise.
54929         * modules/strtoimax (configure.ac): Likewise.
54930         * modules/strtoumax (configure.ac): Likewise.
54931
54932 2007-02-17  Bruno Haible  <bruno@clisp.org>
54933
54934         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
54935         gl_STRING_MODULE_INDICATOR_DEFAULTS.
54936         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
54937         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
54938
54939 2007-02-17  Bruno Haible  <bruno@clisp.org>
54940
54941         * modules/link-warning: New file.
54942         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
54943         * lib/string_.h (GL_LINK_WARNING): Remove definition.
54944         * modules/string (Depends-on): Add link-warning.
54945         (Makefile.am): Copy the contents of build-aux/link-warning.h into
54946         string.h.
54947         * MODULES.html.sh (Support for building libraries and executables): Add
54948         link-warning.
54949
54950 2007-02-17  Bruno Haible  <bruno@clisp.org>
54951
54952         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
54953         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
54954         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
54955         long lines.
54956
54957 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
54958             Bruno Haible  <bruno@clisp.org>
54959
54960         * modules/tmpfile: New file.
54961         * lib/tmpfile.c: New file.
54962         * m4/tmpfile.m4: New file.
54963         * MODULES.html.sh (func_all_modules): New section "Input/output".
54964
54965 2007-02-15  Bruno Haible  <bruno@clisp.org>
54966
54967         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
54968         (supports_delete_on_close): New function.
54969         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
54970
54971 2007-02-14  Bruno Haible  <bruno@clisp.org>
54972
54973         * modules/mbspcasecmp-tests: New file.
54974         * tests/test-mbspcasecmp.sh: New file.
54975         * tests/test-mbspcasecmp.c: New file.
54976
54977         New module mbspcasecmp.
54978         * modules/mbspcasecmp: New file.
54979         * lib/mbspcasecmp.c: New file.
54980         * lib/string_.h (strncasecmp): Change warning message.
54981         (mbspcasecmp): New declaration.
54982         * m4/mbspcasecmp.m4: New file.
54983         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54984         GNULIB_MBSPCASECMP.
54985         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
54986         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
54987
54988 2007-02-14  Bruno Haible  <bruno@clisp.org>
54989
54990         * modules/mbsncasecmp-tests: New file.
54991         * tests/test-mbsncasecmp.sh: New file.
54992         * tests/test-mbsncasecmp.c: New file.
54993
54994         New module mbsncasecmp.
54995         * modules/mbsncasecmp: New file.
54996         * lib/mbsncasecmp.c: New file.
54997         * lib/string_.h (mbsncasecmp): New declaration.
54998         * m4/mbsncasecmp.m4: New file.
54999         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55000         GNULIB_MBSNCASECMP.
55001         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
55002         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
55003
55004 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
55005
55006         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
55007         Verify that it doesn't overlap with our flags.
55008         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
55009         do not have the desired effect in multibyte locales; instead, use
55010         mbscasecmp.
55011         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
55012         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
55013         we don't require GNU fnmatch ourselves (if our users require it, they
55014         should do so explicitly).
55015
55016         Fix regex code so it doesn't rely on strcasecmp.
55017         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
55018         Otherwise, include gnulib's langinfo.h.
55019         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
55020         undesirable behavior in non-C locales.  Instead, rely on localecharset.
55021         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
55022         * modules/regex (FILES): Remove m4/codeset.m4.
55023         (Depends-on): Add localcharset.  Remove strcase.
55024
55025 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55026
55027         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
55028         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
55029
55030 2007-02-13  Bruno Haible  <bruno@clisp.org>
55031
55032         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
55033         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55034
55035 2007-02-12  Bruno Haible  <bruno@clisp.org>
55036
55037         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
55038         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
55039         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
55040         time warning rather than a link error.
55041
55042 2007-02-12  Bruno Haible  <bruno@clisp.org>
55043
55044         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
55045         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55046         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55047
55048 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
55049
55050         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
55051         args, not 2.
55052
55053 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
55054
55055         New module 'time', so that apps can include <time.h> as per
55056         POSIX and GNU instead of separate include files like time_r.h
55057         and timegm.h.  This implementation tries out a simpler approach
55058         for replacing decls in standard include files (as compared to
55059         the string module), somewhat as an experiment.
55060
55061         * config/srclist.txt: Comment out mktime.c for now.
55062         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
55063         since it doesn't apply any more.  Use generic wording instead.
55064         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
55065         'time'.
55066         * lib/time_.h, m4/time_h.m4, modules/time: New files.
55067         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
55068         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
55069         Don't include <sys/types.h>; no longer needed since we assume C89.
55070         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
55071         * lib/strftime.c: Likewise.
55072         * lib/time_r.c: Likewise.
55073         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
55074         * lib/nanosleep.c: Include <time.h> first, to check interface.
55075         * lib/strptime.c: Likewise.
55076         * lib/time_r.c: Likewise.
55077         * lib/timegm.c: Likewise.
55078         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
55079         needed.
55080         * lib/timegm.c: Don't include timegm.h; no longer needed.
55081         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
55082         time.h now handles any problems in that area.
55083         (struct timespec, nanosleep): Remove; time.h now arranges for these.
55084         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
55085         that time.h defines struct timespec.
55086         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
55087         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
55088         handles that.
55089         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
55090         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
55091         needed.  Set REPLACE_LOCALTIME.
55092         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
55093         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
55094         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
55095         nanosleep; time_h.m4 now does that.  Don't require
55096         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
55097         module handles this now.
55098         * modules/getdate (Depends-on): Remove timespec.  Add time.
55099         * modules/nanosleep (Depends-on): Likewise.
55100         * modules/stat-time (Depends-on): Likewise.
55101         * modules/nanosleep (Include): Include time.h, not timespec.h.
55102         * modules/strptime (Files): Remove lib/strptime.h.
55103         (Depends-on): Add extensions, time.
55104         (Include): Include time.h, not strptime.h.
55105         * modules/time_r (Files): Remove lib/time_r.h.
55106         (Depends-on): Add time.
55107         (Include): Include time.h, not time_r.h.
55108         * modules/timegm: Likewise.
55109         * modules/timespec (Description): Now does timespec-related decls
55110         of our own, instead of struct timespec itself.
55111         (Depends-on): Add time; remove extensions.
55112         (Maintainer): Add self.
55113         * modules/utimecmp (Depends-on): Add time; remove timespec.
55114         * modules/utimens (Depends-on): Likewise.
55115         * modules/xnanosleep (Depends-on): Likewise.
55116
55117 2007-02-11  Bruno Haible  <bruno@clisp.org>
55118
55119         * lib/c-strstr.c: Include allocsa.h.
55120         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
55121         * lib/c-strcasestr.c: Include allocsa.h.
55122         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
55123         * lib/strcasestr.c: Include allocsa.h.
55124         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
55125         * lib/mbsstr.c: Include allocsa.h.
55126         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
55127         allocsa/freesa instead of malloc/free.
55128         * lib/mbscasestr.c: Include allocsa.h.
55129         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
55130         allocsa/freesa instead of malloc/free.
55131         * modules/c-strstr (Depends-on): Add allocsa.
55132         * modules/c-strcasestr (Depends-on): Likewise.
55133         * modules/strcasestr (Depends-on): Likewise.
55134         * modules/mbsstr (Depends-on): Likewise.
55135         * modules/mbscasestr (Depends-on): Likewise.
55136
55137 2007-02-11  Bruno Haible  <bruno@clisp.org>
55138
55139         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
55140
55141         * modules/mbsspn-tests: New file.
55142         * tests/test-mbsspn.sh: New file.
55143         * tests/test-mbsspn.c: New file.
55144
55145 2007-02-11  Bruno Haible  <bruno@clisp.org>
55146
55147         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
55148
55149         * modules/mbspbrk-tests: New file.
55150         * tests/test-mbspbrk.sh: New file.
55151         * tests/test-mbspbrk.c: New file.
55152
55153 2007-02-11  Bruno Haible  <bruno@clisp.org>
55154
55155         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
55156         unneeded cast.
55157
55158         * modules/mbscspn-tests: New file.
55159         * tests/test-mbscspn.sh: New file.
55160         * tests/test-mbscspn.c: New file.
55161
55162 2007-02-11  Bruno Haible  <bruno@clisp.org>
55163
55164         * modules/mbscasecmp-tests: New file.
55165         * tests/test-mbscasecmp.sh: New file.
55166         * tests/test-mbscasecmp.c: New file.
55167
55168 2007-02-11  Bruno Haible  <bruno@clisp.org>
55169
55170         Ensure O(n) worst-case complexity of mbscasestr.
55171         * lib/mbscasestr.c: Include stdbool.h.
55172         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
55173         functions.
55174         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
55175         the bookkeeping indicates that it's worth it.
55176         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
55177
55178         * modules/mbscasestr-tests: New file.
55179         * tests/test-mbscasestr1.c: New file.
55180         * tests/test-mbscasestr2.sh: New file.
55181         * tests/test-mbscasestr2.c: New file.
55182         * tests/test-mbscasestr3.sh: New file.
55183         * tests/test-mbscasestr3.c: New file.
55184         * tests/test-mbscasestr4.sh: New file.
55185         * tests/test-mbscasestr4.c: New file.
55186         * m4/locale-tr.m4: New file.
55187
55188 2007-02-11  Bruno Haible  <bruno@clisp.org>
55189
55190         Ensure O(n) worst-case complexity of mbsstr.
55191         * lib/mbsstr.c: Include stdbool.h.
55192         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
55193         functions.
55194         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
55195         bookkeeping indicates that it's worth it.
55196         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
55197
55198         * modules/mbsstr-tests: New file.
55199         * tests/test-mbsstr1.c: New file.
55200         * tests/test-mbsstr2.sh: New file.
55201         * tests/test-mbsstr2.c: New file.
55202         * tests/test-mbsstr3.sh: New file.
55203         * tests/test-mbsstr3.c: New file.
55204         * m4/locale-fr.m4: New file.
55205
55206 2007-02-11  Bruno Haible  <bruno@clisp.org>
55207
55208         * lib/mbsrchr.c (mbsrchr): Fix bug.
55209
55210         * modules/mbsrchr-tests: New file.
55211         * tests/test-mbsrchr.sh: New file.
55212         * tests/test-mbsrchr.c: New file.
55213
55214 2007-02-11  Bruno Haible  <bruno@clisp.org>
55215
55216         * lib/mbschr.c (mbschr): Fix bug.
55217
55218         * modules/mbschr-tests: New file.
55219         * tests/test-mbschr.sh: New file.
55220         * tests/test-mbschr.c: New file.
55221         * m4/locale-zh.m4: New file.
55222
55223 2007-02-11  Bruno Haible  <bruno@clisp.org>
55224
55225         Support for copying multibyte string iterators.
55226         * lib/mbiter.h: Include <string.h>.
55227         (mbiter_multi_copy): New function.
55228         (mbi_copy): New macro.
55229         * lib/mbuiter.h: Include <string.h>.
55230         (mbuiter_multi_copy): New function.
55231         (mbui_copy): New macro.
55232
55233 2007-02-11  Bruno Haible  <bruno@clisp.org>
55234
55235         New module mbslen.
55236         * modules/mbslen: New file.
55237         * lib/mbslen.c: New file.
55238         * lib/string_.h (mbslen): New declaration.
55239         * m4/mbslen.m4: New file.
55240         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55241         GNULIB_MBSLEN.
55242         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
55243         * MODULES.html.sh (Internationalization functions): Add mbslen.
55244
55245 2007-02-11  Bruno Haible  <bruno@clisp.org>
55246
55247         Ensure O(n) worst-case complexity of strcasestr substitute.
55248         * lib/strcasestr.c: Include stdbool.h.
55249         (knuth_morris_pratt): New function.
55250         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
55251         bookkeeping indicates that it's worth it.
55252         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
55253
55254         * modules/strcasestr-tests: New file.
55255         * tests/test-strcasestr.c: New file.
55256
55257 2007-02-11  Bruno Haible  <bruno@clisp.org>
55258
55259         Ensure O(n) worst-case complexity of c_strcasestr.
55260         * lib/c-strcasestr.c: Include stdbool.h, string.h.
55261         (knuth_morris_pratt): New function.
55262         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
55263         the bookkeeping indicates that it's worth it.
55264         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
55265
55266         * modules/c-strcasestr-tests: New file.
55267         * tests/test-c-strcasestr.c: New file.
55268
55269 2007-02-11  Bruno Haible  <bruno@clisp.org>
55270
55271         Ensure O(n) worst-case complexity of c_strstr.
55272         * lib/c-strstr.c: Include stdbool.h, string.h.
55273         (knuth_morris_pratt): New function.
55274         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
55275         bookkeeping indicates that it's worth it.
55276         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
55277
55278         * lib/c-strstr.c: Complete rewrite for maintainability.
55279
55280         * modules/c-strstr-tests: New file.
55281         * tests/test-c-strstr.c: New file.
55282
55283 2007-02-11  Bruno Haible  <bruno@clisp.org>
55284
55285         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
55286         5.2.1 and earlier, whereby \055 was treated just like the range
55287         delimiter '-'.
55288         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55289
55290 2007-02-08  Bruno Haible  <bruno@clisp.org>
55291
55292         * modules/regex (Depends-on): Add stdbool.
55293         Reported by Dalibor Topic <robilad@kaffe.org>.
55294
55295 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55296
55297         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
55298         Prefer returning from main to exiting from it.
55299         Remove unnecessary parens after sizeof.
55300
55301 2007-02-05  Bruno Haible  <bruno@clisp.org>
55302
55303         New module mbssep.
55304         * modules/mbssep: New file.
55305         * lib/mbssep.c: New file.
55306         * lib/string_.h (strsep): Add a conditional link warning.
55307         (mbssep): New declaration.
55308         * m4/mbssep.m4: New file.
55309         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55310         GNULIB_MBSSEP.
55311         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
55312         * MODULES.html.sh (Internationalization functions): Add mbssep.
55313
55314 2007-02-05  Bruno Haible  <bruno@clisp.org>
55315
55316         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
55317         Optimize search in case of 1 delimiter.
55318
55319 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
55320
55321         * lib/acl.h: Include sys/types.h before sys/acl.h.
55322
55323 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
55324
55325         Merge upstream fix for glibc bugzilla #3957:
55326
55327         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
55328
55329         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
55330         bit for RE_HAT_LISTS_NOT_NEWLINE.
55331         (build_charclass_op): Remove bogus comment.
55332
55333 2007-02-05  Simon Josefsson  <simon@josefsson.org>
55334
55335         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
55336
55337 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55338
55339         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
55340         * lib/memmem.c [!defined _LIBC]: Include config.h.
55341
55342 2007-02-04  Bruno Haible  <bruno@clisp.org>
55343
55344         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
55345         warning message.
55346
55347 2007-02-04  Bruno Haible  <bruno@clisp.org>
55348
55349         New module mbstok_r.
55350         * modules/mbstok_r: New file.
55351         * lib/mbstok_r.c: New file.
55352         * lib/string_.h (strtok_r): Change argument names to match the
55353         comments. Add a conditional link warning.
55354         (mbstok_r): New declaration.
55355         * m4/mbstok_r.m4: New file.
55356         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55357         GNULIB_MBSTOK_R.
55358         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
55359         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
55360
55361 2007-02-04  Bruno Haible  <bruno@clisp.org>
55362
55363         New module mbsspn.
55364         * modules/mbsspn: New file.
55365         * lib/mbsspn.c: New file.
55366         * lib/string_.h (strspn): Add a conditional link warning.
55367         (mbsspn): New declaration.
55368         * m4/mbsspn.m4: New file.
55369         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55370         GNULIB_MBSSPN.
55371         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
55372         * MODULES.html.sh (Internationalization functions): Add mbsspn.
55373
55374 2007-02-04  Bruno Haible  <bruno@clisp.org>
55375
55376         New module mbspbrk.
55377         * modules/mbspbrk: New file.
55378         * lib/mbspbrk.c: New file.
55379         * lib/string_.h (strpbrk): Add a conditional link warning.
55380         (mbspbrk): New declaration.
55381         * m4/mbspbrk.m4: New file.
55382         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55383         GNULIB_MBSPBRK.
55384         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
55385         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
55386
55387 2007-02-04  Bruno Haible  <bruno@clisp.org>
55388
55389         New module mbscspn.
55390         * modules/mbscspn: New file.
55391         * lib/mbscspn.c: New file.
55392         * lib/string_.h (strcspn): Add a conditional link warning.
55393         (mbscspn): New declaration.
55394         * m4/mbscspn.m4: New file.
55395         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55396         GNULIB_MBSCSPN.
55397         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
55398         * MODULES.html.sh (Internationalization functions): Add mbscspn.
55399
55400 2007-02-04  Bruno Haible  <bruno@clisp.org>
55401
55402         New module mbscasestr, reduced goal of strcasestr.
55403         * modules/mbscasestr: New file.
55404         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
55405         (mbscasestr): Renamed from strcasestr.
55406         * lib/strcasestr.c: Don't include mbuiter.h.
55407         (strcasestr): Remove support for multibyte locales.
55408         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
55409         Change the conditional link warning.
55410         (mbscasestr): New declaration.
55411         * m4/mbscasestr.m4: New file.
55412         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
55413         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
55414         REPLACE_STRCASESTR.
55415         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
55416         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55417         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
55418         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
55419         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
55420         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
55421         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
55422         (Depends-on): Remove mbuiter.
55423         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
55424
55425 2007-02-04  Bruno Haible  <bruno@clisp.org>
55426
55427         Simplify handling of strncasecmp.
55428         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
55429         the conditional link warning.
55430         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55431         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
55432         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
55433         * modules/strcase (configure.ac): Don't invoke
55434         gl_STRING_MODULE_INDICATOR.
55435         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
55436
55437 2007-02-04  Bruno Haible  <bruno@clisp.org>
55438
55439         New module mbscasecmp, reduced goal of strcasecmp.
55440         * modules/mbscasecmp: New file.
55441         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
55442         (mbscasecmp): Renamed from strcasecmp.
55443         * lib/strcasecmp.c: Don't include mbuiter.h.
55444         (strcasecmp): Remove support for multibyte locales.
55445         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
55446         Change the conditional link warning.
55447         (mbscasecmp): New declaration.
55448         * m4/mbscasecmp.m4: New file.
55449         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
55450         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
55451         REPLACE_STRCASECMP.
55452         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
55453         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55454         GNULIB_MBSCASECMP.
55455         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
55456         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
55457         * modules/strcase (Files): Remove m4/mbrtowc.m4.
55458         (Depends-on): Remove mbuiter.
55459         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
55460
55461 2007-02-04  Bruno Haible  <bruno@clisp.org>
55462
55463         New module mbsstr. Remove module strstr.
55464         * modules/mbsstr: New file.
55465         * modules/strstr: Remove file.
55466         * lib/mbsstr.c: Renamed from lib/strstr.c.
55467         (mbsstr): Renamed from strstr.
55468         * lib/string_.h (strstr): Remove declaration. Change the conditional
55469         link warning.
55470         (mbsstr): New declaration.
55471         * m4/mbsstr.m4: New file.
55472         * m4/strstr.m4: Remove file.
55473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
55474         REPLACE_STRSTR.
55475         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
55476         Don't initialize GNULIB_STRSTR.
55477         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
55478         substitute GNULIB_STRSTR and REPLACE_STRSTR.
55479         * MODULES.html.sh (Internationalization functions): Add mbsstr.
55480         (Support for systems lacking ANSI C 89): Remove strstr.
55481
55482 2007-02-04  Bruno Haible  <bruno@clisp.org>
55483
55484         New module mbsrchr.
55485         * modules/mbsrchr: New file.
55486         * lib/mbsrchr.c: New file.
55487         * lib/string_.h (strrchr): Add a conditional link warning.
55488         (mbsrchr): New declaration.
55489         * m4/mbsrchr.m4: New file.
55490         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55491         GNULIB_MBSRCHR.
55492         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
55493         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
55494
55495 2007-02-04  Bruno Haible  <bruno@clisp.org>
55496
55497         New module mbschr.
55498         * modules/mbschr: New file.
55499         * lib/mbschr.c: New file.
55500         * lib/string_.h (strchr): Add a conditional link warning.
55501         (mbschr): New declaration.
55502         * m4/mbschr.m4: New file.
55503         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55504         GNULIB_MBSCHR.
55505         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
55506         * MODULES.html.sh (Internationalization functions): Add mbschr.
55507
55508 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55509
55510         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
55511
55512         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
55513
55514 2007-02-04  Bruno Haible  <bruno@clisp.org>
55515
55516         New module description section 'configure.ac-early'.
55517         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
55518         (func_get_autoconf_early_snippet): New function.
55519         (func_import, func_create_testdir): Use it. Remove special cases for
55520         modules 'extensions' and 'lock'.
55521         * modules/extensions (configure.ac-early): Require
55522         gl_USE_SYSTEM_EXTENSIONS.
55523         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
55524
55525 2007-02-04  Bruno Haible  <bruno@clisp.org>
55526
55527         Make use of gcj-4.3's -fsource and -ftarget option.
55528         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
55529         and if so try the options -fsource and -ftarget.
55530         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
55531         source_version, ftarget_option, target_version arguments.
55532         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
55533         (is_envjavac_oldgcj_14_14_usable): Renamed from
55534         is_envjavac_gcj_14_14_usable.
55535         (is_envjavac_oldgcj_14_13_usable): Renamed from
55536         is_envjavac_gcj_14_13_usable.
55537         (is_gcj_present): Update.
55538         (is_gcj_43, is_gcj43_usable): New functions.
55539         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
55540         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
55541         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
55542         try the options -fsource and -ftarget.
55543
55544 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
55545
55546         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
55547         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
55548         larger value.
55549
55550 2007-02-03  Jim Meyering  <jim@meyering.net>
55551
55552         Give tools a better chance to allocate space for very large buffers.
55553         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
55554
55555         Make pwd and readlink work also when run with an unreadable parent dir
55556         on systems with openat support.
55557         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
55558         provided getcwd function, even when we have openat support.
55559         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
55560
55561 2007-02-02  Bruno Haible  <bruno@clisp.org>
55562
55563         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
55564         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
55565         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
55566         portability problems if one of these functions is only used on specific
55567         platforms.
55568         Reported by Paul Eggert.
55569
55570 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55571
55572         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
55573         is causing more trouble than it's curing.
55574         * lib/regex_internal.h (__mempcpy): Remove.
55575         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
55576         (and make the code a tad smaller to boot).
55577         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
55578
55579 2007-02-02  Jim Meyering  <jim@meyering.net>
55580
55581         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
55582         section, not in the Makefile.am: one.
55583
55584 2007-02-02  Eric Blake  <ebb9@byu.net>
55585
55586         * lib/strchrnul.c: Always include config.h first.
55587
55588         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
55589         gnulib strstr is not necessary here.
55590
55591 2007-02-02  Simon Josefsson  <simon@josefsson.org>
55592
55593         * m4/socklen.m4: Fix typo.
55594
55595 2007-02-02  Eric Blake  <ebb9@byu.net>
55596
55597         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
55598         * modules/netinet_in (Makefile.am): Likewise.
55599
55600 2007-02-01  Bruno Haible  <bruno@clisp.org>
55601
55602         * lib/string_.h (GL_LINK_WARNING): New macro.
55603         (strcasecmp, strstr, strcasestr): If provided by the system,
55604         conditionally define as a macro that leads to a warning instead of to
55605         an error.
55606         (strncasecmp): Conditionally define as a macro that leads to a warning.
55607
55608 2007-02-01  Karl Berry  <karl@gnu.org>
55609
55610         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
55611
55612 2007-02-01  Bruno Haible  <bruno@clisp.org>
55613
55614         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
55615         renamings.
55616
55617 2007-02-01  Eric Blake  <ebb9@byu.net>
55618
55619         * modules/regex (Depends-on): Revert dependence on mempcpy.
55620         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
55621         module's definition of mempcpy.
55622         Reported by Paul Eggert.
55623
55624 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
55625
55626         * lib/string_.h: If the gnulib module XYZ is not present, undefine
55627         the symbol XYZ before redefining it.  This fixes a problem with
55628         programs that don't use XYZ, when compiled on systems that define
55629         XYZ to something else.
55630
55631 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
55632
55633         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
55634         occurs when "mkdir -m foo" creates a setgid directory that is (1)
55635         writeable to group or other and (2) is intended to have a special
55636         mode bit that is set or cleared.  In such a case, the directory
55637         should be neither group- nor other-writeable until the special
55638         mode bits are right.
55639
55640 2007-01-31  Eric Blake  <ebb9@byu.net>
55641
55642         * modules/mountlist (Depends-on): Add strstr.
55643
55644         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
55645         bug.
55646         * modules/string (Makefile.am): Remove redundant replacement.
55647         * modules/regex (Depends-on): Add mempcpy.
55648
55649 2007-01-31  Bruno Haible  <bruno@clisp.org>
55650
55651         New module description field 'Link'.
55652         * gnulib-tool (func_usage): Document --extract-link-directive.
55653         (sed_extract_prog): Recognize 'Link' directive.
55654         (func_get_link_directive): New function.
55655         (func_import): Show summary of link directives.
55656         Handle --extract-link-directive option.
55657         * modules/acl (Link): New section.
55658         * modules/clock-time (Link): New section.
55659         * modules/euidaccess (Link): New section.
55660         * modules/gettext (Link): New section.
55661         * modules/iconv (Link): New section.
55662         * modules/lock (Link): New section.
55663         * modules/nanosleep (Link): New section.
55664         * modules/readline (Link): New section.
55665
55666 2007-01-27  Bruno Haible  <bruno@clisp.org>
55667
55668         Enforce the use of gnulib modules for unportable <string.h> functions.
55669         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
55670         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
55671         (gl_HEADER_STRING_H_BODY): Require it.
55672         * lib/string_.h: If the gnulib module XYZ is not present, redefine
55673         the symbol XYZ to one that gives a link error.
55674         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
55675         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
55676         * modules/mempcpy (configure.ac): Likewise.
55677         * modules/memrchr (configure.ac): Likewise.
55678         * modules/stpcpy (configure.ac): Likewise.
55679         * modules/stpncpy (configure.ac): Likewise.
55680         * modules/strcase (configure.ac): Likewise.
55681         * modules/strcasestr (configure.ac): Likewise.
55682         * modules/strchrnul (configure.ac): Likewise.
55683         * modules/strdup (configure.ac): Likewise.
55684         * modules/strndup (configure.ac): Likewise.
55685         * modules/strnlen (configure.ac): Likewise.
55686         * modules/strpbrk (configure.ac): Likewise.
55687         * modules/strsep (configure.ac): Likewise.
55688         * modules/strstr (configure.ac): Likewise.
55689         * modules/strtok_r (configure.ac): Likewise.
55690
55691 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
55692
55693         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
55694
55695 2007-01-30  Jim Meyering  <jim@meyering.net>
55696
55697         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
55698
55699 2007-01-29  Bruno Haible  <bruno@clisp.org>
55700
55701         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
55702         * lib/execute.c: Likewise.
55703         * lib/pipe.c: Likewise.
55704         * lib/printf-args.h: Likewise.
55705         * lib/printf-args.c: Likewise.
55706         * lib/printf-parse.c: Likewise.
55707         * lib/vasnprintf.c: Likewise.
55708
55709 2007-01-29  Eric Blake  <ebb9@byu.net>
55710
55711         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
55712         declaration.
55713
55714 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
55715
55716         * lib/strptime.h (strptime): Use 'restrict' for args where
55717         POSIX requires this.
55718         * lib/strptime.c (strptime): Likewise.
55719         Change license notice from LGPL to GPL, since gnulib-tool will
55720         change this as needed.
55721         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
55722         defined.
55723         Include "strptime.h" first, to check interface.
55724         Do not #undef _LIBC and _NL_CURRENT.
55725         Do not include <stdlib.h>; no longer needed.
55726         Include "time_r.h" and declare ptime_locale_status
55727         only if _LIBC is not defined.
55728         (__P): Remove unused macro.
55729         (match_string): Bring back glibc version, but use it only if _LIBC
55730         is defined.
55731         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
55732         Remove unnecessary assertion and abort() call.
55733         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
55734         * m4/strptime.m4: Fix serial number comment.
55735         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
55736         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
55737         (Depends-on): Add time_r.
55738
55739 2007-01-29  Bruno Haible  <bruno@clisp.org>
55740
55741         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55742         strptime.
55743         * modules/strptime (Depends-on): Add stdbool.
55744         * lib/strptime.h: Include <time.h> always. Add comments.
55745
55746 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55747
55748         * modules/strptime: New file.
55749         * lib/strptime.h: New file.
55750         * lib/strptime.c: New file.
55751         * m4/strptime.m4: New file.
55752
55753 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
55754
55755         * MODULES.html.sh: New module mpsort.
55756         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
55757
55758         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
55759         a circularity problem with HP-UX ia64 reported by Bob Proulx in
55760         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
55761         All uses changed.
55762         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
55763         All uses changed.
55764         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
55765         to _Restrict_.
55766         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
55767         the parameter matches the prototype.
55768
55769 2007-01-28  Jim Meyering  <jim@meyering.net>
55770
55771         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
55772         sys/time.h here, reverting that part of the previous patch:
55773         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
55774
55775 2007-01-28  Bruno Haible  <bruno@clisp.org>
55776
55777         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
55778         value of $(SYS_TIME_H).
55779         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
55780         remove it conditionally, too. [added by Jim Meyering]
55781         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
55782         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
55783         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
55784         GETTIMEOFDAY_REPLACEMENT to 1.
55785
55786 2007-01-28  Bruno Haible  <bruno@clisp.org>
55787
55788         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
55789         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
55790         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
55791         Set UNISTD_H instead of UNISTD_H2.
55792         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
55793
55794 2007-01-28  Bruno Haible  <bruno@clisp.org>
55795
55796         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
55797         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
55798
55799 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55800
55801         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
55802         (func_create_testdir): Ensure C locale for `grep' and `tr'
55803         character ranges.
55804         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
55805         ACLOCAL_AMFLAGS parsing state machine.
55806
55807 2007-01-27  Bruno Haible  <bruno@clisp.org>
55808
55809         * modules/unistr/base: Update.
55810
55811 2007-01-27  Bruno Haible  <bruno@clisp.org>
55812
55813         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
55814         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
55815         * modules/unistr/u32-mbtouc-unsafe: Renamed from
55816         modules/unistr/u32-mbtouc.
55817         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
55818         * lib/unistr.h: Update.
55819         * lib/linebreak.c: Update.
55820         * modules/unistr/u32-mbtouc: Renamed from
55821         modules/unistr/u32-mbtouc-safe.
55822         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
55823         * lib/unistr.h: Update.
55824         * lib/unistr/u32-to-u8.c: Update.
55825         * lib/unistr/u32-to-u16.c: Update.
55826
55827 2007-01-27  Bruno Haible  <bruno@clisp.org>
55828
55829         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
55830         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
55831         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
55832         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
55833         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
55834         * modules/unistr/u16-mbtouc-unsafe: Renamed from
55835         modules/unistr/u16-mbtouc.
55836         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
55837         * lib/unistr.h: Update.
55838         * lib/linebreak.c: Update.
55839         * modules/linebreak: Update.
55840         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
55841         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
55842         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
55843         * modules/unistr/u16-mbtouc: Renamed from
55844         modules/unistr/u16-mbtouc-safe.
55845         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
55846         * lib/unistr.h: Update.
55847         * lib/unistr/u16-to-u8.c: Update.
55848         * modules/unistr/u16-to-u8: Update.
55849         * lib/unistr/u16-to-u32.c: Update.
55850         * modules/unistr/u16-to-u32: Update.
55851
55852 2007-01-27  Bruno Haible  <bruno@clisp.org>
55853
55854         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
55855         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
55856         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
55857         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
55858         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
55859         * modules/unistr/u8-mbtouc-unsafe: Renamed from
55860         modules/unistr/u8-mbtouc.
55861         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
55862         * lib/unistr.h: Update.
55863         * lib/striconveh.c: Update.
55864         * modules/striconveh: Update.
55865         * lib/linebreak.c: Update.
55866         * modules/linebreak: Update.
55867         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
55868         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
55869         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
55870         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
55871         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
55872         * lib/unistr.h: Update.
55873         * lib/striconveh.c: Update.
55874         * modules/striconveh: Update.
55875         * lib/unistr/u8-to-u16.c: Update.
55876         * modules/unistr/u8-to-u16: Update.
55877         * lib/unistr/u8-to-u32.c: Update.
55878         * modules/unistr/u8-to-u32: Update.
55879
55880 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55881
55882         Sync from Libtool.
55883         * lib/argz.c: Do not include strings.h nor memory.h, include
55884         string.h unconditionally.  Patch by Simon Josefsson.
55885
55886 2007-01-27  Bruno Haible  <bruno@clisp.org>
55887
55888         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
55889         from gl_HEADER_STRING_H_BODY.
55890         (gl_HEADER_STRING_H_BODY): Require it.
55891         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
55892         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
55893         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
55894         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
55895         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
55896         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
55897         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55898         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
55899         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
55900         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
55901         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
55902         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
55903         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
55904         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55905         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
55906
55907 2007-01-27  Bruno Haible  <bruno@clisp.org>
55908
55909         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
55910         check_PROGRAMS into noinst_PROGRAMS.
55911         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
55912         check_PROGRAMS in this case.
55913         (func_import): Set for_test to false.
55914         (func_create_testdir): Set for_test to true.
55915
55916 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
55917             Bruno Haible  <bruno@clisp.org>
55918
55919         * modules/strcasestr (Files): Remove lib/strcasestr.h.
55920         (Depends-on): Add string.
55921         (Includes): Use <string.h> instead of strcasestr.h.
55922         * modules/string (Makefile.am): Also substitute the value of
55923         REPLACE_STRCASESTR.
55924         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
55925         assume strcasestr is declared in <string.h> not <strings.h>. Also
55926         set REPLACE_STRCASESTR.
55927         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
55928         REPLACE_STRCASESTR.
55929         * lib/strcasestr.h: Remove file.
55930         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
55931         * lib/string_.h (strcasestr): New declaration.
55932
55933 2007-01-27  Bruno Haible  <bruno@clisp.org>
55934
55935         * lib/string_.h: Use 'extern'.
55936
55937 2007-01-27  Jim Meyering  <jim@meyering.net>
55938
55939         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
55940         of set-but-not-used local, "q".
55941
55942         * lib/mempcpy.c: Include <config.h> before <string.h>.
55943         This fixes a compilation error on HP-UX, due to the system's
55944         "restrict"-using mempcpy prototype.
55945
55946 2007-01-26  Bruno Haible  <bruno@clisp.org>
55947
55948         Small optimization.
55949         * lib/javacomp.c: Include c-strstr.h.
55950          (is_envjavac_gcj): Use c_strstr instead of strstr.
55951         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
55952
55953 2007-01-26  Bruno Haible  <bruno@clisp.org>
55954
55955         * MODULES.html.sh (Unicode string functions): Add the new modules.
55956
55957         * modules/uniconv/u32-strconv-to-locale: New file.
55958         * lib/uniconv/u32-strconv-to-locale.c: New file.
55959
55960         * modules/uniconv/u16-strconv-to-locale: New file.
55961         * lib/uniconv/u16-strconv-to-locale.c: New file.
55962
55963         * modules/uniconv/u8-strconv-to-locale: New file.
55964         * lib/uniconv/u8-strconv-to-locale.c: New file.
55965
55966         * modules/uniconv/u32-strconv-from-locale: New file.
55967         * lib/uniconv/u32-strconv-from-locale.c: New file.
55968
55969         * modules/uniconv/u16-strconv-from-locale: New file.
55970         * lib/uniconv/u16-strconv-from-locale.c: New file.
55971
55972         * modules/uniconv/u8-strconv-from-locale: New file.
55973         * lib/uniconv/u8-strconv-from-locale.c: New file.
55974
55975         * modules/uniconv/u32-strconv-to-enc: New file.
55976         * lib/uniconv/u32-strconv-to-enc.c: New file.
55977         * modules/uniconv/u32-strconv-to-enc-tests: New file.
55978         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
55979
55980         * modules/uniconv/u16-strconv-to-enc: New file.
55981         * lib/uniconv/u16-strconv-to-enc.c: New file.
55982         * lib/uniconv/u-strconv-to-enc.h: New file.
55983         * modules/uniconv/u16-strconv-to-enc-tests: New file.
55984         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
55985
55986         * modules/uniconv/u8-strconv-to-enc: New file.
55987         * lib/uniconv/u8-strconv-to-enc.c: New file.
55988         * modules/uniconv/u8-strconv-to-enc-tests: New file.
55989         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
55990
55991         * modules/uniconv/u32-strconv-from-enc: New file.
55992         * lib/uniconv/u32-strconv-from-enc.c: New file.
55993         * modules/uniconv/u32-strconv-from-enc-tests: New file.
55994         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
55995
55996         * modules/uniconv/u16-strconv-from-enc: New file.
55997         * lib/uniconv/u16-strconv-from-enc.c: New file.
55998         * modules/uniconv/u16-strconv-from-enc-tests: New file.
55999         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
56000
56001         * modules/uniconv/u8-strconv-from-enc: New file.
56002         * lib/uniconv/u8-strconv-from-enc.c: New file.
56003         * lib/uniconv/u-strconv-from-enc.h: New file.
56004         * modules/uniconv/u8-strconv-from-enc-tests: New file.
56005         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
56006
56007         * modules/uniconv/u32-conv-from-enc: New file.
56008         * lib/uniconv/u32-conv-from-enc.c: New file.
56009         * modules/uniconv/u32-conv-from-enc-tests: New file.
56010         * tests/uniconv/test-u32-conv-from-enc.c: New file.
56011
56012         * modules/uniconv/u16-conv-from-enc: New file.
56013         * lib/uniconv/u16-conv-from-enc.c: New file.
56014         * lib/uniconv/u-conv-from-enc.h: New file.
56015         * modules/uniconv/u16-conv-from-enc-tests: New file.
56016         * tests/uniconv/test-u16-conv-from-enc.c: New file.
56017
56018         * modules/uniconv/u8-conv-from-enc: New file.
56019         * lib/uniconv/u8-conv-from-enc.c: New file.
56020         * modules/uniconv/u8-conv-from-enc-tests: New file.
56021         * tests/uniconv/test-u8-conv-from-enc.c: New file.
56022
56023         * modules/uniconv/base: New file.
56024         * lib/uniconv.h: New file.
56025
56026 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
56027
56028         * doc/gnulib-tool.texi (Initial import): Update to match current
56029         behavior with strdup module.
56030         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
56031         * lib/memmem.h: Remove; all uses removed.  This is now done
56032         by <string.h>.
56033         * lib/mempcpy.h: Likewise.
56034         * lib/memrchr.h: Likewise.
56035         * lib/stpcpy.h: Likewise.
56036         * lib/stpncpy.h: Likewise.
56037         * lib/strcase.h: Likewise.
56038         * lib/strchrnul.h: Likewise.
56039         * lib/strdup.h: Likewise.
56040         * lib/strndup.h: Likewise.
56041         * lib/strnlen.h: Likewise.
56042         * lib/strpbrk.h: Likewise.
56043         * lib/strsep.h: Likewise.
56044         * lib/strstr.h: Likewise.
56045         * lib/strtok_r.h: Likewise.
56046         * lib/string_.h: New file.
56047         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
56048         Rely on <string.h> instead.
56049         * lib/canon-host.c: Likewise.
56050         * lib/chdir-long.c: Likewise.
56051         * lib/concatpath.c: Likewise.
56052         * lib/exclude.c: Likewise.
56053         * lib/fchdir.c: Likewise.
56054         * lib/getaddrinfo.c: Likewise.
56055         * lib/getcwd.c: Likewise.
56056         * lib/getsubopt.c: Likewise.
56057         * lib/glob.c: Likewise.
56058         * lib/hard-locale.c: Likewise.
56059         * lib/iconvme.c: Likewise.
56060         * lib/javacomp.c: Likewise.
56061         * lib/mempcpy.c: Likewise.
56062         * lib/memrchr.c: Likewise.
56063         * lib/regex_internal.h: Likewise.
56064         * lib/stpncpy.c: Likewise.
56065         * lib/strcasecmp.c: Likewise.
56066         * lib/strchrnul.c: Likewise.
56067         * lib/strdup.c: Likewise.
56068         * lib/striconv.c: Likewise.
56069         * lib/striconveh.c: Likewise.
56070         * lib/striconveha.c: Likewise.
56071         * lib/strncasecmp.c: Likewise.
56072         * lib/strndup.c: Likewise.
56073         * lib/strnlen.c: Likewise.
56074         * lib/strsep.c: Likewise.
56075         * lib/strstr.c: Likewise.
56076         * lib/strtok_r.c: Likewise.
56077         * lib/userspec.c: Likewise.
56078         * lib/w32spawn.h: Likewise.
56079         * lib/xstrndup.c: Likewise.
56080         * lib/mountlist.c (strstr): Remove decl.
56081         * m4/string_h.m4: New file.
56082         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
56083         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
56084         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
56085         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
56086         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
56087         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
56088         Set REPLACE_STRCASECMP if necessary.
56089         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
56090         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
56091         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
56092         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
56093         HAVE_DECL_STRDUP if necessary.
56094         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
56095         since gl_FUNC_STRNDUP does that now.
56096         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
56097         Check for decl here...
56098         (gl_PREREQ_STRNLEN): ... not here.
56099         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
56100         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
56101         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
56102         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
56103         necessary.
56104         * modules/string: New file.
56105         * modules/memmem (Files): Remove special-purpose include file.
56106         (Depends-on): Add string.
56107         (Include): Include <string.h>, not the removed file.
56108         * modules/mempcpy: Likewise.
56109         * modules/memrchr: Likewise.
56110         * modules/stpcpy: Likewise.
56111         * modules/stpncpy: Likewise.
56112         * modules/strcase: Likewise.
56113         * modules/strchrnul: Likewise.
56114         * modules/strdup: Likewise.
56115         * modules/strndup: Likewise.
56116         * modules/strnlen: Likewise.
56117         * modules/strpbrk: Likewise.
56118         * modules/strsep: Likewise.
56119         * modules/strstr: Likewise.
56120         * modules/strtok_r: Likewise.
56121         * tests/test-dirname.c: Don't include "strdup.h", since
56122         <string.h> now suffices.
56123         * tests/test-memmem.c: Don't include "memmem.h", since
56124         <string.h> now suffices.
56125
56126 2007-01-25  Bruno Haible  <bruno@clisp.org>
56127
56128         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
56129         *resultp is 0.
56130
56131         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
56132         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
56133         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
56134         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
56135
56136         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
56137         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
56138         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
56139         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
56140         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
56141         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
56142
56143 2007-01-24  Bruno Haible  <bruno@clisp.org>
56144
56145         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
56146         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
56147         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
56148         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
56149         gl_FUNC_FTS_CORE.
56150         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
56151         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
56152         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56153         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
56154         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
56155         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
56156         gl_FUNC_FCHOWNAT.
56157         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
56158         gl_FUNC_STRFTIME.
56159         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
56160         Reported by Ralf Wildenhues.
56161
56162 2007-01-24  Bruno Haible  <bruno@clisp.org>
56163
56164         Drop AC_REQUIRE calls that are redundant with the module dependencies.
56165         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
56166         gl_GETADDRINFO.
56167         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
56168         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
56169         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
56170
56171 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
56172
56173         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
56174         Don't use 'exit'; just return from 'main'.
56175         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
56176
56177         * lib/fnmatch_.h: Readjust white space and comments to match
56178         glibc, to avoid spurious diffs.
56179
56180 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56181
56182         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
56183         2004-12-01 change by Jakub Jelinek, since this code won't compile
56184         if !LIBC.  Problem reported by Bob Proulx.
56185
56186 2007-01-23  Bruno Haible  <bruno@clisp.org>
56187
56188         * lib/striconveh.c: Include c-strcaseeq.h.
56189         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
56190         * modules/striconveh (Depends-on): Add c-strcaseeq.
56191
56192 2007-01-23  Bruno Haible  <bruno@clisp.org>
56193
56194         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
56195
56196         * modules/c-strcaseeq: New file.
56197         * lib/c-strcaseeq.h: New file.
56198
56199         * modules/streq: New file.
56200         * lib/streq.h: New file.
56201
56202 2007-01-23  Bruno Haible  <bruno@clisp.org>
56203
56204         * modules/striconveha-tests: New file.
56205         * tests/test-striconveha.c: New file.
56206
56207         * lib/striconveha.h: Include <stdbool.h>.
56208         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
56209         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
56210         (mem_iconveha_notranslit): Renamed from mem_iconveha.
56211         (mem_iconveha): New function.
56212         (str_iconveha_notranslit): Renamed from str_iconveha.
56213         (str_iconveha): New function.
56214         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
56215         c-strcase.
56216
56217 2007-01-23  Bruno Haible  <bruno@clisp.org>
56218
56219         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
56220         encodings without forgiving before trying any encoding with handler.
56221         (str_iconveha): Try all encodings without forgiving before trying any
56222         encoding with handler.
56223
56224 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56225
56226         Import the following changes from libc.
56227
56228         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
56229
56230         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
56231
56232         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
56233
56234         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
56235         normal_bracket label.
56236
56237         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
56238
56239         [BZ #361]
56240         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
56241         to normal_bracket after fetching the next character.
56242
56243 2007-01-22  Bruno Haible  <bruno@clisp.org>
56244
56245         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
56246         argument.
56247         * lib/striconveh.c (iconv_carefully_1): New function.
56248         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
56249         argument.
56250         (str_cd_iconveh): Update.
56251         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
56252         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
56253         * tests/test-striconveh.c (MAGIC): New macro.
56254         (new_offsets): New function.
56255         (main): Test call with and without offsets.
56256
56257 2007-01-22  Bruno Haible  <bruno@clisp.org>
56258
56259         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
56260         * modules/sys_select (Makefile.am): Likewise.
56261         * modules/sys_socket (Makefile.am): Likewise.
56262         * modules/sys_time (Makefile.am): Likewise.
56263
56264 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
56265
56266         * modules/gettimeofday (License): Change from GPL to LGPL, since
56267         gettimeofday is a library function.
56268
56269 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56270
56271         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
56272
56273 2007-01-21  Bruno Haible  <bruno@clisp.org>
56274
56275         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
56276
56277 2007-01-21  Bruno Haible  <bruno@clisp.org>
56278
56279         * modules/striconveha: New file.
56280         * lib/striconveha.h: New file.
56281         * lib/striconveha.c: New file.
56282         * MODULES.html.sh (Internationalization functions): Add striconveha.
56283         * lib/striconv.c (str_iconv): Optimize the case of an empty input
56284         string.
56285         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
56286
56287 2007-01-21  Bruno Haible  <bruno@clisp.org>
56288
56289         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
56290         * lib/striconveh.c (str_iconveh): Likewise.
56291
56292 2007-01-21  Bruno Haible  <bruno@clisp.org>
56293
56294         * lib/striconveh.h (mem_iconveh): New declaration.
56295         * lib/striconveh.c (mem_iconveh): New function.
56296         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
56297
56298 2007-01-21  Bruno Haible  <bruno@clisp.org>
56299
56300         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
56301
56302         * lib/striconveh.h (mem_cd_iconveh): Change specification.
56303         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
56304         original result buffer.
56305         (str_cd_iconveh): Update.
56306         * tests/test-striconveh.c (main): Update.
56307
56308         * lib/striconv.h (mem_cd_iconv): Change specification.
56309         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
56310         result buffer.
56311         (str_cd_iconv): Update.
56312         * tests/test-striconv.c (main): Update.
56313
56314 2007-01-21  Bruno Haible  <bruno@clisp.org>
56315
56316         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
56317
56318 2007-01-20  Jim Meyering  <jim@meyering.net>
56319
56320         * lib/userspec.c (parse_with_separator): If a user or group string
56321         starts with "+", skip the corresponding name-to-ID look-up, since
56322         such a look-up must fail: user and group names may not include "+".
56323
56324 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
56325
56326         * lib/poll.c: Include sys/time.h and time.h unconditionally,
56327         since we now assume the sys_time module.
56328         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
56329         check for sys/time.h; no longer needed.
56330         * modules/poll (Depends-on): Depend on sys_time.
56331
56332 2007-01-18  Bruno Haible  <bruno@clisp.org>
56333
56334         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
56335         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
56336
56337         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
56338         gettimeofday.
56339
56340         * tests/test-gettimeofday.c: Include <time.h>.
56341         (dummy): Remove variable.
56342
56343         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
56344         gl_HEADER_SYS_TIME_H.
56345         (gl_HEADER_SYS_TIME_H): New macro.
56346
56347         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
56348         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56349         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
56350         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
56351         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56352         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
56353         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
56354         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56355         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
56356         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
56357         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56358
56359         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
56360         last change; it caused a compilation error when cross-compiling to
56361         Cygwin.
56362
56363 2007-01-18  Jim Meyering  <jim@meyering.net>
56364
56365         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
56366         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
56367         than the race-prone "test -d sys || mkdir sys".
56368         (configure.ac): Use AC_PROG_MKDIR_P.
56369         * modules/sys_select: Likewise.
56370         * modules/sys_socket: Likewise.
56371         * modules/sys_time: Likewise.
56372
56373 2007-01-18  Eric Blake  <ebb9@byu.net>
56374
56375         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
56376         replace gettimeofday.
56377         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
56378         name, to avoid infinite recursion.
56379
56380 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
56381
56382         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
56383         module sys_time.
56384         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
56385         assume timespec.h defines struct timeval.
56386         * lib/settime.c: Likewise.
56387         * lib/utimens.c: Likewise.
56388         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
56389         since we now assume the gettimeofday module.
56390         * lib/tempname.c (__gen_tempname): Likewise.
56391         * lib/gettimeofday.h: Remove.
56392         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
56393         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
56394         Include <time.h>, for 'time()'.
56395         (localtime_buffer_addr): Also use this workaround if
56396         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
56397         to simplify the uses.  All uses changed.
56398         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
56399         that #undef is inside {}, and 'const' follows type name consistently.
56400         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
56401         (gettimeofday): Do not use the maximum possible value for
56402         tv->tv_usec, since that might break usages other than ls.c.
56403         Instead, we'll leave ls.c alone.  This undoes today's patch
56404         by Bruno.  Add a compile-time warning for 1s-clock resolution;
56405         we've never observed the problem but might as well keep the
56406         canary.
56407         * lib/nanosleep.c: Include timespec.h first, for interface check.
56408         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
56409         now assume the sys_time module.
56410         * lib/tempname.c: Likewise.
56411         * lib/timespec.h: Likewise.
56412         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
56413         needed.
56414         * lib/strftime.c: Likewise.
56415         * lib/timespec.h: Likewise.
56416         * lib/posixtm.c: Include posixtm.h first, for interface check.
56417         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
56418         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
56419         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
56420         * lib/sys_time_.h: New file.
56421         * lib/timespec.h (struct timespec): Use long int, not long.
56422         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
56423         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
56424         Remove obsolescent call to AC_HEADER_TIME.
56425         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
56426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
56427         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
56428         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
56429         Likewise.
56430         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
56431         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
56432         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
56433         into the sys_time module.  Check for gettimeofday just once.
56434         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
56435         for gettimeofday signature to just check the signature.  Merely
56436         compile it, since linking doesn't test signature.  Improve test for
56437         whether gettimeofday.o is actually needed.
56438         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
56439         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
56440         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
56441         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56442         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
56443         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
56444         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
56445         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
56446         than worrying about sys/time.h.
56447         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
56448         Don't bother worrying about TIME_WITH_SYS_TIME.
56449         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
56450         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
56451         * m4/sys_time_h.m4: New file.
56452         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
56453         Don't include sys/time.h.  Return from main rather than exiting.
56454         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
56455         all uses changed.
56456         * modules/gethrxtime (Depends-on): Add sys_time.
56457         * modules/gettime (Depends-on): Likewise.
56458         * modules/gettimeofday (Depends-on): Likewise.
56459         * modules/nanosleep (Depends-on): Likewise.
56460         * modules/settime (Depends-on): Likewise.
56461         * modules/tempname (Depends-on): Likewise.
56462         * modules/utimens (Depends-on): Likewise.
56463         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
56464         (Include): Change back to <sys/time.h>.
56465         (Maintainer): Add self.
56466         * modules/sys_time: New file.
56467         * modules/tempname (Depends-on): Add gettimeofday.
56468         * tests/test-gettimeofday.c: Include <sys/time.h>
56469         rather than gettimeofday.h.
56470
56471 2007-01-17  Bruno Haible  <bruno@clisp.org>
56472
56473         * gnulib-tool (func_get_license): Revert last patch. Instead, let
56474         the license default to GPL.
56475         (func_create_testdir): Don't complain if a module is LGPL and its
56476         tests module depends on GPLed modules.
56477
56478 2007-01-17  Bruno Haible  <bruno@clisp.org>
56479
56480         * lib/gettimeofday.c (gettimeofday): Add code for the case
56481         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
56482         maximum possible value for tv->tv_usec, rather than the minimum one.
56483
56484 2005-10-08  Martin Lambers  <marlam@marlam.de>
56485 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
56486 2007-01-16  Bruno Haible  <bruno@clisp.org>
56487
56488         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
56489         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
56490         gl_FUNC_GETTIMEOFDAY.
56491         (Include): Add gettimeofday.h.
56492         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
56493         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
56494         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
56495         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
56496         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
56497         * lib/gettimeofday.h: New file.
56498         * lib/gettimeofday.c: Include <sys/timeb.h>.
56499         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
56500         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56501         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
56502         fall back on time().
56503
56504         * tests/test-gettimeofday.c: New file.
56505         * modules/gettimeofday-tests: New file.
56506
56507 2007-01-16  Eric Blake  <ebb9@byu.net>
56508
56509         * modules/fnmatch (Depends-on): Depend on wchar.
56510         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
56511         * m4/fnmatch.m4: Likewise.
56512         * modules/mbchar (Makefile.am): Assume <wchar.h>.
56513         * m4/mbchar.m4: Likewise.
56514         * modules/mbswidth (Depends-on): Depend on wchar.
56515         * lib/mbswidth.c: Assume <wchar.h>.
56516         * m4/mbswidth.m4: Likewise.
56517         * modules/quotearg (Depends-on): Depend on wchar.
56518         * lib/quotearg.c: Assume <wchar.h>.
56519         * m4/quotearg.m4: Likewise.
56520         * modules/regex (Depends-on): Depend on wchar.
56521         * lib/regex_internal.h: Assume <wchar.h>.
56522         * m4/regex.m4: Likewise.
56523         * modules/stdint (Depends-on): Depend on wchar.
56524         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
56525         * m4/stdint.m4: Likewise.
56526         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
56527         * modules/strftime (Depends-on): Depend on wchar.
56528         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
56529         * modules/strtol (Depends-on): Depend on wchar.
56530         * lib/strtol.c: Assume <wchar.h>.
56531         * modules/wcwidth (Depends-on): Depend on wchar.
56532         * lib/wcwidth.h: Assume <wchar.h>.
56533         * m4/wcwidth.m4: Likewise.
56534
56535 2007-01-16  Bruno Haible  <bruno@clisp.org>
56536
56537         * modules/csharpexec-script: New, created from...
56538         * modules/csharpexec: ... this.
56539
56540 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56541
56542         * modules/javaexec-script: New, created from...
56543         * modules/javaexec: ... this.
56544
56545 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56546
56547         * modules/poll (Dependencies): Add sys_select.
56548
56549 2007-01-15  Jim Meyering  <jim@meyering.net>
56550
56551         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
56552         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
56553         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
56554         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
56555
56556 2007-01-15  Bruno Haible  <bruno@clisp.org>
56557
56558         * modules/striconveh: New file.
56559         * lib/striconveh.h: New file.
56560         * lib/striconveh.c: New file.
56561         * MODULES.html.sh (Internationalization functions): Add striconveh.
56562
56563         * modules/striconveh-tests: New file.
56564         * tests/test-striconveh.c: New file.
56565
56566 2007-01-15  Bruno Haible  <bruno@clisp.org>
56567
56568         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
56569         not from GNU libiconv or GNU libc.
56570
56571 2007-01-15  Bruno Haible  <bruno@clisp.org>
56572
56573         * doc/gnulib-intro.texi (Copyright): Explain the different license
56574         terms for module descriptions, autoconf macros, tests, documentation.
56575
56576 2007-01-14  Bruno Haible  <bruno@clisp.org>
56577
56578         * modules/striconv-tests: New file.
56579         * tests/test-striconv.c: New file.
56580
56581 2007-01-14  Bruno Haible  <bruno@clisp.org>
56582
56583         * modules/iconv-tests: New file.
56584         * tests/test-iconv.c: New file.
56585
56586 2007-01-14  Bruno Haible  <bruno@clisp.org>
56587
56588         * gnulib-tool (func_get_license): For test modules, use the license of
56589         the main module.
56590
56591 2007-01-14  Bruno Haible  <bruno@clisp.org>
56592
56593         * modules/iconv (Include): Clarify that <iconv.h> can only be included
56594         if iconv is found to exist.
56595
56596 2007-01-14  Bruno Haible  <bruno@clisp.org>
56597
56598         * modules/c-ctype-tests: New file.
56599         * tests/test-c-ctype.c: New file.
56600
56601 2007-01-14  Bruno Haible  <bruno@clisp.org>
56602
56603         * modules/binary-io-tests: New file.
56604         * tests/test-binary-io.sh: New file.
56605         * tests/test-binary-io.c: New file.
56606
56607 2007-01-14  Bruno Haible  <bruno@clisp.org>
56608
56609         * modules/array-oset-tests: New file.
56610         * tests/test-array_oset.c: New file.
56611
56612 2007-01-14  Bruno Haible  <bruno@clisp.org>
56613
56614         * modules/array-list-tests: New file.
56615         * tests/test-array_list.c: New file.
56616
56617 2007-01-14  Bruno Haible  <bruno@clisp.org>
56618
56619         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
56620         and make.
56621         Reported by Simon Josefsson in
56622         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
56623
56624 2007-01-14  Bruno Haible  <bruno@clisp.org>
56625
56626         * modules/allocsa-tests: New file.
56627         * tests/test-allocsa.c: New file.
56628
56629 2007-01-14  Bruno Haible  <bruno@clisp.org>
56630
56631         * modules/fchdir (Depends-on): Add absolute-header.
56632         * modules/unistd (Depends-on): Likewise.
56633
56634 2006-12-30  Bruno Haible  <bruno@clisp.org>
56635
56636         * modules/fchdir: New file.
56637         * modules/unistd (Files): Add lib/unistd_.h.
56638         (Makefile.am): Generate unistd.h from unistd_.h.
56639         * lib/fchdir.c: New file.
56640         * lib/dirent_.h: New file.
56641         * lib/unistd_.h: New file.
56642         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
56643         * m4/fchdir.m4: New file.
56644         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
56645         (gl_HEADER_UNISTD): Invoke it.
56646         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
56647         function.
56648         * lib/backupfile.c (opendir, closedir): Undefine.
56649         * lib/chown.c (open, close): Undefine.
56650         * lib/clean-temp.c (open, close): Undefine.
56651         * lib/copy-file.c (open, close): Undefine.
56652         * lib/execute.c (open, close): Undefine.
56653         * lib/fsusage.c (open, close): Undefine.
56654         * lib/gc-gnulib.c (open, close): Undefine.
56655         * lib/getcwd.c (opendir, closedir): Undefine.
56656         * lib/glob.c (opendir, closedir): Undefine.
56657         * lib/javacomp.c (open, close): Undefine.
56658         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
56659         * lib/openat-proc.c (open, close): Undefine.
56660         * lib/pagealign_alloc.c (open, close): Undefine.
56661         * lib/pipe.c (open, close): Undefine.
56662         * lib/progreloc.c (open, close): Undefine.
56663         * lib/savedir.c (opendir, closedir): Undefine.
56664         * lib/utime.c (open, close): Undefine.
56665         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
56666
56667 2007-01-10  Bruno Haible  <bruno@clisp.org>
56668
56669         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
56670
56671 2007-01-12  Eric Blake  <ebb9@byu.net>
56672
56673         Provide a robust <wchar.h>.  Further simplifications are now
56674         possible in other modules, but not included here.
56675         * modules/wchar: New module.
56676         * m4/wchar.m4: New file.
56677         * lib/wchar_.h: Likewise.
56678         * modules/mbchar (Depends-on): Depend on wchar, as the first use
56679         of the new module.
56680         * MODULES.html.sh (Extended multibyte and wide character utilities):
56681         New section.
56682
56683 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
56684
56685         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
56686         to a reasonable default for memory allocation.
56687         (xreadlink): Don't allocate a huge buffer, to work around a buggy
56688         file system that reports garbage st_size values for symlinks.
56689         Problem reported by Liyang Hu.
56690
56691 2007-01-11  Simon Josefsson  <simon@josefsson.org>
56692
56693         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
56694         Emacs .#* auto-save files).
56695
56696 2007-01-11  Bruno Haible  <bruno@clisp.org>
56697
56698         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
56699         directory.
56700
56701 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
56702
56703         Use @...@ consistently in lib/wctype_.h.
56704         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
56705         on it being set to 1 or 0.
56706         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
56707         go back to AC_SUBSTing it.
56708         * modules/wctype (Makefile.am): Undo previous change.
56709
56710 2007-01-10  Eric Blake  <ebb9@byu.net>
56711
56712         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
56713         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
56714         * modules/wctype (Makefile.am): Likewise.
56715         Reported by Chris McGuire.
56716
56717 2007-01-10  Jim Meyering  <jim@meyering.net>
56718
56719         fts.c: a small readability/maintainability improvement
56720         * lib/fts.c (fts_read): Make this code slightly more readable and
56721         maintainable by hoisting the "sp->fts_cur = p" assignments to
56722         immediately follow the statements that set P.  Derived from
56723         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
56724
56725 2007-01-10  Eric Blake  <ebb9@byu.net>
56726
56727         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
56728         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
56729         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56730         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
56731         Reported by Chris McGuire.
56732
56733 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56734
56735         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
56736         in sed script.
56737
56738 2007-01-09  Bruno Haible  <bruno@clisp.org>
56739
56740         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
56741         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
56742         variables.
56743         (func_module): Use them.
56744
56745 2007-01-09  Bruno Haible  <bruno@clisp.org>
56746
56747         * modules/unistr/base: New file.
56748         * lib/unistr.h: New file.
56749
56750         * modules/unistr/u8-to-u16: New file.
56751         * lib/unistr/u8-to-u16.c: New file.
56752
56753         * modules/unistr/u8-to-u32: New file.
56754         * lib/unistr/u8-to-u32.c: New file.
56755
56756         * modules/unistr/u16-to-u8: New file.
56757         * lib/unistr/u16-to-u8.c: New file.
56758
56759         * modules/unistr/u16-to-u32: New file.
56760         * lib/unistr/u16-to-u32.c: New file.
56761
56762         * modules/unistr/u32-to-u8: New file.
56763         * lib/unistr/u32-to-u8.c: New file.
56764
56765         * modules/unistr/u32-to-u16: New file.
56766         * lib/unistr/u32-to-u16.c: New file.
56767
56768         * modules/unistr/u8-check: New file.
56769         * modules/unistr/u16-check: New file.
56770         * modules/unistr/u32-check: New file.
56771         * lib/unistr/u8-check.c: New file.
56772         * lib/unistr/u16-check.c: New file.
56773         * lib/unistr/u32-check.c: New file.
56774
56775         * modules/unistr/u8-chr: New file.
56776         * modules/unistr/u16-chr: New file.
56777         * modules/unistr/u32-chr: New file.
56778         * lib/unistr/u8-chr.c: New file.
56779         * lib/unistr/u16-chr.c: New file.
56780         * lib/unistr/u32-chr.c: New file.
56781
56782         * modules/unistr/u8-cmp: New file.
56783         * modules/unistr/u16-cmp: New file.
56784         * modules/unistr/u32-cmp: New file.
56785         * lib/unistr/u8-cmp.c: New file.
56786         * lib/unistr/u16-cmp.c: New file.
56787         * lib/unistr/u32-cmp.c: New file.
56788
56789         * modules/unistr/u8-cpy: New file.
56790         * modules/unistr/u16-cpy: New file.
56791         * modules/unistr/u32-cpy: New file.
56792         * lib/unistr/u8-cpy.c: New file.
56793         * lib/unistr/u16-cpy.c: New file.
56794         * lib/unistr/u32-cpy.c: New file.
56795         * lib/unistr/u-cpy.h: New file.
56796
56797         * modules/unistr/u8-cpy-alloc: New file.
56798         * modules/unistr/u16-cpy-alloc: New file.
56799         * modules/unistr/u32-cpy-alloc: New file.
56800         * lib/unistr/u8-cpy-alloc.c: New file.
56801         * lib/unistr/u16-cpy-alloc.c: New file.
56802         * lib/unistr/u32-cpy-alloc.c: New file.
56803         * lib/unistr/u-cpy-alloc.h: New file.
56804
56805         * modules/unistr/u8-endswith: New file.
56806         * modules/unistr/u16-endswith: New file.
56807         * modules/unistr/u32-endswith: New file.
56808         * lib/unistr/u8-endswith.c: New file.
56809         * lib/unistr/u16-endswith.c: New file.
56810         * lib/unistr/u32-endswith.c: New file.
56811         * lib/unistr/u-endswith.h: New file.
56812
56813         * modules/unistr/u8-mblen: New file.
56814         * modules/unistr/u16-mblen: New file.
56815         * modules/unistr/u32-mblen: New file.
56816         * lib/unistr/u8-mblen.c: New file.
56817         * lib/unistr/u16-mblen.c: New file.
56818         * lib/unistr/u32-mblen.c: New file.
56819
56820         * modules/unistr/u8-mbtouc: New file.
56821         * modules/unistr/u16-mbtouc: New file.
56822         * modules/unistr/u32-mbtouc: New file.
56823         * lib/unistr/u8-mbtouc.c: New file.
56824         * lib/unistr/u16-mbtouc.c: New file.
56825         * lib/unistr/u32-mbtouc.c: New file.
56826
56827         * modules/unistr/u8-mbtouc-safe: New file.
56828         * modules/unistr/u16-mbtouc-safe: New file.
56829         * modules/unistr/u32-mbtouc-safe: New file.
56830         * lib/unistr/u8-mbtouc-safe.c: New file.
56831         * lib/unistr/u16-mbtouc-safe.c: New file.
56832         * lib/unistr/u32-mbtouc-safe.c: New file.
56833
56834         * modules/unistr/u8-move: New file.
56835         * modules/unistr/u16-move: New file.
56836         * modules/unistr/u32-move: New file.
56837         * lib/unistr/u8-move.c: New file.
56838         * lib/unistr/u16-move.c: New file.
56839         * lib/unistr/u32-move.c: New file.
56840         * lib/unistr/u-move.h: New file.
56841
56842         * modules/unistr/u8-next: New file.
56843         * modules/unistr/u16-next: New file.
56844         * modules/unistr/u32-next: New file.
56845         * lib/unistr/u8-next.c: New file.
56846         * lib/unistr/u16-next.c: New file.
56847         * lib/unistr/u32-next.c: New file.
56848
56849         * modules/unistr/u8-prev: New file.
56850         * modules/unistr/u16-prev: New file.
56851         * modules/unistr/u32-prev: New file.
56852         * lib/unistr/u8-prev.c: New file.
56853         * lib/unistr/u16-prev.c: New file.
56854         * lib/unistr/u32-prev.c: New file.
56855
56856         * modules/unistr/u8-set: New file.
56857         * modules/unistr/u16-set: New file.
56858         * modules/unistr/u32-set: New file.
56859         * lib/unistr/u8-set.c: New file.
56860         * lib/unistr/u16-set.c: New file.
56861         * lib/unistr/u32-set.c: New file.
56862         * lib/unistr/u-set.h: New file.
56863
56864         * modules/unistr/u8-startswith: New file.
56865         * modules/unistr/u16-startswith: New file.
56866         * modules/unistr/u32-startswith: New file.
56867         * lib/unistr/u8-startswith.c: New file.
56868         * lib/unistr/u16-startswith.c: New file.
56869         * lib/unistr/u32-startswith.c: New file.
56870         * lib/unistr/u-startswith.h: New file.
56871
56872         * modules/unistr/u8-stpcpy: New file.
56873         * modules/unistr/u16-stpcpy: New file.
56874         * modules/unistr/u32-stpcpy: New file.
56875         * lib/unistr/u8-stpcpy.c: New file.
56876         * lib/unistr/u16-stpcpy.c: New file.
56877         * lib/unistr/u32-stpcpy.c: New file.
56878         * lib/unistr/u-stpcpy.h: New file.
56879
56880         * modules/unistr/u8-stpncpy: New file.
56881         * modules/unistr/u16-stpncpy: New file.
56882         * modules/unistr/u32-stpncpy: New file.
56883         * lib/unistr/u8-stpncpy.c: New file.
56884         * lib/unistr/u16-stpncpy.c: New file.
56885         * lib/unistr/u32-stpncpy.c: New file.
56886         * lib/unistr/u-stpncpy.h: New file.
56887
56888         * modules/unistr/u8-strcat: New file.
56889         * modules/unistr/u16-strcat: New file.
56890         * modules/unistr/u32-strcat: New file.
56891         * lib/unistr/u8-strcat.c: New file.
56892         * lib/unistr/u16-strcat.c: New file.
56893         * lib/unistr/u32-strcat.c: New file.
56894         * lib/unistr/u-strcat.h: New file.
56895
56896         * modules/unistr/u8-strchr: New file.
56897         * modules/unistr/u16-strchr: New file.
56898         * modules/unistr/u32-strchr: New file.
56899         * lib/unistr/u8-strchr.c: New file.
56900         * lib/unistr/u16-strchr.c: New file.
56901         * lib/unistr/u32-strchr.c: New file.
56902
56903         * modules/unistr/u8-strcmp: New file.
56904         * modules/unistr/u16-strcmp: New file.
56905         * modules/unistr/u32-strcmp: New file.
56906         * lib/unistr/u8-strcmp.c: New file.
56907         * lib/unistr/u16-strcmp.c: New file.
56908         * lib/unistr/u32-strcmp.c: New file.
56909
56910         * modules/unistr/u8-strcpy: New file.
56911         * modules/unistr/u16-strcpy: New file.
56912         * modules/unistr/u32-strcpy: New file.
56913         * lib/unistr/u8-strcpy.c: New file.
56914         * lib/unistr/u16-strcpy.c: New file.
56915         * lib/unistr/u32-strcpy.c: New file.
56916         * lib/unistr/u-strcpy.h: New file.
56917
56918         * modules/unistr/u8-strcspn: New file.
56919         * modules/unistr/u16-strcspn: New file.
56920         * modules/unistr/u32-strcspn: New file.
56921         * lib/unistr/u8-strcspn.c: New file.
56922         * lib/unistr/u16-strcspn.c: New file.
56923         * lib/unistr/u32-strcspn.c: New file.
56924         * lib/unistr/u-strcspn.h: New file.
56925
56926         * modules/unistr/u8-strdup: New file.
56927         * modules/unistr/u16-strdup: New file.
56928         * modules/unistr/u32-strdup: New file.
56929         * lib/unistr/u8-strdup.c: New file.
56930         * lib/unistr/u16-strdup.c: New file.
56931         * lib/unistr/u32-strdup.c: New file.
56932         * lib/unistr/u-strdup.h: New file.
56933
56934         * modules/unistr/u8-strlen: New file.
56935         * modules/unistr/u16-strlen: New file.
56936         * modules/unistr/u32-strlen: New file.
56937         * lib/unistr/u8-strlen.c: New file.
56938         * lib/unistr/u16-strlen.c: New file.
56939         * lib/unistr/u32-strlen.c: New file.
56940         * lib/unistr/u-strlen.h: New file.
56941
56942         * modules/unistr/u8-strmblen: New file.
56943         * modules/unistr/u16-strmblen: New file.
56944         * modules/unistr/u32-strmblen: New file.
56945         * lib/unistr/u8-strmblen.c: New file.
56946         * lib/unistr/u16-strmblen.c: New file.
56947         * lib/unistr/u32-strmblen.c: New file.
56948
56949         * modules/unistr/u8-strmbtouc: New file.
56950         * modules/unistr/u16-strmbtouc: New file.
56951         * modules/unistr/u32-strmbtouc: New file.
56952         * lib/unistr/u8-strmbtouc.c: New file.
56953         * lib/unistr/u16-strmbtouc.c: New file.
56954         * lib/unistr/u32-strmbtouc.c: New file.
56955
56956         * modules/unistr/u8-strncat: New file.
56957         * modules/unistr/u16-strncat: New file.
56958         * modules/unistr/u32-strncat: New file.
56959         * lib/unistr/u8-strncat.c: New file.
56960         * lib/unistr/u16-strncat.c: New file.
56961         * lib/unistr/u32-strncat.c: New file.
56962         * lib/unistr/u-strncat.h: New file.
56963
56964         * modules/unistr/u8-strncmp: New file.
56965         * modules/unistr/u16-strncmp: New file.
56966         * modules/unistr/u32-strncmp: New file.
56967         * lib/unistr/u8-strncmp.c: New file.
56968         * lib/unistr/u16-strncmp.c: New file.
56969         * lib/unistr/u32-strncmp.c: New file.
56970
56971         * modules/unistr/u8-strncpy: New file.
56972         * modules/unistr/u16-strncpy: New file.
56973         * modules/unistr/u32-strncpy: New file.
56974         * lib/unistr/u8-strncpy.c: New file.
56975         * lib/unistr/u16-strncpy.c: New file.
56976         * lib/unistr/u32-strncpy.c: New file.
56977         * lib/unistr/u-strncpy.h: New file.
56978
56979         * modules/unistr/u8-strnlen: New file.
56980         * modules/unistr/u16-strnlen: New file.
56981         * modules/unistr/u32-strnlen: New file.
56982         * lib/unistr/u8-strnlen.c: New file.
56983         * lib/unistr/u16-strnlen.c: New file.
56984         * lib/unistr/u32-strnlen.c: New file.
56985         * lib/unistr/u-strnlen.h: New file.
56986
56987         * modules/unistr/u8-strpbrk: New file.
56988         * modules/unistr/u16-strpbrk: New file.
56989         * modules/unistr/u32-strpbrk: New file.
56990         * lib/unistr/u8-strpbrk.c: New file.
56991         * lib/unistr/u16-strpbrk.c: New file.
56992         * lib/unistr/u32-strpbrk.c: New file.
56993         * lib/unistr/u-strpbrk.h: New file.
56994
56995         * modules/unistr/u8-strrchr: New file.
56996         * modules/unistr/u16-strrchr: New file.
56997         * modules/unistr/u32-strrchr: New file.
56998         * lib/unistr/u8-strrchr.c: New file.
56999         * lib/unistr/u16-strrchr.c: New file.
57000         * lib/unistr/u32-strrchr.c: New file.
57001
57002         * modules/unistr/u8-strspn: New file.
57003         * modules/unistr/u16-strspn: New file.
57004         * modules/unistr/u32-strspn: New file.
57005         * lib/unistr/u8-strspn.c: New file.
57006         * lib/unistr/u16-strspn.c: New file.
57007         * lib/unistr/u32-strspn.c: New file.
57008         * lib/unistr/u-strspn.h: New file.
57009
57010         * modules/unistr/u8-strstr: New file.
57011         * modules/unistr/u16-strstr: New file.
57012         * modules/unistr/u32-strstr: New file.
57013         * lib/unistr/u8-strstr.c: New file.
57014         * lib/unistr/u16-strstr.c: New file.
57015         * lib/unistr/u32-strstr.c: New file.
57016         * lib/unistr/u-strstr.h: New file.
57017
57018         * modules/unistr/u8-strtok: New file.
57019         * modules/unistr/u16-strtok: New file.
57020         * modules/unistr/u32-strtok: New file.
57021         * lib/unistr/u8-strtok.c: New file.
57022         * lib/unistr/u16-strtok.c: New file.
57023         * lib/unistr/u32-strtok.c: New file.
57024         * lib/unistr/u-strtok.h: New file.
57025
57026         * modules/unistr/u8-uctomb: New file.
57027         * modules/unistr/u16-uctomb: New file.
57028         * modules/unistr/u32-uctomb: New file.
57029         * lib/unistr/u8-uctomb.c: New file.
57030         * lib/unistr/u16-uctomb.c: New file.
57031         * lib/unistr/u32-uctomb.c: New file.
57032
57033         * MODULES.html.sh (Unicode string functions): Add the new modules.
57034
57035 2007-01-08  Bruno Haible  <bruno@clisp.org>
57036
57037         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
57038         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
57039         subdirectories.
57040
57041 2007-01-08  Karl Berry  <karl@gnu.org>
57042
57043         * doc/error.texi: mention that main() fns must set program_name
57044         when progname is used.
57045
57046 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
57047
57048         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
57049         WCTYPE_H is empty, for the benefit of builds from non-distclean
57050         directories.  Problem reported by Eric Blake in
57051         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
57052
57053 2007-01-08  Bruno Haible  <bruno@clisp.org>
57054
57055         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
57056         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
57057         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
57058         PROVIDE_CANONICALIZE_FILENAME_MODE.
57059         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
57060
57061 2007-01-08  Bruno Haible  <bruno@clisp.org>
57062
57063         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
57064         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
57065         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
57066         * lib/fts.c: Likewise.
57067         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
57068
57069 2006-12-25  Bruno Haible  <bruno@clisp.org>
57070
57071         * modules/utf8-ucs4-safe: New file.
57072         * lib/utf8-ucs4-safe.h: New file.
57073         * lib/unistr/utf8-ucs4-safe.c: New file.
57074
57075         * modules/utf16-ucs4-safe: New file.
57076         * lib/utf16-ucs4-safe.h: New file.
57077         * lib/unistr/utf16-ucs4-safe.c: New file.
57078
57079         * MODULES.html.sh (Unicode string functions): Add the new modules.
57080
57081 2007-01-08  Bruno Haible  <bruno@clisp.org>
57082
57083         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
57084         (Depends-on): Add unitypes.
57085         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
57086         (u8_mbtouc_aux): Move out to separate file.
57087         (u8_mbtouc): Use ucs4_t, uint8_t types.
57088         * lib/unistr/utf8-ucs4.c: New file.
57089
57090         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
57091         (Depends-on): Add unitypes.
57092         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
57093         (u16_mbtouc_aux): Move out to separate file.
57094         (u16_mbtouc): Use ucs4_t, uint16_t types.
57095         * lib/unistr/utf16-ucs4.c: New file.
57096
57097         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
57098         (Depends-on): Add unitypes.
57099         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
57100         (u8_uctomb_aux): Move out to separate file.
57101         (u8_uctomb): Use ucs4_t, uint8_t types.
57102         * lib/unistr/ucs4-utf8.c: New file.
57103
57104         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
57105         (Depends-on): Add unitypes.
57106         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
57107         (u16_uctomb_aux): Move out to separate file.
57108         (u16_uctomb): Use ucs4_t, uint16_t types.
57109         * lib/unistr/ucs4-utf16.c: New file.
57110
57111 2006-12-25  Bruno Haible  <bruno@clisp.org>
57112
57113         * modules/unitypes: New file.
57114         * lib/unitypes.h: New file.
57115         * MODULES.html.sh (func_all_modules): New section "Unicode string
57116         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
57117         this section. Add unitypes.
57118
57119 2007-01-08  Bruno Haible  <bruno@clisp.org>
57120
57121         Avoid variable names that conflict with those from libtool.
57122         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
57123         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
57124         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
57125         library_names_spec to acl_library_names_spec, hardcode_* to
57126         acl_hardcode_*.
57127         Reported by Ralf Wildenhues.
57128
57129 2007-01-08  Bruno Haible  <bruno@clisp.org>
57130
57131         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
57132         definition.
57133         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
57134         definition.
57135         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
57136         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
57137         definition.
57138         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
57139         definition.
57140         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
57141         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
57142         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
57143         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
57144         definition.
57145         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
57146         definition.
57147         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
57148         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
57149         GC_USE_<algorithm>.
57150         * lib/gc-libgcrypt.c: Likewise.
57151         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
57152         * modules/gc-arctwo (configure.ac): Likewise.
57153         * modules/gc-des (configure.ac): Likewise.
57154         * modules/gc-hmac-md5 (configure.ac): Likewise.
57155         * modules/gc-hmac-sha1 (configure.ac): Likewise.
57156         * modules/gc-md2 (configure.ac): Likewise.
57157         * modules/gc-md4 (configure.ac): Likewise.
57158         * modules/gc-md5 (configure.ac): Likewise.
57159         * modules/gc-random (configure.ac): Likewise.
57160         * modules/gc-rijndael (configure.ac): Likewise.
57161         * modules/gc-sha1 (configure.ac): Likewise.
57162
57163 2007-01-08  Bruno Haible  <bruno@clisp.org>
57164
57165         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
57166         macro definition.
57167         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
57168         definition.
57169         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
57170         definition.
57171         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
57172         * modules/fcntl-safer (configure.ac): Likewise.
57173         * modules/fopen-safer (configure.ac): Likewise.
57174         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
57175         GNULIB_FWRITEERROR macro definition.
57176
57177 2007-01-08  Bruno Haible  <bruno@clisp.org>
57178
57179         * m4/gnulib-common.m4: New file.
57180         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
57181         (func_get_filelist): Add m4/gnulib-common.m4.
57182
57183 2007-01-08  Bruno Haible  <bruno@clisp.org>
57184
57185         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
57186         command.
57187
57188 2007-01-08  Jim Meyering  <jim@meyering.net>
57189
57190         Use a more robust test for a "can't happen" condition.
57191         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
57192         narrowed the st_size value.  Presuming the "can't happen" condition
57193         is true, that narrowing could conceivably convert an invalid st_size
57194         value into a valid one.  Instead, use a change based on Matthew
57195         Woehlke's original patch.
57196
57197         Slight readability improvement: use an assert-like macro
57198         in place of literal "abort ()" uses.
57199         * lib/fts.c (fts_assert): Define.
57200         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
57201         Use this macro instead of a bare 'abort'.
57202
57203 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
57204
57205         Don't worry about using IRIX 5.3's wctype.h broken definitions;
57206         simply work around them.
57207         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
57208         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
57209         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
57210         declaring.
57211         Don't bother to define as macros, since the standard doesn't require it.
57212         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
57213         longer worry about IRIX 5.3.
57214         (HAVE_WCTYPE_CTMP_BUG): Remove.
57215
57216 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57217
57218         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
57219         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
57220         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57221         Problems reported by Georg Schwarz for IRIX 5.3.
57222
57223         * gnulib-tool (autoconf_minversion): Take the maximum version number
57224         found, not the minimum.  Problem reported by James Youngman.
57225
57226 2007-01-03  Karl Berry  <karl@gnu.org>
57227
57228         * doc/error.texi: new file, explaining interaction with progname.
57229         * doc/gnulib.texi: include it.  Update copyright.
57230
57231 2007-01-03  Simon Josefsson  <simon@josefsson.org>
57232
57233         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
57234         AC_CANONICAL_HOST, to improve autobuild outputs.
57235
57236 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
57237             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
57238
57239         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
57240         sockets, server sockets, and other file descriptors.  Count errors
57241         to compute the return value.  Reorder the code a bit to be easier
57242         to follow.  Don't set event bits that were not requested (except
57243         POLLERR and POLLHUP).
57244
57245 2007-01-01  Bruno Haible  <bruno@clisp.org>
57246
57247         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
57248
57249 2007-01-03  Jim Meyering  <jim@meyering.net>
57250
57251         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
57252
57253 2007-01-02  Bruno Haible  <bruno@clisp.org>
57254
57255         * modules/settime (Include): Require timespec.h.
57256         * modules/nanosleep (Include): Likewise.
57257
57258 2007-01-01  Bruno Haible  <bruno@clisp.org>
57259
57260         * gnulib-tool (func_emit_copyright_notice): Bump year.
57261         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
57262
57263 2007-01-01  Bruno Haible  <bruno@clisp.org>
57264
57265         Improve support for OpenBSD.
57266         * build-aux/config.rpath (libname_spec): Export.
57267         (library_names_spec): New variable. Export.
57268         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
57269         library_names_spec from the config.rpath output. Locate shared library
57270         through the name pattern in library_names_spec.
57271
57272 2007-01-01  Eric Blake  <ebb9@byu.net>
57273
57274         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
57275
57276 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
57277
57278         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
57279         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
57280         assume the C locale, and avoid an "eval" that could cause trouble.
57281         Problem with SORT reported by Bob Proulx.
57282
57283         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
57284         Define.  Trivial patch from Henning Nielsen Lund, originally
57285         sent to bug-grep@gnu.org today.
57286
57287 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57288
57289         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
57290         struct stat.  Problem reported by Henning Nielsen Lund.
57291         * lib/acl.c: Include acl.h first, to check interface.  Don't
57292         bother to include sys/types.h and sys/stat.h again.
57293
57294 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57295
57296         Import the following change from libc; problem reported by
57297         Sven Verdoolaege.
57298
57299         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
57300
57301         [BZ #1373]
57302         * lib/argp.h: Remove __NTH for __argp_usage inline function.
57303
57304 2006-12-28  Jim Meyering  <jim@meyering.net>
57305
57306         * build-aux/announce-gen: Do not assume that the package
57307         builds any of tar.gz, tar.bz2, and .xdelta files.
57308         Suggestion from Simon Josefsson.
57309
57310 2006-12-28  Simon Josefsson  <simon@josefsson.org>
57311
57312         * modules/announce-gen: New file.
57313
57314 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
57315
57316         * lib/mbchar.h: Just include <wctype.h>; the wctype module
57317         handles its gotchas now.
57318         * lib/mbswidth.c: Likewise.
57319         * lib/wcwidth.h: Likewise.
57320         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
57321         and iswcntrl; the wctype module does this stuff now.
57322         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
57323         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
57324         * modules/mbchar (Depends-on): Add wctype.
57325         * modules/mbswidth (Depends-on): Likewise.
57326         * modules/wcwidth (Depends-on): Likewise.
57327
57328 2006-12-27  Eric Blake  <ebb9@byu.net>
57329
57330         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
57331         module uses more than what <wctype.h> is required to provide.
57332
57333 2006-12-26  Eric Blake  <ebb9@byu.net>
57334
57335         * gnulib-tool (sed_extract_prog): Avoid space-tab.
57336
57337 2006-12-26  Eric Blake  <ebb9@byu.net>
57338
57339         * modules/absolute-header: New module.
57340         * modules/fcntl (Depends-on): Depend on it.
57341         * modules/inttypes (Depends-on): Likewise.
57342         * modules/stdint (Depends-on): Likewise.
57343         * modules/sys_stat (Depends-on): Likewise.
57344         * modules/wctype (Depends-on): Likewise.
57345         * MODULES.html.sh (Support for building libraries and
57346         executables): Document it.
57347
57348 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57349
57350         * gnulib-tool (SED): Remove, undoing previous change.
57351         The problem was that it broke coreutils on Solaris, because
57352         "sed --posix" leaked into a makefile.
57353         (sed): New alias, if 'alias' and GNU sed.
57354
57355 2006-12-24  Jim Meyering  <jim@meyering.net>
57356
57357         Work around an fchownat bug in glibc-2.4:
57358         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
57359         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
57360         in spite of the -P option.
57361         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
57362         New macros.
57363         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
57364         * modules/openat (Files): Add lib/fchownat.c.
57365         * lib/openat.c (fchownat): Don't define here.  Move to...
57366         * lib/fchownat.c: ...this new file.
57367
57368 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57369
57370         Fix bug reported by Bruno Haible in
57371         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
57372         where quotearg.c didn't compile on Mac OS X 10.2 because it
57373         lacks <wchar.h> and wint_t.
57374         * lib/wctype_.h (__wctype_wint_t): New type.
57375         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
57376         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
57377         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
57378         Arg is now of type __wctype_wint_t, not wint_t.
57379         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
57380         substitute HAVE_WINT_T.
57381         * modules/wctype (Files): Add m4/wint_t.m4.
57382         (wctype.h): Substitute HAVE_WINT_T.
57383
57384 2006-12-23  Bruno Haible  <bruno@clisp.org>
57385
57386         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
57387
57388 2006-12-23  Bruno Haible  <bruno@clisp.org>
57389
57390         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
57391         S_ISLNK.
57392         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
57393         mingw.
57394
57395 2006-12-22  Bruno Haible  <bruno@clisp.org>
57396
57397         * lib/copy-file.c: Include acl.h.
57398         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
57399         Close the file descriptors only after being done with copy_acl.
57400         * modules/copy-file (Depends-on): Add acl.
57401
57402 2006-12-22  Bruno Haible  <bruno@clisp.org>
57403
57404         * gnulib-tool (SED): New variable.
57405         Use $SED instead of sed everywhere.
57406
57407 2006-12-22  Bruno Haible  <bruno@clisp.org>
57408
57409         * modules/no-c++: New file.
57410         * m4/no-c++.m4: New file.
57411         * MODULES.html.sh (Support for building libraries and executables):
57412         Add no-c++.
57413
57414 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
57415
57416         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
57417         Include <limits.h>, and use its INT_MAX to rewrite the
57418         j loop so that it does not overflow 'int'.  Problem reported by
57419         Ralf Wildenhues in
57420         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
57421         Play it safe by shifting left by 1 rather than multiplying by 2,
57422         as GCC is less likely to optimize this away when the value
57423         is signed (when it assumes overflow leads to undefined behavior).
57424         Also, don't assume time_t uses two's complement.
57425
57426 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
57427
57428         * MODULES.html.sh: New module wctype.
57429         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
57430         * lib/fnmatch.c: Don't bother to include <wchar.h> before
57431         <wctype.h>, since the new wctype module should fix this.
57432         * lib/quotearg.c: Include <wctype.h> unconditionally, since
57433         the wctype module should arrange for it.
57434         * lib/regex_internal.h: Likewise.
57435         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
57436         since the wctype module should handle this now.
57437         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
57438         * modules/fnmatch (Depends-on): Add wctype.
57439         * modules/quotearg (Depends-on): Likewise.
57440         * modules/regex (Depends-on): Likewise.
57441
57442 2006-12-19  Bruno Haible  <bruno@clisp.org>
57443
57444         * lib/strdup.h [C++]: Wrap definitions in extern "C".
57445         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
57446
57447 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57448
57449         * modules/savewd (Depends-on): Fix dependency on fcntl.
57450
57451 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57452
57453         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
57454         conforms to C99, rather than relying on the user's environment
57455         setting of STDINT_H.
57456
57457 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57458         and Eric Blake  <ebb9@byu.net>
57459
57460         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
57461         This is more consistent with the other defines here.
57462         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
57463         Port to z/OS.  Problem reported by Paul Gilmartin.
57464         Change local vars to use gl_ prefix rather than ac_.
57465         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
57466         with other defines.
57467         * modules/double-slash-root: New module.
57468         * modules/dirname (Files): Remove m4/double-slash-root.m4.
57469         (Depends-on): Add double-slash-root.
57470         * MODULES.html.sh (File system functions): Mention new module.
57471
57472 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
57473
57474         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
57475         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
57476         This is for the benefit of gzip, which doesn't do i18n.
57477
57478 2006-12-12  Jim Meyering  <jim@meyering.net>
57479
57480         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
57481         Reported by Andreas Schwab <schwab@suse.de>.
57482
57483 2006-12-12  Bruno Haible  <bruno@clisp.org>
57484
57485         Merge these changes.
57486         2006-09-05  Bruno Haible  <bruno@clisp.org>
57487         * lib/iconvme.c (iconv_string): No need to save and restore errno when
57488         iconv_alloc succeeded.
57489         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
57490         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
57491         test for " && dest " at the end - dest is always != NULL there. Call
57492         iconv with 4xNULL arguments initially, to reset the state. Call iconv
57493         with 2xNULL arguments, also to flush the state storage. Handle the
57494         IRIX iconv behaviour. Realloc the final result, to throw away unused
57495         memory.
57496
57497 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
57498
57499         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
57500         and fchmodat unconditionally, since glibc 2.4 has them.
57501         Problem reported by Arkadiusz Miskiewicz.
57502
57503 2006-12-10  Bruno Haible  <bruno@clisp.org>
57504
57505         * gnulib-tool (func_import): Show the include files only for those
57506         modules that are copied and specified.
57507         Reported by Karl Berry.
57508
57509 2006-12-08  Jim Meyering  <jim@meyering.net>
57510
57511         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
57512         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
57513
57514         * build-aux/announce-gen: Add two new options, both optional:
57515         --bootstrap-tools=TOOL_LIST
57516               a comma-separated list of tools, e.g.,
57517               autoconf,automake,bison,gnulib
57518         --gnulib-snapshot-date=DATE
57519               if gnulib is in the bootstrap tool list,
57520               then report this as the snapshot date.
57521               If not specified, use the current date/time.
57522               If you specify a date here, be sure it's UTC.
57523
57524 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57525
57526         * tests/test-argp-2.sh: Fix test to match actual output.
57527         (func_compare): Fix sed script to be portable.
57528
57529 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
57530
57531         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
57532         workaround for this case.  It is not autoconfigured now; offhand
57533         it's hard to see how to autoconfigure it.
57534
57535 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57536
57537         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
57538         a directory that is about to be chowned.  Such a directory's
57539         initial file permissions should permit the owner only and this
57540         should not be changed until after the chown, since the group and
57541         other bits would be incorrect if they granted permission before
57542         the chown.
57543
57544         Fix porting problem for iswctype reported by Georg Schwarz in:
57545         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
57546         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
57547         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
57548         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
57549         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57550
57551 2006-12-03  Jim Meyering  <jim@meyering.net>
57552
57553         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
57554         p->fts_statp may not yet be defined.
57555         (fts_read): Instead, set it in the caller, once p->fts_statp is
57556         sure to be defined, and corresponds to a top-level directory.
57557         This bug made du -x fail.  Here's the coreutils test case:
57558         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
57559         Reported by Mike Frysinger.
57560
57561 2006-12-01  Jim Meyering  <jim@meyering.net>
57562
57563         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
57564         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
57565         Reported by Simon Josefsson.
57566
57567 2006-11-30  Jim Meyering  <jim@meyering.net>
57568
57569         * m4/warning.m4: Use the all-permissive copyright notice
57570         recommended by RMS (rather than LGPL).
57571         * m4/vararrays.m4: Likewise.
57572         * m4/flexmember.m4: Likewise.
57573
57574 2006-11-29  Bruno Haible  <bruno@clisp.org>
57575
57576         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57577         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
57578         using +=.
57579         Reported by Simon Josefsson <simon@josefsson.org>.
57580
57581 2006-11-28  James Youngman <jay@gnu.org>
57582
57583         * README: Advise users that they might find the bug-gnulib@gnu.org
57584         and autotools-announce@gnu.org mailing lists useful.
57585
57586 2006-11-28  Bruno Haible  <bruno@clisp.org>
57587
57588         * m4/ptrdiff_max.m4: Remove file.
57589
57590 2006-11-21  Bruno Haible  <bruno@clisp.org>
57591
57592         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
57593         _AC_COMPUTE_INT.
57594         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
57595         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
57596         _AC_COMPUTE_INT.
57597         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
57598         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
57599         _AC_COMPUTE_INT.
57600         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
57601
57602 2006-11-28  Jim Meyering  <jim@meyering.net>
57603
57604         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
57605         warning from "gcc -Wshadow" about shadowing the builtin.
57606
57607 2006-11-27  Bruno Haible  <bruno@clisp.org>
57608
57609         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
57610         _AC_COMPUTE_INT.
57611         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
57612
57613 2006-11-27  Bruno Haible  <bruno@clisp.org>
57614             Paul Eggert  <eggert@cs.ucla.edu>
57615
57616         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
57617
57618 2006-11-26  Bruno Haible  <bruno@clisp.org>
57619
57620         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57621         noinst_LTLIBRARIES.
57622
57623 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
57624             Bruno Haible  <bruno@clisp.org>
57625
57626         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
57627         if compiling with "gcc -ansi".
57628
57629 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
57630
57631         Fix some incompatibilities with gcc -ansi -pedantic.
57632         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
57633         if compiling pedantically with GCC, unless it's C99 or later.
57634         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
57635         it mishandles gcc -ansi -pedantic as well.
57636         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
57637         if gcc -pedantic.
57638         * lib/regexec.c (check_node_accept_bytes): Don't use auto
57639         initializers for struct if -pedantic, unless it's C99 or later.
57640
57641 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
57642
57643         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
57644         Don't close an fd more than once. Identical atimes indicate
57645         success, not failure.
57646
57647 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
57648
57649         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
57650
57651 2006-11-23  Jim Meyering  <jim@meyering.net>
57652
57653         * build-aux/announce-gen: New file.  From coreutils.
57654
57655 2006-11-22  Jim Meyering  <jim@meyering.net>
57656
57657         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
57658         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
57659         (fts_read): Use a temporary to narrow the overused st_size member
57660         before using it in a switch statement.  Reported by Matthew Woehlke.
57661
57662         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
57663         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
57664
57665 2006-11-20  Bruno Haible  <bruno@clisp.org>
57666
57667         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
57668         changequote instead of pairs of brackets.
57669         Reported by Andreas Schwab <schwab@suse.de>.
57670
57671 2006-11-21  Jim Meyering  <jim@meyering.net>
57672
57673         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
57674         so as to remain compatible with older compilers.
57675         Patch from Michael Deutschmann.
57676
57677 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
57678
57679         * MODULES.html.sh (File system functions): Add openat.
57680
57681         * lib/openat.h (rpl_fstatat): New macro, if
57682         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
57683         (fstatat): Define to rpl_fstatat under the same conditions,
57684         unless COMPILING_FSTATAT.
57685         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
57686         seems to have the bug.
57687         * lib/fstatat.c: New file.
57688         * modules/openat (Files): Add it.
57689
57690 2006-11-20  Bruno Haible  <bruno@clisp.org>
57691
57692         * Makefile: New file.
57693
57694 2006-11-20  Jim Meyering  <jim@meyering.net>
57695
57696         The beginnings of syntax-related checks for gnulib.
57697         * lib/Makefile: New file.
57698         * lib/t-idcache: New script.  Ensure that the two halves of
57699         idcache.c stay in sync.
57700
57701         * lib/idcache.c: Adjust comments in user- and group- portions to
57702         be more accurate, and to be consistent with one another.
57703
57704 2006-11-20  Jim Meyering  <jim@meyering.net>
57705
57706         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
57707         continue using the flexible array member (thus, this module performs
57708         half as many malloc calls), with the addition that...
57709         (getgroup, getuser): Consistently record a non-match via an empty
57710         "name" string, and map an empty string match to a NULL return value.
57711         * modules/idcache (Depends-on): Re-add flexmember.
57712
57713         * lib/idcache.c (getuser): Remove all uses of the register keyword.
57714         (getuidbyname, getgroup, getgidbyname): Likewise.
57715
57716         Use cleaner syntax: NULL rather than 0.
57717         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
57718
57719 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
57720
57721         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
57722         It mishandled the case where the group was missing.
57723         Problem reported by Greg Schafer.
57724         * modules/idcache: Likewise.
57725
57726 2006-11-18  Jim Meyering  <jim@meyering.net>
57727
57728         * check-module (%exempt_header): Add exception for some
57729         conditionally-included headers.
57730
57731         * modules/i-ring (Depends-on): Add verify.
57732         (License): Change to LGPL.
57733
57734 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57735
57736         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
57737         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
57738         and inttostr.h.  Use snprintf rather than uinttostr, so that
57739         LGPLed code doesn't depend on GPLed.
57740
57741 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57742
57743         * modules/inline (License): Change from GPL to LGPL.
57744
57745 2006-11-17  Jim Meyering  <jim@meyering.net>
57746
57747         * modules/d-type (License): Switch to LGPL.
57748
57749 2006-11-15  Bruno Haible  <bruno@clisp.org>
57750
57751         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
57752
57753 2006-11-15  Eric Blake  <ebb9@byu.net>
57754
57755         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
57756         the module dependency.
57757
57758 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57759             Bruno Haible  <bruno@clisp.org>
57760
57761         * gnulib-tool (func_create_testdir): Add license consistency check.
57762
57763 2006-11-15  Eric Blake  <ebb9@byu.net>
57764
57765         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
57766         random "(cached)" in configure output.
57767
57768 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57769
57770         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
57771         test for conforming inttypes.h is both announced and cached.
57772
57773         * MODULES.html.sh (seen_modules, seen_files): New variables.
57774         (func_module): Rewrite to use a few less gnulib-tool and sed
57775         invocations.  Avoid a couple of quadratic algorithms for ...
57776         (missed_modules, missed_files): ... these, with ...
57777         (func_append, func_tmpdir): ... these new functions, from
57778         gnulib-tool.  Analogously, install traps for cleanup.
57779
57780         * tests/test-gc.c (main): Remove unused variables.
57781         * tests/test-read-file.c: Include stdlib.h, for 'free'.
57782
57783 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
57784
57785         * modules/inttostr (License): Change to LGPL.
57786
57787 2006-11-14  Eric Blake  <ebb9@byu.net>
57788
57789         * modules/tempname (License): Change to LGPL.
57790
57791 2006-11-14  Eric Blake  <ebb9@byu.net>
57792
57793         * doc/functions.texi (Function Portability): *printf functions on
57794         Cygwin now understand all POSIX size specifiers.
57795
57796 2006-11-14  Bruno Haible  <bruno@clisp.org>
57797
57798         * modules/c-ctype (License): Change to LGPL.
57799
57800 2006-11-12  Bruno Haible  <bruno@clisp.org>
57801
57802         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57803         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
57804         for GNOME libraries, for which the include files are installed in
57805         subdirectories of $prefix/include.
57806
57807 2006-11-12  Bruno Haible  <bruno@clisp.org>
57808
57809         * m4/lib-link.m4: Require at least autoconf-2.54.
57810         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
57811         name to underscores for the --with option.
57812
57813 2006-11-13  Bruno Haible  <bruno@clisp.org>
57814
57815         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
57816         the tests directory.
57817         Reported by Ralf Wildenhues.
57818
57819 2006-11-13  Bruno Haible  <bruno@clisp.org>
57820
57821         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
57822         (func_emit_initmacro_end): Undo the override here.
57823         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
57824         Works around the famous automake error in coreutils.
57825
57826 2006-11-13  Eric Blake  <ebb9@byu.net>
57827
57828         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
57829         element, not its node.
57830
57831 2006-11-12  Bruno Haible  <bruno@clisp.org>
57832
57833         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
57834         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
57835
57836 2006-11-12  Bruno Haible  <bruno@clisp.org>
57837
57838         * gnulib-tool: New option --local-symlink.
57839         (func_usage): Document it.
57840         (lsymbolic): New variable.
57841         (func_import, func_create_testdir): If --symlink was not specified,
57842         test whether --local-symlink was specified and the file comes from
57843         the local_gnulib_dir.
57844
57845 2006-11-12  Bruno Haible  <bruno@clisp.org>
57846
57847         * gnulib-tool (func_ln): New function.
57848         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
57849
57850 2006-11-12  Bruno Haible  <bruno@clisp.org>
57851
57852         Finish support for source files in subdirectories.
57853         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
57854         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
57855         AUTOMAKE_OPTIONS.
57856         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
57857
57858 2006-11-12  Bruno Haible  <bruno@clisp.org>
57859
57860         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57861         EXTRA_lib_SOURCES augmentation.
57862         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
57863
57864 2006-11-12  Jim Meyering  <jim@meyering.net>
57865
57866         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
57867         file descriptors.  This also averts a failure on systems with
57868         native openat support when a traversed directory lacks "x" access.
57869         * lib/fts_.h: Include "i-ring.h"
57870         (struct FTS) [fts_fd_ring]: New member.
57871         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
57872         (FCHDIR): Add parentheses.
57873         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
57874         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
57875         When descending, rather than simply closing the previous
57876         fts_cwd_fd value, push that file descriptor onto the ring.
57877         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
57878         (fts_open): Initialize the new fd_ring member.
57879         (fts_close): Clear the ring.
57880         (fts_safe_changedir): When possible, use our new fd_ring to skip
57881         the diropen and fstat and dev/ino comparison that would normally
57882         accompany a virtual `chdir ("..")'.
57883
57884         * modules/fts (Depends-on): Add i-ring.
57885         * modules/i-ring: New module.
57886         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
57887         * m4/i-ring.m4: New file.
57888
57889 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57890
57891         * gnulib-tool (func_create_testdir): Fix replacement of
57892         `build-aux' in configure.ac.  Run autotools in gltests
57893         subdirectory.
57894         (func_create_testdir, func_create_megatestdir, test): There is
57895         no need for '--force' in most autotool invocations in a new
57896         tree.  Actually fail the whole test if any of the tools, or the
57897         configure or make stages fail.
57898
57899         Sync from Automake.
57900         * build-aux/gnupload: Revert last change.  Add pointer to upload
57901         instructions of the GNU Maintenance Instructions.
57902         Suggestion by Karl Berry.
57903
57904 2006-11-10  Jim Meyering  <jim@meyering.net>
57905
57906         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
57907
57908 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57909
57910         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
57911         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
57912         (bind_textdomain_codeset) [! ENABLE_NLS]:
57913         Evaluate all the arguments.  That way, callers get compatible behavior
57914         if the arguments have side effects.  Also, it avoids some GCC
57915         diagnostics in some cases; Joel E. Denny reported problems when Bison
57916         was configured with --enable-gcc-warnigs.
57917
57918 2006-11-10  Jim Meyering  <jim@meyering.net>
57919
57920         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
57921         relevant options in CFLAGS (like -O, -fno-inline) are taken into
57922         account.
57923
57924 2006-11-10  Jim Meyering  <jim@meyering.net>
57925
57926         * modules/inline: New file/module.
57927         * modules/xalloc (Files): Remove m4/inline.m4.
57928         (Depends-on): Add inline, instead.
57929         * modules/oset: Likewise.
57930         * modules/list: Likewise.
57931
57932 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57933
57934         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
57935         Problem reported by Matthew Woehlke.
57936
57937 2006-11-09  Bruno Haible  <bruno@clisp.org>
57938
57939         * lib/tempname.c (gen_tempname): Remove variant that invokes
57940         __gen_tempname.
57941         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
57942         __gen_tempname.
57943
57944 2006-11-08  Bruno Haible  <bruno@clisp.org>
57945
57946         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
57947         to 'yes' instead of 'cross-compiling'.
57948
57949 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
57950
57951         * lib/quotearg.h (quotearg_free): New decl.
57952         * lib/quotearg.c (quotearg_free): New function.
57953         (slot0, nslots, slotvec0, slotvec):
57954         Now file-scope so that quotearg_free can get at them.
57955
57956 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57957
57958         Sync from Automake.
57959         * build-aux/gnupload: Add missing 'gnu' to example URL.
57960         Report by Karl Berry.
57961
57962 2006-11-08  Bruno Haible  <bruno@clisp.org>
57963
57964         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
57965         Suggested by Paul Eggert.
57966
57967 2006-11-08  Jim Meyering  <jim@meyering.net>
57968
57969         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
57970         It's already included if !_LIBC.
57971         (fts_safe_changedir): Add a comment.
57972
57973 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
57974
57975         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
57976         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
57977         Matthew Woehlke.
57978
57979         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
57980         definitions up, to avoid colliding with change below.
57981         (static_inline) [HAVE_INLINE]: New macro.
57982         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
57983         Provide extern decls when !HAVE_INLINE.  Do not define unless
57984         static_inline is defined, either by us or by xmalloc.c.  Use
57985         static_inline rather than static inline.
57986         (XCALLOC): Optimize sizeof(T) = 1 case.
57987         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
57988
57989 2006-11-07  Bruno Haible  <bruno@clisp.org>
57990
57991         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
57992         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
57993         AC_C_INLINE.
57994         * modules/xalloc (Files): Add m4/inline.m4.
57995
57996 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57997
57998         * README: Fix typo.
57999         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
58000         (Miscellanous Notes): ...from this.
58001
58002 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
58003
58004         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
58005         Mention that offsetof should be used instead of sizeof.
58006         From Bruno Haible.
58007
58008 2006-11-07  Bruno Haible  <bruno@clisp.org>
58009
58010         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
58011
58012 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
58013
58014         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
58015         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
58016         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
58017         (gl_tree_add_before, gl_tree_add_after):
58018         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
58019         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
58020         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
58021         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
58022         (gl_linked_add_after, gl_linked_add_at): Likewise.
58023         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
58024         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
58025         (gl_tree_add_before, gl_tree_add_after): Likewise.
58026         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
58027         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
58028         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
58029
58030 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58031
58032         * lib/gl_oset.h: Use C comment style, not C++ comment style.
58033
58034 2006-11-06  Bruno Haible  <bruno@clisp.org>
58035
58036         * m4/inline.m4: New file.
58037         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
58038         * modules/list (Files): Add m4/inline.m4.
58039         * modules/oset (Files): Likewise.
58040
58041 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
58042
58043         * lib/idcache.c: Include <stddef.h>, for offsetof.
58044         (struct userid.name): Change from char * to a flexible array member.
58045         All uses changed.
58046         * modules/idcache (Depends-on): Add flexmember.
58047
58048         * MODULES.html.sh (Core language properties): New module flexmember.
58049         * modules/flexmember, m4/flexmember.m4: New files.
58050
58051         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
58052         inline functions that are identical with the old xnmalloc_inline,
58053         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
58054         that we can avoid some unnecessary integer multiplications and
58055         divisions in the common case where the element size is known at
58056         compile time.
58057         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
58058         needed.
58059         (xnboundedmalloc): Remove.
58060         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
58061         arguments, for consistency with rest of this header.
58062         (xcharalloc): Rewrite using XNMALLOC.
58063         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
58064         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
58065         versions have been moved to lib/xalloc.h and renamed to be the
58066         non-*_inline versions.
58067         (xmalloc, xrealloc): Implement without reference to the xnmalloc
58068         and xnrealloc functions, since those functions are now inline and
58069         now call us.
58070         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
58071         renaming described above.
58072         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
58073         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
58074         captures the dependency in AC_C_INLINE.
58075
58076         New module canonicalize-lgpl, proposed by Charles Wilson in
58077         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
58078         with a few small changes afterwards.
58079         * MODULES.html.sh (File system functions): New module
58080         canonicalize-lgpl.
58081         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
58082         and canonicalize_file_name.
58083         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
58084         * modules/canonicalize-lgpl: New files.
58085
58086 2006-11-05  Bruno Haible  <bruno@clisp.org>
58087
58088         * gnulib-tool (func_import, func_create_testdir): Create directories
58089         also for files in subdirectories of lib/.
58090
58091 2006-11-05  Bruno Haible  <bruno@clisp.org>
58092
58093         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
58094         ANSI C compliant.
58095
58096 2006-11-03  Bruno Haible  <bruno@clisp.org>
58097
58098         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
58099         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
58100         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
58101         (xnboundedmalloc): New inline function.
58102         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
58103         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
58104         xmalloc.
58105         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
58106         xmalloc.
58107         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
58108         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
58109         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
58110         xmalloc.
58111         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
58112         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
58113         xmalloc.
58114         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
58115         gl_tree_add_after): Use XMALLOC instead of xmalloc.
58116         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
58117         xmalloc.
58118         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
58119         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
58120         gl_tree_add_after): Use XMALLOC instead of xmalloc.
58121         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
58122         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
58123         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
58124         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
58125
58126 2006-11-03  Bruno Haible  <bruno@clisp.org>
58127
58128         * lib/c-ctype.h [C++]: Define functions without name mangling.
58129         * lib/fwriteerror.h [C++]: Likewise.
58130         * lib/gcd.h [C++]: Likewise.
58131         * lib/linebreak.h [C++]: Likewise.
58132
58133 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
58134
58135         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
58136         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
58137         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
58138         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
58139         Check for functions and headers just once.
58140         Check for declaration of canonicalize_file_name.
58141         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
58142
58143 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58144
58145         * gnulib-tool (func_import): Fix typo in actioncmd.
58146
58147 2006-11-02  Bruno Haible  <bruno@clisp.org>
58148
58149         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
58150         newline sequence in the Makefile.am snippet as a space, like "make"
58151         does.
58152         Reported by Roger Persson <perrog@gmail.com>.
58153
58154 2006-11-01  Bruno Haible  <bruno@clisp.org>
58155
58156         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
58157         already declared in <string.h>.
58158         * lib/strcase.h (strncasecmp): Don't declare it if yes.
58159
58160 2006-11-01  Bruno Haible  <bruno@clisp.org>
58161
58162         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
58163         * lib/strcase.h: Include <string.h>.
58164         (strcasecmp): Define to rpl_strcasecmp here.
58165
58166 2006-11-01  Bruno Haible  <bruno@clisp.org>
58167
58168         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
58169
58170 2006-11-01  Eric Blake  <ebb9@byu.net>
58171
58172         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
58173
58174         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
58175
58176 2006-10-29  Bruno Haible  <bruno@clisp.org>
58177
58178         Make it compile in C++ mode.
58179         * lib/full-write.c (full_rw): Add a cast.
58180
58181 2006-11-01  Bruno Haible  <bruno@clisp.org>
58182
58183         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
58184         be POSIX compliant.
58185         Reported by Roger Persson <perrog@gmail.com>.
58186
58187 2006-11-01  Eric Blake  <ebb9@byu.net>
58188
58189         * lib/getopt_.h: Fix comments.
58190
58191 2006-10-31  Eric Blake  <ebb9@byu.net>
58192
58193         * modules/tmpdir (Depends-on): Add sys_stat.
58194         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
58195         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
58196         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
58197         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
58198         tempname.
58199
58200 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
58201
58202         Avoid some C++ diagnostics reported by Bruno Haible.
58203         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
58204         xmalloc.
58205         (quotearg_alloc): Use xcharalloc rather than xmalloc.
58206         (struct slotvec): Move to top level.
58207         (quotearg_n_options): Rewrite to avoid xmalloc.
58208         * lib/xalloc.h (xcharalloc): New function.
58209         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
58210         [defined __cplusplus]: Add function template that provides result
58211         type propagation.  This part of the change is from Bruno Haible.
58212
58213 2006-10-29  Bruno Haible  <bruno@clisp.org>
58214
58215         Make it compile in C++ mode.
58216         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
58217         * lib/strnlen1.c (strnlen1): Cast memchr result.
58218         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
58219         * lib/clean-temp.c (string_equals, string_hash): Add casts.
58220         (create_temp_dir): Rename local variable 'template'.
58221         (compile_csharp_using_sscli): Add cast.
58222         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
58223         * lib/findprog.c (find_in_path): Likewise.
58224         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
58225         * lib/wait-process.c (register_slave_subprocess): Likewise.
58226
58227 2006-10-22  Bruno Haible  <bruno@clisp.org>
58228
58229         * modules/tsearch: New file.
58230         * lib/tsearch.h: New file.
58231         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
58232         * m4/tsearch.m4: New file.
58233         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
58234
58235 2006-10-29  Eric Blake  <ebb9@byu.net>
58236
58237         * lib/arcfour.c: Assume config.h.
58238         * lib/arctwo.c: Likewise.
58239         * lib/base64.c: Likewise.
58240         * lib/check-version.c: Likewise.
58241         * lib/crc.c: Likewise.
58242         * lib/des.c: Likewise.
58243         * lib/gc-gnulib.c: Likewise.
58244         * lib/gc-libgcrypt.c: Likewise.
58245         * lib/gc-pbkdf2-sha1.c: Likewise.
58246         * lib/getaddrinfo.c: Likewise.
58247         * lib/getdelim.c: Likewise.
58248         * lib/getline.c: Likewise.
58249         * lib/hmac-md5.c: Likewise.
58250         * lib/hmac-sha1.c: Likewise.
58251         * lib/iconvme.c: Likewise.
58252         * lib/md2.c: Likewise.
58253         * lib/md4.c: Likewise.
58254         * lib/memxor.c: Likewise.
58255         * lib/read-file.c: Likewise.
58256         * lib/readline.c: Likewise.
58257         * lib/rijndael-alg-fst.c: Likewise.
58258         * lib/rijndael-api-fst.c: Likewise.
58259         * lib/xgetdomainname.c: Likewise.
58260
58261 2006-10-28  Eric Blake  <ebb9@byu.net>
58262
58263         * lib/xstrndup.c: Assume config.h.
58264
58265 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
58266
58267         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
58268         stat-macros.h is now for our own macros, whereas stat_h is for
58269         macros in the <sys/stat.h> name space.
58270         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
58271         (STAT_MACROS_H): Remove.
58272         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
58273         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
58274         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
58275         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
58276         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
58277         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
58278         Move these macros to ...
58279         * lib/stat_.h: here.  Don't include stat-macros.h.
58280         * lib/canonicalize.c: Don't include stat-macros.h.
58281         * lib/chown.c: Likewise.
58282         * lib/euidaccess.c: Likewise.
58283         * lib/file-type.c: Likewise.
58284         * lib/filemode.c: Likewise.
58285         * lib/glob.c: Likewise.
58286         * lib/isapipe.c: Likewise.
58287         * lib/lchown.c: Likewise.
58288         * lib/lstat.c: Likewise.
58289         * lib/mkdir-p.c: Likewise.
58290         * lib/rmdir.c: Likewise.
58291         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
58292         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
58293         unless mkdir isn't declared, to speed up 'configure'.
58294         Always create sys/stat.h, since it's unlikely any real sys/stat.h
58295         would define all the S_* symbols.
58296         * modules/canonicalize (Depends-on):
58297         Depend on sys_stat, not stat-macros.
58298         * modules/chown: Likewise.
58299         * modules/euidaccess: Likewise.
58300         * modules/filemode: Likewise.
58301         * modules/file-type: Likewise.
58302         * modules/glob: Likewise.
58303         * modules/isapipe: Likewise.
58304         * modules/lchown: Likewise.
58305         * modules/lstat: Likewise.
58306         * modules/mkancesdirs: Likewise.
58307         * modules/rmdir: Likewise.
58308         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
58309         * modules/modechange: Likewise.
58310         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
58311         (configure.ac): Remove gl_STAT_MACROS.
58312         * modules/sys_stat (Depends-on): Remove stat-macros.
58313
58314 2006-10-27  Bruno Haible  <bruno@clisp.org>
58315
58316         * m4/signed.m4: Remove file.
58317         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
58318         invocation.
58319         * modules/vasnprintf (Files): Remove m4/signed.m4.
58320
58321 2006-10-27  Bruno Haible  <bruno@clisp.org>
58322
58323         Update to GNU gettext 0.16.
58324         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
58325         m4/inttypes-h.m4, m4/signed.m4.
58326         * m4/gettext.m4: Update to GNU gettext 0.16.
58327         * m4/intl.m4: New file, from GNU gettext.
58328         * m4/intldir.m4: New file, from GNU gettext.
58329         * config/srclist.txt: Update
58330
58331 2006-10-27  Eric Blake  <ebb9@byu.net>
58332
58333         * MODULES.html.sh: Document tempname.
58334         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
58335         dependencies.
58336         (Files): Move lib/tempname.c...
58337         * modules/tempname: ...to this new module.
58338         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
58339         (gl_PREREQ_TEMPNAME): Move...
58340         * m4/tempname.m4: ...to this new file.
58341         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
58342         * modules/sys_stat (Depends-on): Add stat-macros.
58343         * lib/stat_.h (includes): Pick up stat macros.
58344         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
58345         if stat macros are broken.
58346         * lib/tempname.c (includes): No need to include "stat-macros.h".
58347         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
58348         (direxists, __path_search) [!_LIBC]: Don't compile these in
58349         gnulib; the tmpdir module covers that.
58350         * lib/tempname.h: New file.
58351
58352 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
58353
58354         * COPYING: Explain how gnulib-tool converts licence headers.
58355         Almost all wording by Eric Blake.
58356
58357 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
58358
58359         * lib/mbchar.h (is_basic_table): Make read-only.
58360         * lib/mbchar.c (is_basic_table): Likewise.
58361         Reported by John Darrington.
58362
58363 2006-10-25  Bruno Haible  <bruno@clisp.org>
58364
58365         * lib/progname.h (set_program_name): Undefine before defining.
58366
58367 2006-10-25  Bruno Haible  <bruno@clisp.org>
58368
58369         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
58370         false for non-gcc C++ compilers.
58371         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
58372
58373 2006-10-24  Bruno Haible  <bruno@clisp.org>
58374
58375         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
58376         iconv implementations like Irix iconv.
58377
58378 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58379
58380         * modules/vararrays: New file.
58381         * m4/vararrays.m4: New file, taken from diffutils.
58382         * MODULES.html.sh: New module vararrays.
58383
58384 2006-10-24  Karl Berry  <karl@gnu.org>
58385
58386         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
58387         Don't call GNU Unix.
58388
58389 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58390
58391         * users.txt: Add Libtool.
58392
58393         Sync from Libtool:
58394
58395         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58396
58397         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
58398         to gnulib's policy of including config.h unconditionally.
58399
58400 2006-10-24  Bruno Haible  <bruno@clisp.org>
58401
58402         * modules/wcwidth (Files): Add m4/wint_t.m4.
58403         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
58404         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
58405
58406 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58407
58408         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
58409         to pacify GCC with some -W flags enabled.  Problem reported by
58410         Bruno Haible.
58411
58412 2006-10-24  Jim Meyering  <jim@meyering.net>
58413
58414         * MODULES.html.sh: Remove uinttostr.  It's not a module.
58415         Reported by Karl Berry.
58416
58417 2006-10-23  Bruno Haible  <bruno@clisp.org>
58418
58419         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
58420
58421 2006-10-24  Bruno Haible  <bruno@clisp.org>
58422
58423         * lib/gl_list.h: Use C comment style, not C++ comment style.
58424
58425 2006-10-23  Eric Blake  <ebb9@byu.net>
58426
58427         * lib/getaddrinfo.c (includes): Add missing include.
58428
58429 2006-10-23  Bruno Haible  <bruno@clisp.org>
58430             Paul Eggert  <eggert@cs.ucla.edu>
58431
58432         Ability to rename obstack_free.
58433         * lib/obstack.h (__obstack_free): New macro. Declare instead of
58434         obstack_free.
58435         (obstack_free): Invoke the __obstack_free macro.
58436         * lib/obstack.c (obstack_free): Use __obstack_free macro.
58437
58438 2006-10-23  Bruno Haible  <bruno@clisp.org>
58439             Paul Eggert  <eggert@cs.ucla.edu>
58440
58441         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
58442         __argc, __argv from the declaration. (They are defined as macros on
58443         mingw.)
58444
58445 2006-10-22  Bruno Haible  <bruno@clisp.org>
58446
58447         * doc/gnulib-intro.texi: New file.
58448         * doc/gnulib.texi: Include it.
58449
58450 2006-10-21  Bruno Haible  <bruno@clisp.org>
58451
58452         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
58453         "Introduction", "Miscellanous Notes", "Particular Modules".
58454
58455 2006-10-21  Bruno Haible  <bruno@clisp.org>
58456
58457         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58458         Change mostlyclean-local rule to avoid sh syntax error from bash
58459         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
58460
58461 2006-10-23  Jim Meyering  <jim@meyering.net>
58462
58463         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
58464         in place of snprintf.
58465
58466         * modules/inttostr (Files): Add lib/uinttostr.c.
58467         * lib/uinttostr.c (inttostr): New file/function.
58468         * lib/inttostr.h (uinttostr): Declare.
58469         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
58470         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
58471         Add uinttostr.
58472         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
58473
58474 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
58475
58476         * lib/canonicalize.c (ELOOP): Define if not already defined.
58477         Problem reported by Bruno Haible in
58478         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
58479
58480 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
58481
58482         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
58483         Problem reported by Perry Smith and Ville Laurikari.
58484
58485         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
58486         uses.
58487
58488 2006-10-19  Bruno Haible  <bruno@clisp.org>
58489
58490         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
58491         for mingw.
58492
58493 2006-10-19  Bruno Haible  <bruno@clisp.org>
58494
58495         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
58496         Needed for mingw.
58497
58498 2006-10-19  Bruno Haible  <bruno@clisp.org>
58499
58500         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
58501
58502 2006-10-19  Bruno Haible  <bruno@clisp.org>
58503
58504         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
58505         it.
58506
58507 2006-10-19  Bruno Haible  <bruno@clisp.org>
58508
58509         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
58510         invocation.
58511
58512 2006-10-19  Bruno Haible  <bruno@clisp.org>
58513
58514         * gnulib-tool (func_create_testdir): Don't include ftruncate and
58515         mountlist by default.
58516
58517 2006-10-16  Bruno Haible  <bruno@clisp.org>
58518
58519         * lib/c-strstr.c: Include c-strstr.h.
58520
58521 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58522
58523         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
58524         in a slash.
58525
58526 2006-10-18  Bruno Haible  <bruno@clisp.org>
58527
58528         * lib/lock.h [C++]: Wrap definitions in extern "C".
58529
58530 2006-10-18  Bruno Haible  <bruno@clisp.org>
58531
58532         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
58533         gl_LIBOBJS list.
58534
58535 2006-10-18  Bruno Haible  <bruno@clisp.org>
58536
58537         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
58538
58539 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
58540
58541         * lib/xstrtol.h: Include gettext.h.
58542         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
58543         Problem reported by Eric Blake.
58544         * modules/xstrtol (Depends-on): Add gettext-h.
58545
58546 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
58547
58548         * lib/strftime.c (advance): New macro.
58549         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
58550         incomplete type, so you can't add 0 to it.  Problem and patch
58551         reported by Eelco Dolstra for dietlibc.
58552
58553 2006-10-18  Jim Meyering  <jim@meyering.net>
58554
58555         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
58556         type for a local, and rename it: s/up/user_proc/.
58557
58558 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
58559
58560         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
58561         READ_UTMP_USER_PROCESS.
58562         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
58563
58564 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
58565
58566         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
58567         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
58568
58569 2006-10-17  Eric Blake  <ebb9@byu.net>
58570
58571         * lib/sigprocmask.c (sigprocmask): Fix typo.
58572
58573         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
58574
58575         * modules/clean-temp (Makefile.am): Don't add to make output...
58576         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
58577         config.h.
58578
58579 2006-10-17  Bruno Haible  <bruno@clisp.org>
58580
58581         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
58582         differently if DEFAULT_TEXT_DOMAIN is set.
58583
58584 2006-10-16  Bruno Haible  <bruno@clisp.org>
58585
58586         * lib/clean-temp.c: Include fwriteerror.h.
58587
58588 2006-10-16  Bruno Haible  <bruno@clisp.org>
58589
58590         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
58591
58592 2006-10-16  Bruno Haible  <bruno@clisp.org>
58593
58594         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
58595         * lib/sigprocmask.h: Include <sys/types.h>.
58596         (sigset_t): Use the system's definition if present.
58597
58598 2006-10-17  Eric Blake  <ebb9@byu.net>
58599
58600         * lib/xvasprintf.c (includes): Assume config.h.
58601         * lib/xasprintf.c (includes): Likewise.
58602
58603 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58604
58605         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
58606         at least as wide as intmax_t.
58607
58608 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
58609
58610         (Imported from Automake.)
58611         * build-aux/gnupload: Update to version 1.1 of directive file.
58612
58613 2006-10-16  Eric Blake  <ebb9@byu.net>
58614
58615         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
58616         match Automake 1.10a.
58617
58618 2006-10-14  Bruno Haible  <bruno@clisp.org>
58619
58620         * modules/sigprocmask: New file.
58621         * lib/sigprocmask.h: New file.
58622         * lib/sigprocmask.c: New file.
58623         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
58624         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
58625         request sigprocmask.o.
58626         (gl_PREREQ_SIGPROCMASK): New macro.
58627         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
58628         (Depends-on): Add sigprocmask.
58629         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
58630         gt_SIGNALBLOCKING. Test for 'raise' only once.
58631         * lib/fatal-signal.c: Include sigprocmask.h.
58632         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
58633         unblock_fatal_signals): Define always.
58634         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58635         sigprocmask.
58636
58637 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
58638
58639         Sync from Automake.
58640         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
58641         which incorrectly sets the mode of an existing destination
58642         directory.  In some cases the unpatched install-sh could do the
58643         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
58644         system.  We hope this is rare in practice, but it's clearly worth
58645         fixing.  Problem reported by Alex Unleashed in
58646         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
58647         Also, don't bother to check for -m bugs unless we're using -m;
58648         suggested by Stepan Kasal.
58649
58650 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58651
58652         Sync from Automake.
58653         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
58654         `-c' flag, so they appear at the same position as in %FASTDEP%
58655         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
58656         which ignores unknown options only after the first non-option.
58657         Bug report against M4 by Nelson H. F. Beebe.
58658
58659 2006-10-13  Jim Meyering  <jim@meyering.net>
58660
58661         Fix a bug in yesterday's change.
58662         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
58663         p->fts_statp->st_dev would be used uninitialized.
58664         Ensures that we always call fts_stat on the very first entry.
58665         Miklos Szeredi reported that find -xdev stopped working.
58666
58667 2006-10-12  Bruno Haible  <bruno@clisp.org>
58668
58669         * gnulib-tool (func_get_automake_snippet): Append an automatically
58670         computed EXTRA_DIST augmentation.
58671         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
58672         * modules/alloca-opt (Makefile.am): Likewise.
58673         * modules/allocsa (Makefile.am): Likewise.
58674         * modules/arcfour (Makefile.am): Likewise.
58675         * modules/arctwo (Makefile.am): Likewise.
58676         * modules/argmatch (Makefile.am): Likewise.
58677         * modules/argz (Makefile.am): Likewise.
58678         * modules/atexit (Makefile.am): Likewise.
58679         * modules/backupfile (Makefile.am): Likewise.
58680         * modules/byteswap (Makefile.am): Likewise.
58681         * modules/c-strtod (Makefile.am): Likewise.
58682         * modules/c-strtold (Makefile.am): Likewise.
58683         * modules/calloc (Makefile.am): Likewise.
58684         * modules/canon-host (Makefile.am): Likewise.
58685         * modules/canonicalize (Makefile.am): Likewise.
58686         * modules/chdir-long (Makefile.am): Likewise.
58687         * modules/chdir-safer (Makefile.am): Likewise.
58688         * modules/check-version (Makefile.am): Likewise.
58689         * modules/chown (Makefile.am): Likewise.
58690         * modules/cloexec (Makefile.am): Likewise.
58691         * modules/close-stream (Makefile.am): Likewise.
58692         * modules/closeout (Makefile.am): Likewise.
58693         * modules/crc (Makefile.am): Likewise.
58694         * modules/csharpexec (Makefile.am): Likewise.
58695         * modules/cycle-check (Makefile.am): Likewise.
58696         * modules/des (Makefile.am): Likewise.
58697         * modules/dev-ino (Makefile.am): Likewise.
58698         * modules/dirfd (Makefile.am): Likewise.
58699         * modules/dirname (Makefile.am): Likewise.
58700         * modules/dup2 (Makefile.am): Likewise.
58701         * modules/eealloc (Makefile.am): Likewise.
58702         * modules/error (Makefile.am): Likewise.
58703         * modules/euidaccess (Makefile.am): Likewise.
58704         * modules/exclude (Makefile.am): Likewise.
58705         * modules/exitfail (Makefile.am): Likewise.
58706         * modules/fcntl-safer (Makefile.am): Likewise.
58707         * modules/fcntl (Makefile.am): Likewise.
58708         * modules/file-type (Makefile.am): Likewise.
58709         * modules/fileblocks (Makefile.am): Likewise.
58710         * modules/filemode (Makefile.am): Likewise.
58711         * modules/filenamecat (Makefile.am): Likewise.
58712         * modules/fnmatch (Makefile.am): Likewise.
58713         * modules/fopen-safer (Makefile.am): Likewise.
58714         * modules/fpending (Makefile.am): Likewise.
58715         * modules/fprintftime (Makefile.am): Likewise.
58716         * modules/free (Makefile.am): Likewise.
58717         * modules/fsusage (Makefile.am): Likewise.
58718         * modules/ftruncate (Makefile.am): Likewise.
58719         * modules/fts (Makefile.am): Likewise.
58720         * modules/gc-arcfour (Makefile.am): Likewise.
58721         * modules/gc-des (Makefile.am): Likewise.
58722         * modules/gc-hmac-md5 (Makefile.am): Likewise.
58723         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
58724         * modules/gc-md4 (Makefile.am): Likewise.
58725         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
58726         * modules/gc-sha1 (Makefile.am): Likewise.
58727         * modules/gc (Makefile.am): Likewise.
58728         * modules/getaddrinfo (Makefile.am): Likewise.
58729         * modules/getcwd (Makefile.am): Likewise.
58730         * modules/getdelim (Makefile.am): Likewise.
58731         * modules/getdomainname (Makefile.am): Likewise.
58732         * modules/getgroups (Makefile.am): Likewise.
58733         * modules/gethostname (Makefile.am): Likewise.
58734         * modules/gethrxtime (Makefile.am): Likewise.
58735         * modules/getline (Makefile.am): Likewise.
58736         * modules/getloadavg (Makefile.am): Likewise.
58737         * modules/getlogin_r (Makefile.am): Likewise.
58738         * modules/getndelim2 (Makefile.am): Likewise.
58739         * modules/getopt (Makefile.am): Likewise.
58740         * modules/getpagesize (Makefile.am): Likewise.
58741         * modules/getpass-gnu (Makefile.am): Likewise.
58742         * modules/getpass (Makefile.am): Likewise.
58743         * modules/getsubopt (Makefile.am): Likewise.
58744         * modules/gettime (Makefile.am): Likewise.
58745         * modules/gettimeofday (Makefile.am): Likewise.
58746         * modules/getugroups (Makefile.am): Likewise.
58747         * modules/getusershell (Makefile.am): Likewise.
58748         * modules/glob (Makefile.am): Likewise.
58749         * modules/group-member (Makefile.am): Likewise.
58750         * modules/hard-locale (Makefile.am): Likewise.
58751         * modules/hash (Makefile.am): Likewise.
58752         * modules/hmac-md5 (Makefile.am): Likewise.
58753         * modules/hmac-sha1 (Makefile.am): Likewise.
58754         * modules/human (Makefile.am): Likewise.
58755         * modules/idcache (Makefile.am): Likewise.
58756         * modules/imaxabs (Makefile.am): Likewise.
58757         * modules/imaxdiv (Makefile.am): Likewise.
58758         * modules/inet_ntop (Makefile.am): Likewise.
58759         * modules/inet_pton (Makefile.am): Likewise.
58760         * modules/intprops (Makefile.am): Likewise.
58761         * modules/inttostr (Makefile.am): Likewise.
58762         * modules/inttypes (Makefile.am): Likewise.
58763         * modules/isapipe (Makefile.am): Likewise.
58764         * modules/javaversion (Makefile.am): Likewise.
58765         * modules/lchmod (Makefile.am): Likewise.
58766         * modules/lchown (Makefile.am): Likewise.
58767         * modules/localcharset (Makefile.am): Likewise.
58768         * modules/long-options (Makefile.am): Likewise.
58769         * modules/lstat (Makefile.am): Likewise.
58770         * modules/malloc (Makefile.am): Likewise.
58771         * modules/mathl (Makefile.am): Likewise.
58772         * modules/mbchar (Makefile.am): Likewise.
58773         * modules/md2 (Makefile.am): Likewise.
58774         * modules/md4 (Makefile.am): Likewise.
58775         * modules/md5 (Makefile.am): Likewise.
58776         * modules/memcasecmp (Makefile.am): Likewise.
58777         * modules/memchr (Makefile.am): Likewise.
58778         * modules/memcmp (Makefile.am): Likewise.
58779         * modules/memcoll (Makefile.am): Likewise.
58780         * modules/memcpy (Makefile.am): Likewise.
58781         * modules/memmem (Makefile.am): Likewise.
58782         * modules/memmove (Makefile.am): Likewise.
58783         * modules/mempcpy (Makefile.am): Likewise.
58784         * modules/memrchr (Makefile.am): Likewise.
58785         * modules/memset (Makefile.am): Likewise.
58786         * modules/memxor (Makefile.am): Likewise.
58787         * modules/mkancesdirs (Makefile.am): Likewise.
58788         * modules/mkdir-p (Makefile.am): Likewise.
58789         * modules/mkdir (Makefile.am): Likewise.
58790         * modules/mkdtemp (Makefile.am): Likewise.
58791         * modules/mkstemp (Makefile.am): Likewise.
58792         * modules/mktime (Makefile.am): Likewise.
58793         * modules/modechange (Makefile.am): Likewise.
58794         * modules/mountlist (Makefile.am): Likewise.
58795         * modules/nanosleep (Makefile.am): Likewise.
58796         * modules/obstack (Makefile.am): Likewise.
58797         * modules/openat (Makefile.am): Likewise.
58798         * modules/pagealign_alloc (Makefile.am): Likewise.
58799         * modules/pathmax (Makefile.am): Likewise.
58800         * modules/physmem (Makefile.am): Likewise.
58801         * modules/poll (Makefile.am): Likewise.
58802         * modules/posixtm (Makefile.am): Likewise.
58803         * modules/posixver (Makefile.am): Likewise.
58804         * modules/putenv (Makefile.am): Likewise.
58805         * modules/quote (Makefile.am): Likewise.
58806         * modules/quotearg (Makefile.am): Likewise.
58807         * modules/raise (Makefile.am): Likewise.
58808         * modules/read-file (Makefile.am): Likewise.
58809         * modules/readline (Makefile.am): Likewise.
58810         * modules/readlink (Makefile.am): Likewise.
58811         * modules/readtokens (Makefile.am): Likewise.
58812         * modules/readutmp (Makefile.am): Likewise.
58813         * modules/realloc (Makefile.am): Likewise.
58814         * modules/regex (Makefile.am): Likewise.
58815         * modules/rename-dest-slash (Makefile.am): Likewise.
58816         * modules/rename (Makefile.am): Likewise.
58817         * modules/rijndael (Makefile.am): Likewise.
58818         * modules/rmdir (Makefile.am): Likewise.
58819         * modules/rpmatch (Makefile.am): Likewise.
58820         * modules/safe-read (Makefile.am): Likewise.
58821         * modules/safe-write (Makefile.am): Likewise.
58822         * modules/same-inode (Makefile.am): Likewise.
58823         * modules/same (Makefile.am): Likewise.
58824         * modules/save-cwd (Makefile.am): Likewise.
58825         * modules/savedir (Makefile.am): Likewise.
58826         * modules/setenv (Makefile.am): Likewise.
58827         * modules/settime (Makefile.am): Likewise.
58828         * modules/sha1 (Makefile.am): Likewise.
58829         * modules/sig2str (Makefile.am): Likewise.
58830         * modules/snprintf (Makefile.am): Likewise.
58831         * modules/stat-macros (Makefile.am): Likewise.
58832         * modules/stat-time (Makefile.am): Likewise.
58833         * modules/stdbool (Makefile.am): Likewise.
58834         * modules/stdint (Makefile.am): Likewise.
58835         * modules/stdlib-safer (Makefile.am): Likewise.
58836         * modules/stpcpy (Makefile.am): Likewise.
58837         * modules/stpncpy (Makefile.am): Likewise.
58838         * modules/strcase (Makefile.am): Likewise.
58839         * modules/strcasestr (Makefile.am): Likewise.
58840         * modules/strchrnul (Makefile.am): Likewise.
58841         * modules/strcspn (Makefile.am): Likewise.
58842         * modules/strdup (Makefile.am): Likewise.
58843         * modules/strerror (Makefile.am): Likewise.
58844         * modules/strftime (Makefile.am): Likewise.
58845         * modules/strndup (Makefile.am): Likewise.
58846         * modules/strnlen (Makefile.am): Likewise.
58847         * modules/strpbrk (Makefile.am): Likewise.
58848         * modules/strsep (Makefile.am): Likewise.
58849         * modules/strstr (Makefile.am): Likewise.
58850         * modules/strtod (Makefile.am): Likewise.
58851         * modules/strtoimax (Makefile.am): Likewise.
58852         * modules/strtok_r (Makefile.am): Likewise.
58853         * modules/strtol (Makefile.am): Likewise.
58854         * modules/strtoll (Makefile.am): Likewise.
58855         * modules/strtoul (Makefile.am): Likewise.
58856         * modules/strtoull (Makefile.am): Likewise.
58857         * modules/strtoumax (Makefile.am): Likewise.
58858         * modules/strverscmp (Makefile.am): Likewise.
58859         * modules/sys_socket (Makefile.am): Likewise.
58860         * modules/sys_stat (Makefile.am): Likewise.
58861         * modules/sysexits (Makefile.am): Likewise.
58862         * modules/time_r (Makefile.am): Likewise.
58863         * modules/timegm (Makefile.am): Likewise.
58864         * modules/timespec (Makefile.am): Likewise.
58865         * modules/tmpfile-safer (Makefile.am): Likewise.
58866         * modules/trim (Makefile.am): Likewise.
58867         * modules/unistd-safer (Makefile.am): Likewise.
58868         * modules/unlinkdir (Makefile.am): Likewise.
58869         * modules/unlocked-io (Makefile.am): Likewise.
58870         * modules/userspec (Makefile.am): Likewise.
58871         * modules/utime (Makefile.am): Likewise.
58872         * modules/utimecmp (Makefile.am): Likewise.
58873         * modules/utimens (Makefile.am): Likewise.
58874         * modules/vasnprintf (Makefile.am): Likewise.
58875         * modules/vasprintf (Makefile.am): Likewise.
58876         * modules/vsnprintf (Makefile.am): Likewise.
58877         * modules/xalloc (Makefile.am): Likewise.
58878         * modules/xgetcwd (Makefile.am): Likewise.
58879         * modules/xnanosleep (Makefile.am): Likewise.
58880         * modules/xreadlink (Makefile.am): Likewise.
58881         * modules/xstrtod (Makefile.am): Likewise.
58882         * modules/xstrtol (Makefile.am): Likewise.
58883         * modules/xstrtold (Makefile.am): Likewise.
58884         * modules/yesno (Makefile.am): Likewise.
58885         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
58886
58887 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58888
58889         * modules/error (Makefile.am): Distribute files through
58890         EXTRA_DIST, not lib_SOURCES.
58891
58892 2006-10-12  Eric Blake  <ebb9@byu.net>
58893
58894         * modules/error (Makefile.am): Distribute files in /lib.
58895         * modules/obstack (Makefile.am): Likewise.
58896
58897 2006-10-12  Bruno Haible  <bruno@clisp.org>
58898
58899         * modules/acl (Makefile.am): Distribute all files in lib/ through
58900         EXTRA_DIST.
58901         * modules/arcfour (Makefile.am): Likewise.
58902         * modules/arctwo (Makefile.am): Likewise.
58903         * modules/argmatch (Makefile.am): Likewise.
58904         * modules/argz (Makefile.am): Likewise.
58905         * modules/atexit (Makefile.am): Likewise.
58906         * modules/backupfile (Makefile.am): Likewise.
58907         * modules/c-strtod (Makefile.am): Likewise.
58908         * modules/c-strtold (Makefile.am): Likewise.
58909         * modules/calloc (Makefile.am): Likewise.
58910         * modules/canon-host (Makefile.am): Likewise.
58911         * modules/canonicalize (Makefile.am): Likewise.
58912         * modules/chdir-long (Makefile.am): Likewise.
58913         * modules/chdir-safer (Makefile.am): Likewise.
58914         * modules/check-version (Makefile.am): Likewise.
58915         * modules/chown (Makefile.am): Likewise.
58916         * modules/cloexec (Makefile.am): Likewise.
58917         * modules/close-stream (Makefile.am): Likewise.
58918         * modules/closeout (Makefile.am): Likewise.
58919         * modules/crc (Makefile.am): Likewise.
58920         * modules/cycle-check (Makefile.am): Likewise.
58921         * modules/des (Makefile.am): Likewise.
58922         * modules/dirfd (Makefile.am): Likewise.
58923         * modules/dirname (Makefile.am): Likewise.
58924         * modules/dup2 (Makefile.am): Likewise.
58925         * modules/euidaccess (Makefile.am): Likewise.
58926         * modules/exclude (Makefile.am): Likewise.
58927         * modules/exitfail (Makefile.am): Likewise.
58928         * modules/fcntl-safer (Makefile.am): Likewise.
58929         * modules/file-type (Makefile.am): Likewise.
58930         * modules/fileblocks (Makefile.am): Likewise.
58931         * modules/filemode (Makefile.am): Likewise.
58932         * modules/filenamecat (Makefile.am): Likewise.
58933         * modules/fnmatch (Makefile.am): Likewise.
58934         * modules/fopen-safer (Makefile.am): Likewise.
58935         * modules/fpending (Makefile.am): Likewise.
58936         * modules/fprintftime (Makefile.am): Likewise.
58937         * modules/free (Makefile.am): Likewise.
58938         * modules/fsusage (Makefile.am): Likewise.
58939         * modules/ftruncate (Makefile.am): Likewise.
58940         * modules/fts (Makefile.am): Likewise.
58941         * modules/gc (Makefile.am): Likewise.
58942         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
58943         * modules/getaddrinfo (Makefile.am): Likewise.
58944         * modules/getcwd (Makefile.am): Likewise.
58945         * modules/getdelim (Makefile.am): Likewise.
58946         * modules/getdomainname (Makefile.am): Likewise.
58947         * modules/getgroups (Makefile.am): Likewise.
58948         * modules/gethostname (Makefile.am): Likewise.
58949         * modules/gethrxtime (Makefile.am): Likewise.
58950         * modules/getline (Makefile.am): Likewise.
58951         * modules/getloadavg (Makefile.am): Likewise.
58952         * modules/getlogin_r (Makefile.am): Likewise.
58953         * modules/getopt (Makefile.am): Likewise.
58954         * modules/getpass (Makefile.am): Likewise.
58955         * modules/getpass-gnu (Makefile.am): Likewise.
58956         * modules/getsubopt (Makefile.am): Likewise.
58957         * modules/gettime (Makefile.am): Likewise.
58958         * modules/gettimeofday (Makefile.am): Likewise.
58959         * modules/getugroups (Makefile.am): Likewise.
58960         * modules/getusershell (Makefile.am): Likewise.
58961         * modules/glob (Makefile.am): Likewise.
58962         * modules/group-member (Makefile.am): Likewise.
58963         * modules/hard-locale (Makefile.am): Likewise.
58964         * modules/hash (Makefile.am): Likewise.
58965         * modules/hmac-md5 (Makefile.am): Likewise.
58966         * modules/hmac-sha1 (Makefile.am): Likewise.
58967         * modules/human (Makefile.am): Likewise.
58968         * modules/idcache (Makefile.am): Likewise.
58969         * modules/imaxabs (Makefile.am): Likewise.
58970         * modules/imaxdiv (Makefile.am): Likewise.
58971         * modules/inet_ntop (Makefile.am): Likewise.
58972         * modules/inet_pton (Makefile.am): Likewise.
58973         * modules/inttostr (Makefile.am): Likewise.
58974         * modules/isapipe (Makefile.am): Likewise.
58975         * modules/lchown (Makefile.am): Likewise.
58976         * modules/long-options (Makefile.am): Likewise.
58977         * modules/lstat (Makefile.am): Likewise.
58978         * modules/malloc (Makefile.am): Likewise.
58979         * modules/mathl (Makefile.am): Likewise.
58980         * modules/mbchar (Makefile.am): Likewise.
58981         * modules/md2 (Makefile.am): Likewise.
58982         * modules/md4 (Makefile.am): Likewise.
58983         * modules/md5 (Makefile.am): Likewise.
58984         * modules/memcasecmp (Makefile.am): Likewise.
58985         * modules/memchr (Makefile.am): Likewise.
58986         * modules/memcmp (Makefile.am): Likewise.
58987         * modules/memcoll (Makefile.am): Likewise.
58988         * modules/memcpy (Makefile.am): Likewise.
58989         * modules/memmem (Makefile.am): Likewise.
58990         * modules/memmove (Makefile.am): Likewise.
58991         * modules/mempcpy (Makefile.am): Likewise.
58992         * modules/memrchr (Makefile.am): Likewise.
58993         * modules/memset (Makefile.am): Likewise.
58994         * modules/memxor (Makefile.am): Likewise.
58995         * modules/mkancesdirs (Makefile.am): Likewise.
58996         * modules/mkdir (Makefile.am): Likewise.
58997         * modules/mkdir-p (Makefile.am): Likewise.
58998         * modules/mkdtemp (Makefile.am): Likewise.
58999         * modules/mkstemp (Makefile.am): Likewise.
59000         * modules/mktime (Makefile.am): Likewise.
59001         * modules/modechange (Makefile.am): Likewise.
59002         * modules/mountlist (Makefile.am): Likewise.
59003         * modules/nanosleep (Makefile.am): Likewise.
59004         * modules/openat (Makefile.am): Likewise.
59005         * modules/pagealign_alloc (Makefile.am): Likewise.
59006         * modules/physmem (Makefile.am): Likewise.
59007         * modules/poll (Makefile.am): Likewise.
59008         * modules/posixtm (Makefile.am): Likewise.
59009         * modules/posixver (Makefile.am): Likewise.
59010         * modules/putenv (Makefile.am): Likewise.
59011         * modules/quote (Makefile.am): Likewise.
59012         * modules/quotearg (Makefile.am): Likewise.
59013         * modules/raise (Makefile.am): Likewise.
59014         * modules/read-file (Makefile.am): Likewise.
59015         * modules/readline (Makefile.am): Likewise.
59016         * modules/readlink (Makefile.am): Likewise.
59017         * modules/readtokens (Makefile.am): Likewise.
59018         * modules/readutmp (Makefile.am): Likewise.
59019         * modules/realloc (Makefile.am): Likewise.
59020         * modules/regex (Makefile.am): Likewise.
59021         * modules/rename (Makefile.am): Likewise.
59022         * modules/rename-dest-slash (Makefile.am): Likewise.
59023         * modules/rijndael (Makefile.am): Likewise.
59024         * modules/rmdir (Makefile.am): Likewise.
59025         * modules/rpmatch (Makefile.am): Likewise.
59026         * modules/safe-read (Makefile.am): Likewise.
59027         * modules/safe-write (Makefile.am): Likewise.
59028         * modules/same (Makefile.am): Likewise.
59029         * modules/save-cwd (Makefile.am): Likewise.
59030         * modules/savedir (Makefile.am): Likewise.
59031         * modules/setenv (Makefile.am): Likewise.
59032         * modules/settime (Makefile.am): Likewise.
59033         * modules/sha1 (Makefile.am): Likewise.
59034         * modules/sig2str (Makefile.am): Likewise.
59035         * modules/snprintf (Makefile.am): Likewise.
59036         * modules/stdlib-safer (Makefile.am): Likewise.
59037         * modules/stpcpy (Makefile.am): Likewise.
59038         * modules/stpncpy (Makefile.am): Likewise.
59039         * modules/strcase (Makefile.am): Likewise.
59040         * modules/strcasestr (Makefile.am): Likewise.
59041         * modules/strchrnul (Makefile.am): Likewise.
59042         * modules/strcspn (Makefile.am): Likewise.
59043         * modules/strdup (Makefile.am): Likewise.
59044         * modules/strerror (Makefile.am): Likewise.
59045         * modules/strftime (Makefile.am): Likewise.
59046         * modules/strndup (Makefile.am): Likewise.
59047         * modules/strnlen (Makefile.am): Likewise.
59048         * modules/strpbrk (Makefile.am): Likewise.
59049         * modules/strsep (Makefile.am): Likewise.
59050         * modules/strstr (Makefile.am): Likewise.
59051         * modules/strtod (Makefile.am): Likewise.
59052         * modules/strtoimax (Makefile.am): Likewise.
59053         * modules/strtok_r (Makefile.am): Likewise.
59054         * modules/strtol (Makefile.am): Likewise.
59055         * modules/strtoll (Makefile.am): Likewise.
59056         * modules/strtoul (Makefile.am): Likewise.
59057         * modules/strtoull (Makefile.am): Likewise.
59058         * modules/strtoumax (Makefile.am): Likewise.
59059         * modules/strverscmp (Makefile.am): Likewise.
59060         * modules/time_r (Makefile.am): Likewise.
59061         * modules/timegm (Makefile.am): Likewise.
59062         * modules/tmpfile-safer (Makefile.am): Likewise.
59063         * modules/unistd-safer (Makefile.am): Likewise.
59064         * modules/unlinkdir (Makefile.am): Likewise.
59065         * modules/userspec (Makefile.am): Likewise.
59066         * modules/utime (Makefile.am): Likewise.
59067         * modules/utimecmp (Makefile.am): Likewise.
59068         * modules/utimens (Makefile.am): Likewise.
59069         * modules/vasnprintf (Makefile.am): Likewise.
59070         * modules/vasprintf (Makefile.am): Likewise.
59071         * modules/vsnprintf (Makefile.am): Likewise.
59072         * modules/xalloc (Makefile.am): Likewise.
59073         * modules/xgetcwd (Makefile.am): Likewise.
59074         * modules/xnanosleep (Makefile.am): Likewise.
59075         * modules/xreadlink (Makefile.am): Likewise.
59076         * modules/xstrtod (Makefile.am): Likewise.
59077         * modules/xstrtol (Makefile.am): Likewise.
59078         * modules/xstrtold (Makefile.am): Likewise.
59079         * modules/yesno (Makefile.am): Likewise.
59080
59081 2006-10-12  Jim Meyering  <jim@meyering.net>
59082
59083         * m4/getloadavg.m4: Revert the change below.
59084
59085         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
59086         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
59087         fail with a symlink, which is what coreutils' ./bootstrap now
59088         creates by default.
59089
59090 2006-10-12  Bruno Haible  <bruno@clisp.org>
59091
59092         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
59093         mingw.
59094         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
59095         MSVC and mingw explicitly.
59096
59097 2006-10-11  Simon Josefsson  <jas@extundo.com>
59098             Bruno Haible  <bruno@clisp.org>
59099
59100         Add support for multiple gnulib-tool invocations in the scope of a
59101         single configure.ac file.
59102         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
59103         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
59104         with the same contents as the _LIBADD variable.
59105         (func_emit_initmacro_start, func_emit_initmacro_end,
59106         func_emit_initmacro_done): New functions.
59107         (func_import, func_create_testdir): Invoke them. Allow the identifiers
59108         gl_LIBOBJS and gl_LTLIBOBJS.
59109
59110 2006-10-11  Bruno Haible  <bruno@clisp.org>
59111
59112         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
59113         (func_create_testdir): Don't create po/Makefile.am, don't invoke
59114         autoreconf. Instead, invoke autopoint explicitly but move back the
59115         *.m4 files from gnulib.
59116
59117 2006-10-11  Bruno Haible  <bruno@clisp.org>
59118
59119         * gnulib-tool (func_usage): Make module names after --create-testdir
59120         optional.
59121         (func_create_testdir): If no module was specified, use nearly all
59122         modules.
59123
59124 2006-10-12  Jim Meyering  <jim@meyering.net>
59125
59126         Big performance improvement for fts-based tools that use FTS_NOSTAT.
59127         Avoid spurious inode-mismatch problems on non-POSIX file systems.
59128         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
59129         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
59130         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
59131         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
59132         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
59133         (fts_set_stat_required): New function.
59134         (fts_open): Defer the calls to fts_stat, if possible or requested.
59135         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
59136         into fts_stat itself.
59137         (fts_read): Perform any required (deferred) fts_stat call.
59138         (fts_build): Likewise, for the directory we're about to open and read.
59139         In the readdir loop, carefully decide whether each entry will require
59140         an eventual call to fts_stat, using dirent.d_type info if available.
59141         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
59142         a command line argument into this function.  Update all callers.
59143         Map a return value of FTS_DOT to FTS_D for a command line argument.
59144         * modules/fts (Depends-on): Add d-type.  Alphabetize.
59145         Thanks to Miklos Szeredi for his tenacity and for the initial
59146         bug report about "find" failing on a FUSE-based file system.
59147
59148         * lib/fts.c (fts_open): Use consistent indentation.
59149
59150 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59151
59152         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
59153         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
59154         reported by Jim Meyering.  All uses of cache variables renamed
59155         to match Autoconf's.
59156         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
59157         the other one.
59158
59159         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
59160         Fix misspelling in diagnostic.
59161
59162 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59163
59164         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
59165         defined.  Problem reported by Matthew Woehlke.
59166
59167         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
59168         Add support for Tandem NonStop R series.
59169         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
59170         Use new macro.
59171
59172         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
59173         (has_trailing_slash): Omit size arg; all callers changed.
59174         Omit 'inline', since it doesn't help performance and we'd
59175         need to configure it.
59176         Don't count //, ///, etc. as having a trailing slash.
59177         As a side effect, this removes a C99ism reported by Matthew Woehlke.
59178         (rpl_rename_dest_slash): On failure, use rename's errno rather
59179         than (in some cases) an incorrect or junk errno.
59180         Simplify code by removing need to compute length; this does
59181         cause it to make two passes instead of one over the file name,
59182         but it's worth it.
59183
59184         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
59185         change, since Autoconf's version may no longer be appropriate now
59186         that we are using CVS Autoconf's version.  Add support for Tandem.
59187
59188 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59189             Bruno Haible  <bruno@clisp.org>
59190
59191         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
59192         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
59193         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
59194         gl_AC_TYPE_LONG_LONG.
59195
59196         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
59197         instead of HAVE_LONG_LONG.
59198         * lib/printf-args.c (printf_fetchargs): Likewise.
59199         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
59200         * lib/vasnprintf.c (VASNPRINTF): Likewise.
59201         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
59202         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
59203         gl_AC_TYPE_LONG_LONG.
59204
59205 2006-10-11  Bruno Haible  <bruno@clisp.org>
59206
59207         * m4/longlong.m4: Add comments.
59208         * m4/ulonglong.m4: Likewise.
59209
59210 2006-10-10  Bruno Haible  <bruno@clisp.org>
59211
59212         Make it possible to #define stpcpy, strdup to aliases.
59213         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
59214         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
59215
59216 2006-10-10  Bruno Haible  <bruno@clisp.org>
59217
59218         Make it possible to #define gcd to an alias.
59219         * lib/gcd.c: Include config.h.
59220
59221 2006-10-10  Bruno Haible  <bruno@clisp.org>
59222
59223         Make it possible to #define c_isascii to an alias.
59224         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
59225         defined. Undefine the macros before defining them, to avoid gcc
59226         warnings.
59227         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
59228         define NO_C_CTYPE_MACROS early.
59229
59230 2006-10-10  Bruno Haible  <bruno@clisp.org>
59231
59232         Make it possible to #define set_program_name to an alias.
59233         * lib/progname.c: Don't undefine set_program_name; instead, undefine
59234         ENABLE_RELOCATABLE early.
59235
59236 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
59237
59238         Port to Tandem NSK OSS, which has 64-bit signed int but at most
59239         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
59240         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
59241         More generally, don't assume that 64-bit signed int is available
59242         if unsigned int is, and vice versa.
59243         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
59244         unsigned symbols, not on their signed counterparts.
59245         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
59246         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
59247         (UINT64_C, UINTMAX_C):
59248         Likewise.
59249         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
59250         unsigned counterparts.
59251         (Have_long_long, Unsigned): New macros.
59252         (Int): Renamed from INT.
59253         (strtoimax): Use the new macros.
59254         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
59255         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
59256         * modules/inttypes (inttypes.h): Substitute
59257         HAVE_UNSIGNED_LONG_LONG_INT.
59258         * modules/stdint (stdint.h): Likewise.
59259         (Files): Add m4/ulonglong.m4.
59260
59261 2006-10-10  Bruno Haible  <bruno@clisp.org>
59262
59263         Fix a gcc -Wshadow warning.
59264         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
59265         to 'bucket'.
59266         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
59267         gl_linked_indexof_from_to): Likewise.
59268         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
59269         Likewise.
59270         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
59271         Likewise.
59272         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
59273         Reported by Eric Blake.
59274
59275 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
59276
59277         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
59278         for NetBSD.  Problem reported by Bruno Haible.
59279
59280 2006-10-09  Jim Meyering  <jim@meyering.net>
59281
59282         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
59283         Patch from Bruno Haible.
59284
59285 2006-10-09  Jim Meyering  <jim@meyering.net>
59286
59287         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
59288         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
59289         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
59290
59291 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59292
59293         Don't include <config.h> twice; this doesn't work in some cases,
59294         e.g., when config.h has "#define intmax_t long long int" and
59295         we include <config.h>, <inttypes.h>, <config.h> in that order.
59296         Problem reported by Matthew Woehlke in:
59297         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
59298         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
59299         * lib/fts-cycle.c: Don't include config.h.
59300         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
59301         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
59302         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
59303         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
59304         inttypes.h.
59305         * lib/xstrtoumax.c: Likewise.
59306         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
59307         __strtol and the like, so that this module is more like its siblings.
59308         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
59309         Remove; no longer needed now that we assume gnulib inttypes.h.
59310
59311 2006-10-08  Bruno Haible  <bruno@clisp.org>
59312
59313         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
59314         option.
59315
59316 2006-10-07  Jim Meyering  <jim@meyering.net>
59317
59318         * modules/inttypes (inttypes.h): Revert what seems to have been
59319         an inadvertent part of today's change: use "|", not "/" in the
59320         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
59321
59322 2006-10-07  Bruno Haible  <bruno@clisp.org>
59323
59324         * modules/sublist: New file.
59325
59326 2006-10-07  Bruno Haible  <bruno@clisp.org>
59327
59328         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
59329         * modules/argz (argz.h): Likewise.
59330         * modules/arpa_inet (arpa/inet.h): Likewise.
59331         * modules/byteswap (byteswap.h): Likewise.
59332         * modules/configmake (configmake.h): Likewise.
59333         * modules/fcntl (fcntl.h): Likewise.
59334         * modules/fnmatch (fnmatch.h): Likewise.
59335         * modules/getopt (getopt.h): Likewise.
59336         * modules/glob (glob.h): Likewise.
59337         * modules/inttypes (inttypes.h): Likewise.
59338         * modules/netinet_in (netinet/in.h): Likewise.
59339         * modules/poll (poll.h): Likewise.
59340         * modules/stdbool (stdbool.h): Likewise.
59341         * modules/stdint (stdint.h): Likewise.
59342         * modules/sys_select (sys/select.h): Likewise.
59343         * modules/sys_socket (sys/socket.h): Likewise.
59344         * modules/sys_stat (sys/stat.h): Likewise.
59345         * modules/sysexits (sysexits.h): Likewise.
59346         * modules/unistd (unistd.h): Likewise.
59347         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59348         Add a "DO NOT EDIT" comment to the generated file.
59349         (func_import): Likewise for gnulib-comp.m4.
59350
59351 2006-10-07  Bruno Haible  <bruno@clisp.org>
59352
59353         * lib/gl_sublist.h: New file.
59354         * lib/gl_sublist.c: New file.
59355
59356 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
59357
59358         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
59359         name (relative to the original working directory) and the file
59360         name component (relative to the temporary working directory).  All
59361         callers changed.
59362         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
59363         * lib/mkdir-p.c (make_dir_parents): Likewise.
59364         * lib/mkdir-p.h (make_dir_parents): Likewise.
59365
59366 2006-10-06  Eric Blake  <ebb9@byu.net>
59367
59368         Define several macros for use by the clean-temp module.
59369         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
59370         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
59371         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
59372
59373         * lib/clean-temp.h (close_stream_temp): New declaration.
59374         * lib/clean-temp.c (includes): Pull in headers according to what
59375         other modules are in use.
59376         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
59377
59378 2006-10-06  Bruno Haible  <bruno@clisp.org>
59379
59380         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
59381         instead of fopen, fwriteerror.
59382
59383 2006-10-06  Bruno Haible  <bruno@clisp.org>
59384
59385         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
59386         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
59387         int.
59388         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
59389         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
59390         Return an error indicator.
59391         Suggested by Eric Blake.
59392
59393 2006-10-06  Bruno Haible  <bruno@clisp.org>
59394
59395         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
59396         Reported by Eric Blake.
59397
59398 2006-10-06  Bruno Haible  <bruno@clisp.org>
59399
59400         * modules/closeout (Description): Mention stderr too.
59401
59402 2006-10-06  Bruno Haible  <bruno@clisp.org>
59403         and Paul Eggert  <eggert@cs.ucla.edu>
59404
59405         * lib/closeout.c (close_stdout): Also close stderr.
59406         * lib/closeout.h: Update comment.
59407
59408 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
59409
59410         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
59411         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
59412         * lib/dirchownmod.c: Include lchown.h.
59413         * lib/lchown.c: Don't include files that lchown.h now includes.
59414         Don't declare chown, since lchown.h now does that.
59415         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
59416         (lchown): Define to rpl_chown if lchown is declared but
59417         does not exist.  Declare using a prototype if lchown is not
59418         declared.  Add a copyright notice.
59419         * lib/mkstemp.h: Include <unistd.h>.
59420         * lib/openat.c: Include lchown.h.
59421
59422         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
59423         we now test for that separately.
59424         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
59425         rather than O_NOFOLLOW, when testing whether it's possible to
59426         avoid a race condition reliably.
59427         * lib/savewd.c (savewd_chdir): Likewise.
59428
59429         Remove macros that are no longer needed now that stdint.h is
59430         reliable.
59431         * lib/fsusage.c (UINTMAX_MAX): Remove.
59432         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
59433         * lib/utimecmp.c (SIZE_MAX): Remove.
59434
59435         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
59436
59437         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
59438         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
59439         O_NOATIME works.
59440
59441 2006-10-05  Bruno Haible  <bruno@clisp.org>
59442
59443         * lib/gl_list.h (gl_sortedlist_search_from_to,
59444         gl_sortedlist_indexof_from_to): New declarations.
59445         (gl_list_implementation): New fields sortedlist_search_from_to,
59446         sortedlist_indexof_from_to.
59447         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
59448         inline functions.
59449         * lib/gl_list.c (gl_sortedlist_search_from_to,
59450         gl_sortedlist_indexof_from_to): New functions.
59451         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
59452         function.
59453         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
59454         (gl_array_sortedlist_search_from_to): New function.
59455         (gl_array_list_implementation): Update.
59456         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
59457         function.
59458         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
59459         (gl_carray_sortedlist_search_from_to): New function.
59460         (gl_carray_list_implementation): Update.
59461         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
59462         gl_linked_sortedlist_indexof_from_to): New functions.
59463         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59464         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59465         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
59466         gl_tree_sortedlist_indexof_from_to): New functions.
59467         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59468         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59469         Update.
59470         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59471         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
59472         Update.
59473
59474 2006-10-05  Bruno Haible  <bruno@clisp.org>
59475
59476         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
59477         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
59478         (struct gl_list_implementation): Add fields search_from_to,
59479         indexof_from_to. Remove fields search, indexof.
59480         (gl_list_search): Use the search_from_to method.
59481         (gl_list_search_from, gl_list_search_from_to): New functions.
59482         (gl_list_indexof): Use the indexof_from_to method.
59483         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
59484         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
59485         (gl_list_search_from, gl_list_search_from_to): New functions.
59486         (gl_list_indexof): Use the indexof_from_to method.
59487         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
59488         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
59489         gl_array_indexof. Add start_index, end_index arguments.
59490         (gl_array_search_from_to): Renamed from gl_array_search. Add
59491         start_index, end_index arguments.
59492         (gl_array_remove, gl_array_list_implementation): Update.
59493         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
59494         gl_carray_indexof. Add start_index, end_index arguments.
59495         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
59496         start_index, end_index arguments.
59497         (gl_carray_remove, gl_carray_list_implementation): Update.
59498         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
59499         gl_linked_search. Add start_index, end_index arguments.
59500         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
59501         start_index, end_index arguments.
59502         (gl_linked_remove): Update.
59503         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59504         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59505         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
59506         field to 'size_t'.
59507         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
59508         gl_tree_search. Add start_index, end_index arguments.
59509         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
59510         start_index, end_index arguments.
59511         (gl_tree_remove): Update.
59512         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59513         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59514         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
59515         function.
59516         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
59517         gl_tree_search. Add start_index, end_index arguments.
59518         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
59519         start_index, end_index arguments.
59520         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59521         Update.
59522         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
59523
59524 2006-10-05  Bruno Haible  <bruno@clisp.org>
59525
59526         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
59527
59528         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
59529         fwriteerror_temp): New declarations.
59530         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
59531         (descriptors): New variable.
59532         (cleanup): First, close the descriptors.
59533         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
59534         fclose_temp, fwriteerror_temp): New functions.
59535
59536 2006-10-04  Jim Meyering  <jim@meyering.net>
59537
59538         * lib/fts.c (fts_open): Tiny comment change.
59539
59540 2006-10-04  Bruno Haible  <bruno@clisp.org>
59541
59542         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
59543         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
59544         gl_LOCK_BODY.
59545         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
59546         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
59547         gl_LOCK_EARLY_BODY.
59548         (gl_LOCK): Require gl_LOCK_BODY.
59549
59550 2006-10-04  Bruno Haible  <bruno@clisp.org>
59551
59552         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
59553         (gl_oset_search_atleast): New declaration.
59554         (struct gl_oset_implementation): Add field 'search_atleast'.
59555         (gl_oset_search_atleast): New inline function.
59556         * lib/gl_oset.c (gl_oset_search_atleast): New function.
59557         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
59558         (gl_array_oset_implementation): Update.
59559         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
59560         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
59561         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
59562
59563 2006-10-04  Bruno Haible  <bruno@clisp.org>
59564
59565         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
59566
59567 2006-10-03  Bruno Haible  <bruno@clisp.org>
59568
59569         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
59570         from gl_avltreehash_list_implementation.
59571
59572 2006-10-03  Bruno Haible  <bruno@clisp.org>
59573
59574         * lib/gl_oset.c (gl_oset_add): Fix return type.
59575
59576 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
59577
59578         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
59579
59580 2006-10-02  Eric Blake  <ebb9@byu.net>
59581
59582         * modules/strnlen (Depends-on): Add extensions.
59583
59584 2006-10-02  Eric Blake  <ebb9@byu.net>
59585
59586         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
59587         definition in 2.60+.
59588
59589 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
59590
59591         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
59592         checks.
59593
59594 2006-10-02  Bruno Haible  <bruno@clisp.org>
59595
59596         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
59597         to the AUTOMAKE_OPTIONS.
59598         Reported by Jim Meyering.
59599
59600 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
59601
59602         Work around bug in Solaris 10 /proc file system:
59603         /proc/self/fd/NNN/.. isn't the parent directory of
59604         the directory whose file descriptor is NNN.  This needs to
59605         be worked around at run time, not compile time, since a
59606         program might be built on Solaris 8, where things work, and
59607         run on Solaris 10.
59608         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
59609         to use the following interface instead:
59610         (OPENAT_BUFFER_SIZE): New macro.
59611         (openat_proc_name): New function.
59612         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
59613         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
59614         Likewise.
59615         * lib/openat-proc.c: New file.
59616         * modules/openat (Files): Add lib/openat-proc.c.
59617         (Depends-on): Add same-inode, stdbool.
59618         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
59619
59620 2006-09-29  Bruno Haible  <bruno@clisp.org>
59621
59622         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
59623         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
59624         argument. Set stdout_closed before testing for ferror, not after.
59625         (fwriteerror, fwriteerror_no_ebadf): New functions.
59626
59627 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59628
59629         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
59630
59631 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
59632
59633         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
59634         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
59635
59636 2006-09-28  Jim Meyering  <jim@meyering.net>
59637
59638         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
59639         Include <unistd.h>.
59640
59641 2006-09-28  Bruno Haible  <bruno@clisp.org>
59642
59643         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
59644         * modules/linkedhash-list (Depends-on): Likewise.
59645         * modules/rbtreehash-list (Depends-on): Likewise.
59646
59647 2006-09-28  Bruno Haible  <bruno@clisp.org>
59648
59649         * lib/strndup.h: Simplify the redefinition of strndup.
59650         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
59651         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
59652
59653 2006-09-28  Bruno Haible  <bruno@clisp.org>
59654
59655         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
59656         * lib/gl_linkedhash_list.c: Likewise.
59657         * lib/gl_rbtreehash_list.c: Likewise.
59658
59659 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
59660
59661         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
59662         getaddrinfo.
59663
59664         * lib/__fpending.h: Don't include <stdio_ext.h> unless
59665         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
59666         it causes <stdio_ext.h> to cause a compile-time error.
59667         Problem reported by Nelson H. F. Beebe.
59668         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
59669         of HAVE_DECL___PENDING.
59670
59671         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
59672         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
59673         declaration.
59674
59675 2006-09-27  Jim Meyering  <jim@meyering.net>
59676
59677         This file could end up with a definition for a function
59678         named __strndup, rather than rpl_strndup on a system with
59679         incomplete weak_alias support.
59680         * lib/strndup.c (strndup): Rename from __strndup.
59681         Remove #defines that used to map __strndup to strndup.
59682         Don't use K&R prototypes.
59683         Remove LIBC-related code, since this file is not sync'd with glibc.
59684         * lib/strndup.h: Revamp, accordingly.
59685         * m4/strndup.m4: Modernize.
59686
59687 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
59688
59689         * modules/savewd (Depends-on): Add 'raise'.
59690         * lib/savewd.c: Include <signal.h>, for 'raise'.
59691
59692 2006-09-26  Jim Meyering  <jim@meyering.net>
59693
59694         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
59695         when we detect Darwin 8.7.0's acl_get_file bug.
59696         Rearrange to perform the new (below) run-test while $LIBS
59697         contains any acl-related library.  Set USE_ACL at the end.
59698         (gl_ACL_GET_FILE): New function.
59699
59700 2006-09-26  Eric Blake  <ebb9@byu.net>
59701
59702         * lib/verror.c: Include <config.h> unconditionally.
59703
59704 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
59705
59706         * modules/clock-time (Maintainer): Add self.
59707         * modules/getlogin_r (Depends-on): Add extensions.
59708
59709 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59710
59711         * modules/clock-time: New module.
59712         * modules/nanosleep (Depends-on): Add clock-time.
59713         * modules/gethrxtime (Depends-on): Likewise.
59714         * modules/gettime (Depends-on): Likewise.
59715         * modules/settime (Depends-on): Likewise.
59716
59717         * modules/fts-lgpl: Depend on openat.
59718         * modules/mkancesdirs: Depend on savewd.
59719         * modules/mkdir-p: Likewise.
59720
59721 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59722
59723         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
59724
59725         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
59726         `gl_have_arbitrary_file_name_length_limit' to
59727         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
59728         actually works between configure runs.
59729
59730 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59731             Bruno Haible  <bruno@clisp.org>
59732
59733         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
59734
59735 2006-09-25  Jim Meyering  <jim@meyering.net>
59736
59737         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
59738         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
59739
59740 2006-09-25  Eric Blake  <ebb9@byu.net>
59741
59742         * gnulib-tool (func_import, func_create_testdir): Fix typos in
59743         exec's in 2006-09-18 patch when shuffling fds.
59744
59745 2006-09-25  Bruno Haible  <bruno@clisp.org>
59746
59747         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
59748         Reported by Jim Meyering.
59749
59750 2006-09-24  Jim Meyering  <jim@meyering.net>
59751
59752         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
59753         compare a pointer against a literal "0".  That caused failures with
59754         at least HP-UX's hpcc.
59755
59756 2006-09-22  Simon Josefsson  <jas@extundo.com>
59757
59758         * modules/gc-sha1:
59759         * modules/gc-md4:
59760         * modules/gc-hmac-sha1:
59761         * modules/gc-hmac-md5:
59762         * modules/gc-des:
59763         * modules/gc-arcfour: Distribute more files.
59764
59765 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59766
59767         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
59768         (gl_linked_iterator_from_to): Initialize struct completely.
59769         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
59770         (gl_tree_iterator_from_to): Likewise
59771         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
59772         * lib/gl_array_list.c [lint] (gl_array_iterator)
59773         (gl_array_iterator_from_to): Likewise.
59774         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
59775         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
59776         (gl_carray_iterator_from_to): Likewise.
59777
59778         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
59779         * lib/md4.c (md4_process_block): Remove unused variable.
59780         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
59781         parentheses for clarity.
59782
59783 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59784
59785         * modules/bison-i18n (Depends-on): Add gettext.
59786
59787 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59788
59789         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
59790         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
59791         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
59792         also add missing comma that caused broken test.
59793         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
59794         stdlib.h, for `abort'.
59795         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
59796         variables.
59797         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
59798         include unistd.h if present, for `rmdir'.
59799         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
59800         variables.
59801         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
59802         in the process include standard headers for prototypes.
59803         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
59804         gets declared on GNU/Linux.
59805         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
59806         unistd.h, for `rmdir'.
59807         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
59808
59809         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
59810         always true.
59811         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
59812
59813         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
59814
59815 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59816
59817         * gnulib-tool (func_version): Create output all at once.  This
59818         may help avoid triggering unnecessary SIGPIPEs, and at any
59819         rate it doesn't hurt.
59820
59821 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59822             Bruno Haible  <bruno@clisp.org>
59823
59824         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
59825         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
59826         * m4/signed.m4 (bh_C_SIGNED): Likewise.
59827
59828         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
59829         (gl_FUNC_VASPRINTF): Invoke it.
59830
59831 2006-09-22  Bruno Haible  <bruno@clisp.org>
59832
59833         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
59834         getloadavg.c as first argument.
59835
59836 2006-09-22  Bruno Haible  <bruno@clisp.org>
59837
59838         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
59839         at the beginning of the gl_INIT macro.
59840         * modules/getloadavg (configure.ac): Pass $gl_source_base to
59841         gl_GETLOADAVG.
59842
59843 2006-09-22  Bruno Haible  <bruno@clisp.org>
59844
59845         * gnulib-tool (func_create_megatestdir): Don't include the config-h
59846         module.
59847         Suggested by Ralf Wildenhues.
59848
59849 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
59850
59851         Import this patch from libc:
59852
59853         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
59854
59855         * lib/regex_internal.c (re_string_reconstruct): Handle
59856         offset < pstr->valid_raw_len && pstr->offsets_needed case.
59857         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
59858         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
59859         re_string_context_at.
59860
59861         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
59862         now requires it.
59863         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
59864         gl_REGEX now does it for us.
59865         (gl_REGEX): Add test taken from
59866         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
59867
59868         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
59869         Check that large offsets work.  Modernize Autoconf usages.
59870         Prefer "yes" to mean a good thing rather than a bad.
59871         Don't put "#define mkstemp" in config.h, as this might interfere
59872         with standard system headers that "#define mkstemp mkstemp64".
59873
59874         * modules/mkstemp (Depends-on): Add extensions, so that
59875         mkstemp is visible on some platforms.
59876         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
59877         (Include): Change to "mkstemp.h" from <stdlib.h>.
59878         (Files): Add mkstemp.h.
59879
59880         * lib/mkstemp.h: New file, since some standard headers
59881         #define mkstemp.
59882         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
59883         Include "mkstemp.h".
59884         Make the _LIBC code resemble glibc original more,
59885         e.g., use K&R style.
59886         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
59887         (mkstemp): Remove, since mkstemp.h does this for us.
59888         * lib/stdlib--.h: Include mkstemp.h.
59889
59890         Import this patch from libc:
59891
59892         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
59893
59894         * lib/tempname.c (__gen_tempname): Change attempts_min
59895         into a macro.  Use preprocessor to decide how to initialize
59896         attempts [Coverity CID 67].
59897
59898 2006-09-20  Bruno Haible  <bruno@clisp.org>
59899
59900         * lib/mkdtemp.c: Import from libc.
59901         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
59902                 * sysdeps/posix/tempname.c (__gen_tempname): Change
59903                 attempts_min into a macro.  Use preprocessor to decide how to
59904                 initialize attempts [Coverity CID 67].
59905         2001-11-27  Paul Eggert  <eggert@twinsun.com>
59906                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
59907                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
59908
59909 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59910
59911         * gnulib-tool (func_exit): New function, to allow to pass the
59912         exit status portably through the trap.  Use everywhere.
59913         (--help, --version): Signal a write error.
59914         (trap): catch SIGPIPE, for write errors.
59915         Exit at the end of the trap, with the correct exit status.
59916
59917 2006-09-19  Karl Berry  <karl@gnu.org>
59918
59919         * doc/gnulib.texi: note about the license texinfo files.
59920
59921 2006-09-19  Eric Blake  <ebb9@byu.net>
59922
59923         * gnulib-tool: Avoid space-tab.
59924
59925 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
59926
59927         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
59928         that prevented coreutils 6.1 from building.  Problem reported
59929         by Petter Reinholdtsen.
59930
59931 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
59932
59933         * gnulib-tool (avoidlist): Fix typo that broke options like
59934         --avoid=lock that are used by coreutils bootstrap.
59935
59936 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
59937
59938         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
59939         more systematically.
59940
59941 2006-09-18  Jim Meyering  <jim@meyering.net>
59942
59943         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
59944
59945 2006-09-18  Bruno Haible  <bruno@clisp.org>
59946
59947         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
59948
59949 2006-09-18  Bruno Haible  <bruno@clisp.org>
59950
59951         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
59952         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
59953         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
59954         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
59955         * m4/gettext.m4: Require autoconf >= 2.52.
59956         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
59957         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
59958         of gl_cv_header_inttypes_h.
59959
59960 2006-09-18  Bruno Haible  <bruno@clisp.org>
59961
59962         * lib/javaversion.c: Include configmake.h.
59963
59964 2006-09-18  Bruno Haible  <bruno@clisp.org>
59965
59966         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
59967         avoid that the while loops be executed in a subshell.
59968
59969 2006-09-18  Bruno Haible  <bruno@clisp.org>
59970
59971         * MODULES.html.sh (func_module): Break long lines.
59972         Suggested by Bruce Korb <bkorb@gnu.org>.
59973
59974 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59975
59976         Speed up by a factor of 1.12.
59977         * gnulib-tool (nl): New variable.
59978         (func_import): Rewrite include directive extraction to only read each
59979         directive once.
59980
59981 2006-09-17  Bruno Haible  <bruno@clisp.org>
59982
59983         * modules/javaversion (Makefile.am): Remove DEFS setting.
59984         (Depends-on): Add configmake, for PKGDATADIR definition.
59985
59986 2006-09-17  Bruno Haible  <bruno@clisp.org>
59987
59988         * gnulib-tool (func_create_testdir): Rewrite all files at once.
59989
59990 2006-09-17  Bruno Haible  <bruno@clisp.org>
59991
59992         * gnulib-tool (func_append): New function, stolen from libtool.m4.
59993         (func_modules_transitive_closure, func_modules_add_dummy,
59994         func_modules_to_filelist, func_import, func_create_testdir,
59995         func_create_megatestdir, ...): Use it wherever possible.
59996         Suggested by Ralf Wildenhues.
59997
59998 2006-09-16  Karl Berry  <karl@gnu.org>
59999
60000         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
60001         to avoid sectioning errors.
60002         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
60003         [ifinfo]: blank line after @center-ed titles.
60004         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
60005         Spell FSF address consistently with others.
60006         (These changes approved by rms.)
60007
60008 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60009
60010         Speed up by a factor of 1.61.
60011         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
60012         already checked module names again.
60013
60014 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60015
60016         Speed up by a factor of 1.13.
60017         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
60018         for new_files, and the input to func_add_or_update.
60019
60020 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60021
60022         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
60023         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
60024
60025 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60026
60027         * modules/mkancesdirs (Depends-on): Add fcntl.
60028         * modules/savewd: New file.
60029         * MODULES.html.sh (File system functions): Add savewd.
60030
60031         * modules/configmake (Makefile.am): Add support for the
60032         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
60033
60034 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60035
60036         * m4/savewd.m4: New file.
60037
60038 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60039
60040         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
60041         (dirchownmod): New arg FD.  All callers changed.
60042         Use FD rather than opening the directory ourself, as opening is
60043         now the caller's responsibility.
60044         * lib/dirchownmod.h: Likewise.
60045         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
60046         hosts that require <sys/types.h> before <sys/stat.h>.  Include
60047         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
60048         (test_dir): Remove.
60049         (mkancesdirs): Return length of prefix of FILE that has already
60050         been made, or -2 if there is a child doing the work.  Redo
60051         algorithm so that it is O(N) rather than O(N**2).  Optimize away
60052         ".", and treat ".." specially since it might stray back into
60053         already-created areas.  Use a subprocess if necessary.  New arg
60054         WD; all users changed.  MAKE_DIR function should now return 1
60055         if it creates a directory that is not readable.  Return -2 if
60056         a child process is spun off.
60057         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
60058         Adjust signature to match code.
60059         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
60060         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
60061         all users changed.
60062         * lib/savewd.c, lib/savewd.h: New files.
60063
60064 2006-09-15  Jim Meyering  <jim@meyering.net>
60065
60066         * modules/rename-dest-slash: New module.
60067         * MODULES.html.sh (posix_compat): Add it here.
60068
60069         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
60070
60071 2006-09-15  Jim Meyering  <jim@meyering.net>
60072
60073         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
60074         file.
60075
60076         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
60077
60078 2006-09-15  Jim Meyering  <jim@meyering.net>
60079
60080         * lib/rename-dest-slash.c (has_trailing_slash): Use
60081         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
60082         (rpl_rename_dest_slash): Perform the cheaper trailing slash
60083         test before testing whether SRC is a directory.
60084         Suggestions from Bruno Haible.
60085
60086         Avoid a warning about an unused variable.
60087         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
60088         into the #ifdef block where it's used.
60089
60090         * lib/rename-dest-slash.c: New file.
60091
60092 2006-09-14  Bruno Haible  <bruno@clisp.org>
60093
60094         * lib/allocsa.c: Include <config.h> unconditionally.
60095         * lib/asnprintf.c: Likewise.
60096         * lib/asprintf.c: Likewise.
60097         * lib/c-strcasecmp.c: Likewise.
60098         * lib/c-strcasestr.c: Likewise.
60099         * lib/c-strncasecmp.c: Likewise.
60100         * lib/c-strstr.c: Likewise.
60101         * lib/classpath.c: Likewise.
60102         * lib/clean-temp.c: Likewise.
60103         * lib/concatpath.c: Likewise.
60104         * lib/copy-file.c: Likewise.
60105         * lib/csharpcomp.c: Likewise.
60106         * lib/csharpexec.c: Likewise.
60107         * lib/execute.c: Likewise.
60108         * lib/fatal-signal.c: Likewise.
60109         * lib/findprog.c: Likewise.
60110         * lib/fwriteerror.c: Likewise.
60111         * lib/gl_array_list.c: Likewise.
60112         * lib/gl_array_oset.c: Likewise.
60113         * lib/gl_avltree_list.c: Likewise.
60114         * lib/gl_avltree_oset.c: Likewise.
60115         * lib/gl_avltreehash_list.c: Likewise.
60116         * lib/gl_carray_list.c: Likewise.
60117         * lib/gl_linked_list.c: Likewise.
60118         * lib/gl_linkedhash_list.c: Likewise.
60119         * lib/gl_list.c: Likewise.
60120         * lib/gl_oset.c: Likewise.
60121         * lib/gl_rbtree_list.c: Likewise.
60122         * lib/gl_rbtree_oset.c: Likewise.
60123         * lib/gl_rbtreehash_list.c: Likewise.
60124         * lib/imaxabs.c: Likewise.
60125         * lib/imaxdiv.c: Likewise.
60126         * lib/javacomp.c: Likewise.
60127         * lib/javaexec.c: Likewise.
60128         * lib/javaversion.c: Likewise.
60129         * lib/linebreak.c: Likewise.
60130         * lib/localcharset.c: Likewise.
60131         * lib/lock.c: Likewise.
60132         * lib/mbchar.c: Likewise.
60133         * lib/mbswidth.c: Likewise.
60134         * lib/mkdtemp.c: Likewise.
60135         * lib/pipe.c: Likewise.
60136         * lib/printf-args.c: Likewise.
60137         * lib/printf-parse.c: Likewise.
60138         * lib/progname.c: Likewise.
60139         * lib/progreloc.c: Likewise.
60140         * lib/readlink.c: Likewise.
60141         * lib/sh-quote.c: Likewise.
60142         * lib/stpcpy.c: Likewise.
60143         * lib/stpncpy.c: Likewise.
60144         * lib/strcasecmp.c: Likewise.
60145         * lib/strcasestr.c: Likewise.
60146         * lib/strcspn.c: Likewise.
60147         * lib/striconv.c: Likewise.
60148         * lib/strncasecmp.c: Likewise.
60149         * lib/strnlen1.c: Likewise.
60150         * lib/strstr.c: Likewise.
60151         * lib/strtok_r.c: Likewise.
60152         * lib/tls.c: Likewise.
60153         * lib/tmpdir.c: Likewise.
60154         * lib/unicodeio.c: Likewise.
60155         * lib/unsetenv.c: Likewise.
60156         * lib/vasnprintf.c: Likewise.
60157         * lib/vasprintf.c: Likewise.
60158         * lib/wait-process.c: Likewise.
60159         * lib/xallocsa.c: Likewise.
60160         * lib/xsetenv.c: Likewise.
60161         * lib/xstriconv.c: Likewise.
60162
60163 2006-09-13  Simon Josefsson  <jas@extundo.com>
60164
60165         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
60166         that internally, suggested by Ralf Wildenhues
60167         <Ralf.Wildenhues@gmx.de>.
60168
60169 2006-09-13  Simon Josefsson  <jas@extundo.com>
60170
60171         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
60172         @LIBOBJS@.
60173         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60174
60175 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60176
60177         * lib/_fpending.c: Include <config.h> unconditionally, since we no
60178         longer worry about uses that don't define HAVE_CONFIG_H.
60179         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
60180         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
60181         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
60182         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
60183         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
60184         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
60185         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
60186         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
60187         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
60188         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
60189         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
60190         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
60191         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
60192         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
60193         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
60194         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
60195         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
60196         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
60197         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
60198         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
60199         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
60200         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
60201         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
60202         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
60203         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
60204         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
60205         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
60206         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
60207         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
60208         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
60209         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
60210         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
60211         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
60212         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
60213         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
60214         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
60215         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
60216         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
60217         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
60218         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
60219         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
60220         Likewise.
60221
60222 2006-09-13  Eric Blake  <ebb9@byu.net>
60223
60224         * lib/getopt.c: Fix typo in last commit.
60225
60226 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60227
60228         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
60229         dgettext.
60230
60231 2006-09-12  Jim Meyering  <jim@meyering.net>
60232
60233         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
60234         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
60235         Reported by Nelson H. F. Beebe.
60236
60237 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60238
60239         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
60240         program_invocation_name and program_invocation_short_name are
60241         initialized.
60242         * lib/argp-namefrob.h: Move declarations of program_invocation_name
60243         and program_invocation_short_name to argp.h, so they are visible
60244         to user programs.
60245         * lib/argp.h: Likewise
60246
60247 2006-09-10  Bruno Haible  <bruno@clisp.org>
60248
60249         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
60250         m4/inttypes_h.m4, m4/uintmax_t.m4.
60251
60252 2006-09-10  Bruno Haible  <bruno@clisp.org>
60253
60254         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
60255         gl_AC_TYPE_UINTMAX_T.
60256
60257 2006-09-10  Bruno Haible  <bruno@clisp.org>
60258
60259         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
60260
60261 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
60262
60263         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
60264         convention.  Text proposed by Bruno Haible.
60265         (struct argp_option): Document the use of N_() wrappers.
60266
60267         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
60268         '\v', and translate the two parts separately, instead of feeding
60269         the whole string to gettext.  This allows to exclude
60270         '\v' from the strings visible to the translator by writing doc
60271         strings as N_("..") "\v" N_("..").
60272
60273 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
60274
60275         * config/srclist.txt: Undo latest change; the bug was fixed.
60276
60277 2006-09-09  Bruno Haible  <bruno@clisp.org>
60278
60279         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
60280         assignments if building a library without libtool.
60281         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
60282         in func_emit_lib_Makefile_am.
60283         (func_import): When building a static library libfoo.a, arrange to
60284         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
60285         (func_create_testdir): Likewise.
60286         * modules/gc (configure.ac, Makefile.am): If building statically,
60287         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
60288         * modules/iconvme (configure.ac, Makefile.am): Likewise.
60289         * modules/striconv (configure.ac, Makefile.am): Likewise.
60290         Based on a suggestion by Ralf Wildenhues.
60291
60292 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60293
60294         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
60295         Check for unistd.h too, since Autoconf doesn't assume POSIX.
60296         Also:
60297
60298         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60299         Add year_2050_test to catch glibc bug 2821
60300         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
60301
60302         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60303         Prefer #ifdef to #if.
60304
60305         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
60306         Return from 'main' instead of calling 'exit'.
60307
60308 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60309
60310         * lib/mktime.c (guess_time_tm): Fix bug where mktime
60311         returned the maximum time_t value rather than (time_t) -1.
60312         Problem originally reported by William Bardwell
60313         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
60314
60315         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
60316         Moved to here ...
60317         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
60318         ... from here.
60319
60320 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60321
60322         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
60323         2821 is fixed.
60324
60325 2006-09-08  Jim Meyering  <jim@meyering.net>
60326
60327         Don't make generated files read-only.  That would bother too many
60328         people.  However, do retain the ability to work when targets are
60329         read-only: remove the destination and temporary files before writing
60330         them (when generated via sed or echo), or by using the -f option for
60331         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
60332         * modules/alloca-opt, modules/argz, modules/arpa_inet:
60333         * modules/byteswap, modules/configmake, modules/fcntl:
60334         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
60335         * modules/localcharset, modules/netinet_in, modules/poll:
60336         * modules/stdbool, modules/stdint, modules/sys_select:
60337         * modules/sys_socket, modules/sys_stat, modules/sysexits:
60338
60339 2006-09-08  Jim Meyering  <jim@meyering.net>
60340
60341         Avoid new build failure on FreeBSD 6.0.
60342         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
60343         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
60344         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
60345
60346 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60347
60348         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
60349
60350 2006-09-07  Jim Meyering  <jim@meyering.net>
60351
60352         Fix global typo in last change: use chmod u-w, not chmod u-x.
60353         Spotted by Paul Eggert and Bruce Korb.
60354         * modules/alloca-opt, modules/argz, modules/arpa_inet:
60355         * modules/byteswap, modules/configmake, modules/fcntl:
60356         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
60357         * modules/localcharset, modules/netinet_in, modules/poll:
60358         * modules/stdbool, modules/stdint, modules/sys_select:
60359         * modules/sys_socket, modules/sys_stat, modules/sysexits:
60360
60361 2006-09-06  Jim Meyering  <jim@meyering.net>
60362
60363         Make generated files be read-only.
60364         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
60365         Ensure that each generated file is now read-only.
60366         * modules/argz: Likewise.
60367         * modules/arpa_inet: Likewise.
60368         * modules/byteswap: Likewise.
60369         * modules/configmake: Likewise.
60370         * modules/fcntl: Likewise.
60371         * modules/fnmatch: Likewise.
60372         * modules/getopt: Likewise.
60373         * modules/glob: Likewise.
60374         * modules/inttypes: Likewise.
60375         * modules/netinet_in: Likewise.
60376         * modules/poll: Likewise.
60377         * modules/stdbool: Likewise.
60378         * modules/stdint: Likewise.
60379         * modules/sys_select: Likewise.
60380         * modules/sys_socket: Likewise.
60381         * modules/sys_stat: Likewise.
60382         * modules/sysexits: Likewise.
60383         * modules/localcharset: Same as above, but continue using temporary
60384         file named "t-$@" (why different?) rather than the "$@-t" used
60385         everywhere else.
60386
60387         * modules/sysexits (Makefile.am): Replace literal occurrences
60388         of "sysexit.h" more readable, and more consistent, "$@".
60389
60390 2006-09-06  Bruno Haible  <bruno@clisp.org>
60391
60392         * modules/striconv: New file.
60393         * modules/xstriconv: New file.
60394         * MODULES.html.sh (Internationalization functions): Add striconv,
60395         xstriconv.
60396
60397 2006-09-06  Bruno Haible  <bruno@clisp.org>
60398
60399         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
60400         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
60401         not using libtool correctly.
60402
60403 2006-09-06  Bruno Haible  <bruno@clisp.org>
60404
60405         * lib/striconv.h: New file.
60406         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
60407         iconvstring.c.
60408         * lib/xstriconv.h: New file.
60409         * lib/xstriconv.c: New file.
60410
60411 2006-09-06  Bruno Haible  <bruno@clisp.org>
60412
60413         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
60414         lib_..._LDFLAGS.
60415
60416 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60417
60418         * lib/argz_.h: Sync from Libtool.
60419
60420         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
60421                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
60422
60423         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
60424
60425 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
60426
60427         * modules/trim: New file.
60428
60429 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
60430
60431         * lib/trim.h: New file.
60432         * lib/trim.c: New file.
60433
60434 2006-09-05  Bruno Haible  <bruno@clisp.org>
60435
60436         * MODULES.html.sh (String handling): Add trim.
60437
60438 2006-09-04  Karl Berry  <karl@gnu.org>
60439
60440         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
60441         until next release.
60442
60443 2006-09-03  Bruno Haible  <bruno@clisp.org>
60444
60445         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
60446         correctly.
60447
60448 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60449
60450         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
60451         not gl_GETLOADAVG.  Omit unneeded semicolons.
60452         Problems reported by Ralf Wildenhues in
60453         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
60454         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
60455         at the end, which is the usual gnulib style.
60456
60457         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
60458         of doing all the work ourselves.
60459         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
60460         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
60461
60462 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60463
60464         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
60465         Problem reported by Ralf Wildenhues in
60466         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
60467
60468         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
60469         HAVE_STRUCT_STATFS_F_FSTYPENAME.
60470
60471 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60472
60473         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
60474         yesterday's patch by changing test -n to test -z.
60475
60476 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60477
60478         * modules/getloadavg (Files): Add m4/getloadavg.m4.
60479         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
60480         the former is now obsolescent.
60481
60482         * modules/chdir-long (Depends-on): Add fcntl.
60483
60484 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60485
60486         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
60487         obsolescent, and programs should use gnulib instead.
60488         * m4/getloadavg.m4: New file, with contents taken from Autoconf
60489         but with prefixes changed.
60490
60491 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60492
60493         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
60494         or stdbool.h, because they might not exist while configuring.
60495
60496         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
60497         Don't include unistd.h or limits.h; not needed, since chdir-long.h
60498         does that for us.
60499         (O_DIRECTORY): Remove.
60500
60501 2006-08-31  Eric Blake  <ebb9@byu.net>
60502
60503         * gnulib-tool: Don't let emacs change spaces to TAB.
60504
60505 2006-08-31  Bruno Haible  <bruno@clisp.org>
60506
60507         * gnulib-tool: When calling func_import more than once, do it in a
60508         subshell.
60509         Reported by Eric Blake <ebb9@byu.net>.
60510
60511 2006-08-31  Bruno Haible  <bruno@clisp.org>
60512
60513         * gnulib-tool (nl): Remove variable.
60514         (sed_transform_lib_file): Use more robust test for config-h module.
60515         (func_import): Fix typo in 2006-08-25 patch.
60516
60517 2006-08-31  Bruno Haible  <bruno@clisp.org>
60518
60519         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
60520         specified, augment Makefile.am variables instead of assigning them.
60521
60522 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
60523
60524         Work around a bug in both the Linux and SunOS 64-bit kernels:
60525         nanosleep mishandles sleeps for longer than 2**31 seconds.
60526         Problem reported by Frank v Waveren in
60527         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
60528         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
60529         Check for nanosleep bug.
60530         (LIB_NANOSLEEP): Append clock_gettime library if needed.
60531
60532 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
60533
60534         Work around a bug in both the Linux and SunOS 64-bit kernels:
60535         nanosleep mishandles sleeps for longer than 2**31 seconds.
60536         Problem reported by Frank v Waveren in
60537         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
60538         * lib/nanosleep.c (BILLION): New constant.
60539         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
60540         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
60541         implementation.
60542
60543 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
60544
60545         * modules/nanosleep (Depends-on): Add gettime.
60546
60547 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
60548         and Simon Josefsson  <jas@extundo.com>
60549         and Oskar Liljeblad  <oskar@osk.mine.nu>
60550
60551         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
60552         * gnulib-tool (func_import): New license type 'unmodifiable license
60553         text'.
60554         * modules/fdl: Use it.  Longer description.
60555         * module/gpl, module/lgpl: New files.
60556
60557 2006-08-30  Jim Meyering  <jim@meyering.net>
60558
60559         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
60560         shadowing the parameter.
60561
60562 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60563
60564         Sync from Libtool:
60565
60566         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60567
60568         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
60569         sharing with gnulib.  Report by Eric Blake.
60570
60571 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
60572
60573         * modules/isapipe: New file.
60574         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
60575
60576 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
60577
60578         * modules/configmake (Makefile.am): Add a comment, and omit
60579         the CONFIGMAKE_ prefix from generated macro names.  Suggested
60580         by Bruno Haible.
60581
60582 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
60583
60584         * m4/isapipe.m4: New file.
60585
60586 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
60587
60588         * lib/isapipe.c, lib/isapipe.h: New files.
60589
60590 2006-08-29  Jim Meyering  <jim@meyering.net>
60591
60592         * modules/configmake (Makefile.am): Make configmake.h depend on
60593         Makefile.  Otherwise, a stale configmake.h could hang around.
60594
60595 2006-08-29  Eric Blake  <ebb9@byu.net>
60596
60597         * lib/error.c (error_at_line, print_errno_message): Match libc, after
60598         resolution of upstream bug 3044.
60599
60600 2006-08-29  Bruno Haible  <bruno@clisp.org>
60601
60602         * modules/localcharset (Depends-on): Add configmake.
60603         (Makefile.am): Remove setting of LIBDIR through DEFS.
60604
60605 2006-08-29  Bruno Haible  <bruno@clisp.org>
60606
60607         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
60608         defined.
60609
60610 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
60611
60612         * modules/fcntl: New file.
60613         * modules/chdir-safer (Depends-on): Add fcntl.
60614         * modules/fts: Likewise.
60615         * modules/mkdir-p: Likewise.
60616
60617         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
60618         This undoes the most recent change, since we're now addressing the
60619         problem in a different way.
60620
60621         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
60622         into output, since the output might be called Makefile.am even
60623         if $makefile_name is something different.
60624         (func_import): Use $makefile_am rather than
60625         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
60626         empty.
60627
60628         * modules/inttypes (Files): Add m4/inttypes-h.m4.
60629
60630 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
60631
60632         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
60633         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
60634         recent change to stdint.m4, since we're now addressing the problem in a
60635         different way.
60636
60637 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
60638
60639         * m4/fcntl_h.m4: New file.
60640
60641 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
60642
60643         * lib/fcntl_.h: New file.
60644         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
60645         the fcntl module.
60646         * lib/dirchownmod.c: Likewise.
60647         * lib/fts.c: Likewise.
60648
60649         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
60650         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
60651         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
60652         just before including <inttypes.h>, to avoid circular inclusion.
60653
60654 2006-08-28  Jim Meyering  <jim@meyering.net>
60655
60656         * doc/visibility.texi: Actually read and correct the grammar of the
60657         sentence affected by yesterday's change.
60658
60659 2006-08-28  Eric Blake  <ebb9@byu.net>
60660
60661         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
60662         needs wrapper.
60663
60664 2006-08-28  Eric Blake  <ebb9@byu.net>
60665
60666         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
60667
60668 2006-08-28  Eric Blake  <ebb9@byu.net>
60669
60670         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
60671
60672 2006-08-28  Bruno Haible  <bruno@clisp.org>
60673
60674         * modules/c-strstr: New file, from GNU gettext.
60675         * MODULES.html.sh (String handling): Add c-strstr.
60676
60677 2006-08-28  Bruno Haible  <bruno@clisp.org>
60678
60679         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
60680         macros.
60681         Reported by Eric Blake.
60682
60683 2006-08-28  Bruno Haible  <bruno@clisp.org>
60684
60685         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
60686         (VASNPRINTF): Return a string of length > INT_MAX without failing.
60687         * lib/vasprintf.c: Include errno.h, limits.h.
60688         (EOVERFLOW): New fallback definition.
60689         (vasprintf): Test here whether the string length is > INT_MAX.
60690         * lib/vsnprintf.c: Include errno.h, limits.h.
60691         (EOVERFLOW): New fallback definition.
60692         (vsnprintf): Fix bug when generated string was too long for the buffer.
60693         Test here whether the string length is > INT_MAX.
60694
60695 2006-08-28  Bruno Haible  <bruno@clisp.org>
60696
60697         * lib/inttypes_.h (SCNX*): Remove definitions.
60698         Reported by Eric Blake.
60699
60700 2006-08-28  Bruno Haible  <bruno@clisp.org>
60701
60702         * lib/c-strstr.h: New file, from GNU gettext.
60703         * lib/c-strstr.c: New file, from GNU gettext.
60704
60705 2006-08-28  Bruno Haible  <bruno@clisp.org>
60706
60707         * gnulib-tool: Reorder some statements.
60708
60709 2006-08-28  Bruno Haible  <bruno@clisp.org>
60710
60711         * gnulib-tool: New option --makefile-name.
60712         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
60713         $makefile_name.
60714         (func_import): Write $makefile_name to the cache file, and read it from
60715         there unless explicitly specified. Use $makefile_name as file name
60716         instead of Makefile.am. Adjust the recommendations accordingly.
60717
60718 2006-08-28  Bruno Haible  <bruno@clisp.org>
60719
60720         * gnulib-tool (func_verify_module): Check against misapplying patch.
60721
60722 2006-08-28  Bruno Haible  <bruno@clisp.org>
60723
60724         * gnulib-tool (func_relativize, func_relconcat): New functions.
60725         Give an error if --local-dir is given with --update.
60726         Remove trailing slashes from $local_gnulib_dir.
60727         (func_import): Store the relativized $local_gnulib_dir in
60728         gnulib-cache.m4, and read it from there if not specified explicitly.
60729
60730 2006-08-28  Bruno Haible  <bruno@clisp.org>
60731
60732         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
60733         is the current directory. Respect also $local_gnulib_dir.
60734
60735 2006-08-28  Bruno Haible  <bruno@clisp.org>
60736             Simon Josefsson  <jas@extundo.com>
60737
60738         BeOS portability.
60739         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
60740
60741 2006-08-27  Jim Meyering  <jim@meyering.net>
60742
60743         * doc/visibility.texi: Remove duplicate word: "pointer".
60744
60745 2006-08-26  Bruno Haible  <bruno@clisp.org>
60746
60747         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
60748         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
60749         (Makefile.am): Create inttypes.h from inttypes_.h.
60750         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
60751
60752         * modules/imaxabs: New file.
60753
60754         * modules/imaxdiv: New file.
60755
60756 2006-08-26  Bruno Haible  <bruno@clisp.org>
60757
60758         * m4/inttypes.m4: New file.
60759         * m4/_inttypes_h.m4: Remove file.
60760         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
60761         PRI_MACROS_BROKEN.
60762         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
60763
60764         * m4/imaxabs.m4: New file.
60765
60766         * m4/imaxdiv.m4: New file.
60767
60768 2006-08-26  Bruno Haible  <bruno@clisp.org>
60769
60770         * lib/inttypes_.h: New file.
60771         * lib/inttypes.h: Remove file.
60772         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
60773
60774         * lib/imaxabs.c: New file.
60775
60776         * lib/imaxdiv.c: New file.
60777
60778 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60779
60780         New config-h module, so that "make" output needn't be cluttered
60781         by -DHAVE_CONFIG_H.
60782         * MODULES.html.sh (Support for building libraries and executables):
60783         Add config-h.
60784         * modules/config-h: New file.
60785         * gnulib-tool (nl, sed_transform_lib_file): New vars.
60786         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
60787         the config-h module is used.
60788
60789         New configmake module, so that "make" output needn't be cluttered
60790         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
60791         * MODULES.html.sh (Support for building libraries and executables):
60792         Add configmake.
60793         * modules/configmake: New file.
60794
60795 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60796
60797         * m4/config-h.m4: New file.
60798
60799 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
60800
60801         * config/srclist.txt: Add elisp-comp.
60802
60803 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
60804
60805         * MODULES.html.sh (Support for building libraries and executables):
60806         Add elisp-comp.
60807         * build-aux/elisp-comp: New file.
60808         * modules/elisp-comp: New file.
60809
60810 2006-08-24  Bruno Haible  <bruno@clisp.org>
60811
60812         * gnulib-tool (func_create_testdir): Use non-default values of
60813         sourcebase and m4base.
60814
60815 2006-08-24  Bruno Haible  <bruno@clisp.org>
60816
60817         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
60818         HTML structure.
60819
60820 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
60821
60822         * modules/openat (Depends-on): Add lchown.
60823
60824 2006-08-23  Bruno Haible  <bruno@clisp.org>
60825
60826         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
60827         of gl_LOCK_EARLY instead of gl_LOCK.
60828
60829 2006-08-23  Bruno Haible  <bruno@clisp.org>
60830
60831         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
60832         on OSF/1 to no.
60833         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
60834
60835 2006-08-23  Bruno Haible  <bruno@clisp.org>
60836
60837         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
60838         as unusable.
60839
60840         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
60841         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
60842         (gl_LOCK): New macro.
60843
60844 2006-08-22  Simon Josefsson  <jas@extundo.com>
60845
60846         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
60847         to md5 module.
60848
60849 2006-08-22  Simon Josefsson  <jas@extundo.com>
60850
60851         * MODULES.html.sh: Add "Support for maintaining and release
60852         projects".
60853
60854         * build-aux/gnupload: New file, from coreutils.
60855
60856 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
60857
60858         Avoid the need for AC_LIBSOURCES in m4 macros.
60859         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
60860         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
60861         * modules/check-version (EXTRA_DIST): Add check-version.h.
60862         * modules/crc (EXTRA_DIST): Add crc.h.
60863         * modules/des (EXTRA_DIST): Add des.h.
60864         * modules/gc (EXTRA_DIST): Add gc.h.
60865         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
60866         * modules/getline (EXTRA_DIST): Add getline.h.
60867         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
60868         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
60869         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
60870         * modules/md2 (EXTRA_DIST): Add md2.h.
60871         * modules/md4 (EXTRA_DIST): Add md4.h.
60872         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
60873         * modules/read-file (EXTRA_DIST): Add read-file.h.
60874         * modules/readline (EXTRA_DIST): Add readline.h.
60875         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
60876         rijndael-api-fst.h.
60877
60878 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
60879
60880         * m4/rijndael.m4 (gl_ARCFOUR):
60881         * m4/arctwo.m4 (gl_ARCTWO):
60882         * m4/check-version.m4 (gl_CHECK_VERSION):
60883         * m4/crc.m4 (gl_CRC):
60884         * m4/des.m4 (gl_DES):
60885         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
60886         * m4/gc.m4 (gl_GC):
60887         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
60888         * m4/getline.m4 (gl_FUNC_GETLINE):
60889         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
60890         * m4/hmac-md5.m4 (gl_HMAC_MD5):
60891         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
60892         * m4/md2.m4 (gl_MD2):
60893         * m4/md4.m4 (gl_MD4):
60894         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
60895         * m4/read-file.m4 (gl_FUNC_READ_FILE):
60896         * m4/readline.m4 (gl_FUNC_READLINE):
60897         * m4/rijndael.m4 (gl_RIJNDAEL):
60898         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
60899         to get the necessary .h files and whatnot.
60900
60901 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
60902
60903         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
60904         gnulib rather than the other way around.
60905         * config/srclistvars.sh (COREUTILS): Remove.
60906
60907 2006-08-22  Jim Meyering  <jim@meyering.net>
60908
60909         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
60910
60911         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
60912
60913 2006-08-22  Eric Blake  <ebb9@byu.net>
60914
60915         * modules/regexprops-generic: New file.
60916         * MODULES.html.sh (Support for building documentation): List it.
60917
60918 2006-08-22  Eric Blake  <ebb9@byu.net>
60919
60920         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
60921         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
60922         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
60923         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
60924
60925 2006-08-22  Bruno Haible  <bruno@clisp.org>
60926
60927         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
60928         and lib_LTLIBRARIES like the other lib_* variables.
60929
60930 2006-08-22  Bruno Haible  <bruno@clisp.org>
60931
60932         * build-aux/x-to-1.in: New file, from GNU gettext.
60933
60934 2006-08-22  Bruno Haible  <bruno@clisp.org>
60935
60936         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
60937         <utmpx.h> exists.
60938
60939 2006-08-22  Bruno Haible  <bruno@clisp.org>
60940
60941         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
60942         <utmpx.h> exists.
60943
60944 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
60945
60946         BeOS portability.
60947         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
60948         exist.
60949         Problem reported by Bruno Haible.
60950
60951 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
60952
60953         Avoid the need for AC_LIBSOURCES in m4 macros.
60954         * modules/acl (EXTRA_DIST): Add acl.h.
60955         * modules/argmatch (Files): Add m4/argmatch.m4.
60956         (configure.ac): Add gl_ARGMATCH.
60957         (EXTRA_DIST): Renamed from lib_SOURCES, for
60958         consistency with the other modules.  Remove argmatch.c.
60959         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
60960         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
60961         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
60962         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
60963         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
60964         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
60965         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
60966         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
60967         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
60968         * modules/closeout (EXTRA_DIST): Add closeout.h.
60969         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
60970         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
60971         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
60972         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
60973         dirname.h; remove basename.c and stripslash.c.
60974         * modules/exclude (EXTRA_DIST): Add exclude.h.
60975         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
60976         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
60977         * modules/file-type (EXTRA_DIST): Add file-type.h.
60978         * modules/filemode (EXTRA_DIST): Add filemode.h.
60979         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
60980         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
60981         * modules/fpending (EXTRA_DIST): Add __fpending.h.
60982         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
60983         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
60984         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
60985         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
60986         * modules/getdate (EXTRA_DIST): Add getdate.c.
60987         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
60988         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
60989         * modules/getpass (EXTRA_DIST): Add getpass.h.
60990         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
60991         * modules/group-member (EXTRA_DIST): Add group-member.h.
60992         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
60993         * modules/hash (EXTRA_DIST): Add hash.h.
60994         * modules/human (EXTRA_DIST): Add human.h.
60995         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
60996         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
60997         * modules/lchown (EXTRA_DIST): Add lchown.h.
60998         * modules/long-options (EXTRA_DIST): Add long-options.h.
60999         * modules/lstat (EXTRA_DIST): Add lstat.h.
61000         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
61001         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
61002         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
61003         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
61004         * modules/memxor (EXTRA_DIST): Add memxor.h.
61005         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
61006         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
61007         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
61008         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
61009         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
61010         * modules/physmem (EXTRA_DIST): Add physmem.h.
61011         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
61012         * modules/posixver (EXTRA_DIST): Add posixver.h.
61013         * modules/quote (EXTRA_DIST): Add quote.h.
61014         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
61015         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
61016         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
61017         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
61018         regex_internal.h regexec.c.
61019         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
61020         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
61021         * modules/same (EXTRA_DIST): Add same.h.
61022         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
61023         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
61024         * modules/savedir (EXTRA_DIST): Add savedir.h.
61025         * modules/sha1 (EXTRA_DIST): Add sha1.h.
61026         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
61027         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
61028         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
61029         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
61030         * modules/strdup (EXTRA_DIST): Add strdup.h.
61031         * modules/strftime (EXTRA_DIST): Add strftime.h.
61032         * modules/strndup (EXTRA_DIST): Add strndup.h.
61033         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
61034         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
61035         * modules/time_r (EXTRA_DIST): Add time_r.h.
61036         * modules/timespec (EXTRA_DIST): Add timespec.h.
61037         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
61038         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
61039         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
61040         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
61041         * modules/userspec (EXTRA_DIST): Add userspec.h.
61042         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
61043         * modules/utimens (EXTRA_DIST): Add utimens.h.
61044         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
61045         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
61046         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
61047         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
61048         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
61049         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
61050         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
61051         * modules/yesno (EXTRA_DIST): Add yesno.h.
61052
61053 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
61054
61055         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
61056
61057         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
61058         * m4/dev-ino.m4, same-inode.m4: Remove.
61059
61060         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
61061         * m4/acl.m4 (AC_FUNC_ACL):
61062         * m4/backupfile.m4 (gl_BACKUPFILE):
61063         * m4/c-strtod.m4 (gl_C99_STRTOLD):
61064         * m4/canon-host.m4 (gl_CANON_HOST):
61065         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
61066         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
61067         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
61068         * m4/cloexec.m4 (gl_CLOEXEC):
61069         * m4/close-stream.m4 (gl_CLOSE_STREAM):
61070         * m4/closeout.m4 (gl_CLOSEOUT):
61071         * m4/dirfd.m4 (gl_FUNC_DIRFD):
61072         * m4/dirname.m4 (gl_DIRNAME):
61073         * m4/exclude.m4 (gl_EXCLUDE):
61074         * m4/exitfail.m4 (gl_EXITFAIL):
61075         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
61076         * m4/file-type.m4 (gl_FILE_TYPE):
61077         * m4/filemode.m4 (gl_FILEMODE):
61078         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
61079         * m4/fpending.m4 (gl_FUNC_FPENDING):
61080         * m4/fprintftime.m4 (gl_FPRINTFTIME):
61081         * m4/fts.m4 (gl_FUNC_FTS):
61082         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
61083         * m4/getdate.m4 (gl_GETDATE):
61084         * m4/gethrxtime.m4 (gl_GETHRXTIME):
61085         * m4/getpagesize.m4 (gl_GETPAGESIZE):
61086         * m4/getpass.m4 (gl_FUNC_GETPASS):
61087         * m4/gettime.m4 (gl_GETTIME):
61088         * m4/getugroups.m4 (gl_GETUGROUPS):
61089         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
61090         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
61091         * m4/hard-locale.m4 (gl_HARD_LOCALE):
61092         * m4/hash.m4 (gl_HASH):
61093         * m4/idcache.m4 (gl_IDCACHE):
61094         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
61095         * m4/lchown.m4 (gl_FUNC_LCHOWN):
61096         * m4/long-options.m4 (gl_LONG_OPTIONS):
61097         * m4/lstat.m4 (gl_FUNC_LSTAT):
61098         * m4/md5.m4 (gl_MD5):
61099         * m4/memcasecmp.m4 (gl_MEMCASECMP):
61100         * m4/memcoll.m4 (gl_MEMCOLL):
61101         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
61102         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
61103         * m4/memxor.m4 (gl_MEMXOR):
61104         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
61105         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
61106         * m4/modechange.m4 (gl_MODECHANGE):
61107         * m4/mountlist.m4 (gl_MOUNTLIST):
61108         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61109         * m4/openat.m4 (gl_FUNC_OPENAT):
61110         * m4/pathmax.m4 (gl_PATHMAX):
61111         * m4/physmem.m4 (gl_PHYSMEM):
61112         * m4/posixtm.m4 (gl_POSIXTM):
61113         * m4/posixver.m4 (gl_POSIXVER):
61114         * m4/quote.m4 (gl_QUOTE):
61115         * m4/quotearg.m4 (gl_QUOTEARG):
61116         * m4/readtokens.m4 (gl_READTOKENS):
61117         * m4/readutmp.m4 (gl_READUTMP):
61118         * m4/regex.m4 (gl_REGEX):
61119         * m4/safe-read.m4 (gl_SAFE_READ):
61120         * m4/safe-write.m4 (gl_SAFE_WRITE):
61121         * m4/same.m4 (gl_SAME):
61122         * m4/save-cwd.m4 (gl_SAVE_CWD):
61123         * m4/savedir.m4 (gl_SAVEDIR):
61124         * m4/settime.m4 (gl_SETTIME):
61125         * m4/sha1.m4 (gl_SHA1):
61126         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
61127         * m4/stat-macros.m4 (gl_STAT_MACROS):
61128         * m4/stat-time.m4 (gl_STAT_TIME):
61129         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
61130         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
61131         * m4/strdup.m4 (gl_FUNC_STRDUP):
61132         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
61133         * m4/strndup.m4 (gl_FUNC_STRNDUP):
61134         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
61135         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
61136         * m4/time_r.m4 (gl_TIME_R):
61137         * m4/timespec.m4 (gl_TIMESPEC):
61138         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
61139         * m4/unlinkdir.m4 (gl_UNLINKDIR):
61140         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
61141         * m4/userspec.m4 (gl_USERSPEC):
61142         * m4/utimecmp.m4 (gl_UTIMECMP):
61143         * m4/utimens.m4 (gl_UTIMENS):
61144         * m4/xalloc.m4 (gl_XALLOC):
61145         * m4/xgetcwd.m4 (gl_XGETCWD):
61146         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
61147         * m4/xreadlink.m4 (gl_XREADLINK):
61148         * m4/xstrtod.m4 (gl_XSTRTOD):
61149         * m4/yesno.m4 (gl_YESNO):
61150         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
61151         to get the necessary .h files and whatnot.
61152
61153 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
61154             Bruno Haible  <bruno@clisp.org>
61155
61156         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
61157         /bin/sh understanding of '!' conditional negation.
61158
61159 2006-08-21  Jim Meyering  <jim@meyering.net>
61160
61161         * modules/openat (Depends-on): Really alphabetize.
61162
61163         * modules/acl (Depends-on): Add error and quote.
61164
61165         * check-module (find_included_lib_files): Add at-func.c to the
61166         ok-to-include-more-than-once white list.
61167
61168         * modules/openat (Depends-on): Add lstat.  Alphabetize.
61169
61170 2006-08-21  Bruno Haible  <bruno@clisp.org>
61171
61172         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61173         Emit a pkgdata_DATA variable only if some snippets add contents to it.
61174         Reported by Martin Lambers <marlam@marlam.de>.
61175
61176 2006-08-21  Bruno Haible  <bruno@clisp.org>
61177
61178         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
61179         specify an installation location, don't emit a noinst_LIBRARIES or
61180         noinst_LTLIBRARIES assignment.
61181
61182 2006-08-21  Bruno Haible  <bruno@clisp.org>
61183
61184         BeOS portability.
61185         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
61186         BeOS has mbrtowc() but no <wctype.h>.
61187
61188 2006-08-21  Bruno Haible  <bruno@clisp.org>
61189
61190         BeOS portability.
61191         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
61192         exist.
61193
61194 2006-08-21  Bruno Haible  <bruno@clisp.org>
61195
61196         BeOS portability.
61197         * lib/mbchar.h: Include <wctype.h> only if it exists.
61198
61199 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61200
61201         Remove files that are no longer needed by their respective modules.
61202         * m4/obstack.m4: Remove.
61203         * m4/strerror_r.m4: Remove.
61204         * m4/uint32_t.m4: Remove.
61205         * m4/uintptr_t.m4: Remove.
61206         * m4/ullong_max.m4: Remove.
61207         * m4/xstrtoimax.m4: Remove.
61208         * m4/xstrtoumax.m4: Remove.
61209
61210         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
61211         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
61212         dependencies now capture this.
61213
61214         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
61215         Do not use AC_LIBSOURCES, since gnulib modules now do this.
61216         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
61217         * m4/human.m4 (gl_HUMAN): Likewise.
61218         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
61219         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
61220
61221         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
61222
61223         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
61224         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
61225         stdint.
61226         * m4/human.m4 (gl_HUMAN): Likewise.
61227         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
61228         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
61229         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
61230         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
61231         * m4/xstrtol (gl_XSTRTOL): Likewise.
61232
61233         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
61234         AC_TYPE_LONG_LONG_INT.
61235         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
61236         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
61237         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
61238         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
61239
61240         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
61241         on stdbool.
61242
61243         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
61244         (gl_PREREQ_XSTRTOUL): Remove.
61245
61246         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
61247
61248         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
61249         mode.
61250
61251 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61252
61253         Add and change modules to make it easier for coreutils to use
61254         gnulib-tool.
61255         * modules/backupfile (Files): Remove m4/d-ino.m4.
61256         (Depends-on): Add d-ino.
61257         * modules/cycle-check (Depends-on): Add stdint.
61258         (lib_SOURCES): Add cycle-check.h.
61259         * modules/d-ino: New module.
61260         * modules/d-type: New module.
61261         * modules/error (Files): Remove m4/strerror_r.m4.
61262         * modules/filemode (Files): Add m4/st_dm_mode.m4.
61263         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
61264         m4/inttypes_h.m4, m4/uintmax_t.m4.
61265         (Depends-on): Add stdint.
61266         (lib_SOURCES): Add fsusage.h.
61267         * modules/getcwd (Files): Remove d-ino.m4.
61268         (Depends-on): Add d-ino.
61269         * modules/getndelim2 (Depends-on): Add stdint.
61270         * modules/glob (Files): Remove m4/d-type.m4.
61271         (Depends-on): Add d-type.
61272         * modules/host-os: New module.
61273         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
61274         m4/inttypes_h.m4, m4/uintmax_t.m4.
61275         * Depends-on: Add stdint.
61276         (lib_SOURCES): Add human.h.
61277         * modules/inttostr (Files): Remove m4/intmax_t.m4,
61278         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
61279         m4/uintmax_t.m4, m4/ulonglong.m4.
61280         (Depends-on): Add stdint.
61281         (EXTRA_DIST): Add inttostr.h.
61282         * modules/lchmod: New module.
61283         * modules/link-follow: New module.
61284         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
61285         (Depends-on): Add lchmod.
61286         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
61287         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
61288         (Depends-on): Add stdint.
61289         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
61290         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
61291         (Depends-on): Add stdint.
61292         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
61293         * modules/perl: New module.
61294         * modules/regex (Depends-on): Add stdint.
61295         * modules/rmdir-errno: New module.
61296         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
61297         m4/intmax_t.m4.
61298         (Depends-on): Add stdint.
61299         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
61300         m4/uintmax_t.m4.
61301         (Depends-on): Add stdint.
61302         * modules/unlink-busy: New module.
61303         * modules/utimecmp (Depends-on): Add stdint.
61304         * modules/uptime: New module.
61305         * modules/winsz-ioctl: New module.
61306         * modules/winsz-termios: New module.
61307         * modules/xnanosleep (Depends-on): Add nanosleep.
61308         * modules/ullong_max: Remove.
61309         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
61310         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
61311         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
61312         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
61313         (Depends-on): Add inttypes.
61314         (lib_SOURCES): Add xstrtol.h.
61315         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
61316         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
61317         * MODULES.html.sh: Move 'assert' into the assert section.
61318         Move 'dummy' into the linking section.
61319         Remove ullong_max.
61320         Add section for compatibility checks for POSIX:2001 functions,
61321         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
61322         winsz-ioctl, and winsz-termios into it.
61323         Add lchmod.
61324         Add top-level Misc section and put host-os, perl, and uptime
61325         into it.
61326
61327 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61328
61329         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
61330         now assume the stdint module.  Do not include inttypes.h.
61331         * lib/fsusage.h: Likewise.
61332         * lib/getndelim2.c: Likewise.
61333         * lib/human.h: Likewise.
61334         * lib/inttostr.h: Likewise.
61335         * lib/obstack.c: Likewise.
61336         * lib/regex_internal.h: Likewise.
61337         * lib/tempname.c: Likewise.
61338         * lib/utimecmp.c: Likewise.
61339         * lib/xstrtol.h: Likewise.
61340
61341         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
61342
61343         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
61344         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
61345         * lib/xtime.h: Likewise.
61346
61347 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61348
61349         * modules/openat (Files): Add lib/fchmodat.c.
61350         Fixes problem reported by Jay Youngman.
61351
61352 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61353
61354         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
61355         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
61356
61357 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
61358             Bruno Haible  <bruno@clisp.org>
61359
61360         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
61361         and is a script that invokes bison. Tighten the code. Add comments.
61362
61363 2006-08-18  Jim Meyering  <jim@meyering.net>
61364
61365         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
61366         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
61367         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
61368         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
61369
61370 2006-08-18  Bruno Haible  <bruno@clisp.org>
61371
61372         * modules/bison-i18n: New file.
61373         * MODULES.html.sh (Internationalization functions): Add it.
61374
61375 2006-08-18  Bruno Haible  <bruno@clisp.org>
61376
61377         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
61378         sys/statvfs.h. When getmntinfo was found, check its declaration and
61379         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
61380
61381 2006-08-18  Bruno Haible  <bruno@clisp.org>
61382
61383         * m4/bison-i18n.m4: New file, from bison.
61384
61385 2006-08-18  Bruno Haible  <bruno@clisp.org>
61386
61387         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
61388         (ME_DUMMY): Treat "kernfs" as a dummy.
61389         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
61390
61391 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
61392
61393         Update from coreutils.
61394
61395         2006-08-15  Jim Meyering  <jim@meyering.net>
61396
61397         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
61398
61399         2006-01-17  Jim Meyering  <jim@meyering.net>
61400
61401         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
61402
61403         2006-01-11  Jim Meyering  <jim@meyering.net>
61404
61405         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
61406         Check for the lchmod function.
61407
61408 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
61409
61410         Update from coreutils.
61411
61412         * lib/__fpending.h: Add copyright notice.
61413         * lib/fprintftime.h: Likewise.
61414         * lib/savedir.c: Use (C) in copyright notice.
61415         * lib/savedir.h: Likewise.
61416
61417         2006-08-15  Jim Meyering  <jim@meyering.net>
61418
61419         * lib/at-func.c: New file, with the logic of all emulated at-functions.
61420         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
61421         in support of the EXPECTED_ERRNO macro.
61422         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
61423         definitions.  Instead, define the appropriate symbols and include
61424         "at-func.c".
61425         * lib/mkdirat.c (mkdirat): Likewise.
61426         * lib/fchmodat.c (fchmodat): Likewise.
61427         (ENOSYS): Remove definition.
61428         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
61429         it.  Don't include "unistd--.h" -- it wasn't ever used.
61430
61431         2006-01-17  Jim Meyering  <jim@meyering.net>
61432
61433         Rewrite fts.c not to change the current working directory,
61434         by using openat, fstatat, fdopendir, etc..
61435
61436         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
61437         (HAVE_OPENAT_SUPPORT): Define.
61438         [_LIBC] (fchdir): Don't undef or define; no longer used.
61439         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
61440         Now, this `function' always succeeds, and consumes its file descriptor
61441         parameter -- so callers must not close such FDs.  Update callers.
61442         (diropen_fd, opendirat, cwd_advance_fd): New functions.
61443         (diropen): Add parameter, SP.  Adjust all callers.
61444         Implement using diropen_fd, rather than open.
61445         (fts_open): Initialize new member, fts_cwd_fd.
61446         Remove fts_rft-setting code.
61447         (fts_close): Close fts_cwd_fd, if necessary.
61448         (__opendir2): Define in terms of opendir or opendirat,
61449         depending on whether the FST_NOCHDIR flag is set.
61450         (fts_build): Since fts_safe_changedir consumes its FD, and since
61451         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
61452         and close the dup'd file descriptor upon failure.
61453         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
61454         (fts_safe_changedir): Tweak semantics to reflect that this function
61455         now calls cwd_advance_fd and hence consumes its FD argument.
61456         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
61457         [struct FTS] (fts_rft): Remove now-unused member.
61458         [struct FTS] (fts_cycle.state): Improve comment.
61459
61460         * lib/openat.c (openat_needs_fchdir): New function.
61461         * lib/openat.h (openat_needs_fchdir): Declare it.
61462
61463 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
61464
61465         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
61466         Problem and fix reported by Pádraig Brady in
61467         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
61468
61469 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61470
61471         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
61472
61473 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61474
61475         * lib/memcoll.c (memcoll): Optimize for the common case where the
61476         arguments are bytewise equal.
61477
61478 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61479
61480         * doc/regexprops-generic.texi: Add a copyright notice.
61481
61482 2006-08-15  Bruno Haible  <bruno@clisp.org>
61483
61484         * modules/tmpdir (License): Change to LGPL.
61485
61486 2006-08-15  Bruno Haible  <bruno@clisp.org>
61487
61488         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
61489         module.
61490
61491 2006-08-14  Simon Josefsson  <jas@extundo.com>
61492
61493         * config/srclist.txt: Add gnupload.
61494
61495 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61496
61497         Change copyright notice from LGPL 2 to GPL 2, since that's the
61498         standard form used in the gnulib repository.
61499         * tests/test-lock.c: Likewise.
61500         * tests/test-stdint.c: Likewise.
61501         * tests/test-tls.c: Likewise.
61502
61503         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
61504         prelude-manager.  User shorter URLs for GNU projects, without '?'.
61505         Add copyright notice.
61506
61507         * check-module: Add copyright notice.  Output a copyright
61508         notice if "--version" is specified.
61509         * modules/COPYING: New file.
61510         * tests/test-getaddrinfo.c: Add copyright notice.
61511         * tests/test-verify.c: Likewise.
61512
61513 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61514
61515         Change copyright notice from LGPL 2 to GPL 2, since that's the
61516         standard form used in the gnulib repository.
61517         * lib/lock.c: LGPL -> GPL.
61518         * lib/lock.h: Likewise.
61519         * lib/strnlen1.c: Likewise.
61520         * lib/strnlen1.h: Likewise.
61521         * lib/tls.c: Likewise.
61522         * lib/tls.h: Likewise.
61523         * lib/tmpdir.c: Likewise.
61524
61525         * lib/TODO: Remove; this belongs only in coreutils.
61526
61527 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61528
61529         Add copyright notices to long-enough files that lack them, since
61530         otherwise the files aren't clearly free.  Use the same notice that
61531         getdate.texi already uses.
61532         * doc/alloca-opt.texi: Add copyright notice.
61533         * doc/alloca.texi: Likewise.
61534         * doc/ctime.texi: Likewise.
61535         * doc/functions.texi: Likewise.
61536         * doc/gcd.texi: Likewise.
61537         * doc/gnulib-tool.texi: Likewise.
61538         * doc/inet_ntoa.texi: Likewise.
61539         * doc/visibility.texi: Likewise.
61540
61541         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
61542         * doc/quote.texi: Add copyright notice.
61543
61544         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
61545         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
61546         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
61547         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
61548         is now obsolete, and give a pointer to the Sun list.
61549         Add copyright notice.
61550
61551 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61552
61553         * config/srclistvars.sh: Add copyright notice.
61554
61555 2006-08-14  Eric Blake  <ebb9@byu.net>
61556
61557         Import the following change from libc:
61558
61559         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
61560
61561         Upstream bug 2997.
61562         * lib/misc/error.c: Add space between program name and message if file
61563         name is missing.
61564
61565 2006-08-12  Karl Berry  <karl@gnu.org>
61566
61567         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
61568         remove, these originate in gnulib now.
61569
61570 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61571
61572         * doc/Makefile (standards.info standards.html standards.dvi):
61573         Also depend on make-stds.texi.
61574
61575 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
61576
61577         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
61578         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
61579
61580         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
61581         in wchar_t.  Problem reported by Eric Blake.
61582
61583         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
61584         LEN is smaller than SIZE.  Suggested by Bruno Haible.
61585         Also, help the compiler to keep LEN in a register.
61586
61587 2006-08-11  Eric Blake  <ebb9@byu.net>
61588
61589         * users.txt: Sort.  Add tar.
61590
61591 2006-08-11  Bruno Haible  <bruno@clisp.org>
61592
61593         * users.txt: New file.
61594
61595 2006-08-11  Bruno Haible  <bruno@clisp.org>
61596
61597         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
61598         before <wchar.h>. Needed for OSF/1 and BSD/OS.
61599
61600 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61601
61602         * modules/snprintf (Depends-on): Remove minmax.
61603         (Maintainer): Add self and Bruno.
61604
61605 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61606
61607         * lib/.cppi-disable: Add snprintf.h, socket_.h.
61608         * lib/snprintf.c: Include <errno.h> and <limits.h>.
61609         (EOVERFLOW): Define if the system does not.
61610         Do not include "minmax.h"; it wasn't used.
61611         (snprintf): Don't assume size_t promotes to an unsigned type.
61612         Fix bug when generated string was too long for the buffer: the
61613         buffer's contents are supposed to be the initial prefix of the
61614         output.  Don't assume vasnprintf returns EOVERFLOW if the size
61615         exceeds INT_MAX; do the check ourselves.
61616
61617         Import the following changes from libc:
61618
61619         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
61620
61621         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
61622         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
61623         set wc to the byte which couldn't be converted.
61624         (re_string_reconstruct): Don't clear valid_raw_len before calling
61625         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
61626         tip_context using re_string_context_at.
61627
61628         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
61629
61630         * lib/posix/regex.h: g++ still cannot handled [restrict].
61631
61632         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
61633
61634         * lib/posix/regex.h: Remove special handling for VMS.
61635
61636 2006-08-10  Jim Meyering  <jim@meyering.net>
61637
61638         * modules/same-inode: New module.
61639         * modules/dev-ino: New module.
61640         * modules/cycle-check: Depend on these modules, rather than simply
61641         including their .h files.
61642         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
61643         required via m4/cycle-check.m4.
61644         * modules/same: Depend on new same-inode module, rather than
61645         including same-inode.h.
61646         * modules/chdir-safer: New file.
61647
61648         * modules/chown (Depends-on): Add stat-macros.
61649
61650 2006-08-10  Jim Meyering  <jim@meyering.net>
61651
61652         * m4/cycle-check.m4: New file.
61653         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
61654         * m4/dev-ino.m4, m4/same-inode.m4: New files.
61655
61656 2006-08-10  Eric Blake  <ebb9@byu.net>
61657
61658         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
61659         in from original proposal.
61660
61661 2006-08-10  Eric Blake  <ebb9@byu.net>
61662         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
61663
61664         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
61665         namespace.
61666
61667 2006-08-10  Bruno Haible  <bruno@clisp.org>
61668
61669         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
61670         as well.
61671
61672 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
61673
61674         Sync from coreutils.
61675
61676         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
61677
61678         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
61679         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
61680
61681 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
61682
61683         * modules/restrict: Remove; no longer needed now that we assume
61684         Autoconf 2.59 or later.
61685         * MODULES.html.sh: Remove 'restrict'.
61686         * modules/argp (Depends-on): Remove 'restrict'.
61687         * modules/base64 (Depends-on): Likewise.
61688         * modules/gc (Depends-on): Likewise.
61689         * modules/getaddrinfo (Depends-on): Likewise.
61690         * modules/glob (Depends-on): Likewise.
61691         * modules/inet_ntop (Depends-on): Likewise.
61692         * modules/inet_pton (Depends-on): Likewise.
61693         * modules/memxor (Depends-on): Likewise.
61694         * modules/regex (Depends-on): Likewise.
61695         * modules/strtok_r (Depends-on): Likewise.
61696         * modules/time_r (Depends-on): Likewise.
61697
61698 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
61699
61700         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
61701         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
61702         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61703         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
61704         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
61705         * m4/memxor.m4 (gl_MEMXOR): Likewise.
61706         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
61707         gl_C_RESTRICT replaced by AC_C_RESTRICT.
61708
61709         Merge from coreutils.
61710         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
61711         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
61712         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
61713         * m4/time_r.m4 (gl_TIME_R): Likewise.
61714
61715 2006-08-09  Karl Berry  <karl@gnu.org>
61716
61717         * config/srclist.txt: no more gettext-tools, per Bruno.
61718
61719 2006-08-08  Eric Blake  <ebb9@byu.net>
61720
61721         * modules/verror: New module.
61722         * MODULES.html.sh: Document it.
61723
61724 2006-08-08  Eric Blake  <ebb9@byu.net>
61725
61726         * lib/verror.h, lib/verror.c: New files.
61727
61728 2006-08-08  Eric Blake  <ebb9@byu.net>
61729
61730         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
61731         verror_at_line output complies with GNU Coding Standards even when
61732         file is NULL.
61733
61734 2006-08-07  Bruno Haible  <bruno@clisp.org>
61735
61736         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
61737         versions of AIX.
61738         Reported by Ralf Wildenhues.
61739
61740 2006-08-07  Bruno Haible  <bruno@clisp.org>
61741
61742         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
61743         in an AC_DEFUN. Needed so that the autoconf snippets can use
61744         AC_REQUIRE.
61745
61746 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61747
61748         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61749         Initialize pkgdata_DATA.
61750         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
61751         overriding it.
61752
61753 2006-08-06  Eric Blake  <ebb9@byu.net>
61754
61755         * lib/error.h: Fold in some upstream changes from glibc.
61756         * lib/error.c: Likewise.
61757
61758 2006-08-04  Bruno Haible  <bruno@clisp.org>
61759
61760         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61761         Make the mostlyclean-local rule depend on mostlyclean-generic.
61762         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
61763
61764 2006-07-31  Bruno Haible  <bruno@clisp.org>
61765
61766         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
61767         <stdlib.h>, <string.h>.
61768
61769 2006-07-30  Bruno Haible  <bruno@clisp.org>
61770
61771         * modules/readlink (License): Change to LGPL.
61772
61773 2006-07-30  Bruno Haible  <bruno@clisp.org>
61774
61775         * modules/javaversion (Makefile.am): Distribute javaversion.java and
61776         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
61777         set PKGDATADIR to point to it.
61778
61779 2006-07-30  Bruno Haible  <bruno@clisp.org>
61780
61781         * modules/csharpexec (configure.ac): Comment out macro invocation.
61782         * modules/javaexec (configure.ac): Likewise.
61783         * modules/javacomp-script (configure.ac): Likewise.
61784
61785         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
61786
61787 2006-07-30  Bruno Haible  <bruno@clisp.org>
61788
61789         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
61790         linked-list.
61791
61792 2006-07-30  Bruno Haible  <bruno@clisp.org>
61793
61794         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
61795
61796 2006-07-30  Bruno Haible  <bruno@clisp.org>
61797
61798         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61799         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
61800         get removed.
61801
61802 2006-07-29  Bruno Haible  <bruno@clisp.org>
61803
61804         Make it possible for gnulib-tool to work with locally modified or
61805         augmented gnulib repositories.
61806         * gnulib-tool (func_usage): Document --local-dir option.
61807         (local_gnulib_dir): New variable.
61808         Handle --local-dir option.
61809         (func_lookup_file): New function.
61810         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
61811         (func_get_description, func_get_filelist, func_get_description,
61812         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
61813         func_get_automake_snippet, func_get_include_directive,
61814         func_get_license, func_get_maintainer): Use func_lookup_file.
61815         (func_import, func_create_testdir): Use func_lookup_file.
61816
61817 2006-07-29  Bruno Haible  <bruno@clisp.org>
61818
61819         * modules/setenv (Depends-on): Add unistd.
61820
61821 2006-07-29  Bruno Haible  <bruno@clisp.org>
61822
61823         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
61824
61825 2006-07-29  Bruno Haible  <bruno@clisp.org>
61826
61827         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
61828
61829 2006-07-29  Bruno Haible  <bruno@clisp.org>
61830
61831         * gnulib-tool (import, update): If there is no Makefile.am, look at
61832         aclocal.m4, instead of bailing out.
61833
61834 2006-07-29  Bruno Haible  <bruno@clisp.org>
61835
61836         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
61837         Categorize the options by when they are useful.
61838
61839 2006-07-29  Bruno Haible  <bruno@clisp.org>
61840
61841         * gnulib-tool (func_usage): Document option --no-libtool.
61842         Handle option --no-libtool.
61843         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
61844         for changed semantics of $libtool variable.
61845         (func_import): Likewise. If libtool is not used, show this through
61846         an option --no-libtool.
61847         (func_create_testdir): Update.
61848
61849 2006-07-29  Bruno Haible  <bruno@clisp.org>
61850
61851         * gnulib-tool (func_import): Extend error message about missing
61852         --doc-base.
61853
61854 2006-07-29  Bruno Haible  <bruno@clisp.org>
61855
61856         * gnulib-tool (func_import): Don't create the $docbase directory if
61857         there is no file to store there.
61858
61859 2006-07-29  Bruno Haible  <bruno@clisp.org>
61860
61861         * gnulib-tool (autoconf_minversion): If a --dir option is given and
61862         relevant, look for configure.ac there, not in the current directory.
61863         Also use a simple search for AC_PREREQ, not "autoconf --trace".
61864
61865 2006-07-29  Bruno Haible  <bruno@clisp.org>
61866
61867         * gnulib-tool (SORT): New variable.
61868         (func_usage): Undocument --assume-autoconf option.
61869         Remove --assume-autoconf option handling.
61870         (autoconf_minversion): Determine from the contents of configure.ac.
61871         (func_import): Remove autoconf_minversion handling.
61872         Suggested by Eric Blake.
61873
61874 2006-07-29  Bruno Haible  <bruno@clisp.org>
61875
61876         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
61877
61878 2006-07-29  Bruno Haible  <bruno@clisp.org>
61879
61880         * config/srclist.txt (*setenv.[ch]): Remove rules.
61881
61882 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61883
61884         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
61885
61886 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61887
61888         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
61889         arpa/inet.h.
61890
61891 2006-07-28  Simon Josefsson  <jas@extundo.com>
61892
61893         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
61894         * modules/inet_pton (Depends-on): Likewise.
61895
61896 2006-07-28  Simon Josefsson  <jas@extundo.com>
61897
61898         * m4/netinet_in_h.m4: New file.
61899
61900 2006-07-28  Simon Josefsson  <jas@extundo.com>
61901
61902         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
61903         #include's.
61904
61905 2006-07-28  Simon Josefsson  <jas@extundo.com>
61906
61907         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
61908         #include's.
61909
61910 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
61911
61912         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
61913         setgid on directories only if they set these bits.
61914         * lib/modechange.h: Remove obsolete comment about masks.
61915
61916 2006-07-28  Eric Blake  <ebb9@byu.net>
61917
61918         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
61919         macro expansion.
61920
61921 2006-07-28  Bruno Haible  <bruno@clisp.org>
61922
61923         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
61924
61925 2006-07-28  Bruno Haible  <bruno@clisp.org>
61926
61927         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
61928
61929 2006-07-28  Bruno Haible  <bruno@clisp.org>
61930
61931         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
61932         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
61933         Define fallbacks.
61934         Avoids link error on FreeBSD 4.x.
61935         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
61936
61937         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
61938         encoding.
61939         * lib/mbswidth.c (iswcntrl): Likewise.
61940
61941 2006-07-27  Bruno Haible  <bruno@clisp.org>
61942
61943         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
61944         test.
61945
61946 2006-07-27  Bruno Haible  <bruno@clisp.org>
61947
61948         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
61949         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
61950         defined.
61951
61952 2006-07-26  Eric Blake  <ebb9@byu.net>
61953
61954         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
61955
61956 2006-07-26  Eric Blake  <ebb9@byu.net>
61957
61958         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
61959         like mingw that lack mkstemp.
61960         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
61961         avoid compilation warning on mingw.
61962
61963 2006-07-26  Bruno Haible  <bruno@clisp.org>
61964
61965         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
61966         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
61967         INT_FAST*_MIN, INTPTR_MIN.
61968
61969 2006-07-25  Bruno Haible  <bruno@clisp.org>
61970
61971         * modules/version-etc (Depends-on): Add stdarg.
61972
61973 2006-07-25  Bruno Haible  <bruno@clisp.org>
61974
61975         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
61976         complex commands.
61977
61978 2006-07-25  Bruno Haible  <bruno@clisp.org>
61979
61980         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
61981         defined in <stdarg.h> or config.h.
61982
61983 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
61984
61985         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
61986         (gl_STDIO_SAFER): Remove.
61987
61988 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
61989
61990         * MODULES.html.sh (File stream based Input/Output):
61991         Add fopen-safer, tmpfile-safer; remove stdio-safer.
61992         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
61993         * modules/fopen-safer, modules/tmpfile-safer: New files.
61994         * modules/stdio-safer: Remove.
61995
61996 2006-07-24  Bruno Haible  <bruno@clisp.org>
61997
61998         * modules/tmpdir: New file.
61999         * MODULES.html.sh (File system functions): Add it.
62000
62001 2006-07-24  Bruno Haible  <bruno@clisp.org>
62002
62003         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
62004         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
62005
62006 2006-07-24  Bruno Haible  <bruno@clisp.org>
62007
62008         * modules/clean-temp: New file.
62009
62010 2006-07-24  Bruno Haible  <bruno@clisp.org>
62011
62012         * m4/tmpdir.m4: New file, from GNU gettext.
62013
62014 2006-07-24  Bruno Haible  <bruno@clisp.org>
62015
62016         * lib/tmpdir.h: New file, from GNU gettext.
62017         * lib/tmpdir.c: New file, from GNU gettext.
62018
62019 2006-07-24  Bruno Haible  <bruno@clisp.org>
62020
62021         * lib/clean-temp.h: New file, from GNU gettext.
62022         * lib/clean-temp.c: New file, from GNU gettext.
62023
62024 2006-07-23  Eric Blake  <ebb9@byu.net>
62025
62026         * modules/stdio-safer (Files): Add tmpfile-safer.c.
62027         (Depends-on): Add binary-io.
62028
62029 2006-07-23  Eric Blake  <ebb9@byu.net>
62030
62031         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
62032
62033 2006-07-23  Eric Blake  <ebb9@byu.net>
62034
62035         * lib/tmpfile-safer.c: New file.
62036         * lib/stdio-safer.h (fopen_safer): Add prototype.
62037         * lib/stdio--.h (tmpfile): Make safer.
62038
62039 2006-07-23  Bruno Haible  <bruno@clisp.org>
62040
62041         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
62042         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
62043         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
62044         gl_linked_remove_at): Use it.
62045
62046 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62047         and Simon Josefsson <jas@extundo.com>
62048
62049         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
62050
62051         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
62052
62053 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62054
62055         * modules/close-stream: New file.
62056         * modules/closeout (Description): Make it clear that it exits
62057         with a diagnostic on error.
62058         (Depends-on): Add close-stream.  Remove fpending, stdbool.
62059         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
62060
62061 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62062
62063         * m4/close-stream.m4: New file.
62064
62065 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62066
62067         * lib/close-stream.c, lib/close-stream.h: New files.
62068
62069 2006-07-22  Bruno Haible  <bruno@clisp.org>
62070
62071         Merge from GNU gettext 0.15.
62072
62073         2006-05-01  Bruno Haible  <bruno@clisp.org>
62074
62075                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
62076
62077         2006-07-22  Bruno Haible  <bruno@clisp.org>
62078
62079                 * modules/javaversion: New file.
62080                 * MODULES.html.sh (Java): Add javaversion.
62081
62082         2006-03-12  Bruno Haible  <bruno@clisp.org>
62083
62084                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
62085
62086         2005-12-04  Bruno Haible  <bruno@clisp.org>
62087
62088                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
62089                 (untested).
62090
62091         2006-06-21  Bruno Haible  <bruno@clisp.org>
62092
62093                 Avoid warnings from recent versions of mcs.
62094                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
62095                 -o, -L, -r any more. Use options documented since mcs-1.0
62096                 instead. Similarly for -g.
62097
62098         2005-12-04  Bruno Haible  <bruno@clisp.org>
62099
62100                 * build-aux/csharpcomp.sh.in: Suffix for resources is
62101                 .resources, not .resource.
62102
62103         2005-07-09  Bruno Haible  <bruno@clisp.org>
62104
62105                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
62106                 add a .dll suffix.
62107                 Reported by Mark Junker <mjscod@gmx.de>.
62108
62109         2006-07-22  Bruno Haible  <bruno@clisp.org>
62110
62111                 * modules/gettext: Upgrade to gettext-0.15.
62112                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
62113                 m4/visibility.m4.
62114                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
62115
62116 2006-07-22  Bruno Haible  <bruno@clisp.org>
62117
62118         Merge from GNU gettext 0.15.
62119
62120         2006-03-25  Bruno Haible  <bruno@clisp.org>
62121
62122                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
62123
62124         2006-07-21  Bruno Haible  <bruno@clisp.org>
62125
62126                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
62127                 "1.1".
62128
62129         2006-05-09  Bruno Haible  <bruno@clisp.org>
62130
62131                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
62132                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
62133                 for the conftestver execution.
62134
62135         2006-05-01  Bruno Haible  <bruno@clisp.org>
62136
62137                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
62138                 optional target-version argument. Verify that the compiler
62139                 groks source of the specified source-version, or add -source
62140                 option as necessary. Verify that the compiler produces
62141                 bytecode in the specified target-version, or add -target and
62142                 -source options as necessary. Make the result of the test
62143                 available as variable CONF_JAVAC. Also log error output in
62144                 config.log.
62145
62146         2006-03-11  Bruno Haible  <bruno@clisp.org>
62147
62148                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
62149
62150         2006-05-09  Bruno Haible  <bruno@clisp.org>
62151
62152                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
62153                 CLASSPATH_SEPARATOR to a semicolon.
62154
62155         2006-03-12  Bruno Haible  <bruno@clisp.org>
62156
62157                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
62158                 available as variable CONF_JAVA, for subsequent autoconf
62159                 tests. Also log error output in config.log.
62160
62161         2006-07-19  Bruno Haible  <bruno@clisp.org>
62162
62163                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
62164                 that getline works on glibc2 systems. Needed to avoid trouble
62165                 in relocatable.c.
62166                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
62167
62168         2005-12-04  Bruno Haible  <bruno@clisp.org>
62169
62170                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
62171                 launcher (untested).
62172
62173         2005-12-04  Bruno Haible  <bruno@clisp.org>
62174
62175                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
62176
62177         2006-07-22  Bruno Haible  <bruno@clisp.org>
62178
62179                 * gettext.m4: Update from GNU gettext-0.15.
62180                 * nls.m4: Likewise.
62181                 * po.m4: Likewise.
62182                 * inttypes-pri.m4: Likewise.
62183                 * inttypes-h.m4: Renamed from inttypes.m4.
62184                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
62185
62186 2006-07-22  Bruno Haible  <bruno@clisp.org>
62187
62188         Merge from GNU gettext 0.15.
62189
62190         2005-07-05  Bruno Haible  <bruno@clisp.org>
62191
62192                 * printf-args.c (printf_fetchargs): Work around broken
62193                 definition of wint_t on mingw.
62194
62195         2005-02-12  Bruno Haible  <bruno@clisp.org>
62196
62197                 * xallocsa.h: Add extern "C" for C++.
62198
62199         2006-05-17  Bruno Haible  <bruno@clisp.org>
62200
62201                 Cygwin portability.
62202                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
62203
62204         2006-04-30  Bruno Haible  <bruno@clisp.org>
62205
62206                 * progreloc.c: Include <mach-o/dyld.h> if available.
62207                 (find_executable): Use _NSGetExecutablePath when possible.
62208
62209         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
62210
62211                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
62212                 function.
62213
62214         2005-12-29  Bruno Haible  <bruno@clisp.org>
62215
62216                 * progreloc.c (set_program_name_and_installdir): Fix
62217                 compilation error.
62218
62219         2005-12-04  Bruno Haible  <bruno@clisp.org>
62220
62221                 Cygwin portability.
62222                 * progreloc.c: Include <windows.h> also on Cygwin.
62223                 (find_executable): Add support for Cygwin.
62224                 (set_program_name_and_installdir): Handle also platforms with
62225                 nonempty EXEEXT.
62226
62227         2006-07-11  Bruno Haible  <bruno@clisp.org>
62228
62229                 * javacomp.c: Fix a comment.
62230                 Reported by Jim Meyering.
62231
62232         2006-04-30  Bruno Haible  <bruno@clisp.org>
62233
62234                 * javacomp.h (compile_java_class): Add source_version,
62235                 target_version arguments.
62236                 * javacomp.c: Rewritten to choose only a compiler that
62237                 respects the specified source_version and target_version.
62238
62239         2006-06-27  Bruno Haible  <bruno@clisp.org>
62240
62241                 Assume correct S_ISDIR macro.
62242                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
62243
62244         2006-07-22  Bruno Haible  <bruno@clisp.org>
62245
62246                 * javaversion.h: New file, from GNU gettext.
62247                 * javaversion.c: New file, from GNU gettext.
62248                 * javaversion.java: New file, from GNU gettext.
62249                 * javaversion.class: New file, from GNU gettext.
62250
62251         2006-05-17  Bruno Haible  <bruno@clisp.org>
62252
62253                 Cygwin portability.
62254                 * javaexec.c (execute_java_class): Test for jview program
62255                 also on Cygwin.
62256
62257         2006-04-09  Bruno Haible  <bruno@clisp.org>
62258
62259                 * fatal-signal.c: Don't include string.h.
62260                 (at_fatal_signal): Use a copying loop instead of memcpy.
62261
62262         2005-12-04  Bruno Haible  <bruno@clisp.org>
62263
62264                 * csharpexec.c: Add support for 'clix' launcher (untested).
62265                 (execute_csharp_using_sscli): New function.
62266                 (execute_csharp_program): Call it.
62267
62268         2006-06-21  Bruno Haible  <bruno@clisp.org>
62269
62270                 Avoid warnings from recent versions of mcs.
62271                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
62272                 -o, -L, -r any more. Use options documented since mcs-1.0
62273                 instead. Similarly for -g.
62274
62275         2005-07-09  Bruno Haible  <bruno@clisp.org>
62276
62277                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
62278                 add a .dll suffix.
62279                 Reported by Mark Junker <mjscod@gmx.de>.
62280
62281         2006-06-17  Bruno Haible  <bruno@clisp.org>
62282
62283                 * config.charset: Update for NetBSD 3.0.
62284
62285         2006-05-17  Bruno Haible  <bruno@clisp.org>
62286
62287                 Cygwin portability.
62288                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
62289
62290         2006-05-16  Bruno Haible  <bruno@clisp.org>
62291
62292                 * localcharset.c [CYGWIN]: Include <windows.h>.
62293                 (get_charset_aliases): For Cygwin, return the same CPxxx
62294                 aliases list as under WIN32.
62295                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
62296                 the environment variables. Fall back to GetACP().
62297
62298         2006-04-05  Bruno Haible  <bruno@clisp.org>
62299
62300                 * config.charset: Update Juan Manuel Guerrero's address.
62301
62302         2005-02-12  Bruno Haible  <bruno@clisp.org>
62303
62304                 * allocsa.h: Add extern "C" for C++.
62305
62306         2005-02-10  Bruno Haible  <bruno@clisp.org>
62307
62308                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
62309                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
62310
62311         2006-07-22  Bruno Haible  <bruno@clisp.org>
62312
62313                 * gettext.h: Update to GNU gettext-0.15.
62314
62315 2006-07-22  Bruno Haible  <bruno@clisp.org>
62316
62317         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
62318         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
62319         lib-prefix.m4, longdouble.m4, ssize_t.m4.
62320
62321 2006-07-21  Eric Blake  <ebb9@byu.net>
62322
62323         * modules/stdlib-safer: New file.
62324         * MODULES.html.sh (File stream based Input/Output): Add
62325         stdlib-safer.
62326
62327 2006-07-21  Eric Blake  <ebb9@byu.net>
62328
62329         * lib/stdlib-safer.h: New file from coreutils, required by
62330         stdlib--.h.
62331
62332 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
62333
62334         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
62335
62336 2006-07-20  Bruno Haible  <bruno@clisp.org>
62337
62338         * gnulib-tool: Recognize new option --assume-autoconf.
62339         (autoconf_minversion): New variable.
62340         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
62341
62342 2006-07-20  Bruno Haible  <bruno@clisp.org>
62343
62344         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
62345
62346 2006-07-19  Derek R. Price  <derek@ximbiot.com>
62347
62348         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
62349         Reindent and repaginate.
62350
62351 2006-07-19  Derek Price  <derek@ximbiot.com>
62352
62353         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
62354         Correct grammar.
62355
62356 2006-07-17  Bruno Haible  <bruno@clisp.org>
62357
62358         * modules/list: New file.
62359         * modules/array-list: New file.
62360         * modules/carray-list, modules/carray-list-tests: New files.
62361         * modules/linked-list, modules/linked-list-tests: New files.
62362         * modules/avltree-list, modules/avltree-list-tests: New files.
62363         * modules/rbtree-list, modules/rbtree-list-tests: New files.
62364         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
62365         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
62366         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
62367         * modules/oset: New file.
62368         * modules/array-oset: New file.
62369         * modules/avltree-oset, modules/avltree-oset-tests: New files.
62370         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
62371         * tests/test-carray_list.c: New file.
62372         * tests/test-linked_list.c: New file.
62373         * tests/test-avltree_list.c: New file.
62374         * tests/test-rbtree_list.c: New file.
62375         * tests/test-linkedhash_list.c: New file.
62376         * tests/test-avltreehash_list.c: New file.
62377         * tests/test-rbtreehash_list.c: New file.
62378         * tests/test-avltree_oset.c: New file.
62379         * tests/test-rbtree_oset.c: New file.
62380         * MODULES.html.sh (Container data structures): New section.
62381
62382 2006-07-17  Bruno Haible  <bruno@clisp.org>
62383
62384         * m4/gl_list.m4: New file.
62385
62386 2006-07-17  Bruno Haible  <bruno@clisp.org>
62387
62388         * lib/gl_list.h: New file.
62389         * lib/gl_list.c: New file.
62390         * lib/gl_array_list.h: New file.
62391         * lib/gl_array_list.c: New file.
62392         * lib/gl_carray_list.h: New file.
62393         * lib/gl_carray_list.c: New file.
62394         * lib/gl_linked_list.h: New file.
62395         * lib/gl_linked_list.c: New file.
62396         * lib/gl_anylinked_list1.h: New file.
62397         * lib/gl_anylinked_list2.h: New file.
62398         * lib/gl_avltree_list.h: New file.
62399         * lib/gl_avltree_list.c: New file.
62400         * lib/gl_anyavltree_list1.h: New file.
62401         * lib/gl_anyavltree_list2.h: New file.
62402         * lib/gl_rbtree_list.h: New file.
62403         * lib/gl_rbtree_list.c: New file.
62404         * lib/gl_anyrbtree_list1.h: New file.
62405         * lib/gl_anyrbtree_list2.h: New file.
62406         * lib/gl_anytree_list1.h: New file.
62407         * lib/gl_anytree_list2.h: New file.
62408         * lib/gl_linkedhash_list.h: New file.
62409         * lib/gl_linkedhash_list.c: New file.
62410         * lib/gl_anyhash_list1.h: New file.
62411         * lib/gl_anyhash_list2.h: New file.
62412         * lib/gl_avltreehash_list.h: New file.
62413         * lib/gl_avltreehash_list.c: New file.
62414         * lib/gl_rbtreehash_list.h: New file.
62415         * lib/gl_rbtreehash_list.c: New file.
62416         * lib/gl_anytreehash_list1.h: New file.
62417         * lib/gl_anytreehash_list2.h: New file.
62418
62419         * lib/gl_oset.h: New file.
62420         * lib/gl_oset.c: New file.
62421         * lib/gl_array_oset.h: New file.
62422         * lib/gl_array_oset.c: New file.
62423         * lib/gl_avltree_oset.h: New file.
62424         * lib/gl_avltree_oset.c: New file.
62425         * lib/gl_rbtree_oset.h: New file.
62426         * lib/gl_rbtree_oset.c: New file.
62427         * lib/gl_anytree_oset.h: New file.
62428
62429 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
62430
62431         * m4/mkancesdirs.m4: New file.
62432         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
62433         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
62434         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
62435         it.
62436
62437 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
62438
62439         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
62440         * lib/mkancesdirs.h: New files.
62441         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
62442         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
62443         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
62444         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
62445         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
62446         callers changed.  Revamp internals significantly, by not
62447         attempting to create directories that are temporarily more
62448         permissive than the final results.  Do not attempt to use
62449         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
62450         This removes some race conditions, fixes some bugs, and simplifies
62451         things.  Use new dirchownmod function to do owner and mode changes.
62452         * lib/mkdir-p.h: Likewise.
62453         * lib/modechange.c (octal_to_mode): New function.
62454         (struct mode_change): New member mentioned.
62455         (make_node_op_equals): New arg mentioned.  All callers changed.
62456         (mode_compile): Keep track of which mode bits the user has explicitly
62457         mentioned.
62458         (mode_adjust): New arg DIR, so that we implement the X op correctly.
62459         New arg PMODE_BITS, to keep track of which mode bits the user
62460         mentioned; it treats S_ISUID and S_ISGID speciall.
62461         All callers changed.
62462         * lib/modechange.h: Likewise.
62463
62464 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
62465
62466         * MODULES.html.sh: Add mkancestors.
62467         * modules/mkancesdirs: New module.
62468         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
62469         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
62470         The chdir-safer and afs files are now orphans; I'll remove them
62471         unless someone speaks up.
62472         Add lib/dirchownmod.c, lib/dirchownmod.h.
62473         (Depends-on): Remove alloca, chown, save-cwd, dirname.
62474         Add lchown, mkancesdirs.
62475         (Maintainer): Add self.
62476
62477 2006-07-15  Karl Berry  <karl@gnu.org>
62478
62479         * gnulib-tool: help message wording/arrangement.
62480
62481 2006-07-14  Simon Josefsson  <jas@extundo.com>
62482
62483         * doc/gnulib.texi (Libtool and Windows): New section.
62484
62485 2006-07-12  Simon Josefsson  <jas@extundo.com>
62486
62487         * modules/gendocs (License): Fix license, approved by Karl.
62488
62489 2006-07-12  Eric Blake  <ebb9@byu.net>
62490
62491         * MODULES.html.sh: Add gendocs.
62492
62493 2006-07-11  Eric Blake  <ebb9@byu.net>
62494
62495         * modules/fdl: New module, to install doc/fdl.texi.
62496         * MODULES.html.sh: Add new section for documentation modules.
62497         * gnulib-tool: Avoid space-tab.
62498         (--doc-base): New option, to manage files from doc.
62499
62500 2006-07-11  Eric Blake  <ebb9@byu.net>
62501
62502         * m4/absolute-header.m4: Fix comments to match recent change.
62503
62504 2006-07-11  Eric Blake  <ebb9@byu.net>
62505
62506         * gnulib-tool: List --doc-base before --tests-base.
62507
62508 2006-07-11  Derek R. Price  <derek@ximbiot.com>
62509
62510         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
62511
62512 2006-07-11  Bruno Haible  <bruno@clisp.org>
62513
62514         * README: Mention where to put documentation.
62515
62516 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62517
62518         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
62519
62520 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
62521
62522         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
62523         to stdint.m4.
62524
62525 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
62526
62527         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
62528         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
62529         "no/such/file/stdint.h" when there is no such file, so that
62530         the resulting C code can be parsed by dodgy compilers.
62531         Problems reported by Bob Proulx.
62532
62533 2006-07-10  Derek R. Price  <derek@ximbiot.com>
62534
62535         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
62536         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
62537         macros into the GNU _D_EXACT_NAMLEN.
62538         * lib/savedir.c:  Likewise.
62539         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
62540
62541 2006-07-10  Derek R. Price  <derek@ximbiot.com>
62542         and Paul Eggert  <eggert@cs.ucla.edu>
62543
62544         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
62545         * m4/savedir.m4:
62546         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
62547         macros into the GNU _D_EXACT_NAMLEN.
62548
62549 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
62550
62551         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
62552         around the absolute name, to work around a problem with the HP-UX
62553         11.23 native C compiler, reported by Bob Proulx.
62554
62555 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
62556
62557         * doc/maintain.texi, make-stds.texi: Sync from
62558         <http://savannah.gnu.org/projects/gnustandards>.
62559
62560 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
62561
62562         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
62563
62564 2006-07-09  Jim Meyering  <jim@meyering.net>
62565
62566         * m4/glob.m4: Remove a doubled word in a comment.
62567
62568 2006-07-09  Jim Meyering  <jim@meyering.net>
62569
62570         * lib/argp-pv.c: Remove a doubled word in a comment.
62571         * lib/check-version.c (check_version): Likewise.
62572         * lib/javacomp.c (compile_java_class): Likewise.
62573
62574 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
62575
62576         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
62577         for the benefit of people using Autoconf 2.60.  If you want to
62578         support older Autoconf versions you can copy m4/onceonly_2_57.m4
62579         (or m4/onceonly.m4, if pre-2.57) manually.
62580
62581 2006-07-08  Jim Meyering  <jim@meyering.net>
62582
62583         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
62584         comment.
62585         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
62586         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
62587         comment.
62588
62589 2006-07-08  Jim Meyering  <jim@meyering.net>
62590
62591         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
62592
62593 2006-07-07  Simon Josefsson  <jas@extundo.com>
62594
62595         * tests/test-crc.c: Change expected crc value, the test vector
62596         were probably computed using the old broken crc.c?
62597
62598 2006-07-06  Simon Josefsson  <jas@extundo.com>
62599
62600         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
62601         now the canonical place for the M4 file).
62602
62603         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
62604         from the sys_socket dependency now.
62605
62606         * modules/inet_pton (Files): Ditto.
62607
62608         * modules/inet_ntop (Files): Ditto.
62609
62610 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62611
62612         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
62613         not gl_PREREQ_GETUSERSHELL.
62614
62615 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62616
62617         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
62618         with only one argument, for Autoconf 2.60.
62619         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
62620         expand to nothing, so add a shell command to avoid syntax error.
62621         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
62622
62623 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62624
62625         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
62626
62627 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
62628
62629         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
62630         no longer needed.  Check for isblank decl.
62631         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
62632         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
62633         of existence.
62634
62635 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
62636
62637         * lib/getloadavg.c: Use __VMS, not VMS.
62638         * lib/getopt.c: Likewise.
62639         * lib/getpagesize.h: Likewise.
62640         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
62641         and probably does not work.
62642
62643 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
62644
62645         * lib/.cppi-disable: Add wcwidth.
62646         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
62647         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
62648         (ISGRAPH): Remove.  All uses changed to isgraph.
62649         (FOLD) [!defined _LIBC]: Remove special case.
62650         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
62651         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
62652         HAVE_ISBLANK.
62653         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
62654         case.
62655
62656 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
62657
62658         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
62659         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
62660         brackets.  Other minor changes to suppress some compiler
62661         warnings.
62662
62663 2006-07-06  Derek R. Price  <derek@ximbiot.com>
62664         and Paul Eggert  <eggert@cs.ucla.edu>
62665
62666         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
62667         of invoking obsolescent AC_HEADER_DIRENT macro.
62668         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
62669         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
62670         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
62671         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
62672         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
62673         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62674         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
62675         * m4/readdir.m4: Remove; no longer needed.
62676
62677 2006-07-06  Derek R. Price  <derek@ximbiot.com>
62678         and Paul Eggert  <eggert@cs.ucla.edu>
62679
62680         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
62681         Don't worry about this obsolete case any more.
62682         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
62683         directories.
62684         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
62685         worry about this obsolete case any more.
62686         * lib/fts.c: Likewise.
62687         * lib/getcwd.c: Likewise.
62688         * lib/glob.h: Likewise.
62689         * lib/savedir.c: Likewise.
62690
62691 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
62692
62693         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
62694         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
62695         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
62696         needed.
62697         All uses removed.
62698         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
62699         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
62700         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
62701         needed.
62702         * m4/getdate.m4 (gl_GETDATE): Likewise.
62703         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
62704         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
62705         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62706         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
62707         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
62708         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62709         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
62710         needed.
62711
62712 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
62713
62714         * lib/memcasecmp.c: Include <limits.h>.
62715         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
62716         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
62717         Don't assume isdigit succeeds only on '0' through '9'.
62718
62719 2006-07-05  Eric Blake  <ebb9@byu.net>
62720
62721         * modules/getaddrinfo (Depends-on): Add snprintf.
62722
62723 2006-07-05  Eric Blake  <ebb9@byu.net>
62724
62725         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
62726         to avoid 'header present but could not be compiled' on cygwin.
62727
62728 2006-07-05  Eric Blake  <ebb9@byu.net>
62729
62730         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
62731         missing from netdb.h.
62732         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
62733
62734 2006-07-05  Derek R. Price  <derek@ximbiot.com>
62735
62736         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
62737         no longer needed.
62738         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
62739         * m4/getdate.m4 (gl_GETDATE): Likewise.
62740         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
62741         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
62742         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62743         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
62744         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62745
62746 2006-07-05  Derek R. Price  <derek@ximbiot.com>
62747
62748         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
62749         All uses of is_space replaced by isspace.
62750         * lib/exit.h: Don't talk about STDC_HEADERS.
62751         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
62752         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
62753         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
62754         replaced by isprint etc.
62755         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
62756         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
62757         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
62758         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
62759         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
62760         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
62761
62762 2006-07-05  Bruno Haible  <bruno@clisp.org>
62763
62764         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
62765         the function exists, before testing against AIX.
62766         Reported by Martin Lambers <marlam@marlam.de>.
62767
62768 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
62769
62770         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
62771         From Mark D. Baushke.
62772
62773 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
62774
62775         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
62776         to the absolute name, not just one, to bypass Sun C 5.8's
62777         "warning: #include of /usr/include/... may be non-portable".
62778
62779 2006-07-04  Eric Blake  <ebb9@byu.net>
62780
62781         * modules/dirname-tests: New test module.
62782         * tests/test-dirname.c: New file, replacing dirname.c
62783         TEST_DIRNAME section that was recently deleted.
62784
62785 2006-07-04  Bruno Haible  <bruno@clisp.org>
62786
62787         Assume ANSI C header files and <ctype.h> functions.
62788         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
62789         (mbsnwidth): Use isprint, iscntrl instead.
62790
62791 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62792
62793         Merge from coreutils.
62794         * MODULES.html.sh: Add xstrtold.
62795         * modules/xstrtold: New file.
62796         * modules/cycle-check (Files): Add lib/same-inode.h.
62797         * modules/dirname (Files): Add m4/double-slash-root.m4.
62798         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
62799         * modules/mkdir-p (Files): Add lib/same-inode.h.
62800         * modules/same (Files): Add lib/same-inode.h.
62801
62802 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62803
62804         * m4/absolute-header.m4: Renamed from full-header-path.m4.
62805         This is to keep the terminology clean; POSIX talks about
62806         "absolute pathnames", not "full pathnames", but the GNU
62807         Coding Standards say to use "path" for something else;
62808         so use "absolute" to keep both sides happy.
62809         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
62810         Set gl_absolute_header, not gl_full_header_path.
62811         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
62812         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
62813         All uses changed.
62814
62815         Merge from coreutils.
62816
62817         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
62818
62819         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
62820         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
62821         want to require the building of c-strtod.o.
62822         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
62823         needs -lm directly.
62824         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
62825
62826         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
62827
62828         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
62829         --as-needed option if available.  Problem reported by Albert Chin in
62830         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
62831         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
62832         cc merely issues a bunch of annoying warnings for --as-needed
62833         (this problem was reported by Bob Proulx).  Also, try linking with
62834         -lm to detect a bug in binutils 2.16 (this problem was reported
62835         by Ralf Wildenhues).
62836
62837         2006-06-18  Jim Meyering  <jim@meyering.net>
62838
62839         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
62840         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
62841         macro.
62842         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
62843         also check for glibc-2.4's abort-inducing bug.
62844
62845         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
62846         Low-probability clean-up should be to use rmdir to get rid of
62847         the just-created directory, not unlink.
62848
62849         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
62850         configure fail, and request a bug report to inform us about it.
62851         Add a comment that, barring reports to the contrary, in 2007 we'll
62852         assume ftruncate is universally available.
62853
62854         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
62855
62856         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
62857
62858         2006-03-12  Jim Meyering  <jim@meyering.net>
62859
62860         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
62861         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
62862         * m4/same.m4 (gl_SAME): Likewise.
62863         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
62864
62865         2006-03-11  Eric Blake  <ebb9@byu.net>
62866
62867         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
62868         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
62869         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
62870         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
62871
62872 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62873
62874         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
62875         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
62876         reported by Mark D. Baushke, one in
62877         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
62878
62879         Merge from coreutils.
62880
62881         * lib/.cppi-disable: Add stdint_.h.
62882         * lib/.cvsignore: Add stdint.h.
62883
62884         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
62885
62886         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
62887         both double and long double versions.
62888         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
62889         * lib/xstrtold.c: New file.
62890         * lib/xstrtod.h (xstrtold): New decl.
62891
62892         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
62893
62894         * lib/filemode.c (setst): Remove.
62895         (strmode): Rewrite to avoid setst.  This makes the code shorter,
62896         (arguably) clearer, and the generated code is a bit smaller on my
62897         Debian GNU/Linux stable x86 host.
62898
62899         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
62900
62901         * lib/filemode.c: Include "filemode.h" first, to test the interface.
62902         Assume that filemode.h includes sys/types.h and sys/stat.h.
62903         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
62904         (ftypelet): Reorder to put common cases first, for efficiency.
62905         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
62906         to do 'M'.
62907         (strmode): Renamed from mode_string, and now stores 12 bytes instead
62908         of 10, for compatibility with FreeBSD.  All callers changed.
62909         (filemodestring): Now stores 12 bytes instead of 10, and sets file
62910         types that can't be deduced solely from st_mode.  First arg is now a
62911         const pointer.
62912         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
62913         (strmode): Renamed from mode_string.
62914         (filemodestring): New decl.
62915         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
62916         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
62917         needed.
62918         (S_ISPORT, S_ISWHT): New macros, if not already defined.
62919
62920         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
62921
62922         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
62923         fsusage.h now does that.  Include fsusage.h first, to test interface.
62924         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
62925         at most one method (the old code could have generated decls that
62926         didn't conform to C89, not that this was ever exercised).
62927         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
62928
62929         2006-03-19  Jim Meyering  <jim@meyering.net>
62930
62931         Work even in a chroot where d_ino values for entries in "/"
62932         don't match the stat.st_ino values for the same names.
62933         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
62934         number, iterate through all entries again, using lstat instead.
62935         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
62936         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
62937
62938         * lib/getcwd.c (__getcwd): Clarify a comment.
62939         Use memcpy in place of a call to strcpy.
62940
62941         2006-03-12  Jim Meyering  <jim@meyering.net>
62942
62943         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
62944         matches that of the current directory (which we're about to chdir ".."
62945         out of), then save the dev-ino of the parent, instead.
62946
62947         * lib/same-inode.h (SAME_INODE): New file/macro.
62948         * lib/chdir-safer.c (SAME_INODE): Remove definition.
62949         Include "same-inode.h", instead.
62950         * lib/same.c: Likewise.
62951         * lib/cycle-check.h: Include "same-inode.h".
62952         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
62953         * lib/cycle-check.c (SAME_INODE): Remove definition.
62954         * lib/root-dev-ino.h: Include "same-inode.h".
62955
62956         2006-03-11  Eric Blake  <ebb9@byu.net>
62957
62958         * lib/same.c (same_name): s/base_name/last_component/
62959         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
62960         * lib/filenamecat.c (file_name_concat): Likewise.
62961
62962         2006-03-11  Eric Blake  <ebb9@byu.net>,
62963                     Paul Eggert  <eggert@cs.ucla.edu>
62964
62965         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
62966         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
62967         drive prefix.
62968         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
62969         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
62970         (last_component): New method.
62971         * lib/dirname.c (dir_len): Determine when drive letters need a
62972         subsequent slash.  Preserve // when it is special.
62973         (dir_name): Don't append dot when drive letter is absolute.
62974         [TEST_DIRNAME]: Move into a full-blown gnulib test.
62975         * lib/basename.c (base_name): New semantics - malloc the result.
62976         Preserve // when it is special.  Preserve relative files that look
62977         like drive letters.
62978         (base_len): Preserve // when it is special.
62979         (last_component): New method, similar to old base_name semantics.
62980         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
62981         base_name.  Strip redundant slashes from ///.
62982
62983 2006-07-03  Jim Meyering  <jim@meyering.net>
62984
62985         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
62986         macro is used before the first cycle_check call.
62987
62988 2006-07-03  Eric Blake  <ebb9@byu.net>
62989
62990         * modules/dirname (Depends-on): Add xstrndup.
62991
62992 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62993
62994         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
62995         test cases, so that config.log is a bit easier to follow.
62996
62997 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62998
62999         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
63000         both are 64 bits, since this seems to be the tradition, and this
63001         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
63002         we ever run into a host that prefers long long to long in this
63003         case, we'll need another configure-time test.  Problem reported by
63004         Jim Meyering.
63005
63006 2006-07-02  Eric Blake  <ebb9@byu.net>
63007
63008         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
63009
63010 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63011
63012         * modules/inttypes (Depends-on): No longer depends on stdint.
63013         * modules/stdint (Description): Say more about assumptions.
63014         Say that the fast types might differ.  Say macros are used.
63015         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
63016         (Makefile.am): Revise list of substituted symbols to match
63017         new stdint.m4.
63018         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
63019         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
63020         * tests/test-stdint.c (verify_same_types)
63021         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
63022         the code conforms to C99/C89.
63023         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
63024         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
63025
63026 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63027
63028         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
63029         but fix a bug, by requiring at least 64 bits.
63030         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
63031         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
63032         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
63033         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
63034
63035         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
63036         changes.  Make 2.59 a prerequisite.  Check and substitute for
63037         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
63038         inttypes.h.  Do not use special include files; just use the
63039         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
63040         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
63041         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
63042         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
63043         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
63044         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
63045         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
63046         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
63047         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
63048         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
63049         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
63050         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
63051         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
63052         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
63053         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
63054         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
63055         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
63056         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
63057         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
63058         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
63059         WINT_MAX.  Check for C99 conformance more strictly, by detecting
63060         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
63061         not check for things that C99 does not require, e.g., int8_t.  If
63062         a test isn't needed unless <stdint.h> isn't working, and is
63063         unlikely to be needed for any other reason, then don't do it
63064         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
63065         size_t, since we assume C89 freestanding at least.  Do not check
63066         for sig_atomic_t, wchar_t, or wint_t, since the code now does
63067         the right thing even if the types are not defined.  Instead use:
63068         (gl_STDINT_TYPE_PROPERTIES): New macro.
63069         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
63070         testing whether <sys/types.h> clashes, as Autoconf does this for
63071         us now.  All uses removed.
63072         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
63073         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
63074         (gl_CHECK_TYPE_SAME):
63075         Remove; no longer needed.
63076         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
63077         exists, since we'll return 0 anyway in that case.
63078         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
63079
63080 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63081
63082         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
63083         possible collision with system files.
63084         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
63085         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
63086         WCHAR_MIN and WCHAR_MAX in this case.
63087         (<stddef.h>): Do not include; no longer needed.
63088         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
63089         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
63090         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
63091         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
63092         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
63093         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
63094         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
63095         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
63096         !defined(__c99))]: Include in this case too, since it's harmless
63097         now.
63098         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
63099         dangerous to do so.
63100         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
63101         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
63102         (_STDINT_MIN, _STDINT_MAX): New macros.
63103         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
63104         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
63105         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
63106         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
63107         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
63108         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
63109         macros, not typedefs; this simplifies things quite a bit.
63110         Use long int for all types narrower than int64_t.
63111         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
63112         Define in terms of long long int or int64_t or long int,
63113         not int64_t or int32_t.  This saves some compile-time testing.
63114         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
63115         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
63116         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
63117         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
63118         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
63119         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
63120         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
63121         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
63122         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
63123         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
63124         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
63125         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
63126         undef any previous version and define our own version, for
63127         simplicity and consistency with the new macros for types.
63128         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
63129         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
63130         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
63131         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
63132         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
63133         @WINT_T_SUFFIX@ to keep things simple here.
63134         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
63135         Simplify by assuming typical 8/16/32/64 host, since we're
63136         already doing that elsewhere anyway.
63137         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
63138         and assume long long int is 64 bits if available.  This
63139         speeds up 'configure'.
63140
63141 2006-07-01  Eric Blake  <ebb9@byu.net>
63142
63143         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
63144         Reported by Andreas Buening.
63145
63146 2006-07-01  Eric Blake  <ebb9@byu.net>
63147
63148         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
63149
63150 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
63151
63152         * lib/getaddrinfo.c: fixed typo
63153
63154 2006-06-29  Jim Meyering  <jim@meyering.net>
63155
63156         * modules/strftime (Maintainer): Add my name, since with the
63157         FPRINTFTIME changes strftime.c has forked from glibc.
63158
63159 2006-06-29  Eric Blake  <ebb9@byu.net>
63160
63161         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
63162
63163 2006-06-29  Eric Blake  <ebb9@byu.net>
63164
63165         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
63166
63167 2006-06-29  Eric Blake  <ebb9@byu.net>
63168
63169         * lib/stat_.h: New file.
63170
63171 2006-06-29  Eric Blake  <ebb9@byu.net>
63172
63173         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
63174         unused static function.
63175
63176 2006-06-29  Eric Blake  <ebb9@byu.net>
63177
63178         * doc/functions.texi (Function Portability): Document missing lstat
63179         on mingw.
63180
63181 2006-06-29  Eric Blake  <ebb9@byu.net>
63182
63183         * MODULES.html.sh: Add sys_stat.
63184         * modules/sys_stat: New module.
63185         * modules/mkstemp (Depends-on): Add sys_stat.
63186
63187 2006-06-29  Derek R. Price  <derek@ximbiot.com>
63188
63189         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
63190
63191 2006-06-29  Derek R. Price  <derek@ximbiot.com>
63192
63193         * m4/c-bs-a.m4: Removed.
63194
63195 2006-06-29  Derek R. Price  <derek@ximbiot.com>
63196
63197         * lib/strftime.c: Assume strftime() exists.
63198
63199 2006-06-29  Derek Price  <derek@ximbiot.com>
63200
63201         * modules/c-bs-a: Removed - \a is C89.
63202         * MODULES.html.sh: Remove c-bs-a.
63203
63204 2006-06-29  Bruno Haible  <bruno@clisp.org>
63205
63206         * modules/wcwidth (License): Change to LGPL.
63207
63208 2006-06-28  Simon Josefsson  <jas@extundo.com>
63209
63210         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
63211         on _WIN32.
63212
63213         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
63214         getnameinfo.
63215
63216 2006-06-28  Simon Josefsson  <jas@extundo.com>
63217
63218         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
63219
63220 2006-06-28  Simon Josefsson  <jas@extundo.com>
63221
63222         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
63223         functions there.  It will succeed on Windows XP, but on Windows
63224         2000 and (presumably) earlier, it will fail, and use the internal
63225         re-implementation.
63226         (use_win32_p): New function.
63227         (getaddrinfo): Use strtoul on servname, to support numeric ports.
63228         Support AI_NUMERICSERV to disable getservbyname.
63229         (getnameinfo): New function, only supports
63230         NI_NUMERICHOST|NI_NUMERICSERV for now.
63231
63232         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
63233         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
63234         getnameinfo.
63235
63236 2006-06-28  Eric Blake  <ebb9@byu.net>
63237
63238         * modules/wcwidth: New file.
63239         * modules/mbchar (Depends-on): Add wcwidth.
63240         * modules/mbswidth (Depends-on): Add wcwidth.
63241         * MODULES.html.sh: Add wcwidth.
63242
63243 2006-06-28  Eric Blake  <ebb9@byu.net>
63244
63245         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
63246         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
63247
63248 2006-06-28  Eric Blake  <ebb9@byu.net>
63249
63250         * lib/xvasprintf.h: Fix comments.
63251
63252 2006-06-28  Eric Blake  <ebb9@byu.net>
63253
63254         * lib/mbchar.h (wcwidth): Include wcwidth.h.
63255         * lib/mbswidth.c (wcwidth): Move from here...
63256         * lib/wcwidth.h: ...to this new file.
63257
63258 2006-06-28  Derek R. Price  <derek@ximbiot.com>
63259
63260         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
63261
63262         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
63263         it's obsolete.
63264         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
63265
63266 2006-06-28  Derek R. Price  <derek@ximbiot.com>
63267
63268         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
63269         Autoconf 2.60 says this stuff was obsolete.
63270
63271 2006-06-28  Bruno Haible  <bruno@clisp.org>
63272
63273         * modules/wcwidth (Files): Add m4/wchar_t.m4.
63274
63275 2006-06-28  Bruno Haible  <bruno@clisp.org>
63276
63277         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
63278         gt_TYPE_WCHAR_T.
63279
63280 2006-06-28  Bruno Haible  <bruno@clisp.org>
63281
63282         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
63283         declaration for wcwidth.
63284         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
63285
63286 2006-06-28  Bruno Haible  <bruno@clisp.org>
63287
63288         * lib/mkdtemp.c [MINGW]: Include <io.h>.
63289         (mkdir): Define using _mkdir.
63290
63291 2006-06-28  Bruno Haible  <bruno@clisp.org>
63292
63293         * lib/getaddrinfo.h: Fix POSIX URL.
63294         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
63295         _WIN32.
63296         (use_win32_p): Make static.
63297         (getaddrinfo): Reject service name if it is empty or does not consist
63298         solely of decimal digits, or if its value is > 65535.
63299         (getnameinfo): Remove useless casts.
63300
63301 2006-06-27  Simon Josefsson  <jas@extundo.com>
63302
63303         * modules/sys_select: New file, suggested by Bruno Haible, Paul
63304         Eggert and Martin Lambers.
63305
63306 2006-06-27  Simon Josefsson  <jas@extundo.com>
63307
63308         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
63309         Eggert and Martin Lambers.
63310
63311 2006-06-27  Bruno Haible  <bruno@clisp.org>
63312
63313         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
63314         result to 0, not to empty.
63315         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
63316
63317 2006-06-27  Bruno Haible  <bruno@clisp.org>
63318
63319         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
63320
63321 2006-06-26  Simon Josefsson  <jas@extundo.com>
63322
63323         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
63324         present.
63325
63326 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
63327
63328         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
63329         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
63330         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
63331
63332 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
63333
63334         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
63335
63336 2006-06-26  Bruno Haible  <bruno@clisp.org>
63337
63338         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
63339
63340 2006-06-26  Bruno Haible  <bruno@clisp.org>
63341
63342         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
63343
63344 2006-06-26  Bruno Haible  <bruno@clisp.org>
63345
63346         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
63347         SGI C compiler in pre-C99 mode.
63348         Suggested by Mark D. Baushke and Larry Jones.
63349
63350 2006-06-26  Bruno Haible  <bruno@clisp.org>
63351
63352         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
63353         WCHAR_MAX.
63354         Reported by Mark D. Baushke and Larry Jones.
63355
63356 2006-06-26  Bruno Haible  <bruno@clisp.org>
63357
63358         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
63359         in pre-C99 mode.
63360         Suggested by Mark D. Baushke and Larry Jones.
63361
63362 2006-06-23  Simon Josefsson  <jas@extundo.com>
63363             Bruno Haible  <bruno@clisp.org>
63364
63365         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
63366         Emit mostlyclean-local rule.
63367         (func_emit_tests_Makefile_am): Likewise.
63368         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
63369
63370 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
63371
63372         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
63373
63374 2006-06-23  Bruno Haible  <bruno@clisp.org>
63375
63376         * tests/test-stdint.c: Update to match ISO C 99 Technical
63377         Corrigendum 1.
63378
63379 2006-06-23  Bruno Haible  <bruno@clisp.org>
63380
63381         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
63382
63383 2006-06-23  Bruno Haible  <bruno@clisp.org>
63384
63385         * lib/stdint_.h: Treat IRIX like OpenBSD.
63386
63387 2006-06-23  Bruno Haible  <bruno@clisp.org>
63388
63389         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
63390         ISO C 99 Technical Corrigendum 1.
63391
63392 2006-06-22  Simon Josefsson  <jas@extundo.com>
63393
63394         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
63395         MinGW.
63396
63397 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63398
63399         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
63400         needed.  Some compiler complained about some of them.  Problem reported
63401         by Larry Jones in
63402         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
63403
63404 2006-06-21  Simon Josefsson  <jas@extundo.com>
63405
63406         * tests/test-getaddrinfo.c: New file.
63407
63408         * modules/getaddrinfo-tests: New file.
63409
63410         * MODULES.html.sh: Add inet_pton.
63411
63412         * modules/inet_pton: New file.
63413
63414 2006-06-21  Simon Josefsson  <jas@extundo.com>
63415
63416         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
63417         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
63418         of using the (limited) gnulib implementation on Windows XP.
63419
63420         * m4/inet_pton.m4: New file.
63421
63422 2006-06-21  Simon Josefsson  <jas@extundo.com>
63423
63424         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
63425         variable.
63426
63427         * lib/socket_.h: Don't define WINVER.
63428
63429         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
63430         slightly modified to work in gnulib.
63431
63432 2006-06-21  Simon Josefsson  <jas@extundo.com>
63433
63434         * doc/gnulib.texi (Windows sockets): Add.
63435
63436 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
63437
63438         * lib/read-file.c (fread_file): Start with buffer allocation of
63439         0 bytes rather than 1 byte; this simplifies the code.
63440         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
63441         code to free buffer and save/restore errno.
63442         (internal_read_file): Remove unused local.
63443
63444 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
63445
63446         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
63447         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
63448         Problem reported by Denis Excoffier in
63449         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
63450
63451 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63452
63453         * modules/sys_socket, modules/socklen: Include sys/types since
63454         FreeBSD 4.x's sys/socket.h needs it.
63455
63456 2006-06-19  Simon Josefsson  <jas@extundo.com>
63457
63458         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
63459
63460 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
63461
63462         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
63463
63464 2006-06-19  Bruno Haible  <bruno@clisp.org>
63465
63466         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
63467         and FULL_PATH_INTTYPES_H in angle brackets.
63468         Reported by Mark D. Baushke <mdb@gnu.org>.
63469
63470 2006-06-17  Eric Blake  <ebb9@byu.net>
63471
63472         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
63473         errno.
63474
63475 2006-06-17  Bruno Haible  <bruno@clisp.org>
63476
63477         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
63478         <sys/inttypes.h>.
63479
63480 2006-06-17  Bruno Haible  <bruno@clisp.org>
63481
63482         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
63483         whether errno is declared. Assume <errno.h> declares errno.
63484
63485 2006-06-17  Bruno Haible  <bruno@clisp.org>
63486
63487         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
63488
63489 2006-06-17  Bruno Haible  <bruno@clisp.org>
63490
63491         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
63492         problem on Solaris 2.5.1.
63493
63494 2006-06-16  Eric Blake  <ebb9@byu.net>
63495
63496         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
63497         * lib/unicodeio.c [!defined errno]: Likewise.
63498         * lib/strtol.c [!defined errno]: Likewise.
63499         * lib/strtod.c [!defined errno]: Likewise.
63500
63501 2006-06-15  Eric Blake  <ebb9@byu.net>
63502
63503         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
63504
63505 2006-06-15  Eric Blake  <ebb9@byu.net>
63506
63507         * config/srclist.txt (ssize_t.m4): Lose sync.
63508
63509 2006-06-15  Bruno Haible  <bruno@clisp.org>
63510
63511         * modules/stdint (Files): Include m4/full-header-path.m4,
63512         m4/size_max.m4, m4/wchar_t.m4.
63513         (Makefile.am): Many more substitutions.
63514         * modules/stdint-tests: New file.
63515         * tests/test-stdint.c: New file.
63516
63517 2006-06-15  Bruno Haible  <bruno@clisp.org>
63518
63519         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
63520         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
63521         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
63522         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
63523         gl_CHECK_TYPE_SAME): New macros.
63524
63525 2006-06-15  Bruno Haible  <bruno@clisp.org>
63526
63527         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
63528
63529 2006-06-15  Bruno Haible  <bruno@clisp.org>
63530
63531         * lib/stdint_.h: Rewritten to be fully auto-configured.
63532         Fixes bug on HP-UX/IA64.
63533
63534 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
63535
63536         * lib/getdate.y (__attribute__): Don't define if already defined.
63537         Problem reported by Larry Jones.
63538         * lib/utimens.c (__attribute__): Likewise.
63539
63540 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
63541
63542         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
63543         reported by Andreas Schwab.
63544
63545 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63546             Bruno Haible  <bruno@clisp.org>
63547
63548         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
63549         check for the declaration of strnlen and a run test that exposes the
63550         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
63551         rpl_strndup.
63552
63553 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63554             Bruno Haible  <bruno@clisp.org>
63555
63556         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
63557
63558 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63559
63560         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
63561         compile test, for Tru64 4.0D.
63562
63563 2006-05-28  Karl Berry  <karl@gnu.org>
63564
63565         * config/srclist.txt (printf-args.c): lose sync.
63566
63567 2006-05-26  Martin Lambers  <marlam@marlam.de>
63568
63569         * lib/getpass.c: Updates the test for the native W32 API, and adds
63570         missing includes, thus fixing compilation warnings.
63571
63572 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
63573
63574         * lib/exclude.c (exclude_fnmatch): New function.
63575         (excluded_file_name): Call exclude_fnmatch.
63576         * lib/exclude.h (excluded_file_name): New prototype
63577
63578 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
63579
63580         * lib/tempname.c (small_open, large_open): New macros.
63581         (__open, __open64) [!_LIBC]: Remove.
63582         (__gen_tempname): Use small_open and large_open instead of __open
63583         and __open64.  This fixes a portability bug on HP-UX 11.11i
63584         reported by Simon Wing-Tang in
63585         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
63586
63587 2006-05-24  Bruno Haible  <bruno@clisp.org>
63588
63589         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
63590         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
63591         Reported by Thorsten Maerz <torte@netztorte.de> via
63592         Aaron Stone <aaron@serendipity.cx>.
63593
63594 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
63595
63596         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
63597         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
63598         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
63599         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
63600         not really conditional on the cache.
63601         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
63602
63603 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
63604
63605         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
63606         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
63607         (my_usleep): Don't mishandle maximum value.
63608
63609 2006-05-19  Jim Meyering  <jim@meyering.net>
63610
63611         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
63612
63613 2006-05-17  Bruno Haible  <bruno@clisp.org>
63614
63615         Cygwin portability.
63616         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
63617
63618 2006-05-17  Bruno Haible  <bruno@clisp.org>
63619
63620         * lib/stdint_.h: Fix recognition of Cygwin.
63621
63622 2006-05-15  Bruno Haible  <bruno@clisp.org>
63623
63624         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
63625         on libtool patch by Ralf Wildenhues.
63626
63627 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
63628
63629         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
63630         test for C99 conformance; (bool) 0.5 is an integer constant
63631         expression, but (bool) -0.5 is not.  Problem reported by Fedor
63632         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
63633
63634 2006-05-11  Simon Josefsson  <jas@extundo.com>
63635
63636         * m4/xvasprintf.m4: Fix obvious typo.
63637
63638 2006-05-11  Jim Meyering  <jim@meyering.net>
63639
63640         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
63641         James Lemley.
63642
63643 2006-05-10  Simon Josefsson  <jas@extundo.com>
63644
63645         * lib/md4.c: Typo fix, update copyright years.
63646         (K1, K2): Don't use L because it turn computations into 64-bit on
63647         64-bit platforms.
63648
63649 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
63650
63651         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
63652         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
63653         unwanted sign propagation, e.g., on hosts with 64-bit int.
63654         There still are some problems with reeelly weird theoretical hosts
63655         (e.g., 33-bit int) but it's not worth worrying about now.
63656         * lib/sha1.c (rol): Likewise.
63657         (K1, K2, K3, K4): Remove unnecessary L suffix.
63658
63659 2006-05-10  Bruno Haible  <bruno@clisp.org>
63660
63661         * lib/des.c: Cast to avoid warnings.
63662
63663 2006-05-09  Bruno Haible  <bruno@clisp.org>
63664
63665         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
63666         (Depends-on): Depend also on xsize, stdarg.
63667         (configure.ac): Add gl_XVASPRINTF.
63668
63669 2006-05-09  Bruno Haible  <bruno@clisp.org>
63670
63671         * m4/xvasprintf.m4: New file.
63672
63673 2006-05-09  Bruno Haible  <bruno@clisp.org>
63674
63675         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
63676         (EOVERFLOW): Define fallback value.
63677         (xstrcat): New function.
63678         (xvasprintf): Recognize the special case of a string concatenation.
63679
63680 2006-05-08  Eric Blake  <ebb9@byu.net>
63681
63682         * gnulib-tool (func_version): Base copyright year on CVS date.
63683         (func_emit_copyright_notice): New function.
63684         (func_emit_lib_Makefile_am): Use it.
63685         (func_emit_tests_Makefile_am): Likewise.
63686         (func_import): Likewise.
63687
63688 2006-05-08  Bruno Haible  <bruno@clisp.org>
63689
63690         * modules/stdarg: New file.
63691         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
63692
63693 2006-05-08  Bruno Haible  <bruno@clisp.org>
63694
63695         * m4/stdarg.m4: New file, from GNU gettext.
63696
63697 2006-05-08  Bruno Haible  <bruno@clisp.org>
63698
63699         * config/srclist.txt (build-aux/config.rpath): different from latest
63700         release.
63701
63702 2006-05-08  Bruno Haible  <bruno@clisp.org>
63703
63704         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
63705
63706 2006-05-05  Jim Meyering  <jim@meyering.net>
63707
63708         * m4/warning.m4: New file, derived from bison's file by the same name.
63709
63710 2006-05-03  Bruno Haible  <bruno@clisp.org>
63711
63712         * lib/stdint_.h: Shorter URL.
63713         * lib/inttypes.h: Likewise.
63714
63715 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63716
63717         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
63718
63719 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63720
63721         * lib/verify.h: Document the internals better.  Most of this change
63722         was written by Bruno Haible.
63723
63724 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63725
63726         * doc/verify.texi: New file, partly based on a proposal by
63727         Bruno Haible.
63728
63729 2006-05-02  Bruno Haible  <bruno@clisp.org>
63730
63731         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
63732         test from here...
63733         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
63734
63735 2006-04-29  Bruno Haible  <bruno@clisp.org>
63736
63737         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
63738         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
63739
63740 2006-04-29  Bruno Haible  <bruno@clisp.org>
63741
63742         * gnulib-tool: Make --update option actually work.
63743
63744 2006-04-29  Bruno Haible  <bruno@clisp.org>
63745
63746         * doc/gcd.texi: New file.
63747         * doc/gnulib.texi: Include it.
63748
63749 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
63750
63751         * lib/getdate.y (get_date): When adding relative date, start with the
63752         initial time, not with the result of the first mktime call.
63753
63754 2006-04-25  Bruno Haible  <bruno@clisp.org>
63755
63756         * gnulib-tool (func_import): Output the include directives in three
63757         blocks, sorted separately.
63758         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63759
63760 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
63761
63762         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
63763         to define main with arguments, for C++.  Reported by Eric Blake.
63764         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
63765         Prefer 'int main ()' to 'int main (void)', for C++.
63766         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
63767         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
63768         for 'main', for C99 and C++.
63769
63770 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
63771
63772         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
63773         Don't assume that exit status -1 is valid.
63774         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63775         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
63776         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
63777         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
63778         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
63779         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
63780         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
63781         functions can be used without declaring them, or that you can
63782         exit with status -1.
63783         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
63784
63785 2006-04-24  Karl Berry  <karl@gnu.org>
63786
63787         * config/srclist.txt (longdouble.m4): sync lost.
63788
63789 2006-04-24  Eric Blake  <ebb9@byu.net>
63790
63791         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
63792
63793 2006-04-24  Bruno Haible  <bruno@clisp.org>
63794
63795         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
63796         poll() implementation in AIX.
63797         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63798
63799 2006-04-24  Bruno Haible  <bruno@clisp.org>
63800
63801         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
63802         assigned exactly once.
63803
63804 2006-04-23  Claudio Fontana  <claudio@gnu.org>
63805             Bruno Haible  <bruno@clisp.org>
63806
63807         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
63808         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
63809         for AM_CPPFLAGS.
63810
63811 2006-04-23  Bruno Haible  <bruno@clisp.org>
63812
63813         * modules/copy-file: Depend on unistd.
63814         * modules/execute: Likewise.
63815         * modules/fatal-signal: Likewise.
63816         * modules/findprog: Likewise.
63817         * modules/mkdtemp : Likewise.
63818         * modules/pipe: Likewise.
63819         * modules/wait-process: Likewise.
63820
63821 2006-04-23  Bruno Haible  <bruno@clisp.org>
63822
63823         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
63824         condition was already detected.
63825         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63826
63827 2006-04-23  Bruno Haible  <bruno@clisp.org>
63828
63829         * lib/copy-file.c: Include <unistd.h> unconditionally.
63830         * lib/execute.c: Likewise.
63831         * lib/fatal-signal.c: Likewise.
63832         * lib/findprog.c: Likewise.
63833         * lib/mkdtemp.c: Likewise.
63834         * lib/pipe.h: Likewise.
63835         * lib/pipe.c: Likewise.
63836         * lib/wait-process.h: Likewise.
63837
63838 2006-04-23  Bruno Haible  <bruno@clisp.org>
63839
63840         * gnulib-tool (func_usage): Fix --import description. Document
63841         --update.
63842         (func_import): Create temporary file in a temporary directory, if
63843         --dry-run is specified. Silence errors from 'grep' when there are no
63844         m4 files in $m4dir.
63845         (func_create_testdir): Silence errors from 'grep' when there are no
63846         m4 files in $m4dir.
63847         Reported by Karl Berry <karl@freefriends.org>.
63848
63849 2006-04-20  Bruno Haible  <bruno@clisp.org>
63850
63851         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
63852         one argument, so that the code will be portable to Autoconf 2.60.
63853         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
63854         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
63855         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
63856
63857 2006-04-19  Derek Price  <derek@ximbiot.com>
63858             Eric Blake  <ebb9@byu.net>
63859
63860         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
63861         rather than "/full/path.h".  Update comment to match.  Shorten &
63862         generalize m4_translit call via AS_TR_CPP.
63863
63864 2006-04-19  Derek Price  <derek@ximbiot.com>
63865             Eric Blake  <ebb9@byu.net>
63866
63867         * lib/inttypes.h: Correct grammar in comment.
63868
63869 2006-04-18  Derek Price  <derek@ximbiot.com>
63870             Paul Eggert  <eggert@cs.ucla.edu>
63871
63872         * modules/inttypes: New file.
63873         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
63874
63875 2006-04-18  Derek Price  <derek@ximbiot.com>
63876             Paul Eggert  <eggert@cs.ucla.edu>
63877
63878         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
63879         New files.
63880
63881 2006-04-18  Derek Price  <derek@ximbiot.com>
63882             Paul Eggert  <eggert@cs.ucla.edu>
63883
63884         * lib/inttypes.h: New file.
63885         * lib/strtoimax.c: Assume <inttypes.h>.
63886
63887 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
63888
63889         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
63890         isn't mounted.  Problem reported by Kir Kolyshkin.
63891
63892 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63893
63894         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
63895         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
63896         Derek R. Price.
63897         * lib/regex.h (RE_DUP_MAX): Update comment to match current
63898         implementation.
63899
63900 2006-04-12  Eric Blake  <ebb9@byu.net>
63901
63902         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
63903         is now done automatically by the corresponding Autoconf macro.
63904
63905 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
63906
63907         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
63908         time_r.h.
63909
63910 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63911
63912         Merge regex changes from libc, removing some of our
63913         POSIX-conformance changes that were rejected and redoing them in a
63914         less-intrusive way.
63915
63916         * lib/regcomp.c (re_compile_internal, init_dfa):
63917         Length arg is now size_t, not Idx.  All uses changed.
63918         (peek_token): Forward decl now says internal_function.
63919         (__re_error_msgid, __re_error_msgid_idx):
63920         Now static rather than extern with attribute_hidden.
63921         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
63922         For some reason libc prefers K&R style defns for external functions.
63923         (regerror) [!defined _LIBC]: Likewise.
63924         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
63925         (seek_collating_symbol_entry, lookup_collation_sequence_value):
63926         (build_range_exp, build_collating_symbol):
63927         Use K&R-style defn.
63928         (re_compile_fastmap): Use '\0' to memset, not 0.
63929         (utf8_sb_map): Make the calculations more obvious.
63930         (init_dfa, parse_bracket_exp, build_charclass_op):
63931         Call calloc and cast result, as glibc does.
63932         (init_word_char, fetch_token, peek_token, peek_token_bracket):
63933         (build_range_exp, build_collating_symbol):
63934         Now internal functions.
63935
63936         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
63937
63938         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
63939         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
63940         Don't depend on VMS; depend on __VMS instead, for POSIX
63941         namespace cleanness.
63942         (regoff_t): Define to ssize_t, not long int.
63943
63944         Remove the REG_ macros named below.  Instead, make the old names
63945         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
63946         __USE_GNU_REGEX.
63947         (REG_BACKSLASH_ESCAPE_IN_LISTS):
63948         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
63949         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
63950         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
63951         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
63952         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
63953         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
63954         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
63955         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
63956         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
63957         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
63958         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
63959         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
63960         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
63961         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
63962         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
63963         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
63964         (REG_NREGS):
63965         Remove.  All uses replaced by the old RE_* names.
63966         (RE_BACKSLASH_ESCAPE_IN_LISTS):
63967         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
63968         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
63969         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
63970         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
63971         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
63972         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
63973         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
63974         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
63975         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
63976         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
63977         Don't bother having these macros be independent of each others'
63978         values, since they no longer exist in the POSIX name space.
63979
63980         Rename the following member names back to their old names,
63981         unless !__USE_GNU_REGEX.  All uses changed back.
63982         (buffer): Renamed from re_buffer.
63983         (allocated): Renamed from re_allocated.
63984         (used): Renamed from re_used.
63985         (syntax): Renamed from re_syntax.
63986         (fastmap): Renamed from re_fastmap.
63987         (translate): Renamed from re_translate.
63988         (can_be_null): Renamed from re_can_be_null.
63989         (regs_allocated): Renamed from re_regs_allocated.
63990         (fastmap_accurate): Renamed from re_fastmap_accurate.
63991         (no_sub): Renamed from re_no_sub.
63992         (not_bol): Renamed from re_not_bol.
63993         (not_eol): Renamed from re_not_eol.
63994         (newline_anchor): Renamed from re_newline_anchor.
63995         (num_regs): Renamed from rm_num_regs.
63996         (start): Renamed from rm_start.
63997         (end): Renamed from rm_end.
63998
63999         (free_state): Move up a bit.
64000
64001         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
64002         #define to be empty.
64003         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
64004         when that is what is intended.
64005         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
64006         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
64007         (MAX): New macro.
64008         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
64009         All uses changed back to re_malloc, etc.  It's now the caller's
64010         responsibility to check for overflow; all callers changed.
64011         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
64012         (re_x2nrealloc): Remove.
64013         (free_state): Remove decl.
64014
64015         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
64016         (re_set_registers, re_exec):
64017         Use K&R-style defn.
64018
64019         2006-01-31  Roland McGrath  <roland@redhat.com>
64020
64021         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
64022         Reported by Mike Frysinger <vapier@gentoo.org>.
64023
64024         2006-01-15  Andreas Jaeger  <aj@suse.de>
64025
64026         [BZ #1950]
64027         * lib/regex_internal.c (re_string_reconstruct): Adjust for
64028         build_wcs_upper_buffer change.
64029         (build_wcs_upper_buffer): Change return type.
64030
64031         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
64032
64033         * lib/regex_internal.h: Include <stdint.h> if available.
64034
64035         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
64036
64037         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
64038
64039         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
64040
64041         * lib/regcomp.c: Adjust for changed secondary hash function.
64042
64043         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
64044
64045         * lib/regex.h: Pretty printing.
64046         Clean up namespace a bit.
64047
64048         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
64049
64050         * lib/regexec.c (update_cur_sifted_state, check_arrival,
64051         check_arrival_add_next_nodes): Avoid using uninitialized variable.
64052
64053         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64054                     Ulrich Drepper  <drepper@redhat.com>
64055
64056         [BZ #1302]
64057         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
64058         changed.
64059         (bitset_word_t): Renamed from bitset_word.  All uses changed.
64060
64061         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
64062
64063         [BZ #281]
64064         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
64065         * lib/regcomp.c: Remove unnecessary uses of
64066         unsigned RE_TRANSLATE_TYPE.
64067         * lib/regex_internal.h: Likewise.
64068         * lib/regex_internal.c: Likewise.
64069         * lib/regexec.c: Likewise.
64070         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
64071
64072         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
64073
64074         * lib/regexec.c (find_recover_state): Remove unnecessary
64075         initialization.
64076         (transit_state_bkref): Make DFA a const pointer.
64077         (get_subexp): Likewise.
64078         (check_arrival): Likewise.
64079         (update_cur_sifted_state): Likewise.
64080         (re_search_internal): Likewise.
64081         (prune_impossible_nodes): Likewise.
64082         (acquire_init_state_context): Likewise.
64083         (proceed_next_node): Likewise.
64084         (set_regs): Likewise.
64085         (free_fail_stack_return): Likewise.
64086         (check_arrival_expand_ecl): Mark DFA parameter as const.
64087         (check_arrival_expand_ecl_sub): Likewise.
64088         (check_subexp_limits): Likewise.
64089         (sub_epsilon_src_nodes):  Likewise.
64090         (add_epsilon_src_nodes):  Likewise.
64091         (merge_state_array): Likewise.
64092         (update_regs): Likewise.
64093         (build_trtable): Likewise.
64094         (sift_states_backward): Mark MCTX parameter as const.
64095         (build_sifted_states): Likewise.
64096         (update_cur_sifted_state): Likewise.
64097         (sift_states_mkref): Likewise.
64098         (check_arrival_expand_ecl): Mark eclosure as const.
64099         (check_dst_limits_calc_pos_1): Likewise.
64100         * lib/regex_internal.h (re_match_context_t): Make dfa a const
64101         pointer.
64102
64103         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
64104
64105         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
64106         (transit_state_sb): Likewise.
64107         (transit_state_mb): Likewise.
64108         (sift_states_iter_mb): Likewise.
64109         (check_arrival_add_next_nodes): Likewise.
64110         (check_node_accept_bytes): Change first parameter to pointer-to-const.
64111         [_LIBC] (re_search_2_stub): Use mempcpy.
64112
64113         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
64114         mbrtowc for very simple UTF-8 case.
64115
64116         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
64117         a pointer-to-const.
64118         (re_acquire_state_context): Likewise.
64119         * lib/regex_internal.h: Adjust prototypes.
64120
64121         * lib/regex.c: Prevent using C++ compilers.
64122
64123         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
64124         (re_acquire_state_context): Likewise.
64125
64126 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64127
64128         * modules/regex (Depends-on): Add ssize_t.
64129
64130 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64131
64132         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
64133         translation table.
64134
64135 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64136
64137         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
64138
64139 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
64140             Bruno Haible  <bruno@clisp.org>
64141
64142         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
64143         <sys/types.h> and <inttypes.h>.
64144
64145 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64146
64147         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
64148         `__error_t_defined', so argp.h will not typedef the former.
64149
64150 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
64151
64152         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
64153         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
64154         glibc names.  Even if glibc is changed to conform to POSIX, the
64155         traditional names will be available anyway, since regex depends on
64156         the extensions module.  Also, fix a longstanding typo in the
64157         implementation of Spencer ERE test #75 from grep 2.3.  Problems
64158         reported by Emanuele Giaquinta.  Also, change sense of cached
64159         variable, so that the message makes sense.
64160
64161 2006-03-24  Simon Josefsson  <jas@extundo.com>
64162
64163         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
64164         including some doc fixes.
64165         (base64_encode_alloc): Fix +1 bug on allocation failures.
64166
64167 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64168
64169         * lib/base64.c (base64_encode): Do not read past end of array with
64170         unsanitized input on systems with CHAR_BIT > 8.
64171
64172 2006-03-24  Eric Blake  <ebb9@byu.net>
64173
64174         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
64175
64176 2006-03-22  Karl Berry  <karl@gnu.org>
64177
64178         * config/srclist.txt (*setenv.[ch]): get from coreutils.
64179         * config/srclistvars.sh (COREUTILS): new var.
64180
64181 2006-03-17  Jim Meyering  <jim@meyering.net>
64182
64183         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
64184         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
64185
64186 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
64187
64188         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
64189         no longer needs it.  Instead, check that regoff_t is as least
64190         as wide as ptrdiff_t.
64191
64192         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
64193         so that our regex.h stays compatible with the installed regex.
64194         This is helpful for installers who configure --without-included-regex.
64195         Problem reported by Emanuele Giaquinta.
64196
64197 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
64198
64199         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
64200         Typedef to long int, not to off_, as POSIX will likely change
64201         in that direction.
64202
64203 2006-03-15  Eric Blake  <ebb9@byu.net>
64204
64205         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
64206
64207 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
64208
64209         * lib/argp-help.c (validate_uparams): Fix typo
64210         * lib/argp-parse.c (argp_default_options): Consistently begin help
64211         messages with a lowercase letter.
64212
64213 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
64214
64215         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
64216         overrun buffers and shouldn't be used (much as gets shouldn't be
64217         used).
64218         * lib/time_r.c (asctime_r, ctime_r): Likewise.
64219
64220 2006-03-08  Simon Josefsson  <jas@extundo.com>
64221
64222         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
64223         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64224
64225 2006-03-08  Simon Josefsson  <jas@extundo.com>
64226
64227         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
64228         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64229
64230 2006-03-08  Simon Josefsson  <jas@extundo.com>
64231
64232         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
64233         signal that configure disabled the device.
64234
64235 2006-03-08  Simon Josefsson  <jas@extundo.com>
64236
64237         * build-aux/maint.mk: Fix refresh-po, to handle no translated
64238         languages.
64239
64240 2006-03-07  Simon Josefsson  <jas@extundo.com>
64241
64242         * modules/getopt (Depends-on): Add unistd.
64243
64244         * modules/unistd: New file.
64245
64246 2006-03-07  Simon Josefsson  <jas@extundo.com>
64247
64248         * modules/gc-random: New file.
64249
64250 2006-03-07  Simon Josefsson  <jas@extundo.com>
64251
64252         * m4/unistd_h.m4: New file.
64253
64254 2006-03-07  Simon Josefsson  <jas@extundo.com>
64255
64256         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
64257         test to be side-effect free by storing the result in the cache
64258         variable gl_cv_lib_readline, and moving the assignment of
64259         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
64260         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64261
64262 2006-03-07  Simon Josefsson  <jas@extundo.com>
64263
64264         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
64265         error on missing devices (the functions will return an error).
64266
64267         * m4/gc.m4: Move random stuff to gc-random.m4
64268
64269 2006-03-07  Simon Josefsson  <jas@extundo.com>
64270
64271         * lib/unistd_.h: New file.
64272
64273 2006-03-07  Simon Josefsson  <jas@extundo.com>
64274
64275         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
64276
64277 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
64278
64279         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
64280         Problem reported by Juan Manuel Guerrero.
64281
64282 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
64283
64284         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
64285         the unistd module.
64286         * lib/getlogin_r.c: Likewise.
64287         * lib/getlogin_r.h: Likewise.
64288         * lib/glob.c: Likewise.
64289         * lib/pagealign_alloc.c: Likewise.
64290         * lib/unistd_.h: Remove; no longer needed.
64291
64292 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
64293
64294         * MODULES.html.sh (Support for systems lacking POSIX:2001):
64295         Add unistd.
64296         * modules/c-stack (Depends-on): Add unistd.
64297         * modules/getlogin_r: Likewise.
64298         * modules/glob: Likewise.
64299         * modules/pagealign_alloc: Likewise.
64300         * modules/unistd (Files): Remove lib/unistd_.h.
64301         (EXTRA_DIST): Remove.
64302         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
64303         need unistd_.h.
64304         (MOSTLYCLEANFILES): Remove unistd.h-t.
64305
64306 2006-03-03  Simon Josefsson  <jas@extundo.com>
64307
64308         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
64309
64310 2006-03-03  Simon Josefsson  <jas@extundo.com>
64311
64312         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
64313         libidn and bison.
64314
64315 2006-03-03  Simon Josefsson  <jas@extundo.com>
64316
64317         * build-aux/maint.mk: Add indent target.
64318
64319 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
64320
64321         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
64322         our replacement poll.h in any case, to avoid a differing
64323         declaration from a system header.  Seen on AIX.
64324
64325 2006-03-01  Simon Josefsson  <jas@extundo.com>
64326
64327         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
64328         <kasal@ucw.cz>.
64329
64330 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64331
64332         * modules/gettime (Depends-on): Add extensions module.
64333         * modules/nanosleep (Depends-on): Likewise.
64334         * modules/settime (Depends-on): Likewise.
64335
64336 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64337
64338         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
64339         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
64340         pedantically.
64341         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64342         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
64343
64344         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
64345         not "==".  Reported by Ralf Wildenhues.
64346
64347 2006-03-01  Karl Berry  <karl@gnu.org>
64348
64349         * doc/Copyright/request-*: new files, synced from gnuorg.
64350
64351 2006-03-01  Karl Berry  <karl@gnu.org>
64352
64353         * config/srclist.txt (Copyright/*): new entries.
64354
64355 2006-02-28  Simon Josefsson  <jas@extundo.com>
64356
64357         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
64358
64359 2006-02-27  Simon Josefsson  <jas@extundo.com>
64360
64361         * lib/base64.h: Indent #define's.  From Jim Meyering
64362         <jim@meyering.net>.
64363
64364 2006-02-27  Jim Meyering  <jim@meyering.net>
64365
64366         Revert the change of 2006-02-24, so these files can continue
64367         to be sync'd from gettext.
64368         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
64369         of `config.h'.
64370
64371 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
64372
64373         * modules/intprops: New file.
64374         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
64375         Add intprops.
64376         * modules/getloadavg (Files): Remove lib/intprops.h.
64377         (Depends-on): Add intprops.
64378         * modules/human: Likewise.
64379         * modules/inttostr: Likewise.
64380         * modules/openat: Likewise.
64381         * modules/sig2str: Likewise.
64382         * modules/userspec: Likewise.
64383         * modules/utimecmp: Likewise.
64384         * modules/xnanosleep: Likewise.
64385         * modules/xstrtol: Likewise.
64386
64387 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
64388
64389         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
64390         * modules/lock-tests (TESTS): Use $(EXEEXT).
64391         * modules/tls-tests: Likewise.
64392         * modules/argp-tests: Likewise.
64393         (check_PROGRAMS): New var, replacing...
64394         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
64395
64396 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64397
64398         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
64399         `config.h'.
64400
64401 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
64402
64403         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
64404
64405 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64406
64407         Sync from coreutils.
64408         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
64409         gl_CHDIR_SAFER.
64410
64411 2006-02-22  Jim Meyering  <jim@meyering.net>
64412
64413         Sync from coreutils.
64414         * m4/chdir-safer.m4: New file.
64415
64416 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
64417
64418         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
64419         AT_FDCWD exceeds INT_MAX.
64420         * lib/openat.h (AT_FDCWD): Likewise.
64421
64422 2006-02-17  Eric Blake  <address@hidden>
64423
64424         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
64425
64426 2006-02-16  Simon Josefsson  <jas@extundo.com>
64427
64428         * modules/getaddrinfo (Depends-on): Add sys_socket.
64429
64430 2006-02-15  Simon Josefsson  <jas@extundo.com>
64431
64432         * build-aux/maint.mk: Add dsyntax-check rule.
64433
64434 2006-02-15  Eric Blake  <ebb9@byu.net>
64435
64436         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
64437         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
64438         'present but cannot compile' warnings on cygwin.
64439         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
64440         use ws2tcpip.h if sys/socket.h works.
64441         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
64442         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
64443
64444 2006-02-14  Simon Josefsson  <jas@extundo.com>
64445
64446         * modules/maintainer-makefile (Files): Rename.
64447
64448         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
64449         and (the local) Makefile.cfg to maint-cfg.mk.
64450
64451         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
64452         to the latter.
64453
64454         * modules/maintainer-makefile: New module.
64455
64456         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
64457         severaly stripped to make it possible to build it up from scratch
64458         with reliable tests.
64459
64460         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
64461         fixes to permit overriding the default actions when configure and
64462         makefile are not available.
64463
64464 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
64465
64466         Sync from coreutils.
64467         * modules/lstat (Depends-on): Don't depend on xalloc.
64468         (License): Change from GPL to LGPL, since this is now simply a
64469         replacement for a libc function.
64470
64471 2006-02-14  Jim Meyering  <jim@meyering.net>
64472
64473         Sync from coreutils.
64474
64475         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
64476         failure on deficient systems, and simplify gnulib lgpl dependencies.
64477         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
64478         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
64479
64480         * lib/xalloc-die.c: Remove unused definition of N_.
64481
64482 2006-02-14  Jim Meyering  <jim@meyering.net>
64483
64484         Sync from coreutils.
64485         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
64486         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
64487         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
64488         double-quote uses of that variable, to accommodate the rare case in
64489         which getmntent is available in none of the libraries checked.  This
64490         happens at least on FreeBSD 5.0.
64491
64492 2006-02-13  Simon Josefsson  <jas@extundo.com>
64493
64494         * gnulib-tool (Usage): Fix --import, from
64495         karl@freefriends.org (Karl Berry).
64496
64497 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
64498
64499         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
64500
64501 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
64502
64503         * lib/argp-namefrob.h: Restore changes accidentally lost during the
64504         "autoupdate" on 2005-12-12.
64505
64506 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
64507
64508         * modules/closeout (Depends-on): Remove atexit.
64509
64510 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
64511
64512         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
64513         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
64514
64515 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
64516
64517         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
64518         __EXTENSIONS__ if this causes compilation to fail.  Problem
64519         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
64520         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
64521
64522 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
64523
64524         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
64525         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
64526         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
64527         All uses changed.
64528
64529 2006-01-26  Simon Josefsson  <jas@extundo.com>
64530
64531         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
64532         prototype is visible on mingw32.
64533
64534         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
64535         for mingw32.
64536
64537         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
64538         mingw32).
64539
64540 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
64541
64542         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
64543         attempt to open for write; this always fails, at least on POSIX
64544         hosts.  This reinstates the 2006-01-09 change, which was
64545         inadvertently removed.
64546
64547 2006-01-26  Bruno Haible  <bruno@clisp.org>
64548
64549         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
64550         Reported by Paul Eggert.
64551
64552 2006-01-26  Bruno Haible  <bruno@clisp.org>
64553             Paul Eggert  <eggert@cs.ucla.edu>
64554
64555         * lib/stdbool_.h (_Bool)
64556         [(! (defined __cplusplus || defined __BEOS__)
64557           && !defined __GNUC__
64558           && !(defined __HP_cc || defined __xlc__
64559                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
64560                || defined __sgi))]:
64561         #define to signed char in these cases too; this simplifies
64562         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
64563         etc., separately) and makes it more conservative.
64564
64565 2006-01-25  Simon Josefsson  <jas@extundo.com>
64566
64567         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
64568         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
64569         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
64570
64571 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
64572
64573         * lib/argp-namefrob.h: Bugfix. Remove stray #
64574
64575 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
64576
64577         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
64578         so that we test the test.
64579         Check for yet another HP-UX cc bug involving *bool |= bool.
64580
64581 2006-01-25  Karl Berry  <karl@gnu.org>
64582
64583         * config/srclist.txt (vasnprintf.c): sync lost.
64584
64585 2006-01-25  Jim Meyering  <jim@meyering.net>
64586
64587         Sync from the stable (b5) branch of coreutils:
64588
64589         * lib/fts.c (fts_children): Don't let close() clobber errno from
64590         failed fchdir().
64591
64592         * lib/fts.c (fts_stat): When following a symlink-to-directory,
64593         don't necessarily interpret stat-fails+lstat-succeeds as indicating
64594         a dangling symlink.  That can also happen at least for ELOOP.
64595         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
64596         FYI, this bug predates the inclusion of fts.c in coreutils.
64597
64598         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
64599         in their own block, so pre-c99 compilers don't object.
64600
64601         Avoid the double-free (first in fts_read, second in fts_close) that
64602         would occur when an `active' directory is made inaccessible (e.g.,
64603         via chmod a-x) during a traversal.
64604         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
64605         before returning.  Reproduce this failure by
64606         mkdir -p a/b; cd a; chmod a-x . b
64607         Reported by Stavros Passas.
64608
64609 2006-01-25  Jim Meyering  <jim@meyering.net>
64610
64611         * lib/fileblocks.c: Remove more useless parentheses.
64612         * lib/readutmp.h: Likewise.
64613
64614 2006-01-25  Bruno Haible  <bruno@clisp.org>
64615
64616         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
64617         warnings.
64618         Reported by Paul Eggert.
64619
64620 2006-01-25  Bruno Haible  <bruno@clisp.org>
64621
64622         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
64623         rid of a trap command. For Solaris sh.
64624         Reported by Mark D. Baushke <mdb@gnu.org>.
64625
64626 2006-01-24  Simon Josefsson  <jas@extundo.com>
64627
64628         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
64629         Bruno.
64630
64631 2006-01-24  Karl Berry  <karl@gnu.org>
64632
64633         * config/srclist.txt (argp-namefrob.h): sync lost.
64634
64635 2006-01-24  Jim Meyering  <jim@meyering.net>
64636
64637         * modules/openat (Files): Add lib/intprops.h.
64638         From Mark D. Baushke.
64639
64640 2006-01-24  Jim Meyering  <jim@meyering.net>
64641
64642         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
64643         Reported by Mark D. Baushke.
64644
64645 2006-01-24  Jim Meyering  <jim@meyering.net>
64646
64647         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
64648
64649 2006-01-24  Bruno Haible  <bruno@clisp.org>
64650
64651         * modules/strnlen (Maintainer): Change from glibc to all.
64652
64653 2006-01-24  Bruno Haible  <bruno@clisp.org>
64654
64655         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
64656         Patch by Paul Eggert.
64657
64658 2006-01-24  Bruno Haible  <bruno@clisp.org>
64659
64660         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
64661         already has it.
64662         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
64663         2005-11-26.
64664
64665         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
64666         'signed char' to avoid problems with the built-in _Bool type.
64667         Reported by Paul Eggert on 2005-11-26.
64668
64669 2006-01-24  Bruno Haible  <bruno@clisp.org>
64670
64671         * gnulib-tool (func_import): Avoid constructing complicated sed
64672         expressions inside backquote.
64673         Report and solution by Mark D. Baushke <mdb@gnu.org>.
64674
64675 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
64676
64677         These changes imported from libc.
64678         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
64679         test and two separate function calls.
64680         * lib/strndup.c (__strndup): Add libc_hidden_def.
64681
64682 2006-01-23  Simon Josefsson  <jas@extundo.com>
64683
64684         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
64685         Remove the test_*_SOURCES variable: automake infers it by default.
64686         * modules/tls-tests: Likewise.
64687
64688 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64689
64690         Work around porting bugs reported by Dieter in
64691         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
64692         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
64693         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
64694         Include "getopt.h" first, to check interface.
64695         (getenv): Declare only if defined HAVE_DECL_GETENV &&
64696         !HAVE_DECL_GETENV.
64697         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
64698         (__strndup): Revert to K&R-style function dfns, the glibc style.
64699         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
64700         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
64701         Include strnlen.h first, to get prototype properly.
64702         (strnlen): Renamed from __strnlen.
64703         Remove weak alias.
64704
64705 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64706
64707         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
64708
64709 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64710
64711         * config/srclist.txt: Adjust to reflect glibc reorganization.
64712         This affects only comments.
64713
64714 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64715
64716          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
64717          Reported by Bruce Korb <bkorb@gnu.org>.
64718
64719 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
64720
64721         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
64722         to pacify gcc -Wswitch-default.
64723
64724 2006-01-22  Bruno Haible  <bruno@clisp.org>
64725
64726         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
64727         temporary buffer for sprintf, take into account the precision also
64728         for 'd', 'i', 'u', 'o', 'x', 'X'.
64729
64730 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
64731
64732         * modules/argp-tests: New module
64733         * tests/test-argp.c: New file
64734         * tests/test-argp-2.sh: New file
64735
64736 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
64737
64738         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
64739         (__argp_base_name): Removed
64740         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
64741         typo.
64742         (__argp_base_name): Provide macro definition or extern declaration
64743         depending on the configuration
64744
64745 2006-01-20  Simon Josefsson  <jas@extundo.com>
64746
64747         * modules/inet_ntop (Depends-on): Depend on sys_socket.
64748
64749 2006-01-20  Simon Josefsson  <jas@extundo.com>
64750
64751         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
64752
64753 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
64754
64755         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
64756         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
64757         Suggested by Bruno Haible.
64758
64759 2006-01-20  Karl Berry  <karl@gnu.org>
64760
64761         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
64762         until changes propagate, I guess.
64763
64764 2006-01-19  Simon Josefsson  <jas@extundo.com>
64765
64766         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
64767
64768 2006-01-19  Simon Josefsson  <jas@extundo.com>
64769
64770         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
64771
64772 2006-01-19  Simon Josefsson  <jas@extundo.com>
64773
64774         * gnulib-tool: Set check_PROGRAMS.
64775
64776         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
64777         modules/des-tests, modules/gc-arcfour-tests,
64778         modules/gc-arctwo-tests, modules/gc-des-tests,
64779         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
64780         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
64781         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
64782         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
64783         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
64784         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
64785         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
64786         test_*_SOURCES.
64787
64788 2006-01-18  Simon Josefsson  <jas@extundo.com>
64789
64790         * modules/socklen (Depends-on): Depend on sys_socket.
64791
64792 2006-01-18  Simon Josefsson  <jas@extundo.com>
64793
64794         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
64795         modules/des-tests, modules/gc-arcfour-tests,
64796         modules/gc-arctwo-tests, modules/gc-des-tests,
64797         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
64798         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
64799         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
64800         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
64801         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
64802         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
64803         $(EXEEXT) to automake TESTS variable, for mingw32.
64804
64805 2006-01-17  Simon Josefsson  <jas@extundo.com>
64806
64807         * modules/socklen (Include): Need sys/socket.h.
64808
64809 2006-01-17  Bruno Haible  <bruno@clisp.org>
64810
64811         * modules/ssize_t (Include): Add <sys/types.h>.
64812
64813 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
64814
64815         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
64816         it's not portable and it doesn't work with cross-compiles.
64817         Problem reported by Bruno Haible.  Fix missing-$ typo in
64818         'test "gl_cv_ignore_unused_libraries" ...' that prevented
64819         -zignore from being used with Sun's C compiler.
64820
64821 2006-01-12  Simon Josefsson  <jas@extundo.com>
64822
64823         * lib/base64.c: Fix warning, reported by Bruno Haible
64824         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
64825
64826 2006-01-12  Bruno Haible  <bruno@clisp.org>
64827
64828         * modules/ldd: New file.
64829         * build-aux/ldd.sh.in: New file.
64830         * MODULES.html.sh (Support for building libraries and executables): Add
64831         ldd.
64832
64833 2006-01-12  Bruno Haible  <bruno@clisp.org>
64834
64835         * m4/ldd.m4: New file.
64836
64837 2006-01-12  Bruno Haible  <bruno@clisp.org>
64838
64839         * gnulib-tool (func_import, func_create_testdir): Don't go into an
64840         endless loop while replacing $auxdir with build-aux.
64841
64842 2006-01-11  Simon Josefsson  <jas@extundo.com>
64843
64844         * lib/stdint_.h (SIZE_MAX): Add missing (.
64845
64846 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
64847
64848         Sync from coreutils.
64849         * lib/md5.c: Fix commentary typos.
64850         (alignof, UNALIGNED_P): No need for a GCC-specific version.
64851         * lib/md5.h (__attribute__): Remove; unused.
64852         * lib/sha1.c: Fix commentary to match md5 better.
64853         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
64854         so that we don't need to worry about alignment.  All uses changed.
64855         This merges the 2005-10-28 md5 change into sha1.
64856
64857 2006-01-11  Jim Meyering  <jim@meyering.net>
64858
64859         Sync from coreutils.
64860         * lib/md5.c (OP): Fix spacing.
64861
64862 2006-01-11  Bruno Haible  <bruno@clisp.org>
64863
64864         Ensure automatic ordering between gl_LOCK and gl_ARGP.
64865         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
64866         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
64867
64868 2006-01-11  Bruno Haible  <bruno@clisp.org>
64869
64870         Ensure automatic ordering between gl_LOCK and gl_ARGP.
64871         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
64872         the "early" section as well.
64873
64874 2006-01-11  Bruno Haible  <bruno@clisp.org>
64875
64876         Avoid "ar: no archive members specified" error on MacOS X.
64877         * gnulib-tool (func_modules_add_dummy): New function.
64878         (func_import, func_create_testdir): Invoke it.
64879
64880 2006-01-11  Bruno Haible  <bruno@clisp.org>
64881
64882         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
64883         with $auxdir in AC_CONFIG_FILES statements.
64884
64885 2006-01-11  Bruno Haible  <bruno@clisp.org>
64886
64887         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64888         Initialize also noinst_HEADERS to empty.
64889
64890 2006-01-11  Bruno Haible  <bruno@clisp.org>
64891
64892         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
64893         variables.
64894         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
64895         autoreconf.
64896
64897 2006-01-11  Bruno Haible  <bruno@clisp.org>
64898
64899         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
64900         overridable by the user.
64901         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64902
64903 2006-01-10  Simon Josefsson  <jas@extundo.com>
64904
64905         * modules/sys_socket: New file.
64906
64907 2006-01-10  Simon Josefsson  <jas@extundo.com>
64908
64909         * m4/sys_socket_h.m4: New file.
64910
64911 2006-01-10  Simon Josefsson  <jas@extundo.com>
64912
64913         * lib/socket_.h: New file.
64914
64915 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64916
64917         * modules/readutmp (Maintainer): Add myself.
64918
64919 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64920
64921         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
64922         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
64923         People who are still concerned with buggy memcmp implementations
64924         can invoke gl_FUNC_MEMCMP themselves.
64925
64926 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64927
64928         * lib/regex_internal.h (BITSET_WORD_BITS):
64929         Work around a bug in 64-bit PGC (before version 6.1-2), where the
64930         preprocessor mishandles large unsigned values as if they were signed.
64931         Problem reported by Claudio Fontana in
64932         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
64933
64934 2006-01-10  Jim Meyering  <jim@meyering.net>
64935
64936         Avoid the double-free (first in fts_read, second in fts_close) that
64937         would occur when an `active' directory is made inaccessible (e.g.,
64938         via chmod a-x) during a traversal.
64939         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
64940         before returning.  Reproduce this failure by
64941         mkdir -p a/b; cd a; chmod a-x . b
64942         Reported by Stavros Passas.
64943
64944         Sync from coreutils.
64945         * lib/sha1.c: Tweak grammar in a comment.
64946
64947 2006-01-10  Jim Meyering  <jim@meyering.net>
64948
64949         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
64950         Patch by Joerg Sonnenberger.
64951
64952 2006-01-10  Bruno Haible  <bruno@clisp.org>
64953
64954         * modules/readutmp: Depend on module free.
64955         * modules/strtok_r: Depend on module restrict.
64956
64957 2006-01-10  Bruno Haible  <bruno@clisp.org>
64958
64959         * modules/gettext (configure.ac): Add an invocation of
64960         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
64961
64962 2006-01-10  Bruno Haible  <bruno@clisp.org>
64963
64964         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
64965         Reported by Werner Lemberg <wl@gnu.org>.
64966
64967 2006-01-10  Bruno Haible  <bruno@clisp.org>
64968
64969         * lib/localcharset.c: Update from GNU gettext.
64970
64971 2006-01-10  Bruno Haible  <bruno@clisp.org>
64972
64973         * lib/argp.h (__const): Remove macro. Use const instead.
64974         * lib/argp-fmtstream.h (__const): Likewise.
64975         * lib/glob_.h (__const): Remove macro.
64976         * lib/glob-libc.h: Use const instead of __const.
64977
64978 2006-01-10  Bruno Haible  <bruno@clisp.org>
64979
64980         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
64981         variable.
64982         Needed to avoid an automake error regarding the 'gettext' module.
64983
64984 2006-01-09  Simon Josefsson  <jas@extundo.com>
64985
64986         * modules/inet_ntop (Depends-on): Add restrict.
64987
64988 2006-01-09  Simon Josefsson  <jas@extundo.com>
64989
64990         * modules/gc-rijndael-tests (License): Put under LGPL.
64991
64992         * modules/gc-des-tests (License): Likewise.
64993
64994         * modules/gc-arcfour-tests (License): Likewise.
64995
64996         * modules/gc-arctwo-tests (License): Likewise.
64997
64998         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
64999
65000         * modules/gc-hmac-sha1-tests (Files): Likewise.
65001
65002         * modules/gc-hmac-md5-tests (License): Likewise.
65003
65004         * modules/gc-sha1-tests (License): Likewise.
65005
65006         * modules/gc-md5-tests (License): Likewise.
65007
65008         * modules/gc-md4-tests (License): Likewise.
65009
65010         * modules/gc-md2-tests (License): Likewise.
65011
65012         * modules/gc-tests (License): Likewise.
65013
65014         * modules/des-tests (License): Likewise.
65015
65016         * modules/md4-tests (License): Likewise.
65017
65018         * modules/md2-tests (License): Likewise.
65019
65020 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65021
65022         Sync from coreutils:
65023
65024         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
65025         * modules/lib-ignore: New file.
65026         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
65027         chdir-safer.m4, lchmod.m4.
65028         * modules/openat: Add mkdirat.c, openat-priv.h.
65029
65030 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65031
65032         Sync from coreutils.
65033         * m4/lib-ignore.m4: New file.
65034         * m4/lchmod.m4: New file.
65035
65036 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65037
65038         Sync from coreutils.
65039         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
65040         for write access: POSIX says that must fail.
65041         * lib/fts.c (diropen): Likewise.
65042         * lib/save-cwd.c (save_cwd): Likewise.
65043         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
65044         well, for minor improvements on hosts that lack O_DIRECTORY.
65045         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
65046         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
65047         Fall back on chown if open failed with EACCES.
65048
65049         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
65050         Report an error at compile-time if only a 1-second nominal clock
65051         resolution is found.
65052
65053         * lib/lchmod.h: New file.
65054         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
65055         (make_dir_parents): Use lchown rather than chown, and
65056         lchmod rather than chmod.
65057
65058         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
65059         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
65060         "proc" reported by n0dalus.
65061
65062         * lib/mountlist.c: Include <limits.h>.
65063         (dev_from_mount_options)
65064         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
65065         New function.  It no longer assumes "dev=" has the System V meaning
65066         on Linux (since it doesn't).  It also parses "dev=" more carefully.
65067         (read_file_system_list)
65068         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
65069         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
65070         dev= in that case.
65071
65072         * lib/posixtm.h (PDS_PRE_2000): New macro.
65073         * lib/posixtm.c (year): Arg is now syntax_bits rather than
65074         allow_century.  All usages changed.  Reject dates outside the range
65075         1969-1999 if PDS_PRE_2000 is used.
65076
65077 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65078
65079         Sync from coreutils.
65080         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
65081         (Time of day items): Mention the possibility of leap seconds.
65082         Problem reported by Dr. David Alan Gilbert.
65083
65084 2006-01-09  Jim Meyering  <jim@meyering.net>
65085
65086         Sync from coreutils.
65087
65088         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
65089
65090         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
65091
65092         * lib/modechange.c (mode_compile): Reject an invalid mode string
65093         that starts with an octal digit.  From Andreas Gruenbacher.
65094
65095         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
65096         and dup to open_safer and dup_safer, respectively.
65097         (openat_permissive): Fix typo in comment.
65098
65099         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
65100         "gettext.h"; either no longer needed or are guaranteed by openat.h.
65101         (_): Remove; no longer needed.
65102         (openat): Renamed from rpl_openat; no need for rpl_openat
65103         since openat.h renames openat for us.
65104         Replace most of the body with a call to openat_permissive,
65105         to avoid duplicate code.
65106         Port to (probably hypothetical) environments were mode_t is
65107         wider than int.
65108         (openat_permissive): Require mode arg, so that we can check
65109         types better.  Put it just after flags.  Change cwd failure
65110         indicator from pointer-to-bool to pointer-to-errno-value.
65111         All callers changed.
65112         Invoke openat_save_fail and/or openat_restore_fail if
65113         cwd_errno is null, so that openat can call us.
65114         (openat_permissive, fdopendir, fstatat, unlinkat):
65115         Simplify errno handling to avoid some duplicate code,
65116         as it's OK to set errno on success.
65117         * lib/openat.h: Revamp code so that function macros depend on
65118         __OPENAT_PREFIX only, not also on AT_FDCWD.
65119         (openat_ro): Remove.  Caller changed to use openat_permissive.
65120         (openat_permissive): Now a macro, if not a function.
65121         (openat_restore_fail, openat_save_fail): Now always functions,
65122         since mkdirat needs them even if __OPENAT_PREFIX is defined.
65123
65124         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
65125         and openat.c.
65126         * lib/mkdirat.c: Include openat-priv.h.
65127         Remove definitions of macros defined therein.
65128         * lib/openat.c: Likewise.
65129
65130         * lib/mkdirat.c (mkdirat): New file and function.
65131         * lib/openat.h (mkdirat): Declare.
65132
65133         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
65134
65135         * lib/openat.h (openat_permissive): Declare.
65136         (openat_ro): Define.
65137
65138         * lib/openat.c (EXPECTED_ERRNO): New macro.
65139         (openat_permissive): New function -- used in remove.c rewrite.
65140         (all functions): Set errno just before returning, only if there
65141         was an actual failure.
65142         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
65143
65144         Emulate openat-family functions using Linux's procfs, if possible.
65145         Idea and some code based on Ulrich Drepper's glibc changes.
65146
65147         * lib/openat.c: (BUILD_PROC_NAME): New macro.
65148         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
65149         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
65150         before falling back on save_cwd and restore_cwd.
65151         (fdopendir, fstatat, unlinkat): Likewise.
65152
65153         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
65154         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
65155
65156         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
65157         as second argument to va_arg.  Otherwise, some versions of gcc
65158         warn that `if this code is reached, the program will abort'.
65159
65160 2006-01-09  Jim Meyering  <jim@meyering.net>
65161
65162         Sync from coreutils.
65163         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
65164         Require openat-priv.h.
65165
65166 2006-01-09  Bruno Haible  <bruno@clisp.org>
65167
65168         * modules/strnlen (Include): Use strnlen.h.
65169
65170 2006-01-09  Bruno Haible  <bruno@clisp.org>
65171
65172         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
65173
65174 2006-01-09  Bruno Haible  <bruno@clisp.org>
65175
65176         * lib/sysexit_.h (EX_OK): New macro.
65177         Suggested by Martin Lambers <marlam@marlam.de>.
65178
65179 2006-01-09  Bruno Haible  <bruno@clisp.org>
65180
65181         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
65182         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
65183
65184 2006-01-09  Bruno Haible  <bruno@clisp.org>
65185
65186         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
65187         numbers.
65188
65189 2006-01-09  Bruno Haible  <bruno@clisp.org>
65190
65191         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
65192         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
65193         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
65194         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
65195
65196 2006-01-09  Bruno Haible  <bruno@clisp.org>
65197
65198         * build-aux/javacomp.sh.in: New file, moved from lib/.
65199         * modules/javacomp-script (Files): Update.
65200         (configure.ac): Add AC_CONFIG_FILES invocation.
65201         (EXTRA_DIST): Remove variable.
65202
65203         * build-aux/javaexec.sh.in: New file, moved from lib/.
65204         * modules/javaexec (Files): Update.
65205         (configure.ac): Add AC_CONFIG_FILES invocation.
65206         (EXTRA_DIST): Remove javaexec.sh.in.
65207
65208         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
65209         * modules/csharpcomp-script (Files): Update.
65210         (configure.ac): Add AC_CONFIG_FILES invocation.
65211         (EXTRA_DIST): Remove variable.
65212
65213         * build-aux/csharpexec.sh.in: New file, moved from lib/.
65214         * modules/csharpexec (Files): Update.
65215         (configure.ac): Add AC_CONFIG_FILES invocation.
65216         (EXTRA_DIST): Remove csharpexec.sh.in.
65217
65218 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
65219
65220         Sync from coreutils.
65221
65222         Add POSIX ACL support
65223         * lib/acl.h (copy_acl, set_acl): Add declarations.
65224         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
65225         systems other than Linux.
65226         (chmod_or_fchmod): New function: use fchmod when possible,
65227         and chmod otherwise.
65228         (file_has_acl): Add a POSIX ACL implementation, with a
65229         Linux-specific subcase.
65230         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
65231         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
65232         acls are unsupported.
65233         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
65234         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
65235         are unsupported.
65236
65237 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
65238
65239         Sync from coreutils.
65240         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
65241
65242 2006-01-07  Bruno Haible  <bruno@clisp.org>
65243
65244         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
65245         gl_EARLY.
65246
65247 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65248
65249         * lib/strftime.c (tzname): Don't declare if it is already #defined.
65250         Problem reported for Mingw by Mark Junker.
65251
65252 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65253
65254         * README: Gnulib normally doesn't generate a tarball.
65255
65256 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
65257
65258         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
65259         long int, not int, for nanosecond counts, so that people who are
65260         used to POSIX struct timespec won't be surprised.  Reported by Jim
65261         Meyering.
65262
65263 2005-12-28  Bruno Haible  <bruno@clisp.org>
65264
65265         * build-aux/config.rpath: Update from GNU gettext.
65266
65267 2005-12-16  Jim Meyering  <jim@meyering.net>
65268
65269         * modules/fprintftime: New module.
65270         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
65271
65272 2005-12-16  Jim Meyering  <jim@meyering.net>
65273
65274         * m4/fprintftime.m4: New file.
65275
65276 2005-12-16  Jim Meyering  <jim@meyering.net>
65277
65278         * lib/fprintftime.c, lib/fprintftime.h: New files.
65279
65280 2005-12-15  Simon Josefsson  <jas@extundo.com>
65281
65282         * modules/socklen (configure.ac): Fix M4 macro name, to align with
65283         new m4/socklen.m4.
65284
65285 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65286
65287         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
65288         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
65289
65290 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65291
65292         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
65293         * lib/argp-help.c (fill_in_uparams): Check if the constructed
65294         struct uparams is valid. Fall back to the default values if it is
65295         not.
65296
65297 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65298
65299         * modules/argp (Files): Add argp-pin.c
65300         (Depends-on): dirname
65301         (lib_SOURCES): Add argp-pin.c
65302
65303 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65304
65305         * m4/argp.m4:  Check if program_invocation_name and
65306         program_invocation_short_name are declared and define appropriate
65307         macros if they are not.
65308
65309 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65310
65311         * lib/argp-help.c (__argp_base_name): New function
65312         (__argp_short_program_name): Rewrite using __argp_base_name
65313         * lib/argp-namefrob.h: Define program_invocation_name and
65314         program_invocation_short_name if requested
65315         (__argp_base_name): Add prototype
65316         * lib/argp-parse.c (argp_def): Use gettext wrappers
65317         (argp_default_parser): Use __argp_base_name
65318         * lib/argp-pin.c: New file. Defines program_invocation_name and
65319         program_invocation_short_name on systems that lack them.
65320
65321 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
65322
65323         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
65324         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
65325         porting problem reported by Georg Schwarz in
65326         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
65327
65328 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
65329
65330         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
65331         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
65332         porting problem reported by Georg Schwarz in
65333         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
65334
65335 2005-12-05  Bruno Haible  <bruno@clisp.org>
65336
65337         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
65338         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
65339         Reported by Mark Junker <mjscod@gmx.de>.
65340
65341 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
65342
65343         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
65344         Use implementation from Albert Chin, with some
65345         comments/corrections by Stepan Kasal and myself.
65346
65347 2005-12-02  Bruno Haible  <bruno@clisp.org>
65348
65349         * gnulib-tool (func_import): Accept GPLed build tool modules when
65350         --lgpl is given.
65351         * modules/csharpcomp-script: New file.
65352         * modules/csharpcomp: Depend on it.
65353         * modules/javacomp-script: New file.
65354         * modules/javacomp: Depend on it.
65355         Suggested by Simon Josefsson.
65356
65357 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
65358
65359         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
65360         statement, to work around an HP-UX 10.20 compiler bug reported by
65361         Peter O'Gorman.
65362
65363 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
65364
65365         * modules/savedir (Depends-on): Add openat.
65366
65367 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
65368
65369         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
65370         (uintmax_t) [defined uintmax_t]: Do not declare.
65371         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
65372         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
65373         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
65374         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
65375         sake of portability to weird hosts that C allows (though we don't
65376         know of any practical examples).
65377
65378         * lib/savedir.h (fdsavedir): New decl.
65379         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
65380         contains most of the former guts of savedir.
65381         (savedir): Use savedirstream.
65382         Include "openat.h".
65383
65384 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
65385
65386         * modules/obstack (Files): Add m4/ulonglong.m4.
65387         Problem reported by Davide Angelocola.
65388
65389 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
65390
65391         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
65392         coreutils no longer futzes with rounding modes.
65393
65394 2005-11-14  Jim Meyering  <jim@meyering.net>
65395
65396         * lib/mkstemp-safer.c: Include <config.h>, required for possible
65397         replacement of mkstemp.
65398
65399 2005-11-10  Simon Josefsson  <jas@extundo.com>
65400
65401         * lib/readline.c: Remove EOL.
65402
65403 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
65404
65405         * modules/gethrxtime (Depends-on): Add gettime.
65406
65407 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
65408
65409         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
65410         or gettimeofday; no longer needed.
65411
65412 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
65413
65414         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
65415         time business.
65416         (gethrxtime) [! (HAVE_NANOUPTIME
65417         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
65418         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
65419         our own approximation.
65420
65421 2005-11-08  Eric Blake  <ebb9@byu.net>
65422
65423         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
65424
65425 2005-11-08  Eric Blake  <ebb9@byu.net>
65426
65427         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
65428
65429 2005-11-04  Bruno Haible  <bruno@clisp.org>
65430
65431         * gnulib-tool: Implement --update mode.
65432
65433 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
65434
65435         Fix porting problem reported by Theodoros V. Kalamatianos.
65436         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
65437         Don't assume that futimes failing means we must fail.
65438
65439 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
65440
65441         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
65442         variables to suggest the intended function of the PATH_MAX check.
65443
65444 2005-10-30  Kean Johnston  <jkj@sco.com>
65445
65446         Trivial changes to support SCO systems.
65447         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
65448         as PATH_MAX.
65449         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
65450         where __ptr is null when no I/O is pending.
65451
65452 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
65453
65454         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
65455         leave errno alone.  Problem reported by Dmitry V. Levin.
65456
65457 2005-10-28  Simon Josefsson  <jas@extundo.com>
65458
65459         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
65460         Test more.
65461
65462         * tests/test-gc-md2.c, tests/test-md2.c: New files.
65463
65464         * modules/md2, modules/md2-tests: New files.
65465
65466 2005-10-28  Simon Josefsson  <jas@extundo.com>
65467
65468         * m4/inet_ntop.m4: More tests.
65469
65470         * m4/gc-md2.m4, md2.m4: New file.
65471
65472 2005-10-28  Simon Josefsson  <jas@extundo.com>
65473
65474         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
65475         "restrict" keywords, as per POSIX.  Protect the function
65476         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
65477         Don't use K&R prototypes.  Check the sprintf return values.
65478         Re-define EAFNOSUPPORT if not present.  Indent.
65479
65480         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
65481         suggested by Bruno Haible <bruno@clisp.org>.
65482
65483         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
65484
65485         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
65486
65487         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
65488         libgcrypt).
65489
65490         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
65491
65492         * lib/md2.h, lib/md2.c: New files.
65493
65494 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
65495
65496         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
65497         errno alone.  Problem reported by Frederic Jolliton.
65498
65499 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65500
65501         * modules/verify (License): Change from GPL to LGPL.  This is a
65502         tiny module and there are apparently near-equivalents that are
65503         under the BSD license.
65504
65505 2005-10-24  Simon Josefsson  <jas@extundo.com>
65506
65507         * modules/sha1: Relicense to LGPL.
65508
65509 2005-10-24  Simon Josefsson  <jas@extundo.com>
65510
65511         * lib/md4.h: Shrink buffer size, now that we changed the type.
65512
65513 2005-10-23  Simon Josefsson  <jas@extundo.com>
65514
65515         * gnulib-tool (func_import): Fix --tests-base.
65516
65517 2005-10-22  Simon Josefsson  <jas@extundo.com>
65518
65519         * modules/arcfour (Depends-on): Need stdint.
65520
65521 2005-10-22  Simon Josefsson  <jas@extundo.com>
65522
65523         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
65524         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
65525
65526 2005-10-22  Simon Josefsson  <jas@extundo.com>
65527
65528         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
65529         suggested by Bruno Haible <bruno@clisp.org>.
65530
65531 2005-10-22  Simon Josefsson  <jas@extundo.com>
65532
65533         * lib/crc.h: Include stddef.h, for size_t.
65534
65535 2005-10-22  Simon Josefsson  <jas@extundo.com>
65536
65537         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
65538         arcfour_context struct (simplify test vector testing in GNU
65539         Shishi).
65540
65541 2005-10-21  Simon Josefsson  <jas@extundo.com>
65542
65543         * modules/des, modules/des-tests: New files.
65544
65545         * modules/gc-des, modules/gc-des-tests: New files.
65546
65547         * tests/test-des.c, tests/test-gc-des.c: New file.
65548
65549 2005-10-21  Simon Josefsson  <jas@extundo.com>
65550
65551         * modules/arctwo, modules/arctwo-tests: New files.
65552
65553         * tests/test-arctwo.c: New file.
65554
65555         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
65556
65557         * tests/test-gc-arctwo.c: New file.
65558
65559 2005-10-21  Simon Josefsson  <jas@extundo.com>
65560
65561         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
65562         Bruno Haible <bruno@clisp.org>.
65563
65564         * m4/gc-des.m4: New file.
65565
65566 2005-10-21  Simon Josefsson  <jas@extundo.com>
65567
65568         * m4/arctwo.m4: New file.
65569
65570         * m4/gc-arctwo.m4: New file.
65571
65572 2005-10-21  Simon Josefsson  <jas@extundo.com>
65573
65574         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
65575         block.
65576
65577 2005-10-21  Simon Josefsson  <jas@extundo.com>
65578
65579         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
65580         <bruno@clisp.org>.
65581
65582         * lib/hmac-sha1.c (hmac_sha1): Likewise.
65583
65584         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
65585         Bruno Haible <bruno@clisp.org>.
65586
65587         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
65588         <bruno@clisp.org>.
65589
65590 2005-10-21  Simon Josefsson  <jas@extundo.com>
65591
65592         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
65593
65594 2005-10-21  Simon Josefsson  <jas@extundo.com>
65595
65596         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
65597
65598 2005-10-21  Simon Josefsson  <jas@extundo.com>
65599
65600         * lib/des.h, lib/des.c: New files.
65601
65602         * lib/gc-gnulib.c: Support DES.c
65603
65604 2005-10-21  Simon Josefsson  <jas@extundo.com>
65605
65606         * lib/arctwo.h, lib/arctwo.c: New files.
65607
65608         * lib/gc-gnulib.c: Support ARCTWO.
65609
65610 2005-10-21  Simon Josefsson  <jas@extundo.com>
65611
65612         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
65613         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65614
65615 2005-10-21  Simon Josefsson  <jas@extundo.com>
65616
65617         * gnulib-tool (func_import, func_create_testdir): Define automake
65618         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
65619         Makefile.am snippet),
65620         suggested by Bruno Haible <bruno@clisp.org>.
65621
65622         * modules/gc (Makefile.am): Use it.
65623
65624 2005-10-21  Bruno Haible  <bruno@clisp.org>
65625
65626         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
65627         patch.
65628
65629 2005-10-19  Simon Josefsson  <jas@extundo.com>
65630
65631         * tests/test-gc-rijndael.c: New file.
65632
65633         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
65634
65635 2005-10-19  Simon Josefsson  <jas@extundo.com>
65636
65637         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
65638         interface too.
65639
65640 2005-10-19  Simon Josefsson  <jas@extundo.com>
65641
65642         * tests/test-gc-arcfour.c: New file.
65643
65644         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
65645
65646 2005-10-19  Simon Josefsson  <jas@extundo.com>
65647
65648         * modules/gc-md4, modules/gc-md4-tests: New file.
65649
65650         * tests/test-gc-md4.c: New file.
65651
65652 2005-10-19  Simon Josefsson  <jas@extundo.com>
65653
65654         * m4/gc-md4.m4: New file.
65655
65656 2005-10-19  Simon Josefsson  <jas@extundo.com>
65657
65658         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
65659         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
65660         <kasal@ucw.cz>.
65661
65662 2005-10-19  Simon Josefsson  <jas@extundo.com>
65663
65664         * m4/gc-arcfour.m4: New file.
65665
65666         * m4/gc-rijndael.m4: New file.
65667
65668 2005-10-19  Simon Josefsson  <jas@extundo.com>
65669
65670         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
65671
65672 2005-10-19  Simon Josefsson  <jas@extundo.com>
65673
65674         * lib/gc-gnulib.c: Support ARCFOUR.
65675
65676 2005-10-19  Simon Josefsson  <jas@extundo.com>
65677
65678         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
65679         support.
65680
65681         * lib/gc.h: Add ECB enum type.
65682
65683         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
65684
65685 2005-10-18  Simon Josefsson  <jas@extundo.com>
65686
65687         * tests/test-md5.c: New file.
65688
65689         * modules/md5-tests: New file.
65690
65691 2005-10-18  Simon Josefsson  <jas@extundo.com>
65692
65693         * tests/test-md4.c: New file.
65694
65695         * modules/md4, modules/md4-tests: New files.
65696
65697 2005-10-18  Simon Josefsson  <jas@extundo.com>
65698
65699         * m4/md4.m4: New file.
65700
65701 2005-10-18  Simon Josefsson  <jas@extundo.com>
65702
65703         * lib/md4.h, lib/md4.c: New files, based on md5.?.
65704
65705 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
65706
65707         * gnulib-tool (func_create_testdir): Omit the second check whether
65708         BUILT_SOURCES in nonempty.
65709
65710 2005-10-17  Simon Josefsson  <jas@extundo.com>
65711
65712         * tests/test-rijndael.c: New file.
65713
65714 2005-10-17  Simon Josefsson  <jas@extundo.com>
65715
65716         * modules/sha1: Depend on stdint instead of md5.
65717
65718         * modules/md5: Depend on stdint, remove uint32_t.
65719
65720 2005-10-17  Simon Josefsson  <jas@extundo.com>
65721
65722         * modules/gc-sha1-tests: New file.
65723
65724         * tests/test-gc-sha1.c: New file.
65725
65726 2005-10-17  Simon Josefsson  <jas@extundo.com>
65727
65728         * m4/md5.m4: Remove call to uint32_t.m4.
65729
65730 2005-10-17  Simon Josefsson  <jas@extundo.com>
65731
65732         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
65733
65734         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
65735         md5.h.
65736
65737         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
65738
65739         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
65740
65741 2005-10-17  Simon Josefsson  <jas@extundo.com>
65742
65743         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
65744
65745 2005-10-17  Simon Josefsson  <jas@extundo.com>
65746
65747         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
65748
65749 2005-10-17  Simon Josefsson  <jas@extundo.com>
65750
65751         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
65752
65753         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
65754
65755 2005-10-17  Bruno Haible  <bruno@clisp.org>
65756
65757         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
65758         that it can also be used in a test.
65759
65760 2005-10-16  Bruno Haible  <bruno@clisp.org>
65761
65762         * gnulib-tool (func_emit_tests_Makefile_am): Also define
65763         TESTS_ENVIRONMENT, so that individual tests can augment it.
65764
65765         * gnulib-tool (func_create_testdir): Use an intermediate target for
65766         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
65767         macros, like $(ALLOCA_H), which cannot be passed through the command
65768         line.
65769
65770 2005-10-15  Simon Josefsson  <jas@extundo.com>
65771
65772         * modules/rijndael-tests: New file.
65773
65774         * modules/rijndael: New file.
65775
65776 2005-10-15  Simon Josefsson  <jas@extundo.com>
65777
65778         * m4/rijndael.m4: New file.
65779
65780 2005-10-15  Simon Josefsson  <jas@extundo.com>
65781
65782         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
65783
65784         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
65785
65786 2005-10-14  Simon Josefsson  <jas@extundo.com>
65787
65788         * tests/test-arcfour.c: New file.
65789
65790         * modules/arcfour, modules/arcfour-tests: New files.
65791
65792 2005-10-14  Simon Josefsson  <jas@extundo.com>
65793
65794         * m4/arcfour.m4: New file.
65795
65796 2005-10-14  Simon Josefsson  <jas@extundo.com>
65797
65798         * lib/arcfour.h, lib/arcfour.c: New files.
65799
65800 2005-10-14  Roland McGrath  <roland@redhat.com>
65801
65802         Import from libc.  [BZ #1331]
65803         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
65804         macro argument.
65805         Reported by Matej Vela <vela@debian.org>.
65806
65807 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
65808
65809         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
65810         include <wchar.h>; no longer needed.
65811
65812 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
65813
65814         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
65815
65816 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
65817         and  Ulrich Drepper  <drepper@redhat.com>
65818
65819         Import from libc.
65820         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
65821         instead of inline stream orientation test and two separate
65822         function calls.  Pay no attention to USE_IN_LIBIO.
65823
65824 2005-10-13  Simon Josefsson  <jas@extundo.com>
65825
65826         * modules/gc-hmac-md5-tests: New file.
65827
65828         * tests/test-gc-hmac-sha1.c: New file.
65829
65830         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
65831
65832         * modules/gc-hmac-md5-tests: New file.
65833
65834         * tests/test-gc-md5.c: New file.
65835
65836         * modules/gc-md5-tests: New file.
65837
65838 2005-10-13  Simon Josefsson  <jas@extundo.com>
65839
65840         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
65841         Move memory allocation outside of loop.
65842
65843 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
65844
65845         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
65846         intermediate directory is in a read-only file system.  Problem
65847         reported by Eric Blake.
65848
65849 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
65850
65851         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
65852
65853 2005-10-12  Simon Josefsson  <jas@extundo.com>
65854
65855         * tests/test-hmac-sha1.c: New file.
65856
65857         * modules/hmac-sha1-tests: New file.
65858
65859         * modules/hmac-sha1: New file.
65860
65861 2005-10-12  Simon Josefsson  <jas@extundo.com>
65862
65863         * modules/gc-sha1: New file.
65864
65865 2005-10-12  Simon Josefsson  <jas@extundo.com>
65866
65867         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
65868
65869         * tests/test-gc-pbkdf2-sha1.c: New file.
65870
65871 2005-10-12  Simon Josefsson  <jas@extundo.com>
65872
65873         * modules/gc-md5, modules/gc-hmac-md5: New files.
65874
65875         * modules/gc (Files): Remove md5, memxor and hmac files.
65876
65877 2005-10-12  Simon Josefsson  <jas@extundo.com>
65878
65879         * m4/gc-pbkdf2-sha1.m4: New file.
65880
65881         * m4/gc-hmac-sha1.m4: New file.
65882
65883         * m4/gc-sha1: New file.
65884
65885         * m4/hmac-sha1.m4: New file.
65886
65887 2005-10-12  Simon Josefsson  <jas@extundo.com>
65888
65889         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
65890
65891         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
65892
65893 2005-10-12  Simon Josefsson  <jas@extundo.com>
65894
65895         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
65896         suggested by Bruno Haible <bruno@clisp.org>.
65897
65898 2005-10-12  Simon Josefsson  <jas@extundo.com>
65899
65900         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
65901
65902 2005-10-12  Simon Josefsson  <jas@extundo.com>
65903
65904         * lib/gc-pbkdf2-sha1.c: New file.
65905
65906         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
65907
65908 2005-10-12  Simon Josefsson  <jas@extundo.com>
65909
65910         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
65911
65912         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
65913
65914 2005-10-12  Simon Josefsson  <jas@extundo.com>
65915
65916         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
65917         GC_USE_HMAC_MD5, respectively.
65918
65919         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
65920         (gc_md5): Fix typo.
65921
65922         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
65923
65924         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
65925
65926         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
65927
65928 2005-10-12  Bruno Haible  <bruno@clisp.org>
65929
65930         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
65931         Reported by Stepan Kasal <kasal@ucw.cz>.
65932
65933 2005-10-11  Simon Josefsson  <jas@extundo.com>
65934
65935         * tests/test-crc.c: New file.
65936
65937         * modules/crc, modules/crc-tests: New files.
65938
65939 2005-10-11  Simon Josefsson  <jas@extundo.com>
65940
65941         * m4/crc.m4: New file.
65942
65943 2005-10-11  Simon Josefsson  <jas@extundo.com>
65944
65945         * lib/gc.h: Add gc_hash and gc_hash_buffer.
65946
65947         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
65948
65949         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
65950
65951 2005-10-11  Simon Josefsson  <jas@extundo.com>
65952
65953         * lib/crc.h, lib/crc.c: New files.
65954
65955         * lib/gc.h (gc_hash_buffer): Add doc.
65956
65957 2005-10-11  Bruno Haible  <bruno@clisp.org>
65958
65959         * modules/c-strcasestr: New file.
65960         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
65961
65962 2005-10-11  Bruno Haible  <bruno@clisp.org>
65963
65964         * modules/c-strcase: New file.
65965         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
65966
65967 2005-10-11  Bruno Haible  <bruno@clisp.org>
65968
65969         * lib/strcasecmp.c: Include limits.h.
65970         (strcasecmp): Avoid integer overflow on exotic platforms.
65971         * lib/strncasecmp.c: Include limits.h.
65972         (strncasecmp): Avoid integer overflow on exotic platforms.
65973         Reported by Paul Eggert.
65974
65975 2005-10-11  Bruno Haible  <bruno@clisp.org>
65976
65977         * lib/c-strcasestr.h: New file, from GNU gettext.
65978         * lib/c-strcasestr.c: New file, from GNU gettext.
65979
65980 2005-10-11  Bruno Haible  <bruno@clisp.org>
65981
65982         * lib/c-strcase.h: New file, from GNU gettext.
65983         * lib/c-strcasecmp.c: New file, from GNU gettext.
65984         * lib/c-strncasecmp.c: New file, from GNU gettext.
65985
65986 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
65987
65988         * modules/mempcpy (License): GPL -> LGPL.
65989         * modules/strchrnul (License): Likewise.
65990         * modules/sysexits (License): Likewise.
65991
65992 2005-10-08  Simon Josefsson  <jas@extundo.com>
65993
65994         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
65995
65996 2005-10-07  Simon Josefsson  <jas@extundo.com>
65997
65998         * m4/memxor.m4: Remove gl_C_RESTRICT call.
65999
66000 2005-10-06  Simon Josefsson  <jas@extundo.com>
66001
66002         * tests/test-hmac-md5.c: New file.
66003
66004         * modules/hmac-md5-tests: New file.
66005
66006         * modules/hmac-md5: New file.
66007
66008 2005-10-06  Simon Josefsson  <jas@extundo.com>
66009
66010         * m4/hmac-md5.m4: New file.
66011
66012         * m4/memxor.m4: Require gl_C_RESTRICT.
66013
66014 2005-10-06  Simon Josefsson  <jas@extundo.com>
66015
66016         * lib/memxor.c (memxor): Avoid casts and warnings.
66017
66018 2005-10-06  Simon Josefsson  <jas@extundo.com>
66019
66020         * lib/hmac-md5.c: New file.
66021
66022         * lib/hmac.h: New file.
66023
66024 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66025
66026         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
66027         promotes to int, not unsigned int, to catch the AIX 5.3
66028         compiler bug.
66029
66030 2005-10-05  Simon Josefsson  <jas@extundo.com>
66031
66032         * modules/memxor: New file.
66033
66034         * modules/iconv (Files): Move config.rpath to havelib, it is used
66035         there.
66036
66037         * modules/havelib (Files): Add config.rpath.
66038
66039 2005-10-05  Simon Josefsson  <jas@extundo.com>
66040
66041         * m4/memxor.m4: New file.
66042
66043 2005-10-05  Simon Josefsson  <jas@extundo.com>
66044
66045         * lib/memxor.c (memxor): Fix compiler error.
66046
66047         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
66048         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
66049
66050         * lib/memxor.h, lib/memxor.c: New files.
66051
66052         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
66053         we assume all systems have it, suggested by Jim Meyering
66054         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
66055         any systems lack sys/socket.h; mingw32 is known to lack it, but we
66056         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
66057         same reasons.
66058
66059 2005-10-05  Simon Josefsson  <jas@extundo.com>
66060
66061         * config/srclist.txt: Add glibc bug 1423 for md5.h.
66062
66063 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
66064
66065         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
66066         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
66067         needed, since the source code now assumes these .h files.
66068
66069 2005-10-05  Derek Price  <derek@ximbiot.com>
66070
66071         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
66072
66073 2005-10-05  Bruno Haible  <bruno@clisp.org>
66074
66075         * modules/stdint (License): Change to LGPL.
66076
66077 2005-10-04  Simon Josefsson  <jas@extundo.com>
66078
66079         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
66080         D. Baushke" <mdb@gnu.org>.
66081
66082 2005-10-04  Bruno Haible  <bruno@clisp.org>
66083
66084         * lib/verify.h (verify_true): Provide alternative definition for C++.
66085
66086 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
66087
66088         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
66089         (SSIZE_MAX): New macro, if not already defined.
66090         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
66091         than 2 GiB.
66092
66093 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
66094
66095         Sync from coreutils.
66096         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
66097         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
66098         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
66099         ULLONG_MAX doesn't work with 2.7.2.1.
66100
66101 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
66102
66103         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
66104         From Ben Pfaff.
66105
66106         * modules/exclude (Depends-on): Depend on verify.
66107         * modules/strtoimax (Depends-on): Likewise.
66108         * modules/utimecmp (Depends-on): Likewise.
66109
66110 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
66111
66112         * lib/exclude.c: Include verify.h.
66113         (verify): Remove.  All callers changed to use verify.h's version.
66114         * lib/strtoimax.c: Likewise.
66115         * lib/utimecmp.c: Likewis.e
66116
66117         Sync from coreutils.
66118         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
66119         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
66120         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
66121         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
66122         bother returning ENOSYS if settimeofday or stime fails; just let
66123         them return whatever errno they want to return.
66124         * lib/utimens.c: Include unistd.h, for dup2.
66125         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
66126         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
66127
66128 2005-10-02  Jim Meyering  <jim@meyering.net>
66129
66130         Sync from coreutils.
66131         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
66132         from glibc-2.2.5 that fails for read-only files.
66133
66134 2005-10-02  Jim Meyering  <jim@meyering.net>
66135
66136         Sync from coreutils.
66137         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
66138         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
66139         `#if HAVE_CONFIG_H'.
66140         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
66141         Remove AT_FDCWD test.
66142         Do not consume the fd unless successful.
66143         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
66144         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
66145         block, so that we don't even try to compile it if settimeofday is
66146         available.  This works around a compilation failure on OSF1 V5.1,
66147         due to stime requiring a `long int*' while tv_sec is `int'.
66148
66149 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
66150
66151         Sync from coreutils.
66152         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
66153         against `yes', rather than just testing for nonempty.
66154
66155 2005-10-01  Simon Josefsson  <jas@extundo.com>
66156
66157         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
66158         and Darwin.
66159
66160         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
66161         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
66162         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
66163         freeaddrinfo and gai_strerror are declared by the POSIX headers.
66164         Check if struct addrinfo is declared.
66165
66166 2005-10-01  Simon Josefsson  <jas@extundo.com>
66167
66168         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
66169         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
66170         AI_* and EAI_* definitions.  Protect function declarations.
66171
66172 2005-10-01  Jim Meyering  <jim@meyering.net>
66173
66174         Sync from coreutils.
66175
66176         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
66177         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
66178         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
66179         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
66180         in the inet and nsl libraries.  Required on Solaris 5.7.
66181
66182 2005-10-01  Jim Meyering  <jim@meyering.net>
66183
66184         Sync from coreutils.
66185         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
66186         in the inet and nsl libraries.  Required on Solaris 5.7.
66187
66188 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
66189
66190         * lib/getdelim.c (getdelim): Remove unused variables.
66191
66192 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
66193
66194         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
66195         so that the code works even with ancient cpp.  Portability problem
66196         with GCC 2.7.2.1 reported by Thomas M.Ott.
66197
66198 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
66199
66200         * modules/regex (Depends-on): Add strcase.
66201
66202         * modules/gethostname (Licence): Change from GPL to LGPL, since
66203         gethostname.c is a trivial implementation of a standard library
66204         function.
66205         * modules/poll (License): Change from GPL to LGPL, since it's
66206         derived from LGPL code.
66207
66208 2005-09-27  Jim Meyering  <jim@meyering.net>
66209
66210         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
66211         HAVE_CONFIG_H.
66212
66213         * lib/intprops.h (signed_type_or_expr__): Define.
66214         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
66215         for unsigned types.
66216
66217 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
66218
66219         * lib/verify.h (verify_expr): Remove, replacing with:
66220         (verify_true): New macro that returns true instead of void.
66221         (verify_type__): Remove.
66222         (verify): Use verify_true rather than verify_type__.
66223
66224 2005-09-26  Bruno Haible  <bruno@clisp.org>
66225
66226         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
66227         is necessary.
66228         (lib_SOURCES): Remove mbchar.c.
66229         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
66230         (Files): Add m4/mbrtowc.m4.
66231         * modules/mbiter: Likewise.
66232         * modules/mbuiter: Likewise.
66233
66234 2005-09-26  Bruno Haible  <bruno@clisp.org>
66235
66236         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
66237         compile mbchar.c if they are not both present.
66238         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
66239         * m4/mbiter.m4 (gl_MBITER): Likewise.
66240         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
66241         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
66242         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
66243
66244 2005-09-25  Jim Meyering  <jim@meyering.net>
66245
66246         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
66247         also uses socklen_t.
66248
66249 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
66250
66251         * lib/utimens.c (ENOSYS): Define if not already defined.
66252         (futimens): Support having a null PATH if the file descriptor
66253         is nonnegative.
66254
66255         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
66256         Remove.
66257         (__attribute): Define to empty unless GCC 3.1 or later.
66258         This works around a core dump on OpenBSD 3.4, which has GCC
66259         2.95.3, which dumps core when given __attribute__(()).  It also
66260         simplifies other tests, since we really don't want to bother with
66261         worrying about which ancient version of GCC supported what.
66262         Original problem reported by Yoann Vandoorselaere, with part of
66263         the fix suggested by Derek Price.
66264
66265 2005-09-24  Jim Meyering  <jim@meyering.net>
66266
66267         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
66268         so we can once again use a positive bitfield width of 1 -- now we
66269         don't have to explain why we were using a bitfield width of 2.
66270
66271 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
66272
66273         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
66274         and similarly for the other external symbols.  Problem reported
66275         by James Gallager.
66276
66277         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
66278         bug reported by Jim Meyering.
66279
66280         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
66281         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
66282         not needed, since socklen is a prerequisite module.
66283
66284 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
66285
66286         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
66287         Problem reported by Eric Blake.
66288         (getaddrinfo): Initialize se so that it's not garbage.
66289         Redo internal storage allocation so that it doesn't make unportable
66290         assumptions about alignment.
66291         Fix a memory leak.
66292
66293         * lib/utimens.c (futimens): Use futimesat if available.
66294         Prefer it to futimes since it doesn't have the futimes bug.
66295
66296         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
66297         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
66298         Instead, declare a function that returns a pointer to an array,
66299         and use verify_type__ to declare the size of the array.
66300         Problem and germ of a solution reported by Bruno Haible.
66301         (verify_type__): Use 2, not 1, for bitfield size, to avoid
66302         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
66303
66304 2005-09-23  Jim Meyering  <jim@meyering.net>
66305
66306         Sync from coreutils.
66307         Correct build failure (socklen_t not defined) on at least
66308         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
66309         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
66310
66311 2005-09-23  Jim Meyering  <jim@meyering.net>
66312
66313         * modules/getaddrinfo (Depends-on): Add socklen.
66314
66315 2005-09-23  Bruno Haible  <bruno@clisp.org>
66316
66317         * tests/test-verify.c: New file.
66318
66319 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66320
66321         Sync from coreutils.
66322
66323         * modules/argmatch (Depends-on): Add verify.
66324         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
66325         unistd-safer.
66326         * modules/save-cwd (Depends-on): Likewise.
66327
66328         * modules/openat (Files): Add lib/openat-die.c.
66329         (Depends-on): Remove error, exitfail.
66330         Add dirname.
66331
66332         * modules/verify: New file.
66333         * MODULES.html.sh (Diagnostics <assert.h>): New section,
66334         with "verify" module.
66335
66336 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66337
66338         Sync from coreutils.
66339
66340         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
66341         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
66342         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
66343         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
66344         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
66345         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
66346         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
66347         Don't bother checking for string.h, stdlib.h, unistd.h.
66348         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
66349         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
66350         module's job.
66351         * m4/jm-macros.m4 (gl_MACROS): Likewise.
66352         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
66353
66354         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
66355         (gl_GETDATE): Use it.
66356
66357         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
66358
66359 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66360
66361         Sync from coreutils.
66362
66363         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
66364         stat-time.h.
66365         * lib/argmatch.h: Include verify.h
66366         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
66367         (ARGMATCH_ASSERT): Remove; unused.
66368         * lib/canonicalize.c: Assume STDC_HEADERS.
66369         * lib/exclude.c: Include "strcase.h".
66370         * lib/regex_internal.h [!defined _LIBC]: Likewise.
66371         * lib/getusershell.c: Include stdio--.h rather than stdio.h
66372         and stdio-safer.h.
66373         (getusershell): Call fopen, not fopen_safer.
66374         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
66375         Do not include unistd-safer.h.
66376         (save_cwd): Don't call fd_safer; no longer needed
66377         now that we include fcntl--.h.
66378
66379         * lib/getdate.y (relative_time): New type.
66380         (RELATIVE_TIME_0): New constant.
66381         (parser_control): Use relative_time instead of doing it ourselves.
66382         (%union): Add new relative_time rel member.
66383         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
66384         Now typeless.
66385         (relunit, relunit_snumber): Now of type rel.
66386         (zone, rel, relunit, get_date): Adjust to above changes.
66387
66388         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
66389         Do not include unistd-safer.h.
66390         (getloadavg): Don't call fd_safer; no longer needed
66391         now that we include fcntl--.h.
66392
66393         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
66394         (make_dir_parents): Treat ENOSYS like EEXIST.
66395
66396         Improve quality of diagnostics on restore_cwd failure.
66397         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
66398         (make_dir_parents): Last arg is now int * (for errno), not bool *.
66399         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
66400         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
66401         each time through the loop.  Do not diagnose restore_cwd failure;
66402         that is the caller's job (and perhaps the caller does not care).
66403
66404         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
66405         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
66406         If the file already exists but is not a directory, don't bother
66407         to try to make its parents.
66408         Close potential file descriptor leak if we can't chdir("/") (!).
66409         Don't always return true if chdir($PWD) fails; return true only
66410         if the requested action was done successfully (except for the
66411         chdir($PWD)).
66412         Don't log final directory unless we actually made it.
66413         Refactor to avoid duplicate code to fix up permissions.
66414         Don't attempt to fix up parent permissions if chdir($PWD) fails.
66415
66416         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
66417         to make it a bit faster and (I hope) clearer.
66418         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
66419         Fix bug in formats like %2N.
66420
66421         * lib/verify.h: New file.
66422
66423 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66424
66425         Sync from coreutils.
66426         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
66427
66428 2005-09-22  Jim Meyering  <jim@meyering.net>
66429
66430         Sync from coreutils.
66431
66432         * m4/lstat.m4 (gl_FUNC_LSTAT):
66433         Use AC_LIBSOURCES to require lstat.c and lstat.h.
66434         Remove obsolete comment.
66435         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
66436         * m4/xstrtod.m4: Likewise.
66437
66438         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
66439
66440 2005-09-22  Jim Meyering  <jim@meyering.net>
66441
66442         Sync from coreutils.
66443
66444         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
66445
66446         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
66447         the .tm_year member, since otherwise gcc-4.0 would now warn about
66448         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
66449
66450         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
66451         order to avoid an unsuppressible warning from gcc on 64-bit systems.
66452
66453         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
66454         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
66455         when run in a time zone for which daylight savings time is in effect
66456         for the starting date.
66457
66458         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
66459         stop us from restricting permissions of just-created absolute-named
66460         directories.
66461         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
66462         to restore initial working directory.
66463         * lib/mkdir-p.c (make_dir_parents): New parameter:
66464         different_working_dir, to tell caller if/when we change the working
66465         directory and are unable to return to the initial one.
66466         * lib/mkdir-p.h (make_dir_parents): Update prototype.
66467         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
66468         `return false'.  This fixes a bug introduced on 2004-07-30.
66469
66470         * lib/openat.c (fdopendir): Be sure to close the supplied
66471         file descriptor before returning.  This makes our replacement
66472         implementation a little closer to Solaris's, where fdopendir
66473         ties the file descriptor to the returned DIR* pointer.
66474         * lib/openat.c (unlinkat): New function.
66475         * lib/openat.h (unlinkat): Add prototype.
66476         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
66477         (openat_restore_fail): Rename from openat_restore_die.
66478         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
66479
66480         Provide an alternative to exiting immediately upon save_cwd or
66481         restore_cwd failure.  Now, an application can arrange e.g.,
66482         to perform a longjump in that case.
66483         * lib/openat.c: Include dirname.h.
66484         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
66485         (rpl_openat, fdopendir, fstatat): Call openat_save_die
66486         and openat_restore_die rather than calling error directly.
66487         Don't include "error.h" or "exitfail.h"; they're no longer needed.
66488
66489         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
66490         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
66491         define.
66492
66493         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
66494         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
66495                             int utc, int nanoseconds);
66496         Background:
66497         date should not have to allocate a megabyte of virtual memory to
66498         handle a format argument like +%1048575T.  When implemented with
66499         strftime, it must allocate such a buffer, use strftime to fill it
66500         in, print it, then free it.
66501         With fprintftime, it simply prints everything and exits.
66502         With no need for memory allocation, that's one fewer way to fail.
66503         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
66504         optional field width, not before, so we accept %9:z, not %:9z.
66505         (my_strftime): Be sure to use L_('x') for literals.
66506
66507         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
66508         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
66509         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
66510         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
66511         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
66512         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
66513         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
66514         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
66515         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
66516         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
66517         * lib/xgethostname.c, lib/xreadlink.c:
66518         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
66519
66520         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
66521         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
66522         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
66523         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
66524         and don't include <sys/file.h>).
66525
66526 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
66527
66528         Sync from coreutils.
66529
66530         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
66531         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
66532         [!LDAV_DONE]: Avoid unused variable warning.
66533
66534 2005-09-21  Bruno Haible  <bruno@clisp.org>
66535
66536         * lib/unicodeio.h (unicode_to_mb): New declaration.
66537
66538 2005-09-20  Derek Price  <derek@ximbiot.com>
66539
66540         * lib/getaddrinfo.c: Don't include <netdb.h> included from
66541         getaddrinfo.h.
66542
66543 2005-09-20  Bruno Haible  <bruno@clisp.org>
66544
66545         * gnulib-tool: Remove trailing slashes from the values specified for
66546         --source-base, --m4-base, --tests-base, --aux-dir.
66547         Suggested by Simon Josefsson <jas@extundo.com>.
66548
66549 2005-09-20  Bruno Haible  <bruno@clisp.org>
66550
66551         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
66552         func_modules_to_filelist, func_import, func_create_testdir): Make all
66553         sorting results locale-independent, so that gnulib-cache.m4 doesn't
66554         change when gnulib-tool is invoked in a different locale.
66555
66556 2005-09-19  Simon Josefsson  <jas@extundo.com>
66557
66558         * m4/socklen.m4: Fix typo.
66559
66560 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66561
66562         Use a consistent style for including <config.h>.
66563         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
66564         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
66565         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
66566         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
66567         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
66568         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
66569         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
66570         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
66571         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
66572         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
66573         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
66574         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
66575         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
66576         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
66577         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
66578         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
66579         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
66580         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
66581         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
66582         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
66583         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
66584         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
66585         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
66586         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
66587         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
66588         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
66589         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
66590         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
66591         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
66592         lib/xstrtoumax.c, lib/yesno.c:
66593         Standardize inclusion of config.h.
66594         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
66595         lib/inttostr.h:  Removed inclusion of config.h from header files.
66596         * lib/inttostr.c:  Adjusted in-tree users.
66597         * lib/timespec.h: Remove superfluous warning to include config.h.
66598         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
66599         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
66600         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
66601         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
66602         config.h with HAVE_CONFIG_H.
66603
66604 2005-09-19  Jim Meyering  <jim@meyering.net>
66605
66606         * modules/pathmax (License): Change to LGPL.
66607
66608 2005-09-19  Derek Price  <derek@ximbiot.com>
66609
66610         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
66611
66612 2005-09-19  Bruno Haible  <bruno@clisp.org>
66613
66614         * gnulib-tool (import): Provide default for --tests-base.
66615
66616 2005-09-19  Bruno Haible  <bruno@clisp.org>
66617
66618         * doc/quote.texi: New file, extracted from gnulib.texi.
66619         * doc/ctime.texi: New file, extracted from gnulib.texi.
66620         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
66621         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
66622         * doc/gnulib.texi: Include them.
66623
66624 2005-09-18  Bruno Haible  <bruno@clisp.org>
66625
66626         Portability fix.
66627         * gnulib-tool (func_readlink): New function.
66628         (func_ln_if_changed): Use it.
66629
66630 2005-09-18  Bruno Haible  <bruno@clisp.org>
66631
66632         * gnulib-tool: Support --with-tests also with --import.
66633         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
66634         (func_import): Use variables $testsbase and $inctests. Emit a
66635         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
66636         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
66637         SUBDIRS += $testsdir.
66638         (func_create_testdir): Update.
66639
66640 2005-09-18  Bruno Haible  <bruno@clisp.org>
66641
66642         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
66643         instead of $dry_run.
66644         (func_cp_if_changed, func_mv_if_changed): Remove functions.
66645         (func_ln_if_changed): Don't handle dry-run here.
66646         (func_import): In dry-run mode, detect more precisely which actions
66647         would be performed, and don't use "...ing" verbs.
66648
66649 2005-09-18  Bruno Haible  <bruno@clisp.org>
66650
66651         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
66652         (func_import): Use join on two temporary files instead of three nested
66653         loops, in order to determine which files are new or old.
66654
66655 2005-09-18  Bruno Haible  <bruno@clisp.org>
66656
66657         * gnulib-tool (func_import): Comment out code that spits out the
66658         new files with --dry-run.
66659
66660 2005-09-18  Bruno Haible  <bruno@clisp.org>
66661
66662         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
66663
66664 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
66665
66666         * lib/stat-time.h: New file.
66667         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
66668         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
66669         in a different way.
66670         (timespec_cmp): New function.
66671         * lib/utimecmp.c: Include stat-time.h.
66672         (SYSCALL_RESOLUTION): Depend on whether various struct stat
66673         members exist, not on the obsolescent ST_MTIM_NSEC.
66674         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
66675
66676 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
66677
66678         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
66679
66680 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
66681
66682         * MODULES.html.sh (File system functions): Add stat-time.
66683         * modules/stat-time: New file.
66684         * modules/timespec (Files): Remove m4/st_mtim.m4; this
66685         is now done in a different way, by the stat-time module.
66686         * modules/utimecmp (Depends-on): Add stat-time.
66687
66688 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
66689
66690         * m4/st_mtim.m4: Remove.  Superseded by...
66691         * m4/stat-time.m4: New file.
66692         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
66693         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
66694
66695 2005-09-15  Derek Price  <derek@ximbiot.com>
66696
66697         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
66698
66699 2005-09-15  Derek Price  <derek@ximbiot.com>
66700
66701         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
66702         * lib/regex_internal.c: Ditto, using this...
66703         (__GNUC_PREREQ): ...new macro.
66704         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
66705         using...
66706         (__GNUC_PREREQ): ...this new macro.
66707
66708         * lib/strstr.h: Include string.h. Define strstr as a macro here.
66709
66710 2005-09-15  Derek Price  <derek@ximbiot.com>
66711             Paul Eggert  <eggert@cs.ucla.edu>
66712
66713         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
66714         changes, consolidating in...
66715         * lib/regex_internal.h: ...this file.
66716
66717 2005-09-13  Jim Meyering  <jim@meyering.net>
66718
66719         * lib/canon-host.c: Filter through gnu indent and reword comments
66720         slightly.
66721         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
66722
66723 2005-09-13  Derek Price  <derek@ximbiot.com>
66724
66725         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
66726         failure.
66727         Reported by Jim Meyering  <jim@meyering.net>.
66728
66729 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
66730
66731         * lib/base64.c: Typo.
66732         (base64_encode): Put b64str in initialized data section.
66733
66734 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
66735
66736         Merge glibc and coreutils changes into gnulib, plus a few
66737         extra fixes.
66738         * lib/md5.c: Use #error rather than a string.
66739         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
66740         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
66741         (__attribute__): Define to empty for non recent-GCC.
66742         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
66743         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
66744         Renamed from their non-__ counterparts, with new macros replacing
66745         them if not _LIBC.  Add __THROW attribute.
66746         (rol): Remove.
66747         (struct md5_ctx): Align buffer if using GCC.
66748         * lib/sha1.h (struct sha1_ctx): Likewise.
66749         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
66750         The old name was backwards.
66751         (NOTSWAP): Remove; not used.
66752         (rol): New macro, moved here from md5.h.
66753         (sha1_process_block): Remove a FIXME that doesn't make sense.
66754
66755 2005-09-12  Derek Price  <derek@ximbiot.com>
66756
66757         Return usable errors from canon-host.
66758         * lib/canon-host.h: New file.
66759         * lib/canon-host.c (canon_host): Wrap...
66760         (canon_host_r): ...this new function, which now relies exclusively on
66761         getaddrinfo.
66762         (ch_strerror): New function.
66763         (last_cherror): New global.
66764         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
66765         interface.
66766         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
66767         void *.
66768         (freeaddrinfo): Free ai->ai_canonname when set.
66769
66770 2005-09-12  Derek Price  <derek@ximbiot.com>
66771
66772         Make canon-host require getaddrinfo.
66773         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
66774         AC_LIBSOURCE canon-host.h.  Call...
66775         (gl_PREREQ_CANON_HOST): ...this new function, which requires
66776         gl_GETADDRINFO.
66777         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
66778
66779 2005-09-12  Derek Price  <derek@ximbiot.com>
66780
66781         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
66782         LGPL.
66783         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
66784
66785 2005-09-12  Derek Price  <derek@ximbiot.com>
66786
66787         * lib/gai_strerror.c: Include config.h when available.  Include
66788         getaddrinfo.h before other headers to test interface.
66789         Reported by Larry Jones <lawrence.jones@ugs.com>.
66790
66791 2005-09-12  Derek Price  <derek@ximbiot.com>
66792             Paul Eggert  <eggert@cs.ucla.edu>
66793
66794         * modules/glob (Files): Add glob-libc.h.
66795
66796 2005-09-12  Derek Price  <derek@ximbiot.com>
66797             Paul Eggert  <eggert@cs.ucla.edu>
66798
66799         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
66800         glob_.h, glob-libc.h.
66801         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
66802
66803 2005-09-12  Derek Price  <derek@ximbiot.com>
66804             Paul Eggert  <eggert@cs.ucla.edu>
66805
66806         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
66807         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
66808         protecting things that should be done only in gnulib contexts.
66809         * lib/glob_.h: New file, containing only the glob things needed for
66810         gnulib.
66811         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
66812         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
66813         (glob, globfree, glob_pattern_p): Now defined simply in terms of
66814         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
66815         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
66816         and to respect the namespace rules better.
66817
66818 2005-09-08  Simon Josefsson  <jas@extundo.com>
66819
66820         * modules/socklen: New file.
66821
66822 2005-09-08  Simon Josefsson  <jas@extundo.com>
66823
66824         * m4/socklen.m4: New file.
66825
66826 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66827
66828         * modules/utimens (Files): Add m4/utimbuf.m4, since
66829         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
66830         Reported by Sergey Poznyakoff.
66831
66832 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66833
66834         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
66835         definitions, since that's the preferred style in glibc.
66836         Fix a minor spacing issue, and update copyright notice to match
66837         glibc's.
66838
66839 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66840
66841         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
66842
66843 2005-09-06  Simon Josefsson  <jas@extundo.com>
66844
66845         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
66846         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
66847
66848 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66849
66850         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
66851         warning.
66852
66853 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66854
66855         * config/srclist.txt: Add glibc bug 1302.
66856
66857 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
66858
66859         Change bitset word type from unsigned int to unsigned long int,
66860         as this has better performance on typical 64-bit hosts.
66861         Port bitset code to hosts with unusual word sizes.
66862         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
66863         (build_collating_symbol):
66864         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
66865         argument is a bitset.  This is merely a style issue, but it makes
66866         it clearer that an entire array is expected.
66867         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
66868         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
66869         Port to the case where bitset_word is not the same as unsigned int.
66870         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
66871         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
66872         Likewise.
66873         * lib/regexec.c (check_dst_limits_calc_pos_1,
66874         check_subexp_matching_top):
66875         (build_trtable, group_nodes_into_DFAstates):
66876         Likewise.
66877         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
66878         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
66879         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
66880         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
66881         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
66882         * lib/regcomp.c (optimize_subexps, lower_subexp):
66883         Work even if bitset_word has holes in its bitwise representation.
66884         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
66885         * lib/regexec.c (check_dst_limits_calc_pos_1,
66886         check_subexp_matching_top):
66887         Likewise.
66888         * lib/regex_internal.c (re_string_reconstruct):
66889         Don't assume UCHAR_MAX == 255.
66890         * lib/regex_internal.h (bitset_set_all): Likewise.
66891         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
66892         All uses changed.
66893         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
66894         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
66895         All uses changed.
66896         (BITSET_WORD_MAX): New macro.
66897         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
66898         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
66899         (bitset_empty, bitset_copy):
66900         Prefer sizeof (bitset) to multiplying it out ourselves.
66901         (bitset_not_merge): Remove; unused.
66902         (bitset_contain): Return bool, not unsigned int with one bit on.
66903         All callers changed.
66904         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
66905         alignment than re_node_set; do this by defining a new internal
66906         type struct dests_alloc and using it to allocate memory.
66907
66908 2005-09-05  Bruno Haible  <bruno@clisp.org>
66909
66910         * gnulib-tool (func_import): Fix comparison in handling of symbolic
66911         links.
66912
66913 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
66914
66915         * modules/size_max (Makefile.am): Add size_max.h
66916
66917 2005-09-04  Derek Price  <derek@ximbiot.com>
66918
66919         * gnulib-tool (func_import): Fix reversed $symbolic logic.
66920
66921 2005-09-03  Simon Josefsson  <jas@extundo.com>
66922
66923         * gnulib-tool: Fix typo.
66924
66925 2005-09-03  Simon Josefsson  <jas@extundo.com>
66926
66927         * config/srclist.txt: Add glibc bug 1293.
66928
66929 2005-09-03  Derek Price  <derek@ximbiot.com>
66930
66931         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
66932         From Larry Jones <lawrence.jones@ugs.com>.
66933
66934 2005-09-02  Simon Josefsson  <jas@extundo.com>
66935
66936         * modules/socklen: New file.
66937
66938 2005-09-02  Simon Josefsson  <jas@extundo.com>
66939
66940         * modules/havelib: New module.
66941
66942         * modules/gettext, modules/iconv, modules/lock, modules/readline:
66943         Use havelib.
66944
66945 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66946
66947         Check for arithmetic overflow when calculating sizes, to prevent
66948         some buffer-overflow issues.  These patches are conservative, in the
66949         sense that when I couldn't determine whether an overflow was possible,
66950         I inserted a run-time check.
66951         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
66952         macros.
66953         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
66954         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
66955         (re_xnrealloc, re_x2nrealloc): New inline functions.
66956         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
66957         parse_bracket_exp):
66958         (build_equiv_class, build_charclass): Check for arithmetic overflow
66959         in size expression calculations.
66960         * lib/regex_internal.c (re_string_realloc_buffers):
66961         (build_wcs_upper_buffer, re_node_set_add_intersect):
66962         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
66963         (re_dfa_add_node, register_state): Likewise.
66964         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
66965         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
66966         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
66967         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
66968
66969 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66970
66971         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
66972         m4/ulonglong.m4.  Problem reported by Martin Lambers.
66973
66974 2005-09-02  Bruno Haible  <bruno@clisp.org>
66975
66976         Support for lib vs. lib64 distinction on biarch platforms.
66977         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
66978         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
66979         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
66980
66981 2005-09-02  Bruno Haible  <bruno@clisp.org>
66982
66983         * gnulib-tool (import): In the other first-use case, provide defaults
66984         as well.
66985
66986 2005-09-02  Bruno Haible  <bruno@clisp.org>
66987
66988         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
66989         patches not yet found in the latest gettext release.
66990
66991 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66992
66993         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
66994         to avoid a collision with bits/local_lim.h in glibc.
66995         All uses changed.  Problem reported by Dmitry V. Levin in
66996         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
66997
66998         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
66999         bugs in int versus size_t comparisons.
67000         (re_string_context_at): Fix bug where the code assumed that
67001         Idx is signed.
67002
67003         Use bool where appropriate.
67004         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
67005         All callers changed.
67006         (calc_eclosure_iter): Likewise, for ROOT arg.
67007         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
67008         (build_charclass_op): Likewise, for NON_MATCH arg.
67009         * lib/regex_internal.c (re_string_allocate, re_string_construct):
67010         (re_string_construct_common): Likewise, for ICASE arg.
67011         * lib/regexec.c (re_search_2_stub, re_search_stub):
67012         Likewise, for RET_LEN arg.
67013         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
67014         (set_regs): Likewise, for FL_BACKTRACK arg.
67015         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
67016         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
67017         (calc_eclosure_iter, parse_bracket_exp):
67018         Use bool for internal variables that are booleans.
67019         * lib/regexec.c (re_search_internal, check_matching,
67020         proceed_next_node):
67021         (set_regs, build_sifted_states, sift_states_bkref):
67022         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
67023         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
67024         (find_collation_sequence_value):
67025         Likewise.
67026         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
67027         (re_node_set_compare):
67028         Return bool, not int. All callers changed.
67029         * lib/regexec.c (check_halt_node_context, check_dst_limits):
67030         (build_trtable, check_node_accept): Likewise.
67031         * lib/regex_internal.h: Include stdbool.h.
67032
67033         Fix bugs uncovered when converting to bool.
67034         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
67035         failure instead of charging ahead blindly.
67036         * lib/regex_internal.c (register_state): Likewise.
67037         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
67038         for freeing internal storage.
67039         (group_nodes_into_DFA_states): Use unsigned int, not int, for
67040         bitset pieces used as boolean, to avoid undefined behavior
67041         on hosts that do int overflow checking.
67042
67043 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67044
67045         * config/srclist.txt: Add glibc bugs 1285-1287.
67046
67047 2005-09-01  Jim Meyering  <jim@meyering.net>
67048
67049         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
67050         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
67051         Require gl_STAT_MACROS, too.
67052
67053 2005-09-01  Bruno Haible  <bruno@clisp.org>
67054
67055         * gnulib-tool (import): In the first-use case, provide defaults.
67056
67057 2005-09-01  Bruno Haible  <bruno@clisp.org>
67058
67059         * gnulib-tool (func_import): Remove the .tmp files.
67060
67061 2005-09-01  Bruno Haible  <bruno@clisp.org>
67062
67063         * gnulib-tool (func_import): Fix handling of symbolic links.
67064
67065 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67066
67067         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
67068         old glibc regex code mishandles strings longer than 2**31 bytes.
67069         This patch fixes this when the regex code is used in gnulib
67070         (i.e., outside glibc).
67071
67072         This patch should not affect the use of the regex code inside
67073         glibc.  No doubt this problem also needs to be handled for glibc
67074         as well, but the result will be an incompatible change to the
67075         glibc ABI, and the old ABI will have to be supported too.  That
67076         can be the the subject for another patch.
67077
67078         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
67079         governing whether the rest of this patch is active.  By default,
67080         the macro is disabled and the patch has no effect.
67081         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
67082         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
67083         (struct re_pattern_buffer, re_search, re_search_2, re_match):
67084         (re_match_2, re_set_registers): Use the new types.
67085         * lib/regex_internal.h (Idx, re_hashval_t): New types.
67086         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
67087         New macros.
67088         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
67089         (re_string_context_at, bin_tree_t, re_dfastate_t):
67090         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
67091         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
67092         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
67093         (re_string_char_size_at, re_string_wchar_at):
67094         (re_string_elem_size_at):
67095         Use the new types and macros to port to 64-bit hosts.
67096         Use unsigned types for internal values, so that the code
67097         mostly works even for arrays larger than SSIZE_MAX.
67098         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
67099         (search_duplicated_node, calc_eclosure_iter, fetch_number):
67100         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
67101         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
67102         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
67103         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
67104         (calc_inveclosure, parse_dup_op, build_range_exp):
67105         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
67106         (fetch_number, create_token_tree, mark_opt_subexp):
67107         Likewise.
67108         * lib/regex_internal.c (re_string_construct_common,
67109         create_ci_newstate):
67110         (create_cd_newstate, re_string_allocate, re_string_construct):
67111         (re_string_realloc_buffers, build_wcs_upper_buffer):
67112         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
67113         (re_string_reconstruct, re_string_peek_byte_case):
67114         (re_string_fetch_byte_case, re_string_context_at):
67115         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
67116         (re_node_set_init_copy, re_node_set_add_intersect):
67117         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
67118         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
67119         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
67120         (re_acquire_state, re_acquire_state_context, register_state):
67121         Likewise.
67122         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
67123         search_cur_bkref_entry):
67124         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
67125         (re_search_internal, re_search_2_stub, re_search_stub)
67126         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
67127         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
67128         (update_cur_sifted_state, check_dst_limits):
67129         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
67130         (check_subexp_limits, sift_states_bkref, merge_state_array):
67131         (check_subexp_matching_top, get_subexp, get_subexp_sub):
67132         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
67133         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
67134         (expand_bkref_cache, check_node_accept_bytes):
67135         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
67136         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
67137         (acquire_init_state_context, check_halt_node_context):
67138         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
67139         (sift_states_backward, clean_state_log_if_needed):
67140         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
67141         (find_recover_state, transit_state_sb, transit_state_mb):
67142         (transit_state_bkref, build_trtable, match_ctx_clean):
67143         Likewise.
67144         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
67145         to work around an assumption that REG_MISSING is negative.
67146
67147         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
67148         (seek_collating_symbol_entry) [defined _LIBC]:
67149         (lookup_collation_sequence_value) [defined _LIBC]:
67150         (build_range_exp, build_collating_symbol) [defined _LIBC]:
67151         Use prototypes rather than old-style function definitions.
67152         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
67153         (transit_state_sb) [0]:
67154         (find_collation_sequence_value) [defined _LIBC]: Likewise.
67155
67156         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
67157         rm_eo.
67158
67159         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
67160         (optimize_subexps, lower_subexp):
67161         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
67162         since the signed shift might overflow.  Use 1u<<31 instead.
67163         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
67164         Likewise.
67165         * lib/regexec.c (check_dst_limits_calc_pos_1,
67166         check_subexp_matching_top): Likewise.
67167
67168         * lib/regcomp.c (optimize_subexps, lower_subexp):
67169         Use CHAR_BIT rather than 8, for clarity.
67170         * lib/regexec.c (check_dst_limits_calc_pos_1):
67171         (check_subexp_matching_top): Likewise.
67172         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
67173         have to worry about portability issues when shifting it left.
67174         Remove no-longer-needed test for table_size > 0.
67175         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
67176         in a word, as the resulting behavior is undefined.
67177         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
67178         in one case, a <= should have been an <, and in another case the
67179         whole test was missing.
67180         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
67181         the standard name CHAR_BIT.
67182         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
67183         this is not true on one's complement and signed-magnitude hosts.
67184
67185         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
67186         next_last_offset.
67187         (struct re_dfa_t): Remove unused member states_alloc.
67188         * lib/regcomp.c (init_dfa): Don't initialize unused members.
67189
67190 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67191
67192         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
67193         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
67194         and large-file glibc and in 32-bit large-file Solaris.
67195
67196 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67197
67198         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
67199         lengths fit in regoff_t; this isn't true if regoff_t is the same
67200         width as size_t.
67201         * lib/regex.c (re_search_internal): 5th arg is LAST_START
67202         (= START + RANGE) instead of RANGE.  This avoids overflow
67203         problems when regoff_t is the same width as size_t.
67204         All callers changed.
67205         (re_search_2_stub): Check for overflow when adding the
67206         sizes of the two strings.
67207         (re_search_stub): Check for overflow when adding START
67208         to RANGE; if it occurs, substitute the extreme value.
67209
67210 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67211
67212         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
67213
67214 2005-08-31  Jim Meyering  <jim@meyering.net>
67215
67216         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
67217         a pointer-to-const.
67218         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
67219         (register_state): Likewise.
67220         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
67221         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
67222         (group_nodes_into_DFAstates): Likewise.
67223
67224 2005-08-31  Jim Meyering  <jim@meyering.net>
67225
67226         * check-module: Add a FIXME comment.
67227
67228 2005-08-31  Eric Blake  <ebb9@byu.net>
67229
67230         * modules/unistd-safer (Files): Add unistd--.h.
67231         * modules/stdio-safer (Files): Add stdio--.h.
67232
67233 2005-08-31  Derek Price  <derek@ximbiot.com>
67234
67235         * lib/getdelim.c (getdelim): Return EOF on EOF.
67236         Reported by Larry Jones <lawrence.jones@ugs.com>.
67237
67238 2005-08-31  Bruno Haible  <bruno@clisp.org>
67239
67240         Avoid unnecessary diffs in the generated lib/Makefile.am.
67241         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
67242         the generated files.
67243         (func_import): Don't set cmd.
67244
67245 2005-08-31  Bruno Haible  <bruno@clisp.org>
67246
67247         * lib/strstr.c: Include <stddef.h>, for NULL.
67248         * lib/strcasestr.c: Likewise.
67249         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
67250
67251 2005-08-31  Bruno Haible  <bruno@clisp.org>
67252
67253         * gnulib-tool: New option --macro-prefix.
67254         (func_import): Use macro_prefix.
67255         (import): Handle option --macro-prefix.
67256
67257 2005-08-31  Bruno Haible  <bruno@clisp.org>
67258
67259         * gnulib-tool (import): Rename most ac_* variables to cached_*.
67260         Also use new variables cached_lgpl, cached_libtool.
67261
67262 2005-08-31  Bruno Haible  <bruno@clisp.org>
67263
67264         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
67265         always instantiating them.
67266
67267 2005-08-31  Bruno Haible  <bruno@clisp.org>
67268
67269         * gnulib-tool (func_import): Read the previous cached settings
67270         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
67271         earlier added by gnulib but are now dropped. Warn when a gnulib file
67272         overwrites a non-gnulib file.
67273
67274 2005-08-31  Bruno Haible  <bruno@clisp.org>
67275
67276         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
67277         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
67278         projects that don't keep autogenerated files in CVS. Put into
67279         actioncmd only the specified modules, not the transitive closure.
67280
67281 2005-08-31  Bruno Haible  <bruno@clisp.org>
67282
67283         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
67284         Create directories that shall be filled.
67285         (import): Don't look for gl_* macros in configure.ac. Recurse across
67286         all directories containing a gnulib-cache.m4 files, if meaningful.
67287
67288 2005-08-31  Bruno Haible  <bruno@clisp.org>
67289
67290         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
67291         (import): Set seen_libtool when we see gl_LIBTOOL.
67292
67293 2005-08-31  Bruno Haible  <bruno@clisp.org>
67294
67295         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
67296         declaration macro definitions from generated gnulib.m4.
67297
67298 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
67299
67300         * lib/iconvme.h: Add prototype for iconv_alloc.
67301
67302 2005-08-29  Simon Josefsson  <jas@extundo.com>
67303
67304         * lib/iconvme.c: Fix errno.
67305
67306 2005-08-29  Bruno Haible  <bruno@clisp.org>
67307
67308         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
67309         that it works when the directory contains spaces.
67310
67311 2005-08-29  Bruno Haible  <bruno@clisp.org>
67312
67313         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
67314
67315 2005-08-29  Bruno Haible  <bruno@clisp.org>
67316
67317         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
67318         Emit more advice.
67319
67320 2005-08-29  Bruno Haible  <bruno@clisp.org>
67321         and Stepan Kasal  <kasal@ucw.cz>
67322
67323         * check-module: If more parameters are given, check each of them
67324         separately; add more exceptions, as noted by Jim Meyering.
67325         (check_module): New procedure.
67326         (%exempt_header): Now contains all exceptions.
67327
67328 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
67329
67330         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
67331
67332 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
67333
67334         * lib/iconvme.c: Split iconv_string into iconv_alloc.
67335
67336 2005-08-28  Bruno Haible  <bruno@clisp.org>
67337
67338         * m4/gnulib-tool.m4: New file.
67339
67340 2005-08-27  Jim Meyering  <jim@meyering.net>
67341
67342         * modules/unistd-safer (Files): Add pipe-safer.c.
67343         * modules/fcntl-safer (Files): Add creat-safer.c.
67344
67345 2005-08-27  Jim Meyering  <jim@meyering.net>
67346
67347         * m4/stdlib-safer.m4: New file.  From coreutils.
67348         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
67349         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
67350         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
67351         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
67352         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
67353
67354 2005-08-27  Jim Meyering  <jim@meyering.net>
67355
67356         * lib/fopen-safer.c: Merge minor changes from coreutils.
67357         * lib/dup-safer.c: Likewise.
67358         * lib/fd-safer.c: Likewise.
67359
67360         Merge from coreutils.
67361         * lib/stdio--.h: New file.
67362         * lib/stdlib--.h: New file.
67363         * lib/mkstemp-safer.c: New file.
67364
67365         GNU tar needs these.
67366         * lib/pipe-safer.c: New file.
67367         * lib/creat-safer.c: New file.
67368         * lib/fcntl--.h (creat): Define to creat_safer.
67369         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
67370         * lib/unistd--.h (pipe): Define to pipe_safer.
67371         * lib/unistd-safer.h: Declare pipe_safer.
67372
67373 2005-08-26  Simon Josefsson  <jas@extundo.com>
67374
67375         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
67376         Haible <bruno@clisp.org>.
67377
67378 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
67379
67380         * lib/regex_internal.h: Remove all references to
67381         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
67382         or better.
67383         (bitset_not, bitset_merge, bitset_not_merge):
67384         (bitset_mask, re_string_allocate, re_string_construct):
67385         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
67386         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
67387         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
67388         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
67389         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
67390         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
67391         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
67392         (re_acquire_state_context):
67393         Remove unnecessary forward decls.
67394         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
67395         Put __attribute at function definition,
67396         now that the function decl has been removed.
67397         * lib/regex_internal.c (re_string_peek_byte_case):
67398         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
67399         Likewise.
67400
67401 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
67402
67403         * m4/regex.m4: Add AC_PREREQ(2.50).
67404         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
67405
67406 2005-08-25  Simon Josefsson  <jas@extundo.com>
67407
67408         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
67409         __fsetlocking.
67410
67411 2005-08-25  Simon Josefsson  <jas@extundo.com>
67412
67413         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
67414         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
67415         GLIBC specific code.
67416
67417 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67418
67419         Make regex safe for g++.  This fixes one real bug (an "err"
67420         that should have been "*err").  g++ problem reported by
67421         Sam Steingold.
67422         * lib/regex_internal.h (re_calloc): New macro, consistent with
67423         re_malloc etc.  All callers of calloc changed to use re_calloc.
67424         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
67425         not int.  All callers changed.
67426         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
67427         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
67428         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
67429         (find_recover_state): Change "err" to "*err"; this fixes what
67430         appears to be a real bug.
67431         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
67432         versus int.
67433
67434 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67435
67436         * modules/regex (Depends-on): Add malloc, since the code
67437         assumes that !malloc(0) means failure.
67438
67439 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67440
67441         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
67442
67443         alloca modernization/simplification for regex.
67444         * lib/regex.c: Remove portability cruft for alloca.  This no longer
67445         needs to be at the start of the file, and can be moved into
67446         regex_internal.h and simplified.
67447         * lib/regex_internal.h: Include <alloca.h>.
67448         (__libc_use_alloca) [!defined _LIBC]: New macro.
67449         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
67450         now works outside glibc.
67451
67452 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67453
67454         * config/srclist.txt: Add glibc bugs 1241, 1245.
67455
67456 2005-08-25  Jim Meyering  <jim@meyering.net>
67457
67458         * lib/open-safer.c: Include <config.h>.
67459         Otherwise, we'd lose LARGEFILE support in any file using
67460         e.g. "fcntl--.h"
67461
67462 2005-08-25  Bruno Haible  <bruno@clisp.org>
67463
67464         * m4/minmax.m4: Require autoconf 2.52.
67465         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
67466         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
67467         alternatives of translit over the alphabet.
67468         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
67469
67470 2005-08-24  Simon Josefsson  <jas@extundo.com>
67471
67472         * tests/test-getpass.c: New file.
67473
67474 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67475
67476         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
67477         for GNU regex features.
67478
67479 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67480
67481         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
67482         * lib/regex.h (regerror): Likewise.
67483
67484         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
67485         requires this.  (The code never needed it.)
67486
67487         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
67488         All uses of recently-renamed identifiers changed to use the new,
67489         POSIX-compliant names.  The code will build and run just fine
67490         without these changes, but it's better to eat our own dog food
67491         and use the standard-conforming names.
67492
67493         * lib/regex.h: Fix a multitude of POSIX name space violations.
67494         These changes have an effect only for programs that define
67495         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
67496         do not change anything for programs compiled in the normal way.
67497         Also, there is no effect on the ABI.
67498
67499         (_REGEX_SOURCE): New macro.
67500         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
67501         defined and _GNU_SOURCE is not; this fixes a name space violation.
67502
67503         Rename the following macros to obey POSIX requirements.
67504         The old names are still visible as macros if _REGEX_SOURCE is defined.
67505         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
67506         RE_BACKSLASH_ESCAPE_IN_LISTS.
67507         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
67508         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
67509         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
67510         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
67511         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
67512         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
67513         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
67514         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
67515         (REG_INTERVALS): renamed from RE_INTERVALS.
67516         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
67517         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
67518         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
67519         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
67520         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
67521         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
67522         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
67523         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
67524         RE_UNMATCHED_RIGHT_PAREN_ORD.
67525         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
67526         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
67527         (REG_DEBUG): renamed from RE_DEBUG.
67528         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
67529         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
67530         unusual, since we can't clash with the POSIX REG_ICASE.
67531         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
67532         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
67533         (REG_NO_SUB): renamed from RE_NO_SUB.
67534         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
67535         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
67536         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
67537         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
67538         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
67539         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
67540         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
67541         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
67542         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
67543         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
67544         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
67545         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
67546         RE_SYNTAX_POSIX_MINIMAL_BASIC.
67547         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
67548         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
67549         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
67550         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
67551         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
67552         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
67553         (REG_FIXED): Renamed from REGS_FIXED.
67554         (REG_NREGS): Renamed from RE_NREGS.
67555
67556         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
67557         of other REG_* macros, since POSIX says the user is allowed to
67558         #undef these macros selectively.
67559
67560         (reg_errcode_t): Update comment stating what other tables need
67561         to be consistent.
67562
67563         Rename the following enum values to obey POSIX requirements.
67564         The old names are still visible as macros.
67565         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
67566         is not defined, since GNU is supposed to be a superset of POSIX as
67567         much as possible, and since we want reg_errcode_t to be a signed
67568         type for implementation consistency.
67569         (_REG_NOERROR): Renamed from REG_NOERROR.
67570         (_REG_NOMATCH): Renamed from REG_NOMATCH.
67571         (_REG_BADPAT): Renamed from REG_BADPAT.
67572         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
67573         (_REG_ECTYPE): Renamed from REG_ECTYPE.
67574         (_REG_EESCAPE): Renamed from REG_EESCAPE.
67575         (_REG_ESUBREG): Renamed from REG_ESUBREG.
67576         (_REG_EBRACK): Renamed from REG_EBRACK.
67577         (_REG_EPAREN): Renamed from REG_EPAREN.
67578         (_REG_EBRACE): Renamed from REG_EBRACE.
67579         (_REG_BADBR): Renamed from REG_BADBR.
67580         (_REG_ERANGE): Renamed from REG_ERANGE.
67581         (_REG_ESPACE): Renamed from REG_ESPACE.
67582         (_REG_BADRPT): Renamed from REG_BADRPT.
67583         (_REG_EEND): Renamed from REG_EEND.
67584         (_REG_ESIZE): Renamed from REG_ESIZE.
67585         (_REG_ERPAREN): Renamed from REG_ERPAREN.
67586         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
67587         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
67588         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
67589         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
67590
67591         (_REG_RE_NAME, _REG_RM_NAME): New macros.
67592         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
67593         changed.  But support the old name if the new one is not defined
67594         and if _REGEX_SOURCE.
67595
67596         Change the following member names in struct re_pattern_buffer.
67597         The old names are still supported if !_REGEX_SOURCE.
67598         The new names are always supported, regardless of _REGEX_SOURCE.
67599         (re_buffer): Renamed from buffer.
67600         (re_allocated): Renamed from allocated.
67601         (re_used): Renamed from used.
67602         (re_syntax): Renamed from syntax.
67603         (re_fastmap): Renamed from fastmap.
67604         (re_translate): Renamed from translate.
67605         (re_can_be_null): Renamed from can_be_null.
67606         (re_regs_allocated): Renamed from regs_allocated.
67607         (re_fastmap_accurate): Renamed from fastmap_accurate.
67608         (re_no_sub): Renamed from no_sub.
67609         (re_not_bol): Renamed from not_bol.
67610         (re_not_eol): Renamed from not_eol.
67611         (re_newline_anchor): Renamed from newline_anchor.
67612
67613         Change the following member names in struct re_registers.
67614         The old names are still supported if !_REGEX_SOURCE.
67615         The new names are always supported, regardless of _REGEX_SOURCE.
67616         (rm_num_regs): Renamed from num_regs.
67617         (rm_start): Renamed from start.
67618         (rm_end): Renamed from end.
67619
67620         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
67621         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
67622         Prepend __ to parameter names.
67623
67624         Undo yesterday's changes.
67625
67626 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67627
67628         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
67629         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
67630         lib/regex.c.
67631
67632 2005-08-24  Jim Meyering  <jim@meyering.net>
67633
67634         Sync from coreutils.
67635         * m4/fcntl-safer.m4: New file.
67636
67637         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
67638         and object files for this module.
67639
67640 2005-08-24  Jim Meyering  <jim@meyering.net>
67641
67642         Sync from coreutils.
67643         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
67644
67645 2005-08-24  Jim Meyering  <jim@meyering.net>
67646
67647         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
67648         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
67649
67650 2005-08-24  Jim Meyering  <jim@meyering.net>
67651
67652         * modules/fcntl-safer: New module.
67653         * modules/fts (Depends-on): Add fcntl-safer.
67654         * MODULES.html.sh (File descriptor based Input/Output):
67655         Add fcntl-safer.
67656
67657 2005-08-24  Bruno Haible  <bruno@clisp.org>
67658
67659         Support for unit test modules.
67660         * modules/README: Mention tests modules.
67661         * modules/TEMPLATE-TESTS: New file.
67662         * gnulib-tool: New options --extract-tests-module, --with-tests and
67663         --tests-base (unused for the moment).
67664         (testsbase, inctests): New variables.
67665         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
67666         (func_verify_module): Exclude TEMPLATE-TESTS.
67667         (func_verify_nontests_module, func_verify_tests_module): New functions.
67668         (func_get_dependencies): Add implicit dependency for tests modules.
67669         (func_get_tests_module): New function.
67670         (func_modules_transitive_closure): When --with-tests was specified,
67671         include the unit tests as well, unless explicitly avoided.
67672         (func_emit_lib_Makefile_am): Ignore the tests modules here.
67673         (func_emit_tests_Makefile_am): New function.
67674         (func_create_testdir): When --with-tests was specified, emit a
67675         tests/ directory.
67676         * MODULES.html.sh (Future developments): Update.
67677
67678 2005-08-24  Bruno Haible  <bruno@clisp.org>
67679
67680         * modules/tls-tests: New file.
67681         * tests/test-tls.c: New file, from GNU gettext.
67682
67683 2005-08-24  Bruno Haible  <bruno@clisp.org>
67684
67685         * modules/lock-tests: New file.
67686         * tests/test-lock.c: New file, from GNU gettext.
67687
67688 2005-08-24  Bruno Haible  <bruno@clisp.org>
67689
67690         * lib/lock.h: Add multiple inclusion guard.
67691         * lib/tls.h: Add multiple inclusion guard.
67692
67693 2005-08-24  Bruno Haible  <bruno@clisp.org>
67694
67695         * gnulib-tool: Add support for the --aux-dir option to
67696         --create-testdir, --create-megatestdir, --test, --megatest.
67697         (func_create_testdir, func_create_megatestdir): Optionally emit a
67698         AC_CONFIG_AUX_DIR directive.
67699         (create-testdir, create-megatestdir, test, megatest): Provide a
67700         default value for $auxdir.
67701
67702 2005-08-24  Bruno Haible  <bruno@clisp.org>
67703
67704         * gnulib-tool (import): Use compound statement instead of subshell
67705         where possible.
67706
67707 2005-08-24  Bruno Haible  <bruno@clisp.org>
67708
67709         * gnulib-tool (import): Change --aux-dir default to "build-aux".
67710
67711 2005-08-24  Bruno Haible  <bruno@clisp.org>
67712
67713         * gnulib-tool (func_version): Update.
67714
67715 2005-08-24  Bruno Haible  <bruno@clisp.org>
67716
67717         * gnulib-tool (func_import, func_create_testdir,
67718         func_create_megatestdir): Quote all autoconf macro arguments.
67719
67720 2005-08-24  Bruno Haible  <bruno@clisp.org>
67721
67722         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
67723         option --force, because --force causes the aclocal.m4 of each
67724         subdirectory to be newer than the corresponding config.h.in.
67725
67726 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
67727
67728         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
67729         All contents moved to gl_REGEX.
67730         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
67731         assume that it does.
67732
67733 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
67734
67735         * lib/regex.h (REG_NOSYS)
67736         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
67737         Define, since POSIX requires it as of 2001.
67738         (_REG_ENOSYS)
67739         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
67740         New private symbol, used to keep the enum signed in all cases.
67741         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
67742         Youngman in
67743         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
67744
67745         * lib/regex_internal.c (re_string_skip_chars, register_state):
67746         (calc_state_hash):
67747         Remove forward decls; no longer needed now that we use prototypes.
67748         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
67749         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
67750         (clean_state_log_if_needed): Likewise.
67751
67752 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
67753
67754         * config/srclist.txt: Add glibc bugs 1231-1233.
67755
67756 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67757
67758         Fix problems reported by Sam Steingold in
67759         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
67760         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
67761         assumed that reg_errcode_t is a signed type, which is not
67762         necessarily true if _XOPEN_SOURCE is not defined.
67763         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
67764         since some compilers warn about it otherwise.
67765
67766 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67767
67768         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
67769         (init_word_char, create_initial_state, duplicate_node_closure):
67770         (fetch_token, peek_token_bracket, build_range_exp):
67771         (build_collating_symbol): Remove forward decls; no longer needed
67772         now that we use prototypes.
67773
67774         * lib/regcomp.c:
67775         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
67776         (re_compile_fastmap_iter, regcomp, regerror, regfree):
67777         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
67778         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
67779         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
67780         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
67781         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
67782         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
67783         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
67784         (build_range_exp, build_collating_symbol, parse_bracket_exp):
67785         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
67786         (build_charclass, build_charclass_op, fetch_number, create_tree):
67787         (create_token_tree, mark_opt_subexp, duplicate_tree):
67788         Use prototypes rather than old-style definitions.
67789
67790         * lib/regex_internal.c:
67791         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
67792         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
67793         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
67794         (re_string_reconstruct, re_string_peek_byte_case):
67795         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
67796         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
67797         (re_node_set_init_copy, re_node_set_add_intersect):
67798         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
67799         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
67800         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
67801         (re_acquire_state, re_acquire_state_context, register_state):
67802         (create_ci_newstate, create_cd_newstate, free_state):
67803         Likewise.
67804         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
67805         re_search_2):
67806         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
67807         (re_search_internal, prune_impossible_nodes):
67808         (acquire_init_state_context, check_matching, static):
67809         (check_halt_node_context, check_halt_state_context, proceed_next_node):
67810         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
67811         (update_regs, sift_states_backward, build_sifted_states):
67812         (clean_state_log_if_needed, merge_state_array):
67813         (update_cur_sifted_state, add_epsilon_src_nodes):
67814         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
67815         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
67816         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
67817         (find_recover_state, check_subexp_matching_top, transit_state_mb):
67818         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
67819         (check_arrival, check_arrival_add_next_nodes):
67820         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
67821         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
67822         (check_node_accept_bytes, check_node_accept, extend_buffers):
67823         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
67824         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
67825         (sift_ctx_init):
67826         Likewise.
67827
67828         * lib/regex_internal.h:
67829         (re_string_allocate, re_string_construct, re_string_reconstruct):
67830         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
67831         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
67832         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
67833         (re_string_context_at, re_string_peek_byte_case):
67834         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
67835         is defined, since we now use prototypes always.
67836
67837         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
67838         C89 or better.  All uses removed.
67839
67840 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67841
67842         * config/srclist.txt: Add glibc bugs 1220-1227.
67843
67844 2005-08-20  Jim Meyering  <jim@meyering.net>
67845
67846         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
67847         of unused local, dfa.
67848
67849 2005-08-20  Bruno Haible  <bruno@clisp.org>
67850
67851         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
67852
67853 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67854
67855         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
67856         (re_node_set_insert_last, re_dfa_add_node):
67857         Rename local variables to avoid GCC shadowing warnings.
67858
67859 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67860
67861         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
67862         [defined lint]: Suppress bogus uninitialized-variable warnings.
67863
67864         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
67865         and let the caller return REG_ESPACE if out of space.  This
67866         removes an uninitialied-variable warning with GCC 4.0.1, and also
67867         avoids taking the address of a local variable.  All callers
67868         changed.
67869
67870 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67871
67872         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
67873         $LIBCSRC/posix/regexec.c.
67874         Add glibc bug 1217 for regcomp.c.
67875
67876 2005-08-19  Jim Meyering  <jim@meyering.net>
67877
67878         * lib/regexec.c (proceed_next_node): Redo local variables to
67879         avoid GCC shadowing warnings.
67880
67881 2005-08-18  Bruno Haible  <bruno@clisp.org>
67882
67883         * lib/strstr.c (strstr): Fix return value in multibyte case.
67884         * lib/strcasestr.c (strcasestr): Likewise.
67885
67886 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
67887
67888         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
67889
67890 2005-08-17  Jim Meyering  <jim@meyering.net>
67891
67892         Make the %s format (seconds since the epoch) work for a negative
67893         number and when used with a zero-padded field width, e.g. %015s.
67894
67895         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
67896         label so that it precedes the code to set `digits'.  Otherwise,
67897         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
67898         print `00-22'.  Now, it prints `-0022', as it should.
67899
67900 2005-08-17  Bruno Haible  <bruno@clisp.org>
67901
67902         * modules/strstr (Files): Add m4/mbrtowc.m4.
67903         (Depends-on): Add mbuiter.
67904
67905 2005-08-17  Bruno Haible  <bruno@clisp.org>
67906
67907         * modules/strcasestr: New file.
67908         * MODULES.html.sh (String handling, based on ANSI C 89): Add
67909         strcasestr.
67910
67911 2005-08-17  Bruno Haible  <bruno@clisp.org>
67912
67913         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
67914
67915 2005-08-17  Bruno Haible  <bruno@clisp.org>
67916
67917         * modules/mbuiter: New file.
67918         * MODULES.html.sh (Extended multibyte and wide character utilities):
67919         Add mbuiter.
67920
67921 2005-08-17  Bruno Haible  <bruno@clisp.org>
67922
67923         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
67924         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
67925
67926 2005-08-17  Bruno Haible  <bruno@clisp.org>
67927
67928         * m4/strcasestr.m4: New file.
67929
67930 2005-08-17  Bruno Haible  <bruno@clisp.org>
67931
67932         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
67933         * lib/strstr.c: Completely rewritten, with multibyte locale support.
67934
67935 2005-08-17  Bruno Haible  <bruno@clisp.org>
67936
67937         * lib/strcasestr.h: New file.
67938         * lib/strcasestr.c: New file.
67939
67940 2005-08-17  Bruno Haible  <bruno@clisp.org>
67941
67942         * lib/strcasecmp.c: Use mbuiter.h.
67943
67944 2005-08-17  Bruno Haible  <bruno@clisp.org>
67945
67946         * lib/mbuiter.h: New file.
67947
67948 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
67949
67950         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
67951         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
67952         and gl_GETOPT are both invoked via different paths (as happens
67953         with GNU tar CVS because it uses both argp and getopt), the former
67954         wins.
67955
67956 2005-08-16  Bruno Haible  <bruno@clisp.org>
67957
67958         * modules/tls: New file.
67959         * MODULES.html.sh (Multithreading): Add tls.
67960
67961 2005-08-16  Bruno Haible  <bruno@clisp.org>
67962
67963         * modules/strnlen1: New file.
67964         * MODULES.html.sh (String handling): Add strnlen1.
67965
67966 2005-08-16  Bruno Haible  <bruno@clisp.org>
67967
67968         * modules/strcase (Files): Add m4/mbrtowc.m4.
67969         (Depends-on): Add strnlen1, mbchar.
67970
67971 2005-08-16  Bruno Haible  <bruno@clisp.org>
67972
67973         * modules/mbiter: New file.
67974         * MODULES.html.sh (Extended multibyte and wide character utilities):
67975         Add mbiter.
67976
67977 2005-08-16  Bruno Haible  <bruno@clisp.org>
67978
67979         * modules/mbfile: New file.
67980         * MODULES.html.sh (Extended multibyte and wide character utilities):
67981         Add mbfile.
67982
67983 2005-08-16  Bruno Haible  <bruno@clisp.org>
67984
67985         * modules/mbchar: New file.
67986         * MODULES.html.sh (Extended multibyte and wide character utilities):
67987         New section.
67988
67989 2005-08-16  Bruno Haible  <bruno@clisp.org>
67990
67991         * m4/tls.m4: New file, from GNU gettext.
67992
67993 2005-08-16  Bruno Haible  <bruno@clisp.org>
67994
67995         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
67996         always.
67997         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
67998
67999 2005-08-16  Bruno Haible  <bruno@clisp.org>
68000
68001         * m4/mbiter.m4: New file.
68002
68003 2005-08-16  Bruno Haible  <bruno@clisp.org>
68004
68005         * m4/mbfile.m4: New file.
68006
68007 2005-08-16  Bruno Haible  <bruno@clisp.org>
68008
68009         * m4/mbchar.m4: New file.
68010
68011 2005-08-16  Bruno Haible  <bruno@clisp.org>
68012
68013         * lib/tls.h: New file, from GNU gettext.
68014         * lib/tls.c: New file, from GNU gettext.
68015
68016 2005-08-16  Bruno Haible  <bruno@clisp.org>
68017
68018         * lib/strnlen1.h: New file.
68019         * lib/strnlen1.c: New file.
68020
68021 2005-08-16  Bruno Haible  <bruno@clisp.org>
68022
68023         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
68024         (mbi_init): Update.
68025         (mbi_avail, mbi_advance): Let the iteration end before the terminating
68026         NUL byte, not after it.
68027
68028 2005-08-16  Bruno Haible  <bruno@clisp.org>
68029
68030         * lib/strcase.h (strcasecmp): Add note in comments.
68031         * lib/strncasecmp.c: Use code from strcasecmp.c.
68032         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
68033         (strcasecmp): Work correctly in multibyte locales.
68034
68035 2005-08-16  Bruno Haible  <bruno@clisp.org>
68036
68037         * lib/mbiter.h: New file.
68038
68039 2005-08-16  Bruno Haible  <bruno@clisp.org>
68040
68041         * lib/mbfile.h: New file.
68042
68043 2005-08-16  Bruno Haible  <bruno@clisp.org>
68044
68045         * lib/mbchar.h: New file.
68046         * lib/mbchar.c: New file.
68047
68048 2005-08-16  Bruno Haible  <bruno@clisp.org>
68049
68050         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
68051         the valid ones. Makes the comparison operations transitive:
68052         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
68053         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
68054
68055 2005-08-15  Simon Josefsson  <jas@extundo.com>
68056
68057         * modules/ssize_t (License): Change to 'unlimited'.
68058
68059         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
68060
68061 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68062
68063         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
68064         Add comments for each pending glibc patch.
68065
68066 2005-08-15  Bruno Haible  <bruno@clisp.org>
68067
68068         * lib/regex.h (__restrict_arr): Don't define to __restrict if
68069         __cplusplus is defined.
68070
68071 2005-08-14  Jim Meyering  <jim@meyering.net>
68072
68073         Sync from coreutils.
68074
68075         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
68076         Use the hash-table-based cycle-detection code not just when
68077         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
68078         Reported by James Youngman in
68079         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
68080         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
68081         FTS_TIGHT_CYCLE_CHECK.
68082         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
68083         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
68084         once again.
68085         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
68086         * lib/fts.c (fd_safer): Remove decl.
68087         Include fcntl--.h rather than unistd-safer.h
68088         (fts_safe_changedir): Don't call fd_safer; no longer needed
68089         now that we include fcntl--.h.
68090
68091 2005-08-12  Simon Josefsson  <jas@extundo.com>
68092
68093         * modules/getndelim2: Use ssize_t module.
68094         * modules/getnline: Likewise.
68095         * modules/safe-read: Likewise.
68096         * modules/xreadlink: Likewise.
68097
68098         * modules/ssize_t: New file.
68099
68100 2005-08-12  Simon Josefsson  <jas@extundo.com>
68101
68102         * m4/readline.m4: Look for termcap, curses or ncurses if required.
68103
68104 2005-08-12  Simon Josefsson  <jas@extundo.com>
68105
68106         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68107         ssize_t.
68108
68109 2005-08-12  Simon Josefsson  <jas@extundo.com>
68110
68111         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
68112         readline, getdelim and check_version.
68113         (Support for systems lacking ISO C 99: Sizes of integer types):
68114         Add size_max.
68115
68116 2005-08-12  Bruno Haible  <bruno@clisp.org>
68117
68118         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
68119
68120 2005-08-11  Simon Josefsson  <jas@extundo.com>
68121
68122         * modules/readline: New file.
68123
68124         * modules/strnlen (Files): Add strnlen.h.
68125
68126 2005-08-11  Simon Josefsson  <jas@extundo.com>
68127
68128         * m4/readline.m4: New file.
68129
68130 2005-08-11  Simon Josefsson  <jas@extundo.com>
68131
68132         * lib/readline.h, readline.c: New file.
68133
68134 2005-08-11  Simon Josefsson  <jas@extundo.com>
68135
68136         * doc/gnulib.texi (Initial import, Finishing touches): Mention
68137         gl_AVOID.
68138
68139 2005-08-11  Bruno Haible  <bruno@clisp.org>
68140
68141         * lib/strnlen.h (strnlen): Change parameter name to match comment.
68142
68143 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
68144
68145         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
68146
68147 2005-08-10  Simon Josefsson  <jas@extundo.com>
68148
68149         * tests/test-iconvme.c: New file.
68150
68151 2005-08-10  Simon Josefsson  <jas@extundo.com>
68152
68153         * m4/strnlen.m4: New file.
68154
68155         * m4/strndup.m4: Don't check for strnlen declaration, done in
68156         strnlen.m4.
68157
68158 2005-08-10  Simon Josefsson  <jas@extundo.com>
68159
68160         * lib/strndup.c: Use strnlen.h.
68161
68162         * lib/strnlen.h: New file.
68163
68164 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68165
68166         * README: Typos.
68167
68168 2005-08-02  Simon Josefsson  <jas@extundo.com>
68169
68170         * modules/readline: New file.
68171
68172 2005-08-02  Simon Josefsson  <jas@extundo.com>
68173
68174         * modules/getdelim: New file.
68175
68176         * modules/getline: Rewrite, don't use getndelim2.
68177
68178 2005-08-02  Simon Josefsson  <jas@extundo.com>
68179
68180         * m4/getline.m4: Separate out getdelim stuff into separate module.
68181
68182         * m4/getdelim.m4: New file.
68183
68184 2005-08-02  Simon Josefsson  <jas@extundo.com>
68185
68186         * lib/getline.h, getline.c: Rewrite.
68187
68188         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
68189
68190 2005-07-31  Bruno Haible  <bruno@clisp.org>
68191
68192         * lib/lock.h (gl_lock_initializer): New macro.
68193         (gl_lock_define_initialized): Use it.
68194         (gl_rwlock_initializer): New macro.
68195         (gl_rwlock_define_initialized): Use it.
68196         (gl_recursive_lock_initializer): New macro.
68197         (gl_recursive_lock_define_initialized): Use it.
68198
68199 2005-07-30  Karl Berry  <karl@gnu.org>
68200
68201         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
68202         Report from Ben Pfaff, regarding getopt.
68203
68204 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
68205
68206         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
68207         normal way.
68208         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
68209         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
68210         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
68211         (gl_GETOPT): Use the new macros.  Most of the implementation
68212         is moved to the new macros.  This is for programs like Emacs
68213         that don't want all the functionality of gl_GETOPT.
68214
68215 2005-07-26  Bruno Haible  <bruno@clisp.org>
68216
68217         * m4/lock.m4: Update from GNU gettext.
68218
68219 2005-07-26  Bruno Haible  <bruno@clisp.org>
68220
68221         * lib/lock.h: Update from GNU gettext.
68222         * lib/lock.c: Update from GNU gettext.
68223
68224 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
68225
68226         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
68227         obsolescent AC_TRY_RUN.  Include the default includes files, for
68228         'exit'.
68229
68230 2005-07-24  Bruno Haible  <bruno@clisp.org>
68231
68232         * modules/visibility: New file.
68233         * MODULES.html.sh (Misc): Add visibility.
68234
68235 2005-07-24  Bruno Haible  <bruno@clisp.org>
68236
68237         * m4/visibility.m4: New file.
68238
68239 2005-07-24  Bruno Haible  <bruno@clisp.org>
68240
68241         * doc/visibility.texi: New file.
68242
68243 2005-07-22  Bruno Haible  <bruno@clisp.org>
68244
68245         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
68246         $(ALLOCA_H), redundant through BUILT_SOURCES.
68247         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
68248         redundant through BUILT_SOURCES.
68249         * modules/byteswap (Makefile.am): Remove explicit dependency on
68250         $(BYTESWAP_H), redundant through BUILT_SOURCES.
68251         * modules/fnmatch (Makefile.am): Remove explicit dependency on
68252         $(FNMATCH_H), redundant through BUILT_SOURCES.
68253         * modules/getopt (Makefile.am): Remove explicit dependency on
68254         $(GETOPT_H), redundant through BUILT_SOURCES.
68255         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
68256         redundant through BUILT_SOURCES.
68257         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
68258         redundant through BUILT_SOURCES.
68259         * modules/stdbool (Makefile.am): Remove explicit dependency on
68260         $(STDBOOL_H), redundant through BUILT_SOURCES.
68261         * modules/stdint (Makefile.am): Remove explicit dependency on
68262         $(STDINT_H), redundant through BUILT_SOURCES.
68263         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
68264         Remove explicit dependency on $(SYSEXITS_H).
68265         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
68266
68267 2005-07-18  Simon Josefsson  <jas@extundo.com>
68268
68269         * lib/check-version.c (check_version): Accept identical versions too.
68270
68271 2005-07-18  Bruno Haible  <bruno@clisp.org>
68272
68273         * modules/lock: New file.
68274         * MODULES.html.sh (Multithreading): New section.
68275
68276 2005-07-18  Bruno Haible  <bruno@clisp.org>
68277
68278         * m4/lock.m4: New file, from GNU gettext.
68279
68280 2005-07-18  Bruno Haible  <bruno@clisp.org>
68281
68282         * lib/lock.h: New file, from GNU gettext.
68283         * lib/lock.c: New file, from GNU gettext.
68284
68285 2005-07-18  Bruno Haible  <bruno@clisp.org>
68286
68287         * lib/lock.h (gl_once_t): New type.
68288         (gl_once_define, gl_once): New macros.
68289         * lib/lock.c (fresh_once): New variable.
68290         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
68291         functions.
68292
68293 2005-07-16  Simon Josefsson  <jas@extundo.com>
68294
68295         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
68296         workaround, suggested by Bruno.
68297
68298 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
68299
68300         * modules/xalloc (Depends-on): Add xalloc-die.
68301         * modules/xvasprintf (Depends-on): Add xalloc-die.
68302
68303 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
68304
68305         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
68306         with a minor change.
68307
68308 2005-07-15  Bruno Haible  <bruno@clisp.org>
68309
68310         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
68311         When using lib/poll.c, define poll as rpl_poll.
68312
68313 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
68314
68315         * modules/argp (Depends-on): Remove unlocked-io.
68316
68317 2005-07-14  Derek Price  <derek@ximbiot.com>
68318
68319         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
68320         for glob symlink bug.
68321
68322 2005-07-14  Bruno Haible  <bruno@clisp.org>
68323
68324         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
68325         Instead, test for *_unlocked function declarations directly.
68326
68327 2005-07-11  Simon Josefsson  <jas@extundo.com>
68328
68329         * modules/size_max: New file.
68330
68331         * modules/xsize: Depend on size_max module for size_max.m4.
68332
68333 2005-07-11  Simon Josefsson  <jas@extundo.com>
68334
68335         * lib/size_max.h: New file.
68336
68337 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
68338
68339         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
68340         copyright symbol and the year.
68341         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
68342         (version_etc_va): Use parameterized copyright notice.
68343         Reword to conform to the current GNU coding standards.
68344
68345 2005-07-11  Karl Berry  <karl@gnu.org>
68346
68347         * doc/gnulib.texi (Quoting): new node.
68348         (Initial import): more info, from Patrice.
68349
68350 2005-07-11  Bruno Haible  <bruno@clisp.org>
68351
68352         * gnulib-tool (func_usage): Document option --avoid.
68353         (Command line options): Handle --avoid.
68354         (func_acceptable): New function.
68355         (func_modules_transitive_closure): Use it.
68356
68357 2005-07-11  Bruno Haible  <bruno@clisp.org>
68358
68359         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
68360         Reported by Jim Meyering.
68361
68362 2005-07-10  Bruno Haible  <bruno@clisp.org>
68363
68364         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
68365         Needed when size_t is smaller than 'unsigned int'.
68366         Reported by Paul Eggert.
68367
68368 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68369
68370         * modules/argp (Depends-on): Add unlocked-io
68371
68372 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68373
68374         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
68375         block of defines.
68376
68377 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
68378
68379         * config/srclist.txt: Comment out regcomp.c, since we have a porting
68380         fix now.
68381
68382 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
68383         and Paul Eggert  <eggert@cs.ucla.edu>
68384
68385         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
68386         in wint_t, not wchar_t.  Remove now-unnecessary cast.
68387
68388 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68389
68390         * modules/regex (Files): Add lib/regex_internal.c,
68391         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
68392         (Depends-on): Add extensions.
68393         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
68394
68395 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68396
68397         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
68398         pathconf.
68399         * m4/same.m4 (gl_SAME): Likewise.
68400         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
68401
68402         * m4/regex.m4: Adjust to new libc regex implementation.
68403         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
68404         all the .c and .h parts of (the new) regex.
68405         Quote the m4 stuff better.
68406         Check for RE_ICASE bug of old gnulib.
68407         Check for REG_STARTEND of recent libc.
68408         Rename local variables from jm_* to gl_*.
68409         Quote operand of "test -f".
68410         Say "recent enough" version of libc, not "version 2".
68411         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
68412         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
68413         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
68414         Remove check for btowc, isascii.
68415         Require AM_LANGINFO_CODESET.
68416
68417 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68418
68419         * lib/regex.c, regex.h: Sync from libc.
68420         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
68421         * lib/regexec.c:
68422         New files, synced from libc, except that regex_internal.h
68423         currently has a small porting fix.
68424
68425 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68426
68427         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
68428         regex_internal.c, regexec.c.
68429         Add regex_internal.h too, but as a comment, since the libc version
68430         is currently broken in gnulib mode.
68431
68432 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
68433
68434         Support programs like Emacs that use gnulib but not gettext.
68435         * MODULES.html.sh (Internationalization functions): Add gettext-h.
68436         * modules/gettext-h: New file.
68437         * modules/gettext (Files): Remove lib/gettext.h.
68438         (Depends-on): Add gettext-h.
68439         (Makefile.am): Remove lib_SOURCES.
68440         * modules/argmatch, modules/c-stack, modules/closeout:
68441         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
68442         * modules/execute, modules/file-type, modules/getaddrinfo:
68443         * modules/getopt, modules/human, modules/javacomp:
68444         * modules/javaexec, modules/mkdir-p, modules/obstack:
68445         * modules/openat, modules/pagealign_alloc, modules/pipe:
68446         * modules/quotearg, modules/regex, modules/rpmatch:
68447         * modules/unicodeio, modules/userspec, modules/version-etc:
68448         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
68449         * modules/xsetenv:
68450         Depend on gettext-h, not gettext.
68451
68452 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
68453
68454         * gnulib-tool (func_import): Add support for 'public domain' license.
68455         * modules/alloca, modules/atexit, modules/memmove:
68456         Now public domain, not GPL.
68457         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
68458         * modules/realloc, modules/strerror, modules/strtod:
68459         Now LGPL, not GPL.
68460
68461 2005-07-05  Bruno Haible  <bruno@clisp.org>
68462
68463         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
68464         autoconf CVS. Needed for mingw.
68465
68466 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68467
68468         Remove the dependency of the strftime module on the tzset module.
68469         * modules/strftime (Depends-on): Remove dependency on tzset.
68470
68471 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68472
68473         Remove the dependency of the strftime module on the tzset module.
68474         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
68475         gl_FUNC_TZSET_CLOBBER.
68476
68477 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68478
68479         Remove the dependency of the strftime module on the tzset module.
68480         * lib/strftime.c (my_strftime)
68481         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
68482         Copy the input structure, to work around some of the bug with
68483         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
68484         Solaris releases, you should also use the tzset module, but we won't
68485         require it as a dependency any more since we don't want LGPLed code
68486         to depend on GPLed code.
68487
68488 2005-07-02  Jim Meyering  <jim@meyering.net>
68489
68490         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
68491         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
68492         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
68493         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
68494
68495 2005-07-02  Jim Meyering  <jim@meyering.net>
68496
68497         * lib/backupfile.c (backup_args): Change a `0' to NULL.
68498
68499 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
68500
68501         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
68502         declares only 'struct timespec;' (!).
68503
68504 2005-07-01  Jim Meyering  <jim@meyering.net>
68505
68506         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
68507         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
68508         * lib/save-cwd.c, tempname.c:
68509         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
68510         and don't include <sys/file.h>).
68511
68512 2005-06-29  Jim Meyering  <jim@meyering.net>
68513
68514         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
68515         type name.  Use the variable name instead.
68516         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
68517         Likewise.
68518
68519 2005-06-28  Simon Josefsson  <jas@extundo.com>
68520
68521         * modules/check-version (Files): Add check-version.m4.
68522
68523 2005-06-28  Simon Josefsson  <jas@extundo.com>
68524
68525         * m4/check-version.m4: New file, suggested by Jim Meyering
68526         <jim@meyering.net>.
68527
68528 2005-06-28  Simon Josefsson  <jas@extundo.com>
68529
68530         * lib/check-version.h, lib/check-version.c: New files.
68531
68532 2005-06-28  Simon Josefsson  <jas@extundo.com>
68533
68534         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
68535         collision with global variable.  Better indentation.  Don't
68536         increment buffer pointer beyond buffer end.  Based on comments
68537         from Paul Eggert <eggert@cs.ucla.edu>.
68538
68539         * lib/base64.h: Indent.
68540
68541 2005-06-28  Simon Josefsson  <jas@extundo.com>
68542
68543         * doc/gnulib.texi (Library version handling): New section.
68544
68545 2005-06-28  Jim Meyering  <jim@meyering.net>
68546
68547         * check-module (find_included_lib_files): Hard-code another
68548         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
68549         but modules/fts-lgpl (correctly) does not list those files.
68550
68551         * modules/canonicalize (Files): Add lib/pathmax.h.
68552
68553 2005-06-25  Simon Josefsson  <jas@extundo.com>
68554
68555         * modules/check-version: New file.
68556
68557 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
68558
68559         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
68560         initializer of struct addrinfo, as an indication that we don't
68561         care how many members the structure has.
68562
68563 2005-06-24  Derek Price  <derek@ximbiot.com>
68564         and Bruno Haible  <bruno@clisp.org>
68565
68566         Remove stat module & update lstat.
68567         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
68568         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68569         * m4/stat.m4: Remove this file.
68570
68571 2005-06-24  Derek Price  <derek@ximbiot.com>
68572         and Bruno Haible  <bruno@clisp.org>
68573
68574         Remove stat module & update lstat.
68575         * lib/stat.c: Remove this file...
68576         (slash_aware_lstat): ...moving this content and its support...
68577         * lib/lstat.c (rpl_lstat): ...into here.
68578         * lib/lstat.h: New file.
68579
68580 2005-06-24  Derek Price  <derek@ximbiot.com>
68581         and Bruno Haible  <bruno@clisp.org>
68582
68583         Remove stat module & update lstat.
68584         * config/srclist.txt (libc sources): Remove stat.
68585
68586 2005-06-24  Derek Price  <derek@ximbiot.com>
68587         and Bruno Haible  <bruno@clisp.org>
68588
68589         Remove stat module & update lstat.
68590         * MODULES.html.sh (stat): Remove.
68591         * MODULES.html: Regenerated.
68592         * modules/lstat (Description): Correct function name.
68593         (Files): Add "lstat.h".
68594         (Depends-on): Remove stat, add xalloc, stat-macros.
68595         * modules/stat: Remove this file.
68596         (Include): Add "lstat.h", remove <sys/stat.h>.
68597
68598 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68599
68600         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
68601         (ranged_convert): Don't save conversion in a temporary struct.
68602         This causes a warning with GCC 4.0.0, and anyway in the typical
68603         case it's not worth the extra 100 bytes or so of code.
68604         (ranged_convert, __mktime_internal): When calling a function via a
68605         pointer P, use P () rather than (*P) (), as we now assume C89 or
68606         better.
68607
68608 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68609
68610         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
68611         "who -r" failed to give output.  Problem reported by Tim Waugh.
68612
68613         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
68614         (xcalloc): Use it to avoid needless tests.
68615         Problem reported by Jim Meyering.
68616
68617 2005-06-20  Derek Price  <derek@ximbiot.com>
68618
68619         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
68620         unnecessary for Autoconfs > 2.59c.
68621
68622 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68623
68624         * lib/argp.h (__option_is_short): Check upper limit of
68625         __key. Isprint() requires its argument to have the value
68626         of an unsigned char or EOF.
68627
68628 2005-06-16  Jim Meyering  <jim@meyering.net>
68629
68630         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
68631         when either N or S is zero.
68632
68633 2005-06-16  Derek Price  <derek@ximbiot.com>
68634
68635         * m4/bison.m4: Declare YACC & YFLAGS precious.
68636
68637 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
68638
68639         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
68640         multibyte string or pattern, fall back on unibyte matching.
68641         Problem reported by James Youngman.
68642
68643 2005-06-08  Bruno Haible  <bruno@clisp.org>
68644
68645         * modules/csharpcomp: New file.
68646         * MODULES.html.sh (C#): Add csharpcomp.
68647
68648 2005-06-08  Bruno Haible  <bruno@clisp.org>
68649
68650         * m4/csharpcomp.m4: New file, from GNU gettext.
68651
68652 2005-06-08  Bruno Haible  <bruno@clisp.org>
68653
68654         * lib/csharpcomp.h: New file, from GNU gettext.
68655         * lib/csharpcomp.c: New file, from GNU gettext.
68656         * lib/csharpcomp.sh.in: New file, from GNU gettext.
68657
68658 2005-06-08  Bruno Haible  <bruno@clisp.org>
68659
68660         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
68661         warning on mingw.
68662
68663 2005-06-07  Derek Price  <derek@ximbiot.com>
68664
68665         Sync from CVS.
68666         * lib/glob_.h: Indent nested #ifdef.
68667
68668 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
68669
68670         Sync from coreutils.
68671         Use "file name" when talking about file names, instead of "filename"
68672         or "path", as per the GNU coding standards.
68673         * lib/mkdir-p.c: Renamed from makepath.c.
68674         (make_dir_parents): Renamed from make_path.  All callers changed.
68675         * lib/mkdir-p.h: Likewise.  All includers changed.
68676         * lib/filenamecat.c: Renamed from path-concat.c.
68677         (file_name_concat): Renamed from path_concat.  All callers changed.
68678         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
68679         * lib/filenamecat.h: Likewise.  All includers changed.
68680         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
68681         in comments or local variable names.
68682         * lib/basename.c: Likewise.
68683         * lib/canonicalize.c, canonicalize.h: Likewise.
68684         * lib/dirname.c, dirname.h: Likewise.
68685         * lib/euidaccess.c: Likewise.
68686         * lib/exclude.c: Likewise
68687         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
68688         * lib/fsusage.c, fsuage.h: Likewise.
68689         * lib/fts.c, fts_.h: Likewise.
68690         * lib/getcwd.c: Likewise.
68691         * lib/getloadavg.c: Likewise.
68692         * lib/mkstemp.c: Likewise.
68693         * lib/mountlist.c, mountlist.h: Likewise.
68694         * lib/openat.c, openat.h: Likewise.
68695         * lib/readlink-stub.c: Likewise.
68696         * lib/readutmp.c, readutmp.h: Likewise.
68697         * lib/rename.c: Likewise.
68698         * lib/rmdir.c: Likewise.
68699         * lib/same.c: Likewise.
68700         * lib/savedir.c: Likewise.
68701         * lib/stripslash.c: Likewise.
68702         * lib/tempname.c: Likewise.
68703         * lib/xreadlink.c: Likewise.
68704         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
68705         All uses changed.
68706         * lib/exclude.h: Likewise.
68707
68708         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
68709         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
68710         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
68711         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
68712         * lib/pathmax.h: Include <limits.h> unconditionally, since other
68713         files have been getting away with it for years (MORE/BSD 4.3
68714         is extinct now).
68715         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
68716         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
68717
68718         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
68719         Define to 256, not 255, as per modern POSIX.
68720
68721 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
68722
68723         Sync from coreutils.
68724         Use "file name" when talking about file names, instead of "filename"
68725         or "path", as per the GNU coding standards.
68726         * MODULES.html.sh: mkdir-p renamed from makepath.
68727         filenamecat renamed from path-concat.
68728         * modules/filenamecat: Renamed from modules/path-concat.
68729         (Files): filenamecat.h and filenamecat.c renamed from
68730         path-concat.h and path-concat.c.
68731         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
68732         (Include): filenamecat.h, not path-concat.h.
68733         * modules/mkdir-p: Renamed from modules/makepath.
68734         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
68735         makepath.c.
68736         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
68737         (Include): mkdir-p.h, not makepath.h.
68738
68739 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
68740
68741         Sync from coreutils.
68742         * m4/mkdir-p.m4: Renamed from makepath.m4.
68743         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
68744         Rename files from makepath.c to mkdir-p.c, and from
68745         makepath.h to mkdir-p.h.
68746         * m4/filenamecat.m4: Renamed from path-concat.m4.
68747         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
68748         Rename files from path-concat.c to filenamecat.c,
68749         and from path-concat.h to filenamecat.h.
68750         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
68751         "file name" in local variables or comments.
68752         * m4/rename.m4: Likewise.
68753
68754 2005-06-01  Bruno Haible  <bruno@clisp.org>
68755
68756         * modules/csharpexec: New file.
68757         * MODULES.html.sh (C#): New section.
68758
68759 2005-06-01  Bruno Haible  <bruno@clisp.org>
68760
68761         * m4/csharp.m4: New file, from GNU gettext.
68762         * m4/csharpexec.m4: New file, from GNU gettext.
68763
68764 2005-06-01  Bruno Haible  <bruno@clisp.org>
68765
68766         * lib/csharpexec.h: New file, from GNU gettext.
68767         * lib/csharpexec.c: New file, from GNU gettext.
68768         * lib/csharpexec.sh.in: New file, from GNU gettext.
68769
68770 2005-05-31  Derek Price  <derek@ximbiot.com>
68771             Paul Eggert  <eggert@cs.ucla.edu>
68772
68773         Sync from cvs.
68774         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
68775
68776 2005-05-31  Derek Price  <derek@ximbiot.com>
68777             Paul Eggert  <eggert@cs.ucla.edu>
68778
68779         Sync from cvs.
68780         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
68781
68782 2005-05-29  Derek Price  <derek@ximbiot.com>
68783
68784         * config/srclist.txt (glob_.h, glob.c): Add these files.
68785
68786 2005-05-29  Derek Price  <derek@ximbiot.com>
68787
68788         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
68789         * modules/glob: New file.
68790         * modules/getlogin_r: Add link to POSIX spec in description.
68791
68792 2005-05-29  Derek Price  <derek@ximbiot.com>
68793             Paul Eggert  <eggert@cs.ucla.edu>
68794
68795         * m4/glob.m4: New file.
68796
68797 2005-05-29  Derek Price  <derek@ximbiot.com>
68798             Paul Eggert  <eggert@cs.ucla.edu>
68799
68800         * lib/glob_.h, lib/glob.c: New files.
68801
68802 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
68803
68804         * modules/fts (Files): Remove m4/inttypes-pri.m4.
68805         * modules/fts-lgpl (Depends-on): Remove gettext.
68806
68807 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
68808
68809         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
68810         and don't require gt_INTTYPES_PRI.
68811
68812 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
68813
68814         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
68815
68816         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
68817         the configuration hassle isn't worth it.
68818         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
68819         (LONGEST_MODIFIER, PRIuMAX): Remove.
68820
68821 2005-05-27  Bruno Haible  <bruno@clisp.org>
68822
68823         * lib/getlogin_r.h: Remove second include of <stddef.h>.
68824
68825 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
68826
68827         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
68828         _POSIX_PTHREAD_SEMANTICS for Solaris.
68829
68830 2005-05-25  Derek Price  <derek@ximbiot.com>
68831
68832         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
68833
68834 2005-05-25  Derek Price  <derek@ximbiot.com>
68835             Paul Eggert  <eggert@cs.ucla.edu>
68836
68837         * modules/getlogin_r, m4/getlogin_r.m4: New files.
68838         * lib/getlogin_r.c, getlogin_r.h: New files.
68839
68840 2005-05-25  Bruno Haible  <bruno@clisp.org>
68841             Derek Price  <derek@ximbiot.com>
68842
68843         * lib/getlogin_r.h: Simplify API documentation.
68844
68845 2005-05-23  Derek Price  <derek@ximbiot.com>
68846
68847         * modules/minmax (Files): Add m4/minmax.m4.
68848         (configure.ac): Add gl_MINMAX.
68849
68850 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
68851
68852         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
68853         so that unistd-safer.h (GPL'ed code) need not be included.
68854
68855 2005-05-22  Bruno Haible  <bruno@clisp.org>
68856
68857         * m4/minmax.m4: New file.
68858         Based on a patch by Derek Price <derek@ximbiot.com>.
68859
68860 2005-05-22  Bruno Haible  <bruno@clisp.org>
68861
68862         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
68863         (INT64_MIN): Fix definition.
68864         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
68865
68866         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
68867         NEED_SIGNED_INT_TYPES.
68868
68869         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
68870         HAVE_SYSTEM_INTTYPES.
68871
68872 2005-05-22  Bruno Haible  <bruno@clisp.org>
68873
68874         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
68875         Also include <sys/param.h> if it defines MIN, MAX.
68876         Based on a patch by Derek Price <derek@ximbiot.com>.
68877
68878 2005-05-21  Jim Meyering  <jim@meyering.net>
68879
68880         * modules/fts (Files): Add m4/inttypes-pri.m4.
68881         (Depends-on): Add lstat and remove gettext.  Alphabetize.
68882
68883 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68884
68885         New fts module.
68886         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
68887         (setup_dir, free_dir): New functions.
68888         (enter_dir, leave_dir): Define trivial
68889         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
68890         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
68891         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
68892         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
68893         Move to fts-cycle.c.
68894         (fts_open): Use setup_dir.
68895         (fts_close): Use free_dir.
68896         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
68897         This adds a label and some gotos, but the alternatives were messier.
68898         Check for memory allocation failure when entering a dir.
68899         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
68900         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
68901         (FTS): New member fts_cycle, that is a union that contains the
68902         old active_dir_ht and cycle_state.  All uses changed to mention
68903         fts_cycle.ht and fts_cycle.state.
68904         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
68905         fts.c, with the following changes:
68906         (setup_dir, free_dir): New functions.
68907         (enter_dir): Now returns bool.  Return true if successful, false
68908         if memory exhausted.  All callers changed.
68909         Do not bother partly cleaning up on
68910         memory allocation failure; that is free_dir's job.
68911         However, free ad if hash_insert fails, to avoid memory leak.
68912         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
68913         fts->fts_options to see which union member to use.
68914
68915 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68916
68917         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
68918         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
68919
68920 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68921
68922         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
68923
68924 2005-05-20  Jim Meyering  <jim@meyering.net>
68925
68926         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
68927         Now a macro, to pacify GCC.
68928
68929 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
68930
68931         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
68932         of -1.
68933
68934 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
68935
68936         * lib/chown.c (rpl_chown): Return -1 on failure.
68937
68938 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
68939
68940         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
68941         Don't check for stddef.h.
68942         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
68943         don't use its results.
68944         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
68945         since we include them unconditionally.  Don't require
68946         AM_STDBOOL_H, since stdbool is a prerequisite.
68947         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
68948         since we assume C89 or better.
68949         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
68950         as we don't use their results.
68951         Don't check for fchdir, memmove, memset, strrchr, as we use
68952         them unconditionally.
68953         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
68954         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
68955
68956 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
68957
68958         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
68959         Include <stddef.h> unconditionally, since we assume C89 now.
68960         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
68961         * lib/fts.c: Include fts_.h first, to check interface.
68962         Do not include intprops.h; no longer needed.
68963         Include cycle-check.h and hash.h, since fts_.h no longer does.
68964         Remove unnecessary casts of closedir to void.
68965         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
68966         decide whether to decrement nlinks.
68967         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
68968         (FTS): Use struct hash_table * instead of Hash_table, so that
68969         we no longer need to include hash.h here.
68970
68971 2005-05-18  Jim Meyering  <jim@meyering.net>
68972
68973         * modules/dirfd (License): Change to LGPL.  Most of the code
68974         is already in the public domain.
68975
68976 2005-05-18  Jim Meyering  <jim@meyering.net>
68977
68978         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
68979         Reported by Yoann Vandoorselaere.
68980
68981 2005-05-17  Jim Meyering  <jim@meyering.net>
68982
68983         * m4/fts.m4: New file, from coreutils.
68984
68985 2005-05-17  Jim Meyering  <jim@meyering.net>
68986
68987         * lib/fts.c, lib/fts_.h: New files, from coreutils.
68988
68989 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68990
68991         Sync from coreutils.
68992         * m4/unlinkdir.m4: New file.
68993
68994 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68995
68996         Sync from coreutils.
68997         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
68998         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
68999         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
69000         White space changes only.
69001         * lib/makepath.c (make_path): Port to hosts where leading "//" is
69002         special.
69003         * lib/yesno.c: Include getline.h, not ctype.h.
69004         (yesno): Don't remove leading white space; POSIX doesn't allow it.
69005         Use getline to remove arbitrary restriction on response length.
69006
69007 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69008
69009         * config/srclist-update: Spell out "Street" in FSF postal
69010         mail address; this is the style the FSF seems to prefer.
69011
69012         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
69013         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
69014         this updates FSF postal mail address.
69015
69016         Sync from coreutils.
69017         * modules/unlinkdir: New file.
69018         * modules/yesno (Depends-on): Add getline.
69019         * MODULES.html.sh (File system functions): Add unlinkdir.
69020
69021 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69022
69023         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
69024         lib/strsep.h:
69025         Change the initial comment to refer to GPL, not LGPL.
69026         gnulib-tool will change it to LGPL as needed.
69027
69028         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
69029         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
69030         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
69031         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
69032         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
69033         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
69034         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
69035         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
69036         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
69037         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
69038         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
69039         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
69040         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
69041         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
69042         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
69043         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
69044         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
69045         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
69046         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
69047         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
69048         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
69049         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
69050         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
69051         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
69052         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
69053         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
69054         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
69055         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
69056         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
69057         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
69058         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
69059         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
69060         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
69061         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
69062         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
69063         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
69064         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
69065         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
69066         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
69067         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
69068         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
69069         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
69070         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
69071         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
69072         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
69073         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
69074         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
69075         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
69076         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
69077         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
69078         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
69079         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
69080         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
69081         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
69082         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
69083         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
69084         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
69085         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
69086         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
69087         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
69088         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
69089         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
69090         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
69091         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
69092         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
69093         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
69094         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
69095         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
69096         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
69097         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
69098         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
69099         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
69100         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
69101         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
69102         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
69103         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
69104         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
69105         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
69106         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
69107         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
69108         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
69109         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
69110         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
69111         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
69112         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
69113         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
69114         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
69115         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
69116         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
69117         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
69118         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
69119         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
69120         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
69121         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
69122         lib/yesno.c, lib/yesno.h:
69123         Update FSF postal mail address.
69124
69125 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69126
69127         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
69128         tests/test-memmem.c, tests/test-stpncpy.c:
69129         Update FSF postal mail address.
69130
69131 2005-05-13  Bruno Haible  <bruno@clisp.org>
69132
69133         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
69134         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
69135         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
69136         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
69137         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
69138         Add support for 64-bit integers in the MSVC compiler.
69139
69140 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69141
69142         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
69143
69144 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
69145
69146         * gnulib-tool (func_import): Sort and uniquify recommended includes.
69147
69148 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
69149
69150         * doc/getdate.texi (General date syntax): Don't say that date
69151         date --iso-8601=ns generates acceptable dates; it doesn't yet.
69152         Problem reported by Nic Ferrier.
69153
69154 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69155
69156         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
69157         specified in ai_socktype. Fix invalid ai_protocol
69158         check. ai_protocol is usually set to 0 or depending on
69159         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
69160         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
69161         ai_socktype / ai_protocol in the returned addrinfo structure.
69162
69163 2005-05-10  Simon Josefsson  <jas@extundo.com>
69164
69165         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
69166         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69167
69168 2005-05-10  Karl Berry  <karl@gnu.org>
69169
69170         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
69171         (from http://www.gnu.org/licenses).
69172         * doc/COPYING.LIB: also rename to COPYING.LESSER.
69173         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
69174         fdl.texi suffices.
69175
69176 2005-05-10  Karl Berry  <karl@gnu.org>
69177
69178         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
69179         (COPYING.DOC): remove.
69180
69181         * config/srclist-update: new FSF address.
69182
69183 2005-05-10  Derek Price  <derek@ximbiot.com>
69184
69185         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
69186         possible.
69187
69188 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69189             Bruno Haible  <bruno@clisp.org>
69190
69191         * modules/inet_ntop: New file.
69192         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69193         inet_ntop.
69194
69195 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69196             Bruno Haible  <bruno@clisp.org>
69197
69198         * m4/inet_ntop.m4: New file.
69199
69200 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69201             Bruno Haible  <bruno@clisp.org>
69202
69203         * lib/inet_ntop.h: New file.
69204         * lib/inet_ntop.c: New file, from glibc with modifications.
69205
69206 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
69207
69208         * modules/time_r (License): Change to LGPL.
69209         * modules/extensions (License): Change to LGPL.  Actually,
69210         the license is more permissive than that, but currently gnulib-tool
69211         doesn't know how to handle more-permissive licenses.
69212
69213         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
69214         Problem reported by Dave Love.
69215
69216 2005-05-08  Jim Meyering  <jim@meyering.net>
69217
69218         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
69219         blank.
69220
69221 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
69222
69223         * modules/argmatch (Depends-on): Add stdbool.
69224         * modules/backupfile (Depends-on): Likewise.
69225         * modules/chdir-long (Depends-on): Likewise.
69226         * modules/closeout (Depends-on): Likewise.
69227         * modules/cycle-check (Depends-on): Likewise.
69228         * modules/dirname (Depends-on): Likewise.
69229         * modules/fnmatch (Depends-on): Likewise.
69230         * modules/fsusage (Depends-on): Likewise.
69231         * modules/fwriteerror (Depends-on): Likewise.
69232         * modules/getcwd (Depends-on): Likewise.
69233         * modules/getloadavg (Depends-on): Likewise.
69234         * modules/hard-locale (Depends-on): Likewise.
69235         * modules/makepath (Depends-on): Likewise.
69236         * modules/mountlist (Depends-on): Likewise.
69237         * modules/nanosleep (Depends-on): Likewise.
69238         * modules/posixtm (Depends-on): Likewise.
69239         * modules/quotearg (Depends-on): Likewise.
69240         * modules/readtokens (Depends-on): Likewise.
69241         * modules/readtokens0 (Depends-on): Likewise.
69242         * modules/readutmp (Depends-on): Likewise.
69243         * modules/save-cwd (Depends-on): Likewise.
69244         * modules/strftime (Depends-on): Likewise.
69245         * modules/userspec (Depends-on): Likewise.
69246         * modules/utimecmp (Depends-on): Likewise.
69247         * modules/xgetcwd (Depends-on): Likewise.
69248         * modules/xnanosleep (Depends-on): Likewise.
69249         * modules/xstrtod (Depends-on): Likewise.
69250         * modules/yesno (Depends-on): Likewise.
69251
69252 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
69253
69254         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
69255         needless checks.
69256
69257 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69258
69259         Merge from coreutils.  Among other things,
69260         add bulletproofing for cases where stdin, stdout, or stderr are closed.
69261         * lib/fd-safer.c: New file.
69262         * lib/fcntl-safer.h, open-safer.c: Remove.
69263         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
69264         * lib/dup-safer.c: Include unistd-safer.h first.
69265         Don't include errno.h.
69266         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
69267         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
69268         * lib/file-type.c: Rely on file-type.h change.
69269         * lib/getloadavg.c: Include unistd-safer.h.
69270         (getloadavg): Use safer open.
69271         * lib/getusershell.c: Include "stdio-safer.h".
69272         (getusershell): Use safer fopen.
69273         * lib/long-options.c (long_options): Use NULL rather than 0.
69274         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
69275         'free'.
69276         * lib/modechange.c: Likewise.
69277         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
69278         (MODE_DONE): New constant.
69279         (struct mode_change): Remove 'next' member.
69280         (make_node_op_equals): New function; like the old one of the
69281         same name, except it allocates an array.
69282         (mode_compile, mode_create_from_ref): Use it.
69283         (mode_compile): Allocate result as an array, not a linked list.
69284         Parse octal string ourself, so that we catch mistakes like "+0".
69285         (mode_adjust): Arg is an array, not a linked list.
69286         * lib/modechange.c: Include stat-macros.h, xalloc.h.
69287         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
69288         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
69289         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
69290         Remove.  This is now stat-macros.h's job.
69291         (talloc): Remove.  All callers replaced by xalloc, so that
69292         our invokers don't have to worry about reporting memory failures.
69293         (make_node_op_equals): Remove.
69294         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
69295         New constants.
69296         (struct mode_change): Moved here from modechange.h.
69297         (mode_append_entry): Remove.
69298         (mode_compile): Remove MASKED_OPS arg, since it encouraged
69299         apps to have incorrect behavior.  Use simpler algorithm for head
69300         and tail.  Don't futz with umask; that's now the job of mode_adjust.
69301         Detect more invalid usages rather than having somewhat-random behavior.
69302         Don't insert an "a=" action, as that leads to incorrect behavior.
69303         (mode_compile, mode_create_from_ref): Return NULL on error instead
69304         of an enum, since now there's only one way to have an error.  All
69305         callers changed.
69306         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
69307         at the correct time.  Simplify calculation of "+u" and its ilk.
69308         Don't mishandle "+X".
69309         (mode_free): Remove "register" and localize decls.
69310         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
69311         (struct mode_change): Move to modechange.c; callers don't
69312         need to see this stuff.
69313         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
69314         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
69315         (mode_change, mode_adjust): Reflect the new signatures noted above.
69316         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
69317         that might redefine system include files.
69318         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
69319         (my_usleep): Use NULL rather than (void *) 0.
69320         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
69321         Use siginterrupt to specify that system calls should be interrupted.
69322         (rpl_nanosleep): Move initialization of suspended closer to call of
69323         my_usleep.
69324         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
69325         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
69326         (desirable_utmp_entry): New function.
69327         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
69328         using x2nrealloc, to simplify logic.
69329         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
69330         size calculation.  Do not assume utmp file is a regular file.
69331         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
69332         (READ_UTMP_CHECK_PIDS): New constant.
69333         * lib/save-cwd.c: Include unistd-safer.h.
69334         (save_cwd): Use fd_safer.
69335         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
69336         [!_LIBC] Include "stat-macros.h" instead.
69337         * lib/unistd-safer.h (fd_safer): New decl.
69338
69339 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69340
69341         * modules/getloadavg (Depends-on): Add unistd-safer.
69342         * modules/getusershell (Depends-on): Add stdio-safer.
69343         * modules/lstat (Depends-on): Remove xalloc.
69344         * modules/mkstemp (Depends-on): Add stat-macros.
69345         * modules/modechange (Depends-on): Remove xstrtol.
69346         Add stat-macros, xalloc.
69347         * modules/save-cwd (Depends-on): Add unistd-safer.
69348         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
69349         * modules/unistd-safer (Files): Add lib/fd-safer.c
69350         (Makefile.am): Remove lib_SOURCES.
69351
69352         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
69353         Remove fcntl-safer; unistd-safer supersedes it.
69354
69355 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69356
69357         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
69358         AC_HEADER_STAT.
69359         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
69360         (gl_PREREQ_CHOWN): Remove.
69361         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
69362         it.  Don't require AC_HEADER_STAT.
69363         (gl_PREREQ_LSTAT): Remove.
69364         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
69365         Don't require AC_HEADER_STAT.
69366         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
69367         (gl_PREREQ_RMDIR): Remove.
69368         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
69369         mention stat-macros.h or AC_HEADER_STAT, since we'll make
69370         the stat-macros module a prerequisite.
69371         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
69372         * m4/filemode.m4 (gl_FILEMODE): Likewise.
69373         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
69374         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
69375         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
69376         variable names.
69377         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
69378         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
69379         variable prefixes.
69380         * m4/fcntl-safer.m4: Remove.
69381         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
69382         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
69383         Invoke gl_PREREQ_FD_SAFER.
69384         (gl_PREREQ_FD_SAFER): New macro.
69385         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
69386         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
69387         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
69388         Remove duplicate call to AC_LIBOBJ(readutmp).
69389         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
69390
69391         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
69392         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
69393
69394 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69395
69396         * MODULES.html.sh (Misc): Add byteswap.
69397
69398 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69399
69400         * modules/getcwd (Depends-on): Add extensions.
69401         * modules/openat (Depends-on): Likewise.
69402
69403 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69404
69405         * modules/byteswap: New file.
69406
69407 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69408
69409         * m4/byteswap.m4: New file.
69410
69411 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69412
69413         * lib/byteswap_.h: New file.
69414
69415 2005-04-25  Karl Berry  <karl@gnu.org>
69416
69417         * m4/gettext.m4: Update from GNU gettext 0.14.4.
69418
69419 2005-04-25  Albert Chin  <china@thewrittenword.com>
69420
69421         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
69422         Toolkit C bug.
69423
69424 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
69425
69426         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
69427         (func_ln_if_changed): Remove forcibly for no error message
69428         in case file does not exist.
69429
69430 2005-04-19  Simon Josefsson  <jas@extundo.com>
69431
69432         * gnulib-tool (Options): Make --symlink mean --symbolic.
69433
69434 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
69435
69436         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
69437
69438 2005-04-16  Simon Josefsson  <jas@extundo.com>
69439
69440         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
69441
69442 2005-04-15  Simon Josefsson  <jas@extundo.com>
69443
69444         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
69445
69446 2005-04-15  Simon Josefsson  <jas@extundo.com>
69447
69448         * gnulib-tool: Rename --symlink to --symbolic.
69449
69450 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
69451
69452         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
69453         symbolic links to files instead of copying/moving.  Add --aux-dir,
69454         specifying directory relative --dir where auxiliary build tools
69455         are placed.
69456
69457 2005-04-14  Bruno Haible  <bruno@clisp.org>
69458
69459         * modules/allocsa (License): Change to LGPL.
69460         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
69461
69462 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69463
69464         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
69465         that "UTC +1 second" continues to work.  Problem reported
69466         by Dmitry V. Levin.
69467         (relunit_snumber): New rule.
69468         (relunit): Use it.
69469
69470 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
69471
69472         * lib/getdate.y (universal_time_zone_table): New constant.
69473         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
69474         universal_time_zone_table.
69475         (lookup_zone): Prefer universal_time_zone_table to
69476         local_time_zone_table, so that "GMT" time stamps are allowed in
69477         London during the summer.  Problem reported by Ian Abbott.
69478
69479 2005-04-12  Jim Meyering  <jim@meyering.net>
69480
69481         * lib/human.c (humblock): Set *options even when returning due to
69482         xstrtoumax conversion failure.  Thanks to a used-uninitialized
69483         warning from gcc-4.
69484
69485 2005-04-09  Jim Meyering  <jim@meyering.net>
69486
69487         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
69488         -Wuninitialized: initialize tm0.tm_year.
69489
69490 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
69491
69492         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
69493         count, since there's no maximum.  All uses changed.
69494         Add member dsts_seen.
69495         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
69496         not being INT_MAX.
69497         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
69498         Use pc_rels_seen to decide whther a date is absolute.
69499
69500         * lib/getdate.y (number): Don't overwrite year.
69501         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
69502         check.
69503
69504 2005-04-02  Simon Josefsson  <jas@extundo.com>
69505
69506         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
69507         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
69508
69509 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
69510
69511         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
69512         where no absolute path name can be longer than PATH_MAX.
69513
69514 2005-03-27  Jim Meyering  <jim@meyering.net>
69515
69516         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
69517
69518 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
69519
69520         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
69521         "one's complement" -> "ones' complement" in comment, as per Knuth.
69522         "value of type" -> "type or expression" in comment.
69523         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
69524
69525 2005-03-26  Jim Meyering  <jim@meyering.net>
69526
69527         Comment nits.
69528         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
69529         Correct typos: s/or/of/.
69530
69531 2005-03-26  Jim Meyering  <jim@meyering.net>
69532
69533         * modules/check-include-files: Move to ../ and rename to...
69534         * check-module: ...this.
69535
69536 2005-03-25  Jim Meyering  <jim@meyering.net>
69537
69538         * modules/xvasprintf (Files): Add xalloc.h.
69539
69540 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
69541
69542         * modules/gettext (Files): config/config.rpath ->
69543         build-aux/config.rpath
69544         * modules/iconv (Files): Likewise.
69545         Problem reported by Oskar Liljeblad.
69546
69547 2005-03-23  Jim Meyering  <jim@meyering.net>
69548
69549         * modules/check-include-files: New script to check for
69550         missing dependencies, multiple includes, etc.
69551
69552         * modules/c-strtold (Depends-on): Add xalloc.
69553         * modules/c-strtod (Depends-on): Add xalloc.
69554         * modules/hash (Depends-on): Add xalloc.
69555         (Files): Remove lib/xalloc.h.
69556
69557         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
69558         * modules/userspec (Files): Add lib/inttostr.h.
69559
69560 2005-03-23  Jim Meyering  <jim@meyering.net>
69561
69562         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
69563
69564 2005-03-22  Jim Meyering  <jim@meyering.net>
69565
69566         * modules/stat-macros: New module.
69567         * modules/canonicalize, modules/euidaccess, modules/file-type,
69568         * modules/filemode, modules/lchown, modules/makepath,
69569         * modules/rmdir, modules/stat: Depend on new stat-macros module
69570         rather than listing lib/stat-macros.h manually.
69571         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
69572
69573 2005-03-22  Jim Meyering  <jim@meyering.net>
69574
69575         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
69576
69577 2005-03-22  Bruno Haible  <bruno@clisp.org>
69578
69579         * config/srclist.txt: Replace target directory 'config' with
69580         'build-aux'.
69581         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
69582         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
69583         ../build-aux/.
69584
69585 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
69586
69587         * modules/chdir-long (Depends-on): Add mempcpy.
69588
69589         * modules/acl, modules/backupfile, modules/c-strtod,
69590         modules/c-strtold, modules/canon-host, modules/canonicalize,
69591         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
69592         modules/exclude, modules/exitfail, modules/file-type,
69593         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
69594         modules/getdate, modules/getline, modules/getpagesize,
69595         modules/getpass, modules/getugroups, modules/group-member,
69596         modules/hard-locale, modules/hash, modules/human, modules/idcache,
69597         modules/inttostr, modules/long-options, modules/makepath,
69598         modules/md5, modules/memcasecmp, modules/memcoll,
69599         modules/modechange, modules/mountlist, modules/path-concat,
69600         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
69601         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
69602         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
69603         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
69604         modules/strftime, modules/strndup, modules/strverscmp,
69605         modules/timespec, modules/unlocked-io, modules/userspec,
69606         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
69607         modules/yesno:
69608         Remove lib_SOURCES line from Makefile.am section, as this is now
69609         done automatically by the corresponding Autoconf macro.
69610
69611 2005-03-21  Jim Meyering  <jim@meyering.net>
69612
69613         Changes imported from coreutils.
69614
69615         * lib/cycle-check.c: Don't include xalloc.h.
69616
69617         * lib/path-concat.c: Don't include assert.h.
69618         (path_concat): Remove assertion that would have triggered
69619         for ABASE starting with more than one slash.
69620         Reported by Andreas Schwab.
69621
69622         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
69623         properly when ABASE is an absolute file name.
69624         Correct the description of this function.
69625         Include <assert.h>.
69626         Add an assertion and a test driver.
69627         This fixes a bug introduced on 2004-07-02.
69628         Andreas Schwab reported the resulting failure of cp --parents:
69629         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
69630
69631 2005-03-21  Jim Meyering  <jim@meyering.net>
69632
69633         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
69634         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
69635
69636 2005-03-21  Jim Meyering  <jim@meyering.net>
69637         and  Paul Eggert  <eggert@cs.ucla.edu>
69638
69639         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
69640         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
69641         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
69642         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
69643         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
69644         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
69645         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
69646         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
69647         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
69648         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
69649         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
69650         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
69651         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
69652         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
69653         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
69654         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
69655         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
69656         for these modules.
69657
69658 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
69659
69660         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
69661         (which shouldn't happen), generate nothing instead of returning 0
69662         immediately, so that nstrftime (NULL, ...) doesn't return 0.
69663
69664 2005-03-16  Bruno Haible  <bruno@clisp.org>
69665
69666         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
69667         HAVE_LONGLONG_64BIT.
69668
69669 2005-03-16  Bruno Haible  <bruno@clisp.org>
69670
69671         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
69672         HAVE_LONGLONG_64BIT.
69673
69674 2005-03-16  Bruno Haible  <bruno@clisp.org>
69675
69676         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
69677         HAVE_LONGLONG_64BIT.
69678
69679 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
69680
69681         * lib/strftime.c (my_strftime): Prepend space to format so that we can
69682         reliably distinguish strftime failure from empty output on POSIX
69683         hosts.
69684
69685 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
69686
69687         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
69688         (iconv_string): Don't guess a size-zero buffer, as that might cause
69689         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
69690         result would be 'too large', where 'too large' is (heuristically)
69691         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
69692         overflow concerns.  This will prevent some unwanted malloc failures
69693         when the inputs are very large.
69694
69695 2005-03-15  Karl Berry  <karl@gnu.org>
69696
69697         * config/srclist.txt (config.rpath): from gettext.
69698         * config/config.rpath: update.
69699
69700 2005-03-15  Bruno Haible  <bruno@clisp.org>
69701
69702         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
69703         to 'negate'.
69704
69705         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
69706         variable.
69707
69708         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
69709         results.
69710
69711 2005-03-14  Simon Josefsson  <jas@extundo.com>
69712
69713         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
69714         <fx@gnu.org>.
69715
69716 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
69717
69718         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
69719         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
69720         intprops.h.
69721         * lib/strtol.c: Likewise.
69722
69723 2005-03-14  Jim Meyering  <jim@meyering.net>
69724
69725         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
69726         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
69727         to be nonzero so that we (and caller) can detect the difference
69728         between a valid zero-length expansion and an error return, even
69729         when the underlying strftime fails before writing anything into
69730         that location.
69731
69732 2005-03-14  Bruno Haible  <bruno@clisp.org>
69733
69734         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
69735         Update from GNU gettext 0.14.3.
69736
69737 2005-03-10  Jim Meyering  <jim@meyering.net>
69738
69739         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
69740
69741 2005-03-10  Jim Meyering  <jim@meyering.net>
69742
69743         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
69744         so that this module works on systems without fchdir.
69745
69746 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
69747
69748         Factor int-properties macros into a single file, except for
69749         glibc-related files.
69750         * lib/intprops.h: New file.
69751         * lib/getloadavg.c: Include it instead of limits.h.
69752         (INT_STRLEN_BOUND): Remove.
69753         * lib/human.c: Include intprops.h.
69754         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
69755         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
69756         302/1000.
69757         * lib/inttostr.h: Include intprops.h instead of limits.h.
69758         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
69759         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
69760         for consistency with intprops.h.
69761         (time_t_is_integer, twos_complement_arithmetic): Use them.
69762         * lib/sig2str.h: Include <signal.h>, intprops.h.
69763         (INT_STRLEN_BOUND): Remove.
69764         * lib/strftime.c (TYPE_SIGNED): Remove.
69765         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
69766         * lib/strtol.c: Adjust comments to match intprops.h.
69767         * lib/userspec.c: Include intprops.h.
69768         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
69769         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
69770         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
69771         instead of rolling our own expressions.
69772         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
69773
69774         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
69775         instead of int.
69776         (my_strftime): Do not mishandle years close to INT_MAX, by doing
69777         the right thing even if adding 1900 would overflow.  Similarly
69778         for tm_mon + 1 and tm_yday + 1.
69779         Make %Y always equivalent to %C%y, and similarly for %G and %g.
69780         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
69781         (DO_SIGNED_NUMBER): New macro.
69782         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
69783
69784 2005-03-07  Bruno Haible  <bruno@clisp.org>
69785
69786         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
69787
69788 2005-03-07  Bruno Haible  <bruno@clisp.org>
69789
69790         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
69791
69792 2005-03-04  Derek R. Price  <derek@ximbiot.com>
69793
69794         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
69795         (func_import): Only replace files via --import when they have actually
69796         changed.
69797
69798 2005-03-03  Derek R. Price  <derek@ximbiot.com>
69799
69800         * m4/mmap-anon.m4: New file.
69801         * m4/pagealign_alloc.m4: New file.
69802
69803 2005-03-03  Derek R. Price  <derek@ximbiot.com>
69804             Bruno Haible  <bruno@clisp.org>
69805
69806         * modules/pagealign_alloc: New file.
69807         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
69808
69809 2005-03-03  Derek R. Price  <derek@ximbiot.com>
69810             Bruno Haible  <bruno@clisp.org>
69811
69812         * lib/pagealign_alloc.h: New file.
69813         * lib/pagealign_alloc.c: New file.
69814
69815 2005-03-03  Bruno Haible  <bruno@clisp.org>
69816
69817         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
69818         Use an all-permissive copyright notice, recommended by RMS.
69819
69820 2005-03-02  Bruno Haible  <bruno@clisp.org>
69821
69822         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
69823         of AIX, the replacement has to be done only after <string.h> is
69824         included, therefore not in config.h. stpncpy.h does the replacement,
69825         and stpncpy.c uses it.
69826
69827 2005-03-02  Bruno Haible  <bruno@clisp.org>
69828
69829         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
69830         stpncpy.c uses it.
69831
69832 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69833
69834         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
69835         The workaround isn't strictly needed for POSIX conformance, and
69836         it's too much of a pain to configure and maintain.  We'll ask
69837         people to fix their kernels instead.
69838         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
69839         (NANOSLEEP_BUG_WORKAROUND): Remove.
69840         (xnanosleep): Remove the workaround.
69841
69842 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69843
69844         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
69845         Reported by Derek Price.
69846         (Include): Add "timespec.h".
69847
69848         * modules/xnanosleep (Depends-on): Remove gethrxtime.
69849
69850 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69851
69852         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
69853         to detect nanosleep bug.
69854
69855 2005-03-01  Bruno Haible  <bruno@clisp.org>
69856
69857         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
69858
69859 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
69860
69861         * modules/gethrxtime: New file.
69862         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
69863         (Depends-on): Add gethrxtime.
69864         (configure.ac): Add gl_XNANOSLEEP.
69865         (Makefile.am): Remove lib_SOURCES line.
69866
69867 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69868
69869         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
69870         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
69871
69872 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69873
69874         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
69875         * lib/timespec.h (gettime): Return void, since it always
69876         succeeds now.  All uses changed.
69877         * lib/gettime.c (gettime): Likewise.
69878         [HAVE_NANOTIME]: Prefer nanotime.
69879         Assume gettimeofday succeeds, as POSIX requires.
69880         Assime time () succeeds, since other code already does.
69881         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
69882         (timespec_subtract): Remove.
69883         (NANOSLEEP_BUG_WORKAROUND): New constant.
69884         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
69885         things considerably.  Use it only on GNU/Linux hosts, since the
69886         workaround shouldn't be needed elsewhere.
69887
69888 2005-02-24  Bruno Haible  <bruno@clisp.org>
69889
69890         * modules/gettext (Files): Add m4/glibc2.m4.
69891
69892 2005-02-24  Bruno Haible  <bruno@clisp.org>
69893
69894         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
69895         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
69896         * m4/progtest.m4:
69897         Update from GNU gettext 0.14.2.
69898         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
69899
69900 2005-02-24  Bruno Haible  <bruno@clisp.org>
69901
69902         * lib/localcharset.c: Update from GNU gettext 0.14.2.
69903         * lib/config.charset: Update from GNU gettext 0.14.2.
69904
69905 2005-02-24  Bruno Haible  <bruno@clisp.org>
69906
69907         * lib/gettext.h: Update from GNU gettext 0.14.2.
69908
69909 2005-02-23  Simon Josefsson  <jas@extundo.com>
69910
69911         * m4/iconvme.m4: New file.
69912
69913 2005-02-23  Jim Meyering  <jim@meyering.net>
69914
69915         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
69916         change.
69917         Thanks to Bruno Haible for catching it.
69918
69919 2005-02-22  Simon Josefsson  <jas@extundo.com>
69920
69921         * modules/iconvme: New file.
69922
69923         * MODULES.html.sh: Add iconvme.
69924
69925 2005-02-22  Simon Josefsson  <jas@extundo.com>
69926
69927         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
69928
69929 2005-02-22  Simon Josefsson  <jas@extundo.com>
69930
69931         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
69932
69933 2005-02-22  Jim Meyering  <jim@meyering.net>
69934
69935         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
69936         s/ifndef/ifdef/.
69937
69938 2005-02-20  Neil Conway  <neilc@samurai.com>
69939
69940         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
69941         returned by OSX/Darwin if the specified buffer is not large
69942         enough for the hostname.
69943
69944 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69945
69946         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
69947         pass it to _help, otherwise the latter coredumps trying to
69948         dereference state.root_argp.
69949
69950 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69951
69952         * modules/chdir-long (Depends-on): Add memrchr.
69953         * modules/memrchr (Files): Add lib/memrchr.h.
69954         (Include): "memrchr.h".
69955
69956 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69957
69958         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
69959
69960 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69961
69962         * lib/memrchr.h: New file.
69963         * lib/chdir-long.c: Include it.
69964         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
69965         Don't bother including stddef.h.
69966
69967 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69968
69969         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
69970         inclusion.
69971         Include <sys/types.h>, for dev_t.
69972         (ME_DUMMY, ME_REMOTE): Move from here....
69973         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
69974         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
69975         Dmitry V. Levin.
69976         Include mountlist.h first, to test the interface.
69977
69978 2005-01-29  Bruno Haible  <bruno@clisp.org>
69979
69980         * lib/progname.c (program_name): Initialize.
69981         Needed when linking statically on MacOS X.
69982
69983 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69984
69985         Sync from coreutils.
69986         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
69987         (Depends-on): Add c-strtod.
69988         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
69989
69990 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69991
69992         Sync from coreutils.
69993         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
69994
69995         Remove files that are specific to coreutils.
69996         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
69997
69998 2005-01-28  Bruno Haible  <bruno@clisp.org>
69999
70000         * modules/javacomp: New file.
70001         * MODULES.html.sh (Java): Add javacomp.
70002
70003 2005-01-28  Bruno Haible  <bruno@clisp.org>
70004
70005         * m4/javacomp.m4: New file, from GNU gettext.
70006
70007 2005-01-28  Bruno Haible  <bruno@clisp.org>
70008
70009         * lib/javacomp.sh.in: New file, from GNU gettext.
70010         * lib/javacomp.h: New file, from GNU gettext.
70011         * lib/javacomp.c: New file, from GNU gettext.
70012
70013 2005-01-26  Simon Josefsson  <jas@extundo.com>
70014
70015         * lib/gai_strerror.c: Use GPL in header.
70016
70017 2005-01-26  Bruno Haible  <bruno@clisp.org>
70018
70019         * modules/javaexec: New file.
70020         * MODULES.html.sh (Java): Add javaexec.
70021
70022 2005-01-26  Bruno Haible  <bruno@clisp.org>
70023
70024         * m4/javaexec.m4: New file, from GNU gettext.
70025
70026 2005-01-26  Bruno Haible  <bruno@clisp.org>
70027
70028         * lib/javaexec.sh.in: New file, from GNU gettext.
70029         * lib/javaexec.h: New file, from GNU gettext.
70030         * lib/javaexec.c: New file, from GNU gettext.
70031
70032 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70033
70034         * modules/lchown (Depends-on): Remove lchown.h
70035
70036 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70037
70038         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
70039         must be defined if the header file was not found, in order
70040         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
70041
70042 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70043
70044         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
70045         initializers for struct pentry_state.
70046         (__argp_error): Check return value of __asprintf
70047         (__argp_failure): Translate error message
70048
70049         * lib/argp-parse.c: Removed braces around the expansion of N_()
70050
70051 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70052
70053         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
70054         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
70055         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
70056         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
70057         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
70058         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
70059         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
70060         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
70061         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
70062         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
70063         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
70064         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
70065         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
70066         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
70067         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
70068         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
70069         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
70070         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
70071         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
70072         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
70073         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
70074         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
70075         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
70076         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
70077         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
70078         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
70079         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
70080         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
70081         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
70082         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
70083         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
70084         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
70085         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
70086         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
70087         xstrtol.m4, xstrtoumax.m4, yesno.m4:
70088         Use an all-permissive copyright notice, recommended by RMS.
70089
70090 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
70091
70092         * modules/chdir-long (Depends-on): Remove mempcpy.
70093
70094 2005-01-21  Jim Meyering  <jim@meyering.net>
70095
70096         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
70097         same value as for Solaris 9.
70098
70099         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
70100         component length.  This included changing the parameter to be
70101         of type `char *' rather than `char const *'.
70102         * lib/chdir-long.h (chdir_long): Update prototype.
70103
70104         * lib/openat.c (fdopendir, fstatat): New functions.
70105         * lib/openat.h: Include headers required for use of DIR and struct
70106         stat.
70107         [AT_SYMLINK_NOFOLLOW]: Define.
70108         (fdopendir, fstatat): Add prototypes.
70109
70110 2005-01-21  Bruno Haible  <bruno@clisp.org>
70111
70112         * modules/classpath: New file.
70113         * MODULES.html.sh (Java): Add classpath.
70114
70115 2005-01-21  Bruno Haible  <bruno@clisp.org>
70116
70117         * lib/classpath.h: New file, from GNU gettext.
70118         * lib/classpath.c: New file, from GNU gettext.
70119
70120 2005-01-20  Simon Josefsson  <jas@extundo.com>
70121
70122         * modules/version-etc-fsf: New file.
70123
70124 2005-01-20  Simon Josefsson  <jas@extundo.com>
70125
70126         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
70127         * lib/version-etc.c: Remove version_etc_copyright.
70128         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
70129         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
70130
70131 2005-01-20  Simon Josefsson  <jas@extundo.com>
70132
70133         * lib/base64.h (isbase64): Add.
70134
70135         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
70136         using a unsigned prototype, don't inline.
70137         (base64_decode): Use it.
70138
70139 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70140
70141         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
70142         it.
70143
70144 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70145
70146         * lib/save-cwd.c (save_cwd): Remove code to support the case
70147         where fchdir is missing or flaky.
70148
70149 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70150
70151         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
70152
70153 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70154
70155         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
70156         AC_LIBSOURCES now does this.
70157         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
70158         with new ullong_max module.
70159
70160 2005-01-19  Bruno Haible  <bruno@clisp.org>
70161
70162         * modules/sh-quote: New file.
70163         * MODULES.html.sh (Executing programs): Add sh-quote.
70164
70165 2005-01-19  Bruno Haible  <bruno@clisp.org>
70166
70167         * lib/sh-quote.h: New file, from GNU gettext.
70168         * lib/sh-quote.c: New file, from GNU gettext.
70169
70170 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70171
70172         Merge from coreutils.
70173         * m4/ullong_max.m4: New file.
70174         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
70175         (gl_MACROS): Assume localeconv exists.
70176
70177 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70178
70179         Merge changes from coreutils, as described below in several
70180         changelogs dated today.
70181
70182         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
70183         (O_DIRECTORY): Remove; not needed here, since "." must be
70184         a directory.  All uses removed.
70185         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
70186         universal on Suns, and we also need to test for IRIX.
70187         Revamp code to use 'if' rather than '#if'.
70188         Avoid unnecessary comparison of cwd->desc to 0.
70189
70190         * lib/utimens.c (futimens): Robustify the previous patch, by checking
70191         for known valid error numbers rather than observed invalid ones.
70192
70193 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70194
70195         * modules/ullong_max: New file.
70196
70197         * modules/chdir-long, modules/openat: New files.
70198         * modules/save-cwd (Depends-on): Depend on chdir-long.
70199         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
70200
70201 2005-01-18  Jim Meyering  <jim@meyering.net>
70202
70203         Merge from coreutils.
70204         * m4/chdir-long.m4, m4/openat.m4: New files.
70205         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
70206         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
70207         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
70208         is sane and DOES follow symlinks.  Besides, testing 20 different
70209         systems found no broken chown implementations.
70210         Prompted by a change in rsync's copy of this macro.
70211         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
70212
70213         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
70214
70215         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
70216         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
70217         NULL-means-set-to-current-time semantics.
70218         Remove temporary file immediately, rather than waiting
70219         for configure's at-exit trap code to do it.
70220
70221 2005-01-18  Jim Meyering  <jim@meyering.net>
70222
70223         * lib/version-etc.c (version_etc_copyright): Update copyright date.
70224
70225         * lib/utimens.c (futimens): Account for the fact that futimes
70226         can also fail with errno == ENOSYS or errno == ENOENT.
70227         Patch from Dmitry V. Levin.
70228
70229         Change the name of the robust chdir function from chdir to chdir_long.
70230         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
70231         (restore_cwd): Use chdir_long, not chdir.
70232         * lib/chdir-long.c: Renamed from chdir.c.
70233         * lib/chdir-long.h: Renamed from chdir.h.
70234         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
70235         Hurd.
70236
70237 2005-01-18  Bruno Haible  <bruno@clisp.org>
70238
70239         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
70240         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
70241         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
70242         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
70243         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
70244         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
70245         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
70246         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
70247         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
70248         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
70249         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
70250         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
70251         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
70252         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
70253         Use an all-permissive copyright notice, recommended by RMS.
70254
70255 2005-01-18  Bob Proulx  <bob@proulx.com>
70256
70257         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
70258         simplify offsetof() macro construct to avoid compile failure with
70259         native HP-UX 11.0 ANSI C compiler.
70260
70261 2005-01-17  Bruno Haible  <bruno@clisp.org>
70262
70263         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
70264         redundant because stpncpy.m4 takes care of it.
70265
70266 2005-01-17  Bruno Haible  <bruno@clisp.org>
70267
70268         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
70269
70270 2005-01-17  Bruno Haible  <bruno@clisp.org>
70271
70272         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
70273         used.
70274
70275 2005-01-17  Bruno Haible  <bruno@clisp.org>
70276
70277         * lib/fwriteerror.h (fwriteerror): Change specification to include
70278         fclose.
70279         * lib/fwriteerror.c: Include <stdbool.h>.
70280         (fwriteerror): At the end, close the file stream. Record whether
70281         stdout was already closed.
70282
70283 2005-01-17  Bruno Haible  <bruno@clisp.org>
70284
70285         * lib/execute.c (environ): Declare if needed.
70286         * lib/pipe.c (environ): Likewise.
70287         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
70288
70289 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70290
70291         * modules/argp: Depend on vsnprintf
70292
70293 2005-01-10  Jim Meyering  <jim@meyering.net>
70294
70295         * modules/closeout (Depends-on): Add atexit.
70296
70297 2005-01-06  Bruno Haible  <bruno@clisp.org>
70298
70299         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
70300
70301 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
70302
70303         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
70304         definitions to be after all include files, to avoid collisions.
70305         Problem reported by Bob Proulx.
70306
70307 2005-01-04  Jim Meyering  <jim@meyering.net>
70308
70309         Changes imported from coreutils.
70310         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
70311         as the mkstemp template, use a temporary directory and an
70312         8.3-friendly template to avoid trouble on systems like DJGPP.
70313         Reported by Juan M. Guerrero via Stepan Kasal.
70314         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
70315         close. Remove the temporary directory right away, rather than waiting
70316         for configure's at-exit trap code to do it.
70317         Suggestion from Stepan Kasal.
70318
70319 2005-01-01  Simon Josefsson  <jas@extundo.com>
70320
70321         * gnulib-tool: Print #include directives when --import'ing.
70322
70323 2004-12-28  Simon Josefsson  <jas@extundo.com>
70324
70325         * tests/test-base64.c: Include required header files.  Remove
70326         unused variables.
70327
70328 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
70329
70330         * modules/error (Depends-on): Remove gettext.
70331
70332 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
70333
70334         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
70335         not needed.  This removes a dependency on the gettext module.
70336         [defined _LIBC]: Do not include <libintl.h>; not needed.
70337
70338 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
70339
70340         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
70341         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
70342
70343 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
70344
70345         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
70346         HAVE_DECL_STRTOLD.
70347
70348 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70349
70350         * modules/getdate (Depends-on): Remove alloca-opt.
70351
70352 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70353
70354         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
70355
70356 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70357
70358         * lib/argp-parse.c: Include <stddef.h>.
70359         (alignof, alignto): New macros.
70360         (parser_init): Don't assume that void * is aligned sufficiently
70361         for struct option.
70362
70363         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
70364         need to extend the stack.
70365         (YYINITDEPTH): New macro, so that the initial stack isn't overly
70366         large.
70367
70368 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70369
70370         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
70371
70372 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
70373
70374         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
70375         (2004-10-24) change.  Apparently this was a false alarm.
70376
70377         * modules/getdate: Depend on alloca-opt, not alloca.
70378
70379 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
70380
70381         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
70382         Remove now-obsolete comment about AIX.
70383         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
70384         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
70385         (YYMAXDEPTH): New macro.
70386
70387 2004-12-18  Simon Josefsson  <jas@extundo.com>
70388
70389         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
70390
70391 2004-12-18  Bruno Haible  <bruno@clisp.org>
70392
70393         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
70394
70395 2004-12-18  Bruno Haible  <bruno@clisp.org>
70396
70397         * lib/fatal-signal.c (fatal_signals): Make non-const.
70398         (init_fatal_signals): New function.
70399         (uninstall_handlers, install_handlers): Ignore signals that were set to
70400         SIG_IGN.
70401         (at_fatal_signal): Call init_fatal_signals.
70402         (init_fatal_signal_set): Likewise. Ignore signals that were set to
70403         SIG_IGN.
70404         Reported by Paul Eggert.
70405
70406 2004-12-18  Bruno Haible  <bruno@clisp.org>
70407
70408         * doc/alloca.texi: New file.
70409         * doc/alloca-opt.texi: New file.
70410
70411 2004-12-17  Jim Meyering  <jim@meyering.net>
70412
70413         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
70414         Otherwise, install-sh could exit with improper exit status when
70415         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
70416
70417 2004-12-16  Simon Josefsson  <jas@extundo.com>
70418
70419         * tests/test-base64.c: Add license.
70420
70421 2004-12-15  Stepan Kasal  <address@hidden>
70422
70423         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
70424
70425 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
70426
70427         * modules/getcwd (Files): Add m4/d-ino.m4.
70428         Suggested by Mark D. Baushke.
70429
70430 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
70431
70432         * lib/getdate.y (textint): New member "negative".
70433         (time_zone_hhmm): New function.
70434         Expect 14 shift-reduce conflicts, not 13.
70435         (o_colon_minutes): New rule.
70436         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
70437         (yylex): Set the "negative" member of signed numbers.
70438
70439 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
70440
70441         * doc/getdate.texi (Time of day items, Time zone items):
70442         Describe new formats +00:00, UTC+00:00.
70443
70444 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
70445
70446         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
70447         spurious "-l"s.  Problem reported by Stepan Kasal.
70448
70449 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
70450
70451         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
70452         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
70453
70454 2004-12-04  Simon Josefsson  <jas@extundo.com>
70455
70456         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
70457         Vandoorselaere <yoann@prelude-ids.org>.
70458
70459 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
70460
70461         Changes imported from coreutils.
70462         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
70463         exist.
70464         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
70465
70466 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
70467
70468         Changes imported from coreutils.
70469         * lib/hard-locale.c: Assume <locale.h> exists.
70470         Include "strdup.h".
70471         (GLIBC_VERSION): New macro.
70472         (hard_locale): Assume setlocale exists.
70473         Rewrite to avoid #ifdef.
70474         Use strdup rather than malloc + strcpy.
70475         * lib/human.c: Assume <locale.h> exists.
70476         (human_readable): Assume localeconv exists.
70477
70478 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
70479
70480         * modules/hard-locale (Depends-on): Add strdup.
70481
70482 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70483
70484         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
70485         convert T2, not T.  (Imported from libc.)
70486
70487 2004-11-30  Simon Josefsson  <jas@extundo.com>
70488
70489         * modules/restrict (License): Change to LGPL.
70490
70491 2004-11-30  Simon Josefsson  <jas@extundo.com>
70492
70493         * m4/restrict.m4: Add copyright and copying conditions.
70494
70495 2004-11-30  Simon Josefsson  <jas@extundo.com>
70496
70497         * m4/base64.m4: New file.
70498
70499 2004-11-30  Simon Josefsson  <jas@extundo.com>
70500
70501         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
70502         base64.
70503
70504         * tests/test-base64.c: New file.
70505
70506         * modules/base64: New file.
70507
70508 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
70509
70510         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
70511         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
70512
70513         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
70514
70515 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
70516
70517         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
70518         (__getcwd.c): Don't restore errno; glibc doesn't.
70519         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
70520         first, falling back to our code only if its results look suspicious.
70521         Ensure that the resulting buffer is only as large as necessary.
70522
70523         * lib/readutmp.c: Include readutmp.h first.
70524         Include <errno.h>, since readutmp.h no longer does that.
70525         * lib/readutmp.h: Don't include <errno.h>,
70526         <sys/param.h>, <time.h>; not needed to establish interface.
70527         (errno): Remove decl.
70528         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
70529         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
70530         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
70531
70532 2004-11-28  Simon Josefsson  <jas@extundo.com>
70533
70534         * lib/base64.h, base64.c: New file.
70535
70536 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
70537
70538         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
70539
70540 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
70541
70542         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
70543         (Depends-on): Remove pathmax, same.  Add mempcpy.
70544         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
70545         (Makefile.am): Append getcwd.h to lib_SOURCES.
70546         (Include): Add getcwd.h.
70547         (Maintainer): Change from Jim Meyering to "all, glibc",
70548         since getdate now uses intended-for-glibc code.
70549         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
70550         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
70551
70552 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
70553
70554         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
70555         HP's ANSI C compiler.
70556         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
70557         Declaring int functions causes warnings on some modern systems and
70558         shouldn't be needed to compile on ancient ones.
70559         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
70560         defined.
70561
70562         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
70563         with the following changes.
70564         (__set_errno): Parenthesize properly.
70565         Include <stdbool.h>.
70566         (MIN, MAX, MATCHING_INO): New macros.
70567         (__getcwd): Define with prototype, not K&R form.
70568         Use heuristics to allocate default buffer on stack if possible.
70569         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
70570         behavior, and to avoid the PATH_MAX limit when computing
70571         ../../../../...
70572         Use MATCHING_INO to compare inode number to file.
70573         Check for arithmetic overflow in size calculations.
70574         Fix bug in reallocation of dot array that caused getcwd to fail
70575         on directories nested deeper than 75.
70576         Be more careful about saving errno on error.
70577         Do not use realloc; use only free+malloc, as this is a bit
70578         more flexible and avoids a needless copy operation.
70579         Do not inspect st_dev and st_ino for symbolic links; POSIX
70580         doesn't specify the latter.
70581         Check for closedir errors.
70582         Avoid needless casts.
70583         Use "#ifdef weak_alias" around weak_alias, to be like other
70584         glibc code.
70585         The following changes to getcwd.c have effect only when used in
70586         gnulib; they have no effect inside glibc proper.
70587         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
70588         as alloca isn't used.
70589         (alloca, __alloca): Likewise.
70590         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
70591         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
70592         unconditionally, as gnulib assumes C89 or better.
70593         Do not include <sys/param.h>.
70594         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
70595         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
70596         better.
70597         (NULL) [!defined NULL]: Remove; we assume C89 or better.
70598         Include <dirent.h> in a way that is compatible with modern Autoconf.
70599         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
70600         New macros, if not already defined.
70601         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
70602         Use "_LIBC", not "defined _LIBC", for consistency.
70603         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
70604         a mempcpy module.
70605         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
70606         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
70607         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
70608         credit only to Jim Meyering and adjust the copyright dates.
70609         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
70610         <stdlib.h>, <unistd.h>, "pathmax.h".
70611         Instead, include "xgetcwd.h" (first) and "getcwd.h".
70612         (INITIAL_BUFFER_SIZE): Remove.
70613         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
70614
70615 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
70616
70617         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
70618         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
70619         Use the _ONCE methods, for efficiency.
70620         Check for fcntl.h.  In test program, include <errno.h>
70621         and <fcntl.h> if available.  Remove old K&R cruft from
70622         test program.  Check for common errors in GNU/Linux,
70623         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
70624         don't do AC_LIBOBJ, as that's getcwd.m4's job.
70625         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
70626         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
70627         name accordingly.
70628         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
70629         accommodate new getcwd.c.
70630         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
70631         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
70632         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
70633         that's all we need now.
70634
70635 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70636
70637         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
70638         argp-parse.c depends on getopt internals, that means we should
70639         always use our getopt, to be on the safe side.
70640         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
70641         order not to spoil the result of an eventual previous invocation
70642         of gl_GETOPT_SUBSTITUTE.
70643
70644 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70645
70646         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
70647         redefinition warnings. To avoid them, include the defines
70648         in `#if !defined __need_getopt ... #endif'. The only place
70649         where __getopt_argv_const is used is in definitions
70650         of getopt_long and getopt_long_only below, which are as well
70651         protected by `#ifndef __need_getopt'.
70652         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
70653         __need_getopt after including <stdio.h> and <unistd.h> These
70654         headers might have defined it.
70655
70656 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
70657
70658         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
70659
70660 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
70661
70662         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
70663         (futimens): New function, which uses futimes if available.
70664         (futimens, utimens): Support timespec==NULL, with same semantics
70665         as utime and utimens.
70666         * lib/utimens.h (futimens): New decl.
70667
70668 2004-11-23  Jim Meyering  <jim@meyering.net>
70669
70670         * lib/getopt_.h: Remove trailing blanks.
70671
70672 2004-11-23  Jim Meyering  <jim@meyering.net>
70673
70674         * lib/__fpending.c: Add comment.
70675
70676 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
70677
70678         * modules/canonicalize (Depends-on): Add xreadlink.
70679         Problem reported by James Youngman.
70680
70681 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70682
70683         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
70684         New macros.
70685         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
70686         optopt): Use them instead of invoking ## directly; otherwise, the
70687         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
70688
70689 2004-11-19  Bruno Haible  <bruno@clisp.org>
70690
70691         * lib/strtok_r.c: Move comments from here...
70692         * lib/strtok_r.h: ... to here.
70693
70694 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70695
70696         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
70697         implementations that mishandle size_t overflow.
70698
70699 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70700
70701         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
70702         might fail.  Problem reported by Yoann Vandoorselaere.
70703         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
70704         implementations that mishandle size_t overflow.
70705
70706 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70707
70708         * modules/canon-host (Depends-on): Add strdup.
70709
70710 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70711
70712         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
70713
70714 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70715
70716         * lib/canon-host.c: Include "strdup.h".
70717         (canon_host): Use getaddrinfo if available, so that IPv6 works.
70718         Use strdup instead of malloc/strcpy to duplicate strings.
70719
70720         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
70721         (human_space_before_unit): New constant.
70722         * lib/human.c (human_readable): Support it.
70723
70724         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
70725         (xgetcwd): Set errno correctly when failing.
70726         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
70727         the failure is actually due to a PATH_MAX problem.
70728
70729         Further getopt changes to make it more likely that glibc will
70730         buy the changes back.
70731         * lib/getopt.c (POSIXLY_CORRECT): New constant.
70732         (getopt): Use it, so to preserve glibc semantic
70733         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
70734         when compiling for libc.
70735         * lib/getopt_.h (__getopt_argv_const): Bring it back.
70736         (getopt_long, getopt_long_only): Use it.
70737
70738         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
70739         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
70740         (getopt): Argv is now char * const *, as per standard.
70741         (_getopt_internal_r, _getopt_internal): Argv is now char **,
70742         not char *__getopt_argv_const *.
70743         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
70744         _getopt_long_only_r): Likewise.
70745         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
70746         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
70747         _getopt_long_r, _getopt_long_only_r): Likewise.
70748         * lib/getopt_.h (__getopt_argv_const): Remove.
70749         (getopt): Argv is now char * const *, as per standard.
70750
70751         * lib/getdate.y (tORDINAL): New token.
70752         (day, relunit): Allow it for relative times.
70753         (relative_time_table): Use tORDINAL for ordinals.
70754
70755 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70756
70757         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
70758         Document that "second" isn't allowed as an ordinal number.
70759
70760 2004-11-16  Jim Meyering  <jim@meyering.net>
70761
70762         * modules/closeout (Depends-on): Add fpending.
70763
70764 2004-11-15  Jim Meyering  <jim@meyering.net>
70765
70766         * lib/closeout.c: Include "__fpending.h" once again.
70767         Include <stdbool.h>.
70768         (close_stdout): Don't fail just because stdout was closed initially,
70769         since some programs don't write to stdout in the normal course of
70770         operation (other than --version and --help), and we don't want this
70771         function to make e.g. `touch file >&-' fail.
70772         But do fail if it was closed and someone has tried to write to it.
70773         E.g., `printf foo >&-' must fail.
70774
70775 2004-11-13  Jim Meyering  <jim@meyering.net>
70776
70777         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
70778
70779 2004-11-12  Simon Josefsson  <jas@extundo.com>
70780
70781         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
70782         small doc fix is still pending.
70783
70784 2004-11-11  Simon Josefsson  <jas@extundo.com>
70785
70786         * modules/strtok_r: New file.
70787
70788         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70789         strtok_r.
70790
70791 2004-11-11  Simon Josefsson  <jas@extundo.com>
70792
70793         * m4/strtok_r.m4: New file.
70794
70795         * m4/getopt.m4: Replace opterr.
70796
70797 2004-11-11  Simon Josefsson  <jas@extundo.com>
70798
70799         * lib/strtok_r.h, strtok_r.c: New file.
70800
70801 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
70802
70803         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
70804         of replacing opterr, getopt, etc.  This should handle the
70805         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
70806
70807 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
70808
70809         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
70810         we can stop lying to compilers about the constness of argv when we
70811         are compiled outside glibc.
70812         (getopt, getopt_long, getopt_long_only): Use it.
70813         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
70814         _getopt_internal, getopt): Likewise.
70815         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
70816         _getopt_long_only_r): Likewise.
70817         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
70818         _getopt_long_r, _getopt_long_only_r): Likewise.
70819
70820         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
70821         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
70822         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
70823         the other external symbols.
70824         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
70825         declaration, since the above renaming now works around collisions.
70826
70827 2004-11-11  Jim Meyering  <jim@meyering.net>
70828
70829         * lib/linebreak.c: Remove trailing blanks.
70830         * lib/alloca_.h: Likewise.
70831         * lib/acosl.c: Likewise.
70832         * lib/euidaccess.c: Likewise.
70833         * lib/allocsa.h: Likewise.
70834
70835 2004-11-10  Simon Josefsson  <jas@extundo.com>
70836
70837         * m4/getaddrinfo.m4: New file.
70838
70839 2004-11-10  Simon Josefsson  <jas@extundo.com>
70840
70841         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
70842
70843 2004-11-10  Simon Josefsson  <jas@extundo.com>
70844
70845         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70846         getaddrinfo.
70847
70848         * modules/getaddrinfo: New file.
70849
70850 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70851
70852         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
70853
70854 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70855
70856         * lib/mktime.c (SHR): New macro, which is a portable
70857         substitute for >> that should work even on Crays.
70858         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
70859         Problem reported by Mark D. Baushke in
70860         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
70861         * lib/getdate.y (SHR): Likewise.
70862         (tm_diff): Use it.
70863         * lib/strftime.c (SHR): Likewise.
70864         (tm_diff): Use it.
70865         * lib/quotearg.c (struct quoting_options): Use unsigned int for
70866         quote_these_too, so that right shifts are well defined.  All uses
70867         changed.
70868
70869 2004-11-10  Jim Meyering  <jim@meyering.net>
70870
70871         Ensure that no close failure goes unreported.
70872         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
70873         return early when it seems there's nothing to flush.
70874         Don't include __fpending.h.
70875
70876 2004-11-10  Jim Meyering  <jim@meyering.net>
70877
70878         * modules/closeout (Depends-on): Remove fpending.
70879
70880 2004-11-10  Jim Meyering  <jim@meyering.net>
70881
70882         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
70883
70884 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70885
70886         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
70887         gl_FUNC_STRFTIME.
70888         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
70889         and AC_REQUIRE when possible, to avoid duplicate checks.
70890         Check for <wchar.h>.
70891
70892 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70893
70894         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
70895
70896 2004-11-09  Bruno Haible  <bruno@clisp.org>
70897
70898         * m4/sockpfaf.m4: New file.
70899
70900 2004-11-05  Bruno Haible  <bruno@clisp.org>
70901
70902         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
70903         Reported by Mark D. Baushke <mdb@cvshome.org>.
70904
70905 2004-11-04  Bruno Haible  <bruno@clisp.org>
70906
70907         2004-09-11  Bruno Haible  <bruno@clisp.org>
70908                 * allocsa.valgrind: New file.
70909         2004-02-06  Bruno Haible  <bruno@clisp.org>
70910                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
70911                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
70912                 Reported by Christopher Seip <chris.seip@hp.com>.
70913
70914 2004-11-04  Bruno Haible  <bruno@clisp.org>
70915
70916         * modules/allocsa (Files): Add lib/allocsa.valgrind.
70917         (Makefile.am): Distribute it.
70918
70919 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70920
70921         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
70922         with errno == ERANGE if the buffer is too small.
70923         Problem reported by Mark D. Baushke.
70924
70925 2004-11-03  Albert Chin  <china@thewrittenword.com>
70926             Paul Eggert  <eggert@cs.ucla.edu>
70927
70928         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
70929         equivalent, substitute $ac_type for equivalent type rather than
70930         blindly using uint32_t *always* which won't work if uint32_t is not
70931         available.  Define _UINT32_T to work around typedef of uint32_t if
70932         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
70933         2.5.1.
70934
70935 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
70936
70937         * m4/jm-macros.m4: Sync from coreutils.
70938         (gl_MACROS): Check for mbrlen, for pathchk.
70939         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
70940
70941 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
70942
70943         * lib/xreadlink.c (MAXSIZE): New macro.
70944         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
70945         size does not exceed MAXSIZE.  Avoid cast.
70946         As suggested by Mark D. Baushke in
70947         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
70948         if readlink fails with buffer size just under MAXSIZE, try again
70949         with MAXSIZE.
70950
70951 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
70952
70953         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
70954
70955 2004-11-02  Derek R. Price  <derek@ximbiot.com>
70956         and  Paul Eggert  <eggert@cs.ucla.edu>
70957
70958         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
70959         (get_date): Overparenthesize to avoid GCC warning.
70960
70961 2004-11-02  Bruno Haible  <bruno@clisp.org>
70962
70963         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
70964         returns void.
70965
70966 2004-11-02  Bruno Haible  <bruno@clisp.org>
70967
70968         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
70969         function returns void.
70970
70971 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
70972
70973         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
70974         fflush_unlocked, flockfile, funlockfile, funlockfile,
70975         fputs_unlocked, putc_unlocked.
70976
70977 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
70978
70979         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
70980         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
70981         already declared.
70982
70983 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
70984
70985         * modules/getdate (Files): Add doc/getdate.texi.
70986         (Depends-on): Add setenv, xalloc.
70987
70988 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
70989
70990         * lib/getdate.y: Add support for TZ="foo" within a date string.
70991         Fix some bugs near time_t boundaries.  Reject dates with
70992         out-of-range components, e.g., "Sept 31".
70993         Include <stdlib.h>, "setenv.h", "xalloc.h".
70994         (ISDIGIT_LOCALE): Remove; unused.
70995         Note that the TZ and time functions used here are not reentrant.
70996         (mktime_ok, get_tz): New functions.
70997         (TZBUFSIZE): New constant.
70998         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
70999         This requires that we sometimes generate our own TZ="XXX..." setting.
71000
71001 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71002
71003         * doc/getdate.texi: New file, from coreutils with modifications for
71004         the new TZ parsing.
71005
71006 2004-10-27  Derek R. Price  <derek@ximbiot.com>
71007
71008         * lib/mktime.c (not_equal_tm): Remove redundant check.
71009
71010 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71011
71012         * modules/regex (lib_SOURCES): Add regex.c.
71013         Reported by James Youngman in
71014         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
71015
71016 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71017
71018         * lib/getdate.y: Use Bison 1.875 features, and some minor
71019         code cleanups.  This change does not affect semantics.
71020         Don't include <stdlib.h>; no longer needed.
71021         Don't include unlocked-io.h; only the "#if TEST" code uses
71022         stdio, and performance isn't crucial there.
71023         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
71024         Bison 1.875 features as described below.
71025         All uses of "PC." replaced by "pc->".
71026         (YYSTYPE): Add a forward declaration.
71027         (yylex, yyerror): Use full prototypes in forward decls.
71028         Use "%pure-parser" rather than obsolescent "%pure_parser".
71029         Use %parse-param and %lex-param instead of obsolescent
71030         YYPARSE_PARAM and YYLEX_PARAM.
71031         (meridian_table, month_and_day_table, time_units_table,
71032         relative_time_table, time_zone_table, military_table,
71033         lookup_zone, lookup_word, get_date):
71034         Use NULL instead of 0 where appropriate.
71035         (to_hour): Avoid abort (), to avoid a dependency on
71036         stdlib.h.
71037         (yyerror, yylex): Now accepts parser_control * arg.
71038         (main) [TEST]: Use '\0' rather than 0 for char.
71039
71040 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
71041
71042         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
71043
71044 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
71045
71046         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
71047         It's now the caller's responsibility to handle the case where
71048         !HAVE_GETPAGESIZE && !defined getpagesize.
71049
71050         * lib/mktime.c (leapyear): Arg is long int, not int.
71051
71052 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
71053
71054         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
71055
71056 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71057
71058         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
71059         missing.  Problem reported by James Youngman.
71060
71061 2004-10-16  Simon Josefsson  <jas@extundo.com>
71062
71063         * gnulib-tool: Fix comments.  Fix parse problem.
71064         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
71065
71066 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
71067
71068         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
71069         implementation of getopt_long.  Problem reported by Alexander Taler in:
71070         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
71071
71072 2004-10-15  Bruno Haible  <bruno@clisp.org>
71073
71074         * gnulib-tool: Untabify. Initialize supplied_libname.
71075         (func_usage): More homogenous output.
71076         (func_modules_transitive_closure, func_modules_to_filelist,
71077         func_emit_lib_Makefile_am): New functions.
71078         (func_import): New function, extracted from big case statement. Use
71079         func_get_license, func_modules_transitive_closure,
71080         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
71081         opt_lgpl. Don't use test -a, as it's not portable.
71082         (func_create_testdir): Use func_modules_transitive_closure,
71083         func_modules_to_filelist, func_emit_lib_Makefile_am.
71084
71085 2004-10-15  Bruno Haible  <bruno@clisp.org>
71086
71087         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
71088
71089 2004-10-15  Bruno Haible  <bruno@clisp.org>
71090
71091         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
71092         the portions belonging to each module.
71093         Suggested by Derek Robert Price <derek@ximbiot.com>.
71094
71095 2004-10-12  Simon Josefsson  <jas@extundo.com>
71096
71097         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
71098         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
71099         to real functions.
71100
71101 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71102
71103         * modules/vsnprintf: New file.
71104
71105 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71106
71107         * m4/vsnprintf.m4: New file.
71108
71109 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71110
71111         * lib/vsnprintf.h: New file.
71112         * lib/vsnprintf.c: New file.
71113
71114 2004-10-11  Bruno Haible  <bruno@clisp.org>
71115
71116         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
71117         vsnprintf.
71118
71119 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71120
71121         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
71122
71123 2004-10-07  Bruno Haible  <bruno@clisp.org>
71124
71125         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
71126         fits into the provided buffer.
71127
71128 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71129
71130         * lib/diacrit.c, diacrit.h: Add GPL notice.
71131
71132         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
71133         notice.
71134         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
71135         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
71136         This avoids a potential constant-folding bug.
71137
71138 2004-10-05  Bruno Haible  <bruno@clisp.org>
71139
71140         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
71141         for the declaration of strsep.
71142
71143 2004-10-05  Bruno Haible  <bruno@clisp.org>
71144
71145         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
71146
71147 2004-10-04  Simon Josefsson  <jas@extundo.com>
71148
71149         * modules/memmem: New file.
71150         * tests/test-memmem.c: New file.
71151         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
71152
71153 2004-10-04  Simon Josefsson  <jas@extundo.com>
71154
71155         * m4/memmem.m4: New file.
71156
71157 2004-10-04  Simon Josefsson  <jas@extundo.com>
71158
71159         * lib/memmem.h: New file.
71160         * lib/memmem.c: New file, taken from glibc.
71161
71162 2004-10-04  Simon Josefsson  <jas@extundo.com>
71163
71164         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
71165         '#ifdef USE_UNLOCKED_IO'.
71166
71167 2004-10-04  Simon Josefsson  <jas@extundo.com>
71168
71169         * config/srclist.txt: Add memmem from glibc.
71170
71171 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71172
71173         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
71174
71175         * modules/argmatch, modules/argp, modules/closeout, modules/error,
71176         modules/exclude, modules/getdate, modules/getline,
71177         modules/getndelim2, modules/getpass, modules/getpass-gnu,
71178         modules/getusershell, modules/linebuffer, modules/md5,
71179         modules/mountlist, modules/posixtm, modules/readtokens,
71180         modules/readutmp, modules/regex, modules/sha1,
71181         modules/version-etc, modules/yesno:
71182         Remove dependency on unlocked-io.
71183
71184 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71185
71186         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
71187
71188         * m4/unlocked-io.m4: Add copyright notice.
71189         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
71190
71191 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71192
71193         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
71194         * lib/xmalloc.c (xmemdup): Likewise.
71195         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
71196         XFREE): Remove these long-obsolescent macros.
71197         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
71198         * lib/xstrdup.c: Remove.
71199
71200         * lib/regex.c (re_comp): Cast gettext return value to char *,
71201         Problem reported by Martin Neitzel via Mark D. Baushke.
71202
71203 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71204
71205         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
71206         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
71207         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
71208         regex.c, sha1.c, version-etc.c, yesno.c:
71209         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
71210         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
71211         the includer's responsibility.
71212
71213         Sync from coreutils.
71214
71215         * lib/modechange.c (mode_compile): Don't decrement a pointer that
71216         points to the start of a string, as the C Standard says the
71217         resulting behavior is undefined.
71218
71219         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
71220         simple -> simple_backups, numbered_existing ->
71221         numbered_existing_backups, numbered -> numbered_backups
71222         to avoid shadowing problems.  All uses changed.
71223         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
71224         * lib/backupfile.c (check_extension, numbered_backup):
71225         Rename locals to avoid shadowing 'basename'.
71226         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
71227         once.
71228
71229         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
71230         * lib/.cvsignore: Add getopt.h.
71231
71232 2004-10-04  Bruno Haible  <bruno@clisp.org>
71233
71234         * modules/README: New file.
71235         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
71236         not a module.
71237
71238 2004-10-02  Jim Meyering  <jim@meyering.net>
71239
71240         * lib/dirfd.h, getpagesize.h: Add copyright notice.
71241
71242 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71243
71244         * modules/strsep: New file.
71245
71246 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71247
71248         * m4/strsep.m4: New file.
71249
71250 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71251
71252         * lib/strsep.h: New file.
71253         * lib/strsep.c: New file.
71254
71255 2004-10-01  Simon Josefsson  <jas@extundo.com>
71256
71257         * lib/snprintf.c (snprintf): Handle size==0.
71258
71259 2004-10-01  Simon Josefsson  <jas@extundo.com>
71260             Bruno Haible  <bruno@clisp.org>
71261
71262         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
71263         (snprintf): Declare 'args'.
71264
71265 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
71266
71267         * lib/snprintf.c: Remove comments as to why each header is needed.
71268
71269 2004-10-01  Bruno Haible  <bruno@clisp.org>
71270
71271         * MODULES.html.sh: Add strsep.
71272
71273 2004-09-30  Simon Josefsson  <jas@extundo.com>
71274
71275         * modules/snprintf: New file.
71276
71277 2004-09-30  Simon Josefsson  <jas@extundo.com>
71278
71279         * m4/snprintf.m4: New file.
71280
71281 2004-09-30  Simon Josefsson  <jas@extundo.com>
71282
71283         * lib/snprintf.h, lib/snprintf.c: New files.
71284
71285 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71286
71287         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
71288         (hol_entry_help): Never translate an empty string.
71289         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
71290         * lib/argp.h (OPTION_NO_TRANS): New option.
71291
71292 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
71293
71294         * modules/argp (Maintainer): Replace Simon Josefsson
71295         by Sergey Poznyakoff.
71296
71297 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
71298
71299         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
71300         changes merged back into glibc.
71301
71302 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
71303
71304         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
71305
71306 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
71307
71308         * lib/xvasprintf.c: Include xalloc.h.
71309         (xvasprintf): Use xalloc_die, not xmalloc_die.
71310
71311 2004-09-29  Bruno Haible  <bruno@clisp.org>
71312
71313         * modules/alloca-opt: New file, derived from modules/alloca.
71314         * modules/allocsa: Depend on alloca-opt instead of alloca.
71315         * modules/setenv: Likewise.
71316         * modules/vasnprintf: Likewise.
71317         * MODULES.html.sh: Add alloca-opt.
71318
71319 2004-09-28  Simon Josefsson  <jas@extundo.com>
71320
71321         * gnulib-tool: New parameter --lgpl, to asseert that modules are
71322         LGPL, and to replace license template from GPL to LGPL.
71323
71324 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
71325
71326         * modules/dummy: Change license to LGPL.
71327
71328 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
71329
71330         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
71331
71332 2004-09-24  Simon Josefsson  <jas@extundo.com>
71333
71334         * modules/minmax (License): Change from GPL to LGPL.
71335
71336 2004-09-23  Simon Josefsson  <jas@extundo.com>
71337
71338         * gnulib-tool (--import): Typo.
71339
71340 2004-09-23  Simon Josefsson  <jas@extundo.com>
71341
71342         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
71343
71344 2004-09-22  Bruno Haible  <bruno@clisp.org>
71345
71346         * modules/*: Add 'License' field.
71347         * gnulib-tool: Accept --extract-license option.
71348         (func_get_license): New function.
71349
71350 2004-09-21  Bruno Haible  <bruno@clisp.org>
71351
71352         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
71353         Reported by Simon Josefsson.
71354
71355 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71356
71357         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
71358         gl_AC_TYPE_LONG_LONG.
71359
71360 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71361
71362         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
71363
71364 2004-09-18  Simon Josefsson  <jas@extundo.com>
71365         and  Paul Eggert  <eggert@cs.ucla.edu>
71366
71367         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
71368         calls with autoreconf.  Define GL_LIB.
71369
71370 2004-09-14  Karl Berry  <karl@gnu.org>
71371
71372         * config/srclist.txt: unsync setenv.c, sigh.
71373
71374 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71375
71376         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
71377         Problem reported by Bruno Haible in:
71378         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
71379
71380 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71381
71382         * config/srclist.txt: Comment out argp-pvh.c.
71383
71384 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
71385
71386         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
71387         in case some system header has #define'd it.  Problem reported by
71388         Soeren D. Schulze in
71389         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
71390
71391 2004-09-09  Karl Berry  <karl@gnu.org>
71392
71393         * regex.[ch]: delete from the root.  These were supposed to be
71394                 synced with emacs cvs, but this has not happened for about
71395                 a year, and anyway nothing else uses emacs regex.[ch].
71396                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
71397                 lib/regex[.ch] is untouched.
71398
71399 2004-09-09  Bruno Haible  <bruno@clisp.org>
71400
71401         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
71402
71403 2004-09-09  Bruno Haible  <bruno@clisp.org>
71404
71405         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
71406         modifications.
71407         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
71408
71409 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
71410
71411         * modules/xvasprintf: New file.
71412         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
71413
71414 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
71415
71416         * lib/xvasprintf.h: New file.
71417         * lib/xvasprintf.c: New file.
71418         * lib/xasprintf.c: New file.
71419
71420 2004-09-08  Bruno Haible  <bruno@clisp.org>
71421
71422         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
71423
71424 2004-09-08  Bruno Haible  <bruno@clisp.org>
71425
71426         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
71427         length is > INT_MAX.
71428         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
71429         more.
71430
71431 2004-09-08  Bruno Haible  <bruno@clisp.org>
71432
71433         * lib/stdint_.h: New file, taken from GNU clisp.
71434
71435 2004-09-08  Bruno Haible  <bruno@clisp.org>
71436             Oskar Liljeblad  <oskar@osk.mine.nu>
71437
71438         * modules/stdint: New file.
71439         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
71440
71441 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71442
71443         Import from coreutils.
71444         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
71445         strings on unbounded length.  alloca's performance benefits aren't
71446         that important here.
71447         (V_STRDUP): Remove.
71448         (parse_with_separator): New function, with most of the internals
71449         of the old parse_user_spec.  Allow user to omit both user and group,
71450         for compatibility with FreeBSD.
71451         Clone only the user name, not the entire spec.
71452         Do not set *uid, *gid unless entirely successful.
71453         Avoid memory leak in some failing cases.
71454         Fix regression for USER.GROUP reported by Dmitry V. Levin in
71455         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
71456         (parse_user_spec): Rewrite to use parse_with_separator.
71457
71458 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71459
71460         * modules/userspec: Don't depend on alloca.
71461
71462 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71463
71464         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
71465
71466 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71467
71468         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
71469         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
71470         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
71471
71472 2004-08-16  Simon Josefsson  <jas@extundo.com>
71473
71474         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
71475         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
71476         Add --dry-run for --import.
71477         Let user provided command line parameters override configure.ac
71478         settings.
71479
71480 2004-08-12  Simon Josefsson  <jas@extundo.com>
71481
71482         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
71483         as discussed with Paul Eggert in threads rooted at
71484         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
71485         and
71486         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
71487         Before, the test was empty, and relied on ELIDE_CODE in source
71488         code.)
71489         (gl_PREREQ_GETOPT): New macro.
71490         (gl_GETOPT): Use them.
71491
71492 2004-08-12  Simon Josefsson  <jas@extundo.com>
71493
71494         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
71495         * lib/getopt_.h: Renamed from getopt.h.
71496
71497 2004-08-12  Simon Josefsson  <jas@extundo.com>
71498
71499         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
71500         Change default library name from libfoo to libgnu.
71501         Now, if you have a configure.ac that says:
71502                 gl_SOURCE_BASE(gl)
71503                 gl_M4_BASE(gl/m4)
71504                 gl_MODULES(error getopt etcetera)
71505                 gl_INIT
71506         you can import all you need by running:
71507                 ../gnulib/gnulib-tool --import
71508
71509         * modules/getopt (Files): Rename getopt.h to getopt_.h.
71510         (Makefile.am): Rewrite, use logic from argz.
71511         (Include): Use <getopt.h> instead of "getopt.h".
71512
71513 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
71514
71515         * modules/argp (Files): Add m4/unlocked-io.m4.
71516         (Depends-on): Add extensions.
71517
71518 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
71519
71520         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
71521         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
71522         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
71523         Check for program_invocation_name, program_invocation_short_name,
71524         flockfile, funlockfile, features.h, _getopt_long_only_r.
71525
71526 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
71527
71528         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
71529         its complicated substitute.
71530         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
71531         and program_invocation_name.
71532         (__argp_basename) [!_LIBC]: Remove; the only use was
71533         replaced by its body.
71534         (__argp_short_program_name): Change condition from
71535         !defined __argp_short_program_name to
71536         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
71537         to match argp-namefrob.h.
71538         (__argp_failure): Don't assume strerror_r returns char *.
71539         * lib/argp-parse.c (N_): Define unconditionally.
71540         (argp_default_options): Fill out initializers with 0 to avoid
71541         gcc warnings.
71542
71543 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
71544
71545         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
71546         getopt1.c.
71547
71548 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
71549
71550         Merge from coreutils.
71551
71552         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
71553
71554         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
71555         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
71556
71557 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
71558
71559         Merge from coreutils.
71560
71561         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
71562         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
71563         for Reliant Unix 5.43.
71564
71565         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
71566         (union fooround): Use uintmax_t, not long int.
71567         The rest is a merge from libc:
71568         [defined _LIBC]: Include <shlib-compat.h>.
71569         (_obstack) [defined _LIBC]: Remove after 2.3.4.
71570
71571         * lib/settime.c (settime): Recode to avoid warning with
71572         Sun Forte C 6U2.
71573
71574         * lib/strverscmp.c: Convert to UTF-8.
71575
71576 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
71577
71578         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
71579         m4/uintmax_t.m4.
71580
71581 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71582
71583         * modules/xalloc-die: New file.
71584         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
71585
71586         * modules/md5 (Files): Add m4/uint32_t.m4.
71587         * modules/sha1: Renamed from modules/sha.
71588         (Files):
71589         Rename lib/sha.h to lib/sha1.h.
71590         Rename lib/sha.c to lib/sha1.c.
71591         Rename m4/sha.m4 to m4/sha1.m4.
71592         (lib_SOURCES): Likewise.
71593         (configure.ac): Rename gl_SHA to gl_SHA1.
71594         (Include): sha.h -> sha1.h.
71595
71596 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71597
71598         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
71599         * m4/sha1.m4: Renamed from sha.m4.
71600         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
71601
71602 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71603
71604         * lib/obstack.h (obstack_empty_p):
71605         Don't assume that chunk->contents is suitably aligned.
71606         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
71607         Likewise. Problem reported by Benno in
71608         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
71609
71610         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
71611         readable.  This could be improved further but it'd take some work.
71612
71613 2004-08-08  Simon Josefsson  <jas@extundo.com>
71614
71615         * modules/xgethostname (Depends-on): Remove exit and error (not
71616         used).
71617
71618         * modules/getpass-gnu: Add getpass.h.
71619         (Depends-on): Add stdbool.
71620         * modules/getpass: Add getpass.h.
71621
71622 2004-08-08  Simon Josefsson  <jas@extundo.com>
71623
71624         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
71625         Check getpass declaration.
71626
71627 2004-08-08  Simon Josefsson  <jas@extundo.com>
71628
71629         * lib/xgethostname.c: Don't include error.h (not used).
71630
71631         * lib/getpass.h: Add.
71632         * lib/getpass.c: Include getpass.h first.
71633
71634 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
71635
71636         * lib/xalloc-die.c: New file.
71637         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
71638         All uses removed.
71639         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
71640         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
71641         xalloc-die.c.
71642         (_, N_, xalloc_die): Move to xalloc-die.c.
71643         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
71644         so that we needn't mess with xalloc_msg_memory_exhausted.
71645
71646         * lib/sha1.h: Renamed from sha.h.
71647         (SHA1_H): Renamed from _SHA_H.
71648         (sha1_ctx): Renamed from sha_ctx.
71649         (sha1_init_ctx): Renamed from sha_init_ctx.
71650         (sha1_process_block): Renamed from sha_process_block.
71651         (sha1_process_bytes): Renamed from sha_process_bytes.
71652         (sha1_finish_ctx): Renamed from sha_finish_ctx.
71653         (sha1_read_ctx): Renamed from sha_read_ctx.
71654         (sha1_stream): Renamed from sha_stream.
71655         (sha1_buffer): Renamed from sha_buffer.
71656         * lib/sha1.c: Likewise; renamed from sha.c.
71657         Do not include <sys/types.h>.
71658         Include <stddef.h> rather than <stdlib.h>.
71659
71660 2004-08-08  Bruno Haible  <bruno@clisp.org>
71661
71662         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
71663         FILESYSTEM_PREFIX_LEN.
71664         * lib/progreloc.c: Likewise.
71665         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
71666
71667 2004-08-06  Simon Josefsson  <jas@extundo.com>
71668
71669         * modules/progname (Depends-on): Don't depend on stdbool.
71670
71671 2004-08-06  Simon Josefsson  <jas@extundo.com>
71672
71673         * modules/getsubopt: New file.
71674         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71675         getsubopt.
71676
71677 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
71678
71679         More merge from coreutils.
71680
71681         * m4/utimens.m4, m4/utimecmp.m4: New files.
71682         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
71683         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
71684         prereq.m4, sha.m4: Import changes from coreutils.
71685
71686 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
71687
71688         More merge from coreutils.
71689         * modules/raise, modules/readtokens0, modules/utimens:
71690         * modules/utimecmp, module/xnanosleep: New files.
71691         * modules/strftime: Add lib/strftime.h.
71692         Change include from <time.h> to "strftime.h".
71693         * modules/yesno: Add lib/yesno.h.
71694         * modules/backupfile: Remove lib/addext.c.
71695         * modules/euidaccess: Add stat-macros.h.
71696         * modules/canonicalize, modules/euidaccess,
71697         modules/filemode, modules/lchown, modules/makepath,
71698         modules/rmdir, modules/stat: Likewise.
71699
71700 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
71701
71702         Merge from tar.
71703         * lib/argp-help.c (make_hol, hol_append): Don't assume that
71704         SIZE_MAX is a valid preprocessor constant.
71705         (__argp_basename): Change from "#ifndef _LIBC"
71706         to "#ifndef __argp_short_program_name", so that
71707         we don't compile these functions for tar.
71708
71709         More merges from coreutils.
71710         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
71711         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
71712         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
71713         * lib/addext.c: Remove; no longer needed.
71714         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
71715         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
71716         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
71717         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
71718         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
71719         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
71720         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
71721         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
71722         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
71723         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
71724         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
71725         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
71726         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
71727         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
71728         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
71729         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
71730         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
71731         Import changes from coreutils.
71732
71733 2004-08-05  Simon Josefsson  <jas@extundo.com>
71734
71735         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
71736
71737 2004-08-05  Simon Josefsson  <jas@extundo.com>
71738
71739         * m4/getsubopt.m4: New file.
71740
71741 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
71742
71743         Merge from coreutils.
71744
71745         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
71746         * m4/getcwd-path-max.m4: New files.
71747
71748         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
71749         FILESYSTEM_PREFIX_LEN ->
71750         FILE_SYSTEM_PREFIX_LEN.
71751         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
71752         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
71753         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
71754         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
71755
71756         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
71757         prerequisite modules now handle the DOS stuff.
71758         Don't check for unistd.h.
71759
71760 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
71761
71762         Merge from coreutils.
71763
71764         * lib/.gdb-history: Remove; this doesn't belong here.
71765
71766         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
71767         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
71768         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
71769         * lib/getcwd.c: New files.
71770
71771         * lib/dirname.h: Include <stdbool.h>.
71772         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
71773         for consistency with POSIX terminology.  All uses changed.
71774         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
71775         (strip_trailing_slashes): Use bool for booleans.
71776         * lib/stripslash.c (strip_trailing_slashes): Likewise.
71777
71778         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
71779         sometimes returns a positive errno value even when it succeeds.
71780         (print_errno_message) [!LIBC]: Fall back on strerror if
71781         __strerror_r fails.
71782
71783         * lib/path-concat.c (mempcpy): Don't define if a system header defines
71784         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
71785         (longest_relative_suffix): New function.
71786         (path_concat): Use it.  Assume first argument is not NULL.
71787         Port to DOS.  Omit redundant separators.
71788         Report an error instead of returning NULL.
71789         Use mempcpy instead of memcpy.
71790         (xpath_concat): Remove: not declared or used.
71791
71792         * lib/same.h: Include <stdbool.h>
71793         (same_name): Return bool, not int.
71794         * lib/same.c (same_name): Likewise.
71795         (errno): Don't declare; we assume C89 or better now.
71796
71797         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
71798         if not already defined.
71799
71800         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
71801         * lib/dup-safer.c (errno): Likewise.
71802
71803 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
71804
71805         Merge from coreutils.
71806         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
71807         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
71808         * modules/path-concat: Don't depend on strdup.
71809
71810 2004-08-03  Simon Josefsson  <jas@extundo.com>
71811
71812         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
71813         * lib/progname.h: Don't include stdbool.h.
71814
71815 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
71816
71817         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
71818         * MODULES.html.sh (func_all_modules): Remove fatal.
71819
71820 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
71821
71822         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
71823
71824 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
71825
71826         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
71827         working.
71828
71829 2004-08-02  Simon Josefsson  <jas@extundo.com>
71830
71831         * lib/getsubopt.h: New file, with comments from Bruno Haible.
71832         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
71833         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
71834
71835 2004-08-01  Simon Josefsson  <jas@extundo.com>
71836
71837         * lib/xgetdomainname.c: Include stdlib.h, for free().
71838
71839 2004-07-19  Bruno Haible  <bruno@clisp.org>
71840
71841         * MODULES.html.sh (func_all_modules): Add dummy.
71842
71843 2004-07-16  Simon Josefsson  <jas@extundo.com>
71844
71845         * modules/dummy: New file.
71846
71847 2004-07-16  Simon Josefsson  <jas@extundo.com>
71848
71849         * lib/dummy.c: New file.
71850
71851 2004-07-16  Bruno Haible  <bruno@clisp.org>
71852
71853         * lib/backupfile.h: Add extern "C" for C++.
71854         * lib/closeout.h: Likewise.
71855         * lib/copy-file.h: Likewise.
71856         * lib/findprog.h: Likewise.
71857         * lib/full-write.h: Likewise.
71858         * lib/pathname.h: Likewise.
71859         * lib/progname.h: Likewise.
71860         * lib/stpcpy.h: Likewise.
71861         * lib/stpncpy.h: Likewise.
71862         * lib/strcase.h: Likewise.
71863         * lib/strstr.h: Likewise.
71864         * lib/xalloc.h: Likewise.
71865
71866         * lib/mbswidth.h: Add extern "C" for C++.
71867         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
71868
71869 2004-07-13  Robert Millan  <robertmh@gnu.org>
71870
71871         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
71872
71873 2004-07-09  Simon Josefsson  <jas@extundo.com>
71874
71875         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
71876         failed without this.)
71877
71878 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71879
71880         * modules/chown (Files): Add lib/fchown-stub.c, since
71881         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
71882
71883 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71884
71885         * lib/fchown-stub.c: New file.
71886
71887 2004-06-24  Jim Meyering  <jim@meyering.net>
71888
71889         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
71890
71891 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71892
71893         * modules/argz: Omit "#include".
71894
71895         * MODULES.html.sh (func_all_modules): Add calloc, to match
71896         2004-06-01 addition of calloc module.
71897
71898 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71899
71900         * m4/argz.m4: New file, which is autoupdated from libtool.
71901
71902 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71903
71904         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
71905         libtool.
71906
71907 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71908
71909         * config/srclist-update: Don't insist on "USA." before the
71910         close-comment, as libtool omits the period and puts the */ on a
71911         separate line.
71912         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
71913         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
71914
71915 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
71916
71917         * modules/argz: New file.
71918         * MODULES.html.sh (func_all_modules): Add argz.
71919
71920 2004-06-12  Jim Meyering  <jim@meyering.net>
71921         and  Paul Eggert  <eggert@cs.ucla.edu>
71922
71923         * modules/hash (Files): Add lib/xalloc.h.
71924         * modules/pipe (Depends-on): Add wait-process.
71925         * modules/stat (Depends-on): Add xalloc.
71926         * modules/userspec (Files): Add lib/userspec.h.
71927         * modules/xstrto
71928
71929         Upgrade from gettext-0.13.
71930         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
71931         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
71932         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
71933
71934 2004-06-10  Jim Meyering  <jim@meyering.net>
71935
71936         * lib/calloc.c: New file.
71937
71938 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
71939
71940         * lib/getdate.y (yylex): Allow space between sign and number.
71941         Problem reported by Dan Jacobson.
71942
71943 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
71944
71945         Merge from coreutils CVS.
71946
71947         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
71948         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
71949         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
71950         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
71951         xstrtol.m4: Fix copyright date and/or serial number.
71952
71953         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
71954         See if we need an fchown replacement.
71955         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
71956         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
71957         and use the replacement function if we detect either defect.
71958
71959         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
71960         gl_UTIMECMP.
71961
71962 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
71963         and  Jim Meyering  <jim@meyering.net>
71964
71965         Merge from coreutils CVS.
71966
71967         * lib/stat-macros.h: New file, with contents from file-type.h
71968         and coreutils' system.h.
71969         * lib/file-type.c: Include "stat-macros.h".
71970         * lib/file-type.h (file_type): Move all macro definitions to new file,
71971         stat-macros.h.
71972
71973         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
71974         Wrap old code with this conditional.
71975         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
71976         function that does not dereference symlinks.
71977         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
71978
71979         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
71980         dependency problems.
71981         (xreadlink): Accept new arg SIZE, for efficiency.
71982         All decls and uses changed.
71983         * lib/xreadlink.h: Include <stddef.h>, for size_t.
71984
71985         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
71986         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
71987
71988         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
71989         sysexits.h.
71990
71991 2004-06-01  Jim Meyering  <jim@meyering.net>
71992
71993         * m4/calloc.m4: New file.
71994
71995 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
71996
71997         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
71998         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
71999         Also, fix a typo in a diagnostic.
72000
72001 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
72002
72003         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
72004         or AC_FUNC_REALLOC.
72005
72006 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
72007
72008         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
72009         macros to be defined.
72010         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
72011         the allocator returns NULL because the requested size is zero.
72012
72013 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72014
72015         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
72016         var.  Add comment explaining why libc still defines it.  This
72017         merges the following patch from glibc:
72018         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
72019
72020 2004-05-20  Andreas Schwab  <schwab@suse.de>
72021
72022         * m4/free.m4: Replace free if it not known to work, not the other
72023         way round.
72024
72025 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
72026
72027         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
72028         present in glibc since revision 1.1 of this file.
72029         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
72030         obstack_alignment_mask, obstack_alloc, obstack_base,
72031         obstack_blank, obstack_blank_fast, obstack_chunk_size,
72032         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
72033         obstack_grow0, obstack_init, obstack_int_grow,
72034         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
72035         obstack_next_free, obstack_object_size, obstack_ptr_grow,
72036         obstack_ptr_grow_fast, obstack_room): Remove declarations of
72037         nonexistent functions.
72038
72039 2004-05-18  Karl Berry  <karl@gnu.org>
72040
72041         * config/srclist.txt: break link for vasnprintf.c.
72042
72043 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
72044
72045         Port obstack to the AS/400, where pointers are 16 bytes wide and
72046         you cannot cast an integer to a valid pointer.  This patch is
72047         currently waiting to be integrated into glibc; see
72048         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
72049
72050         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
72051         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
72052         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
72053         (struct obstack): temp member is now a union of a pointer and
72054         an integer, instead of an integer.  All integer uses changed.
72055         This does not affect the physical layout of struct obstack,
72056         except on hosts (like the AS/400) where the size or alignment of
72057         void * is greater than that of ptrdiff_t.
72058         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
72059         __STDC__)]: Store temporary in pointer member of union, not
72060         integer member.
72061         * lib/obstack.c: Include <stddef.h>, for offsetof.
72062         (struct fooalign): Remove; it doesn't need a name.
72063         (union fooround): Change double to long double, and add void *.
72064         (DEFAULT_ALIGNMENT): Use offsetof to compute.
72065         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
72066         not a macro.  Hence the values are always int; so remove all
72067         casts-to-int in uses.
72068
72069 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
72070
72071         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
72072         we can get this patch merged into glibc.
72073
72074 2004-05-17  Derek R. Price  <derek@ximbiot.com>
72075             Paul Eggert  <eggert@cs.ucla.edu>
72076
72077         * m4/argp: Depend on alloca.
72078
72079 2004-05-17  Derek R. Price  <derek@ximbiot.com>
72080             Paul Eggert  <eggert@cs.ucla.edu>
72081
72082         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
72083         freecoding.
72084
72085 2004-05-17  Bruno Haible  <bruno@clisp.org>
72086
72087         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
72088         precision that consists of a '.' followed by an empty digit string.
72089         Patch by Tor Lillqvist <tml@iki.fi>.
72090
72091 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
72092
72093         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
72094         for backward compatibility with older code.  We need our own
72095         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
72096         it under some other name, and our alloca.h will define it.
72097
72098 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
72099             Derek Price  <derek@ximbiot.com>
72100
72101         * lib/alloca.c: Include <alloca.h>, to get our interface.
72102         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
72103         include <alloca.h> first.  Use C89 prototype for alloca; this
72104         requires including <stddef.h> for size_t.  Use extern "C" if C++.
72105         Use #elif for simplicity, since we can assume C89 now.
72106         Don't try to source the system alloca.h since it will not be found
72107         and to prevent recursively including its replacement.
72108         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
72109         * lib/regex.c: Likewise.
72110
72111 2004-05-16  Derek Price  <derek@ximbiot.com>
72112             Paul Eggert  <eggert@cs.ucla.edu>
72113
72114         getline cleanup.  This changes the getndelim2 API: both order of
72115         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
72116         no delimiter).
72117
72118         * lib/getline.c: Don't include stddef.h or stdio.h, since our
72119         interface does that.
72120         (getline): Always use getdelim, so that we don't have two
72121         copies of this code.
72122         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
72123         if available.
72124         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
72125         (GETNDELIM2_MAXIMUM): New macro.
72126         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
72127         instead of the old practice of delim2==0.  All callers changed.
72128         Return -1 on overflow, instead of returning junk.
72129         Do not set *linesize unless allocation succeeds.
72130         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
72131         that we include sys/types.h.
72132         * lib/getnline.h: Likewise.
72133         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
72134         (getndelim2): Reorder arguments.
72135         * lib/getnline.c (getnline, getndelim):
72136         Don't discard the NMAX argument.
72137         (getnline): Invoke getndelim, to avoid code duplication.
72138         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
72139         of (size_t) -1 by callers of the getnline family.
72140
72141 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72142
72143         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
72144         Check for gettimeofday.
72145         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
72146         Check for settimeofday, stime.
72147
72148 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72149
72150         * lib/nanosleep.c (suspended): Change its type from int to
72151         sig_atomic_t volatile.
72152         (first_call): Make it private to rpl_nanosleep, and have it
72153         be zero initially as that's a bit faster.
72154         (my_usleep): Round up fractional times instead of truncating them,
72155         as this is the usual meaning for 'sleep'.
72156
72157         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
72158         doesn't work.
72159         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
72160         (ENOSYS): Define if not defined.
72161         (settime): Fall back on stime if it exists and settimeofday fails.
72162         But don't bother with fallbacks if a method fails with errno == EPERM.
72163
72164 2004-05-11  Jim Meyering  <jim@meyering.net>
72165
72166         Prior to this change, the save_cwd caller required read access to the
72167         current directory on most systems (ones with the fchdir function).
72168
72169         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
72170         fails, try write-only, and finally, resort to using xgetcwd.
72171
72172 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
72173
72174         * lib/obstack.c, obstack.h: Import changes from libc.
72175
72176 2004-04-28  Bruno Haible  <bruno@clisp.org>
72177
72178         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
72179         also implicitly appends .exe to executables.
72180         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
72181         accepts Windows pathnames.
72182         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
72183         Treat Cygwin like Windows, since it now accepts Windows pathnames.
72184         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
72185         Treat Cygwin like Windows, since it now accepts Windows pathnames.
72186         Reported by Derek Robert Price <derek@ximbiot.com>.
72187
72188 2004-04-21  Karl Berry  <karl@gnu.org>
72189
72190         * config/srclist.txt (localcharset.c): break sync.
72191
72192 2004-04-20  Paul Eggert  <eggert@twinsun.com>
72193
72194         * m4/host-os.m4: Add a copyright notice.
72195
72196 2004-04-20  Jim Meyering  <jim@meyering.net>
72197
72198         Change UTILS_ to gl_ in AC_DEFINE'd names.
72199         Change utils_- and jm_-prefixed variables, too.
72200         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
72201         UTILS_FUNC_MKDIR_TRAILING_SLASH.
72202         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
72203
72204         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
72205         Don't emit trailing blanks.
72206         Also rename jm_-prefixed variables to have gl_ prefix.
72207
72208         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
72209         Also rename jm_-prefixed variables to have gl_ prefix.
72210
72211         * m4/jm-macros.m4: Reflect the renamings.
72212         * m4/prereq.m4: Likewise.
72213
72214 2004-04-20  Jim Meyering  <jim@meyering.net>
72215
72216         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
72217         memory.
72218
72219 2004-04-20  Jim Meyering  <jim@meyering.net>
72220             Bruno Haible  <bruno@clisp.org>
72221
72222         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
72223         memory when realloc fails.
72224
72225 2004-04-19  Jim Meyering  <jim@meyering.net>
72226
72227         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
72228         now that readutmp.c may call `free (0)'.
72229
72230 2004-04-19  Bruno Haible  <bruno@clisp.org>
72231
72232         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
72233         * m4/inttypes_h.m4: Likewise.
72234         * m4/stdint_h.m4: Likewise.
72235         * m4/intmax_t.m4: Likewise.
72236         * m4/uintmax_t.m4: Likewise.
72237
72238 2004-04-18  Jim Meyering  <jim@meyering.net>
72239
72240         * m4/prereq.m4: Don't forbid jm_ prefix.
72241
72242         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
72243         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
72244         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
72245         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
72246         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
72247         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
72248         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
72249         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
72250         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
72251         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
72252         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
72253         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
72254         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
72255         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
72256         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
72257         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
72258         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
72259         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
72260         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
72261
72262 2004-04-18  Jim Meyering  <jim@meyering.net>
72263
72264         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
72265         failure, don't leak memory and do call END_UTMP_ENT.
72266
72267 2004-04-16  Jim Meyering  <jim@meyering.net>
72268
72269         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
72270         coreutils' stat program.
72271         (gl_PREREQ): Don't require jm_PREREQ_STAT.
72272
72273 2004-04-11  Paul Eggert  <eggert@twinsun.com>
72274
72275         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
72276         C89.
72277         (CHAR_BIT): Remove, since we assume C89.
72278         Include <stdint.h> if available, as per current Autoconf CVS advice.
72279
72280 2004-03-31  Jim Meyering  <jim@meyering.net>
72281
72282         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
72283         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
72284         * m4/xalloc.m4: Likewise.
72285
72286 2004-03-30  Paul Eggert  <eggert@twinsun.com>
72287
72288         Merge from coreutils.
72289
72290         * m4/inttostr.m4: New file.
72291         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
72292         Require AM_STDBOOL_H and gl_TIMESPEC instead.
72293         Require gl_CLOCK_TIME.
72294         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
72295
72296 2004-03-30  Paul Eggert  <eggert@twinsun.com>
72297
72298         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
72299         not bool, to be more consistent with Unix conventions.
72300         Suggested by Bruno Haible.
72301
72302         Merge from coreutils.
72303
72304         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
72305         * lib/umaxtostr.c: New files.
72306
72307         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
72308         the usual <time.h> dance.
72309         (get_date): Change signature to support fractional time stamps.
72310         All callers changed.
72311         * lib/getdate.y: Include "getdate.h" first, as we can now
72312         assume C89 and don't need to worry about 'const'.
72313         Similarly, include "unlocked-io.h" near start, not in middle.
72314         Include <limits.h>.
72315         (textint.value): Use long int rather than int.
72316         (textint.digits): Use size_t rather than int.
72317         (BILLION, LOG10_BILLION): New constants.
72318         (parser_control): New member rel_ns.  Members day_ordinal,
72319         time_zone, month, day, hour, minutes, rel_year, rel_month,
72320         rel_day, rel_hour, rel_minutes, rel_seconds
72321         are now long int, not int.  Member seconds is now struct timespec,
72322         not int.  New member timespec_seen.  Members dates_seen, days_seen,
72323         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
72324         not int.
72325         (%union.intval): Now long int, not int.
72326         New member timespec.
72327         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
72328         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
72329         (spec): Now is a timespec or an item list.
72330         (timespec, items): New nonterminals.
72331         (time, rel, relunit, number, get_date):
72332         Add support for fractional seconds.
72333         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
72334         (gmtime, localtime, mktime): Remove decls; not needed with C89.
72335         (to_hour): First arg is now long int, not int.
72336         (to_year): Returns long int, not int.
72337         Don't treat year -70 like 70.
72338         (tm_diff): Returns long int, not int.
72339         (lookup_word): Use bool instead of int when appropriate.
72340         (yylex): Use size_t for count, not int.
72341         Detect overflow when parsing large integer constants.
72342         Add support for fractions.
72343         (get_date): Make pointers 'const' if possible.
72344         Use more-portable code to detect integer overflow.
72345         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
72346         Don't use ctime; it's not reliable if the year has >4 digits.
72347
72348         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
72349         This is for compatibility with BSD.
72350
72351         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
72352         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
72353         From coreutils' system.h.
72354
72355         * lib/userspec.c: Don't include "posixver.h".
72356         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
72357         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
72358         compatible extension.  Simplify code by removing a boolean int
72359         that was always nonzero if a string was nonnull.
72360
72361 2004-03-30  Jim Meyering  <jim@meyering.net>
72362
72363         Merge from coreutils.
72364
72365         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
72366         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
72367         on some systems one must include <grp.h> before it.
72368         Reported by Christian Krackowizer.
72369
72370 2004-03-30  Jim Meyering  <jim@meyering.net>
72371
72372         Merge from coreutils.
72373
72374         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
72375
72376         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
72377         an empty input stream.
72378
72379         * lib/readtokens.c: Include <stdbool.h>.
72380         (readtoken): Use `size_t' rather than int/long.
72381         All callers adjusted.
72382         Use `bool' rather than `int' where appropriate.
72383         Use memset rather than an explicit loop.
72384         Use x2nrealloc rather than xrealloc.
72385         Allow the use of `\0' as a delimiter.
72386         (readtokens): Likewise.
72387         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
72388
72389 2004-03-30  Jim Meyering  <jim@meyering.net>
72390
72391         * m4/realloc.m4: Remove file, since now it does no more than
72392         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
72393         the `configure.ac' section of module/realloc.
72394         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
72395
72396 2004-03-30  Bruno Haible  <bruno@clisp.org>
72397
72398         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
72399         nonnull.
72400
72401 2004-03-29  Paul Eggert  <eggert@twinsun.com>
72402
72403         Merge changes to getloadavg.c from coreutils and Emacs.
72404
72405         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
72406         Define to an expression, not to the empty string.
72407         Include cloexec.h and xalloc.h.
72408         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
72409         Use set_cloexec_flag rather than rolling our own.
72410         * lib/cloexec.c, lib/cloexec.h: New files.
72411
72412 2004-03-29  Paul Eggert  <eggert@twinsun.com>
72413
72414         * m4/cloexec.m4: New file.
72415
72416 2004-03-18  Paul Eggert  <eggert@twinsun.com>
72417
72418         * lib/getopt.h: Sync with libc CVS.
72419
72420 2004-03-18  Paul Eggert  <eggert@twinsun.com>
72421             Bruno Haible  <bruno@clisp.org>
72422
72423         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
72424         mbswidth.
72425
72426 2004-03-18  Paul Eggert  <eggert@twinsun.com>
72427             Bruno Haible  <bruno@clisp.org>
72428
72429         * lib/mbswidth.h: Include <wchar.h> only if
72430         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
72431         <wchar.h>.
72432         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
72433
72434 2004-03-09  Paul Eggert  <eggert@twinsun.com>
72435
72436         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
72437         Sync with libc CVS.
72438         * lib/getopt_int.h: New file, also synced from libc.
72439
72440 2004-03-09  Paul Eggert  <eggert@twinsun.com>
72441
72442         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
72443         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
72444         Bring back getopt.c, getopt.h, getopt1.c.
72445
72446 2004-03-07  Paul Eggert  <eggert@twinsun.com>
72447
72448         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
72449         All uses changed.  Check for sa_sigaction member; this fixes
72450         a bug first reported by Jason Andrade in
72451         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
72452
72453 2004-03-07  Paul Eggert  <eggert@twinsun.com>
72454
72455         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
72456         '#if' expressions.  Unlike the code it replaces, it does not
72457         depend on (defined _SC_PAGESIZE).  However, it does depend on
72458         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
72459         first reported by Jason Andrade in
72460         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
72461
72462 2004-02-25  Simon Josefsson  <jas@extundo.com>
72463
72464         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
72465
72466 2004-02-25  Simon Josefsson  <jas@extundo.com>
72467
72468         * lib/strdup.h: New file.
72469         * lib/strdup.c: Include it.
72470         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
72471         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
72472
72473 2004-02-23  Karl Berry  <karl@gnu.org>
72474
72475         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
72476         (from fencepost.gnu.org:/gd/gnuorg).
72477
72478 2004-02-23  Karl Berry  <karl@gnu.org>
72479
72480         * config/srclistvars.sh (GNUORG) [karl]: redefine.
72481         * config/srclist.txt: add maintain/standards documents.
72482
72483 2004-02-18  Bruno Haible  <bruno@clisp.org>
72484
72485         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
72486         Reported by Derek Robert Price <derek@ximbiot.com>.
72487
72488 2004-02-16  Karl Berry  <karl@gnu.org>
72489
72490         * config/mkinstalldirs, install-sh: update from automake.
72491
72492 2004-02-06  Karl Berry  <karl@gnu.org>
72493
72494         * m4/po.m4: update from gettext 0.14.1.
72495
72496 2004-02-06  Karl Berry  <karl@gnu.org>
72497
72498         * lib/config.charset: update from gettext 0.14.1.
72499
72500 2004-02-05  Paul Eggert  <eggert@twinsun.com>
72501
72502         Add comments and code, prompted by suggestions from Bruno Haible
72503         for sh-quote.
72504         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
72505         describing the enum quoting_style values.
72506         * lib/quotearg.c (quotearg_alloc): New function.
72507         (quotearg_buffer_restyled): Treat lone { and } as special.
72508         Treat = as special.  Work around bug with older shells
72509         that "see" a '\' that is really the 2nd byte of a multibyte char.
72510         Quote empty string with shell_quoting_style.
72511
72512 2004-02-03  Bruno Haible  <bruno@clisp.org>
72513
72514         * m4/pipe.m4: New file, from GNU gettext.
72515
72516 2004-02-03  Bruno Haible  <bruno@clisp.org>
72517
72518         * lib/pipe.h: New file, from GNU gettext.
72519         * lib/pipe.c: New file, from GNU gettext.
72520
72521 2004-01-27  Bruno Haible  <bruno@clisp.org>
72522
72523         * m4/execute.m4: New file, from GNU gettext.
72524
72525 2004-01-27  Bruno Haible  <bruno@clisp.org>
72526
72527         * lib/execute.h: New file, from GNU gettext.
72528         * lib/execute.c: New file, from GNU gettext.
72529         * lib/w32spawn.h: New file, from GNU gettext.
72530
72531 2004-01-24  Paul Eggert  <eggert@twinsun.com>
72532
72533         Merge from diffutils.
72534
72535         * lib/file-type.c (file_type): Add typed memory objects.
72536         * lib/file-type.h (S_TYPEISTMO): New macro.
72537
72538         * lib/c-stack.h (c_stack_action): Remove argv argument.
72539         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
72540         (die): Don't calculate message unless segv_action returns.
72541         (get_stack_location, min_address_from_argv, max_address_from_argv,
72542         volatile stack_base, volatile_stack_size): Remove.
72543         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
72544         that every segmentation violation is a stack overflow.  (Ouch!)
72545         See Debian bug 136249 (still outstanding) for more info about why
72546         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
72547
72548 2004-01-24  Paul Eggert  <eggert@twinsun.com>
72549
72550         Exit-status fix from coreutils.
72551
72552         Use exit_failure consistently in place of EXIT_FAILURE,
72553         so that program exit statuses are consistent on failure.
72554
72555         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
72556         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
72557         * lib/argmatch.h: Comment fix to match the above.
72558         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
72559         Now a macro referring to exit_failure, instead of a separate
72560         variable.  Include "exitfail.h" to get it.
72561         * lib/xstrtol.h: Include "exitfail.h".
72562         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
72563
72564         * lib/long-options.c (parse_long_options): Use prototype
72565         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
72566         for clarity.
72567
72568 2004-01-21  Jim Meyering  <jim@meyering.net>
72569
72570         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
72571         so as not to conflict with a different-sized __mktime_internal
72572         function in GNU libc.
72573         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
72574         Problem building statically-linked `ls' reported by Michael Brunnbauer.
72575
72576 2004-01-20  Karl Berry  <karl@gnu.org>
72577
72578         * config/config.guess: update from config.
72579
72580         * config/srclistvars.sh: GNUWWWLICENSES for karl.
72581
72582 2004-01-20  Bruno Haible  <bruno@clisp.org>
72583
72584         Safer stack allocation.
72585         * lib/setenv.c: Include allocsa.h.
72586         (alloca): Remove fallback definition.
72587         (freea): Remove macro.
72588         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
72589         instead of freea.
72590
72591 2004-01-20  Bruno Haible  <bruno@clisp.org>
72592
72593         * m4/eealloc.m4: New file, from GNU gettext.
72594
72595 2004-01-20  Bruno Haible  <bruno@clisp.org>
72596
72597         * m4/allocsa.m4: New file, from GNU gettext.
72598
72599 2004-01-20  Bruno Haible  <bruno@clisp.org>
72600
72601         * lib/xallocsa.h: New file, from GNU gettext.
72602         * lib/xallocsa.c: New file, from GNU gettext.
72603
72604 2004-01-20  Bruno Haible  <bruno@clisp.org>
72605
72606         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
72607
72608 2004-01-20  Bruno Haible  <bruno@clisp.org>
72609
72610         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
72611         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
72612         specially.
72613
72614 2004-01-20  Bruno Haible  <bruno@clisp.org>
72615
72616         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
72617         patch.
72618
72619 2004-01-20  Bruno Haible  <bruno@clisp.org>
72620
72621         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
72622
72623 2004-01-20  Bruno Haible  <bruno@clisp.org>
72624
72625         * lib/eealloc.h: New file.
72626
72627 2004-01-20  Bruno Haible  <bruno@clisp.org>
72628
72629         * lib/binary-io.h: Avoid warnings on Cygwin.
72630
72631 2004-01-20  Bruno Haible  <bruno@clisp.org>
72632
72633         * lib/allocsa.h: New file, from GNU gettext.
72634         * lib/allocsa.c: New file, from GNU gettext.
72635
72636 2004-01-18  Karl Berry  <karl@gnu.org>
72637
72638         * doc/gpl.texi, doc/lgpl.texi: new files.
72639
72640 2004-01-18  Karl Berry  <karl@gnu.org>
72641
72642         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
72643         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
72644
72645 2004-01-15  Paul Eggert  <eggert@twinsun.com>
72646
72647         Merge from coreutils.
72648
72649         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
72650         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
72651         (gl_DEFAULT_POSIX2_VERSION): Move
72652         the documentation from 'configure' into 'config.hin',
72653         so that 'configure --help' isn't burdened by it and
72654         we don't have to worry about its formatting there.
72655         Reword the documentation so that it's more succinct
72656         and can be run together into a single paragraph.
72657         * m4/same.m4 (gl_SAME): Check for pathconf.
72658
72659 2004-01-15  Paul Eggert  <eggert@twinsun.com>
72660
72661         Merge from coreutils.
72662
72663         * lib/posixver.c: Include posixver.h.
72664
72665         * lib/same.c: Include <stdbool.h>, <limits.h>.
72666         (_POSIX_NAME_MAX): Define if not defined.
72667         (MIN): New macro.
72668         (same_name): If file names are silently truncated, report
72669         that the file names are the same if they are the same after
72670         the silent truncation.
72671
72672         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
72673         conversion function.
72674         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
72675         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
72676         longer needed.
72677
72678 2004-01-15  Jim Meyering  <jim@meyering.net>
72679
72680         Merge from coreutils.
72681
72682         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
72683         if no library is required.
72684         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
72685         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
72686         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
72687         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
72688         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
72689         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
72690         value, $ac_cv_search_crypt, if it's "none required".
72691         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
72692         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
72693         not gl_FUNC_GETLOADAVG.
72694         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
72695         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
72696
72697 2004-01-15  Jim Meyering  <jim@meyering.net>
72698
72699         Merge from coreutils.
72700
72701         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
72702         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
72703         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
72704
72705         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
72706         optional configure-time default.
72707
72708         * lib/version-etc.c (version_etc_copyright): Update copyright date.
72709
72710         * lib/xreadlink.c (xreadlink): Correct outdated comment.
72711
72712 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
72713
72714         Merge from coreutils.
72715
72716         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
72717         value, $ac_cv_search_nanosleep, if it's "none required".
72718
72719 2004-01-14  Paul Eggert  <eggert@twinsun.com>
72720
72721         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
72722         with like-named macro in fnmatch.c.
72723         (EXT): Use an internal constant instead.
72724
72725         Merge fnmatch patches from glibc.
72726         * lib/fnmatch.c (mbsinit): Remove define.
72727         Add libc_hidden_ver (__fnmatch, fnmatch).
72728         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
72729         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
72730
72731 2004-01-14  Karl Berry  <karl@gnu.org>
72732
72733         * config/install-sh: update from automake.
72734
72735 2004-01-13  Karl Berry  <karl@gnu.org>
72736
72737         * config/install-sh: update from automake.
72738
72739 2004-01-09  Karl Berry  <karl@gnu.org>
72740
72741         * config/install-sh: update from automake.
72742
72743 2004-01-05  Karl Berry  <karl@gnu.org>
72744
72745         * config/config.{sub,guess}: update from config.
72746
72747 2003-12-31  Karl Berry  <karl@gnu.org>
72748
72749         * config/depcomp: update from automake.
72750
72751 2003-12-14  Karl Berry  <karl@gnu.org>
72752
72753         * lib/config.charset: update from gettext-runtime.
72754
72755 2003-12-03  Paul Eggert  <eggert@twinsun.com>
72756
72757         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
72758         Bug reported by Alfred M. Szmidt.
72759
72760 2003-12-03  Bruno Haible  <bruno@clisp.org>
72761
72762         * m4/gettext.m4: Upgrade from gettext-0.13.
72763         * m4/po.m4: Upgrade from gettext-0.13.
72764         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
72765         * m4/intmax.m4: New file, from gettext-0.13.
72766         * m4/printf-posix.m4: New file, from gettext-0.13.
72767
72768 2003-11-29  Karl Berry  <karl@gnu.org>
72769
72770         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
72771
72772 2003-11-25  Paul Eggert  <eggert@twinsun.com>
72773             Bruno Haible  <bruno@clisp.org>
72774
72775         * lib/printf-parse.h: Don't include sys/types.h.
72776         (ARG_NONE): New macro.
72777         (char_directive): Change type of *arg_index fields to size_t.
72778         * lib/printf-parse.c: Don't include sys/types.h.
72779         (SSIZE_MAX): Remove macro.
72780         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
72781         Remove unnecessary overflow check.
72782         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
72783         fields.
72784
72785 2003-11-25  Bruno Haible  <bruno@clisp.org>
72786
72787         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
72788
72789 2003-11-25  Bruno Haible  <bruno@clisp.org>
72790
72791         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
72792         gt_TYPE_SSIZE_T.
72793
72794 2003-11-24  Paul Eggert  <eggert@twinsun.com>
72795
72796         * modules/alloca: Remove dependency on xalloc.
72797
72798 2003-11-24  Paul Eggert  <eggert@twinsun.com>
72799
72800         * lib/alloca.c: Remove dependency on xalloc module.
72801         (xalloc_die): Remove.
72802         (memory_full) [!defined emacs]: New macro.
72803         [!defined emacs]: Don't include xalloc.h.
72804         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
72805         address arithmetic overflows.  Change datatypes a bit to avoid
72806         unnecessary casts.
72807
72808 2003-11-22  Jim Meyering  <jim@meyering.net>
72809
72810         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
72811         s/size/size_t/.
72812
72813 2003-11-21  Karl Berry  <karl@gnu.org>
72814
72815         * config/config.{sub,guess}: update from config.
72816
72817 2003-11-18  Karl Berry  <karl@gnu.org>
72818
72819         * config/config.{sub,guess}: update from config.
72820
72821         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
72822
72823 2003-11-17  Paul Eggert  <eggert@twinsun.com>
72824
72825         * README: Mention that S+T cannot overflow if S is the size of
72826         an existing object and T is sufficiently small.
72827
72828 2003-11-17  Jim Meyering  <jim@meyering.net>
72829
72830         On systems without utime and without a utimes function capable of
72831         dealing with a NULL struct utimbuf* argument, this utime replacement
72832         could -- in unusual circumstances -- leak a file descriptor.
72833         * lib/utime.c: Include <unistd.h> and <errno.h>.
72834         (utime_null): Be sure to close `fd' and to preserve errno.
72835         Reported by Geoff Collyer via Arnold Robbins.
72836
72837 2003-11-17  Bruno Haible  <bruno@clisp.org>
72838
72839         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
72840         (Depends-on): Add xsize.
72841
72842 2003-11-17  Bruno Haible  <bruno@clisp.org>
72843
72844         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
72845
72846 2003-11-17  Bruno Haible  <bruno@clisp.org>
72847
72848         * lib/vasnprintf.c (alloca): Remove fallback definition.
72849         (freea): Remove definition.
72850         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
72851         Reported by Paul Eggert.
72852
72853 2003-11-16  Paul Eggert  <eggert@twinsun.com>
72854             Bruno Haible  <bruno@clisp.org>
72855
72856         Protect against address arithmetic overflow.
72857         * lib/printf-args.h: Include stddef.h.
72858         (arguments): Change type of field 'count' to size_t.
72859         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
72860         'unsigned int' where appropriate.
72861         * lib/printf-parse.h: Include sys/types.h.
72862         (char_directive): Change type of *arg_index fields to ssize_t.
72863         (char_directives): Change type of fields 'count', max_*_length to
72864         size_t.
72865         * lib/printf-parse.c: Include sys/types.h and xsize.h.
72866         (SSIZE_MAX): Define fallback value.
72867         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
72868         instead of 'int' where appropriate. Check a_allocated, d_allocated
72869         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
72870         * lib/vasnprintf.c: Include xsize.h.
72871         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
72872         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
72873         overflow. Avoid wraparound when converting a width or precision from
72874         decimal to binary.
72875
72876 2003-11-16  Bruno Haible  <bruno@clisp.org>
72877
72878         Update from GNU gettext.
72879         * lib/printf-parse.c: Generalize to it can be compiled for wide
72880         strings.
72881         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
72882         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
72883         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
72884         SNPRINTF): New macros.
72885         Don't include <alloca.h> if the file is used inside libintl.
72886         (local_wcslen): New function, for Solaris 2.5.1.
72887         (VASNPRINTF): Use it instead of wcslen.
72888
72889 2003-11-16  Bruno Haible  <bruno@clisp.org>
72890
72891         * lib/xsize.h (xmax): New function.
72892         (xsum, xsum3, xsum4): Declare as "pure" functions.
72893
72894 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72895
72896         * modules/xalloc (Files): Undo latest change, since xalloc.h
72897         no longer needs SIZE_MAX or PTRDIFF_MAX.
72898
72899 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72900
72901         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
72902         gl_PTRDIFF_MAX.
72903
72904 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72905
72906         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
72907         "return", to pacify some unknown compiler.  Problem reported
72908         by Joerg Schilling.
72909
72910 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72911
72912         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
72913         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
72914         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
72915         heuristic is just as accurate as far as we know, and it removes a
72916         dependency on size_max.m4 and ptrdiff_max.m4.
72917
72918 2003-11-11  Bruno Haible  <bruno@clisp.org>
72919
72920         * modules/xsize (Files): Add m4/size_max.m4.
72921         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
72922
72923 2003-11-11  Bruno Haible  <bruno@clisp.org>
72924
72925         * m4/size_max.m4: New file.
72926         * m4/ptrdiff_max.m4: New file.
72927         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
72928         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
72929         (gl_XALLOC): Invoke it.
72930
72931 2003-11-11  Bruno Haible  <bruno@clisp.org>
72932
72933         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
72934         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
72935         defined.
72936
72937 2003-11-10  Paul Eggert  <eggert@twinsun.com>
72938
72939         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
72940         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
72941         rejected some allocations of exactly SIZE_MAX - 2 bytes.
72942         From Bruno Haible.
72943         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
72944         not (size_t) -1, since it's defined here.
72945
72946 2003-11-09  Karl Berry  <karl@gnu.org>
72947
72948         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
72949
72950 2003-11-06  Paul Eggert  <eggert@twinsun.com>
72951
72952         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
72953         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
72954         Reject sizes of exactly SIZE_MAX bytes.
72955         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
72956         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
72957
72958 2003-11-05  Bruno Haible  <bruno@clisp.org>
72959
72960         * lib/xsize.h: Include limits.h, to avoid a possible collision with
72961         SIZE_MAX defined in <limits.h> on Solaris.
72962
72963 2003-11-04  Jim Meyering  <jim@meyering.net>
72964
72965         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
72966         variable names, rather than @VAR@.
72967         * modules/poll: Likewise.
72968
72969 2003-11-04  Bruno Haible  <bruno@clisp.org>
72970
72971         * modules/xsize: New file.
72972         * modules/linebreak: Depend on xsize.
72973         * MODULES.html.sh (func_all_modules): Add xsize.
72974
72975 2003-11-04  Bruno Haible  <bruno@clisp.org>
72976
72977         * m4/xsize.m4: New file.
72978
72979 2003-11-04  Bruno Haible  <bruno@clisp.org>
72980
72981         * lib/xsize.h: New file.
72982         * lib/linebreak.c: Include xsize.h.
72983         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
72984         argument for overflow.
72985         Suggested by Paul Eggert.
72986
72987 2003-11-03  Karl Berry  <karl@gnu.org>
72988
72989         * config/config.{guess,sub}: update from config.
72990
72991 2003-11-03  Jim Meyering  <jim@meyering.net>
72992
72993         * modules/userspec (lib_SOURCES): Add userspec.h.
72994         (Include): Add "userspec.h".
72995         Improve description.
72996
72997 2003-11-03  Jim Meyering  <jim@meyering.net>
72998
72999         * lib/userspec.c: Include "userspec.h".
73000         * lib/userspec.h: New file.
73001
73002 2003-11-03  Bruno Haible  <bruno@clisp.org>
73003
73004         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
73005
73006 2003-11-03  Bruno Haible  <bruno@clisp.org>
73007
73008         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
73009         available, to avoid (extremely rare) race condition.
73010         Suggested by Paul Eggert.
73011
73012 2003-11-02  Karl Berry  <karl@gnu.org>
73013
73014         * config/srclist.txt (vasprintf.c): sync broken, sigh.
73015
73016 2003-10-31  Paul Eggert  <eggert@twinsun.com>
73017
73018         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
73019         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
73020         (read_filesystem_list): Set and use me_type_malloced.
73021         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
73022         whatever the type happens to be), for brevity and consistency.
73023         Check for size calculation overflow on Alphas running OSF/1.
73024
73025 2003-10-31  Jim Meyering  <jim@meyering.net>
73026
73027         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
73028
73029         * lib/linebuffer.c: Include <string.h> for declaration of memset.
73030
73031 2003-10-30  Paul Eggert  <eggert@twinsun.com>
73032             Bruno Haible  <bruno@clisp.org>
73033
73034         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
73035         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
73036
73037 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73038
73039         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
73040         netbsd*-gnu*.  Suggested by Robert Millan.
73041
73042 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73043
73044         * modules/group-member: Depend on stdbool.
73045
73046 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73047
73048         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
73049
73050 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73051
73052         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
73053         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
73054         after the 'gnu' in these cases.  This fixes some bugs in the
73055         previous change, and is based on suggestions by Robert Millan.
73056
73057 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73058
73059         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
73060         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
73061         no longer needed.
73062         * lib/quotearg.c (quotearg_n_options): Use it.
73063         * lib/group-member.c: Include <stdbool.h>.
73064         (free_group_info): Arg is now const *; don't free arg.
73065         (get_group_info): Now returns bool and accepts struct group_info *,
73066         rather than returning a malloc'ed struct group_info *.
73067         All uses changed.  Check for overflow in internal size calculation.
73068
73069         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
73070         rather than xmalloc/xrealloc.
73071         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
73072         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
73073         conformance bug: the old code used a pointer after freeing the
73074         storage that it addressed.
73075         * lib/hash.c (hash_initialize): Simplify the code by using
73076         xalloc_oversized rather than doing it by hand.
73077         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
73078         the buffer preserved.  Use free and xmalloc instead.
73079         * lib/quotearg.c (quotearg_n_options): Likewise.
73080         Use a simpler test for size overflow.  Don't use xalloc_oversized
73081         because unsigned int might be wider than size_t (!); this suggests
73082         that we should switch from unsigned int to size_t for slot numbers.
73083
73084 2003-10-28  Paul Eggert  <eggert@twinsun.com>
73085
73086         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
73087         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
73088         NetBSD kernels.  Requested by Richard Stallman.
73089
73090 2003-10-27  Paul Eggert  <eggert@twinsun.com>
73091
73092         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
73093         to allocate the returned structure.  Do not allocate a subarray,
73094         as x2nrealloc will do that.
73095         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
73096         instead of xnrealloc.
73097         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
73098
73099 2003-10-27  Bruno Haible  <bruno@clisp.org>
73100
73101         * lib/stdbool_.h: Better support for BeOS.
73102
73103 2003-10-26  Paul Eggert  <eggert@twinsun.com>
73104
73105         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
73106         now uses inline.
73107
73108 2003-10-26  Paul Eggert  <eggert@twinsun.com>
73109
73110         * lib/xalloc.h (xalloc_oversized): New static inline function, for
73111         callers that want to do their own size-overflow checking.  Include
73112         <stdbool.h>, since xalloc_oversized returns bool.
73113         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
73114         to use xalloc_oversized.
73115
73116         Add two functions x2realloc, x2nrealloc, for programs that grow
73117         arrays dynamically by doubling their sizes.
73118         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
73119         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
73120         New functions.
73121
73122         Port to C99 semantics for 'inline' of external functions.
73123         Bug reported by Bruno Haible.
73124         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
73125         with the old contents of xnmalloc.
73126         (xnmalloc, xmalloc): Use it.
73127         (xnrealloc_inline): New static inline function,
73128         with the old contents of xnrealloc.
73129         (xnrealloc, xrealloc): Use it.
73130
73131         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
73132         that.
73133
73134 2003-10-26  Karl Berry  <karl@gnu.org>
73135
73136         * config/srclist.txt (COPYING.DOC): no longer available from
73137         /gd/gnuorg; don't know where the ultimate source is.
73138
73139 2003-10-25  Paul Eggert  <eggert@twinsun.com>
73140
73141         Fix several address-calculation bugs in the hash modules,
73142         plus some minor code cleanup.
73143
73144         * lib/hash.h: Include <stdbool.h>, for bool.
73145         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
73146         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
73147         hash_get_n_entries, hash_get_max_bucket_length,
73148         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
73149         hash_rehash): Use size_t rather than unsigned.
73150         * lib/hash.c (struct hash_table, hash_get_n_buckets,
73151         hash_get_n_buckets_used, hash_get_n_entries,
73152         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
73153         hash_get_entries, hash_do_for_each, hash_string, is_prime,
73154         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
73155         Likewise.
73156         (SIZE_MAX): Define if not defined.
73157         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
73158         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
73159         hash_print):
73160         Use const * when possible.
73161         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
73162         (check_tuning): Fix bug: if tuning parameters were very close to
73163         0 or 1, rounding errors could have caused subscript violations.
73164         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
73165         (hash_initialize): Add 'fail:' label
73166         to free table and return NULL, and use it to simplify code.
73167         Use calloc rather than clearing the storage ourself.
73168         (hash_initialize, hash_rehash): Check for arithmetic overflow in
73169         buffer size calculations.
73170         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
73171         Include <stddef.h>, for size_t.
73172         * lib/hash-pjw.c (hash_pjw): Likewise.
73173         Switch to method described by Bruno Haible.
73174         Include <limits.h>, for CHAR_BIT.
73175         (SIZE_BITS): New macro.
73176
73177 2003-10-23  Paul Eggert  <eggert@twinsun.com>
73178
73179         * m4/getline.m4 (AM_FUNC_GETLINE):
73180         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
73181         hosts.  Problem reported by Derek Robert Price in
73182         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
73183         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
73184         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
73185
73186 2003-10-21  Paul Eggert  <eggert@twinsun.com>
73187
73188         * lib/getndelim2.c (getndelim2): When size calculation overflows,
73189         ceiling the allocation at NMAX bytes rather than silently
73190         discarding input bytes before NMAX is reached.  This makes
73191         a difference only if NMAX exceeds SIZE_MAX / 2.
73192
73193         * lib/obstack.c: Merge from glibc.
73194         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
73195         Add libc_hidden_def (_obstack_newchunk).
73196         (_obstack_free) [! defined _LIBC]: Remove.
73197         [defined _LIBC]: Make a strong alias from obstack_free, rather than
73198         a clone of the function body.
73199         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
73200         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
73201
73202         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
73203         glibc.
73204         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
73205         arg to memcpy.
73206
73207         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
73208         (obstack_ptr_grow_fast, obstack_int_grow_fast):
73209         Don't use lvalue casts, as GCC plans to remove support for them
73210         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
73211         was also present in the non-GCC version, indicating that this
73212         code had always been buggy and had never been widely used.
73213         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
73214         Use the fast variant of each macro, rather than copying the
73215         definiens of the fast variant; that way, we'll be more likely to
73216         catch future bugs in the fast variants.
73217
73218 2003-10-20  Bruno Haible  <bruno@clisp.org>
73219
73220         * modules/wait-process: New file.
73221         * MODULES.html.sh (func_all_modules): Add wait-process.
73222
73223 2003-10-20  Bruno Haible  <bruno@clisp.org>
73224
73225         * m4/wait-process.m4: New file.
73226
73227 2003-10-20  Bruno Haible  <bruno@clisp.org>
73228
73229         * lib/wait-process.h: New file, from GNU gettext.
73230         * lib/wait-process.c: New file, from GNU gettext.
73231
73232 2003-10-19  Jim Meyering  <jim@meyering.net>
73233
73234         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
73235         HPUX 10.20.
73236
73237 2003-10-18  Karl Berry  <karl@gnu.org>
73238
73239         * config/config.guess: update from config.
73240
73241 2003-10-16  Paul Eggert  <eggert@twinsun.com>
73242
73243         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
73244         (getgroups): First arg is int, not size_t.
73245         Don't let 'free' mangle errno.
73246
73247 2003-10-16  Paul Eggert  <eggert@twinsun.com>
73248
73249         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
73250
73251 2003-10-16  Karl Berry  <karl@gnu.org>
73252
73253         * config/config.{guess,sub}: update from config.
73254
73255 2003-10-16  Jim Meyering  <jim@meyering.net>
73256
73257         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
73258         memcpy.
73259
73260 2003-10-15  Paul Eggert  <eggert@twinsun.com>
73261
73262         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
73263         (SIZE_MAX): Remove.
73264         (new_exclude, add_exclude_file): Initial size no longer needs to
73265         be a power of 2.
73266         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
73267         our own address arithmetic overflow checking.
73268
73269         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
73270         (fnmatch): Do not alloca more than 2000 wide characters;
73271         instead, use malloc for large buffers.
73272         Check for address arithmetic overflow, and return -1
73273         with errno set to ENOMEM in that case.
73274         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
73275         (NEW_PATTERN): Do not alloca more than 8000 bytes;
73276         instead, return -1.  Check for address arithmetic overflow.
73277
73278 2003-10-14  Paul Eggert  <eggert@twinsun.com>
73279
73280         Handle invalid suffixes and overflow independently, so that
73281         callers can treat them independently as needed.  Fix some bugs in
73282         suffix handling, e.g., "100k@" was not diagnosed as an invalid
73283         suffix for a human-readable blocksize.  The major caller-visible
73284         change is the addition of a new
73285         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
73286         that both overflow and suffix chars were found.
73287
73288         * lib/human.c (humblock): Don't check separately for invalid suffix
73289         char; that is xstrtoumax's job (now that its bug is fixed).
73290         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
73291         INTMAX_MAX]: New macros.
73292         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
73293         TYPE_MAXIMUM): New macros.
73294         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
73295         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
73296         if overflow occurs, as it's what __strtol does and it's more useful
73297         in practice.
73298         (__xstrtol): If __strtol reports some error other than ERANGE,
73299         reflect it to the caller as LONGINT_INVALID.  If it reports
73300         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
73301         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
73302         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
73303         value.
73304         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
73305         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
73306         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
73307         [defined UINTMAX_MAX]: New macros.
73308
73309 2003-10-14  Bruno Haible  <bruno@clisp.org>
73310
73311         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
73312
73313 2003-10-14  Bruno Haible  <bruno@clisp.org>
73314
73315         * m4/sig_atomic_t: New file, from GNU gettext.
73316         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
73317
73318 2003-10-14  Bruno Haible  <bruno@clisp.org>
73319
73320         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
73321         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
73322         Also use volatile where needed.
73323
73324 2003-10-12  Paul Eggert  <eggert@twinsun.com>
73325
73326         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
73327         Change maintainer from Bruno Haible to 'all'.
73328
73329 2003-10-12  Paul Eggert  <eggert@twinsun.com>
73330
73331         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
73332
73333 2003-10-12  Paul Eggert  <eggert@twinsun.com>
73334
73335         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
73336         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
73337         and define in terms of the other primitives.
73338         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
73339         (SIZE_MAX): Define if not already defined.
73340         (array_size_overflow): New function.
73341         (xalloc_die): Abort instead of exiting if 'error' returns.
73342         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
73343         (xmalloc, xrealloc): Use them.
73344         (xcalloc): Check for address arithmetic overflow.
73345         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
73346         a bit faster than strcpy.
73347
73348 2003-10-10  Simon Josefsson  <jas@extundo.com>
73349
73350         * modules/argp (Depends-on): Add restrict and strcase.
73351
73352 2003-10-10  Simon Josefsson  <jas@extundo.com>
73353
73354         * m4/argp.m4: Add AC_C_INLINE.
73355
73356 2003-10-08  Paul Eggert  <eggert@twinsun.com>
73357
73358         Merge getpass from libc, plus a few fixes.
73359
73360         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
73361         Include <stdbool.h>.
73362         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
73363         __fsetlocking to empty.
73364         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
73365         do include <bits/libc-lock.h>.
73366         Do not include <fcntl.h>; not needed.
73367         [_LIBC]: Include <wchar.h>.
73368         (NOTCANCEL_MODE): New macro.
73369         (flockfile, funlockfile) [_LIBC]: New macros.
73370         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
73371         [!_LIBC]: New macros.
73372         (call_fclose): New function.
73373         (getpass): Use it.  Save tty stream separately; this simplifies the
73374         code and makes it more reliable if stdin happens to equal stdout.
73375         Invoke __fsetlocking on tty.
73376         Handle thread cancellation if needed.
73377         Namespace cleanup (use __tcgetattr, __getline).
73378         Use bool for Booleans.
73379         [USE_IN_LIBIO]: Handle wide streams.
73380         [!_LIBC]: Unconditionally do the fseek, since we don't know what
73381         stream might go where.
73382
73383         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
73384         doesn't have to include <stdio.h> before us.
73385         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
73386         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
73387         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
73388         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
73389         if not declared, so that we can use getpass.c code from libc without
73390         rewriting it.
73391         (flockfile, ftrylockfile, funlockfile): New macros.
73392
73393 2003-10-08  Paul Eggert  <eggert@twinsun.com>
73394
73395         * modules/getpass: Depend on stdbool.
73396
73397 2003-10-08  Paul Eggert  <eggert@twinsun.com>
73398
73399         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
73400
73401 2003-10-07  Karl Berry  <karl@gnu.org>
73402
73403         * config/config.{guess,sub}: update from config.
73404
73405 2003-10-06  Jim Meyering  <jim@meyering.net>
73406             Bruno Haible  <bruno@clisp.org>
73407
73408         This lets translators provide better translations for the
73409         "Written by ..." part of --version output.
73410         * lib/version-etc.h: Include stdarg.h.
73411         (version_etc_copyright): Declare as readonly.
73412         (version_etc): Make this function variadic with a NULL-terminated list
73413         of author name strings.
73414         (version_etc_va): New declaration.
73415         * lib/version-etc.c: Include stdarg.h, stdlib.h.
73416         (version_etc_copyright): Declare as readonly.
73417         (version_etc_va): New function. Provide a different translatable string
73418         for each possible number of authors < 10. Abbreviate when there are 10
73419         authors or more.
73420         (version_etc): Make this function variadic. Call version_etc_va.
73421         Suggestion from Gary V. Vaughan.
73422
73423         * lib/long-options.h (parse_long_options): Change prototype: the
73424         authors string is moved to the end and becomes variadic.
73425         * lib/long-options.c: Include stdarg.h.
73426         (parse_long_options): Make this function variadic, too.
73427         Call version_etc_va, not version_etc.
73428
73429 2003-10-06  Bruno Haible  <bruno@clisp.org>
73430
73431         * modules/version-etc-2: Remove file.
73432         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
73433
73434 2003-10-06  Bruno Haible  <bruno@clisp.org>
73435
73436         * modules/fatal-signal: New file.
73437         * MODULES.html.sh (func_all_modules): Add fatal-signal.
73438
73439 2003-10-06  Bruno Haible  <bruno@clisp.org>
73440
73441         * m4/fatal-signal.m4: New file.
73442         * m4/signalblocking.m4: New file, from GNU gettext.
73443
73444 2003-10-06  Bruno Haible  <bruno@clisp.org>
73445
73446         * lib/version-etc-2.h: Remove file.
73447         * lib/version-etc-2.c: Remove file.
73448
73449 2003-10-06  Bruno Haible  <bruno@clisp.org>
73450
73451         * lib/fatal-signal.h: New file, from GNU gettext.
73452         * lib/fatal-signal.c: New file, from GNU gettext.
73453
73454 2003-10-05  Paul Eggert  <eggert@twinsun.com>
73455
73456         * README: Rework advice for preventing empty .o files.
73457         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
73458         not <sys/types.h>.
73459
73460 2003-10-04  Karl Berry  <karl@gnu.org>
73461
73462         * lib/argp*: update from libc.
73463
73464 2003-10-04  Karl Berry  <karl@gnu.org>
73465
73466         * config/config.{guess,sub}: update from config.
73467
73468 2003-10-02  Bruno Haible  <bruno@clisp.org>
73469
73470         * modules/lchown (Include): Add lchown.h.
73471         * modules/time_r (Include): Use "..." syntax.
73472         * modules/xgetdomainname (Include): Add xgetdomainname.h.
73473
73474 2003-10-01  Simon Josefsson  <jas@extundo.com>
73475
73476         * MODULES.html.sh (func_all_modules): Move gethostname from section
73477         'based on' to section 'lacking' POSIX:2001.
73478
73479 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
73480
73481         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
73482         to output mode on the same stream.
73483
73484 2003-09-29  Paul Eggert  <eggert@twinsun.com>
73485
73486         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
73487         Fix arg typo in previous patch.
73488
73489 2003-09-28  Jim Meyering  <jim@meyering.net>
73490
73491         * lib/error.c: Correct cpp indentation.
73492
73493 2003-09-27  Paul Eggert  <eggert@twinsun.com>
73494
73495         * modules/free: New file.
73496
73497 2003-09-27  Paul Eggert  <eggert@twinsun.com>
73498
73499         * m4/free.m4: New file.
73500
73501 2003-09-27  Paul Eggert  <eggert@twinsun.com>
73502
73503         * lib/minmax.h (MIN, MAX)
73504         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
73505         Omit the special code that used __typeof__, since we worry that
73506         it could be more trouble than it's worth.  See:
73507         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
73508         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
73509
73510         * lib/free.c: New file.
73511
73512 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
73513
73514         Trivial fixes to Makefile.am parts of module listings.
73515         * modules/strstr: Append strstr.h to lib_SOURCES.
73516         * modules/strcase: Likewise, for strcase.h.
73517
73518 2003-09-27  Karl Berry  <karl@gnu.org>
73519
73520         * config/mkinstalldirs: update from automake.
73521
73522 2003-09-26  Paul Eggert  <eggert@twinsun.com>
73523
73524         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
73525         (error_tail): Do not loop, reallocating temporary buffer, since
73526         the output cannot contain more wide characters than the input
73527         contains bytes, the size must be big enough already.  This avoids
73528         one potential size overflow calculation.  Check for size overflow
73529         when calculating temporary buffer size.  Free temporary buffer
73530         when done, if it was allocated with malloc; this plugs a memory
73531         leak.  Remove casts from void * to pointers, that are no longer
73532         needed now that we're assuming C89 or better.
73533
73534         Merge error changes from glibc.
73535
73536         * lib/error.c, error.h: Update copyright notice header to match glibc.
73537         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
73538         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
73539         Disable cancellation while printing error.
73540         * lib/error.h: Prepend __ to parameter names.
73541
73542 2003-09-26  Jim Meyering  <jim@meyering.net>
73543
73544         * lib/error.c (error_tail): Move some declarations
73545         into inner scope where the local variables are used.
73546
73547 2003-09-26  Bruno Haible  <bruno@clisp.org>
73548
73549         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
73550         stpncpy().
73551         Don't define stpncpy through config.h; it's now done through stpncpy.h.
73552
73553 2003-09-26  Bruno Haible  <bruno@clisp.org>
73554
73555         * lib/stpncpy.h (gnu_stpncpy): New declaration.
73556         (stpncpy): Define as alias for gnu_stpncpy.
73557         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
73558
73559 2003-09-25  Simon Josefsson  <jas@extundo.com>
73560
73561         * lib/xgetdomainname.h: New file.
73562         * lib/xgetdomainname.c: New file.
73563
73564 2003-09-25  Simon Josefsson  <jas@extundo.com>
73565             Bruno Haible  <bruno@clisp.org>
73566
73567         * modules/getdomainname: New file.
73568         * modules/xgetdomainname: New file.
73569         * MODULES.html.sh (func_all_modules): Add getdomainname,
73570         xgetdomainname.
73571
73572 2003-09-25  Simon Josefsson  <jas@extundo.com>
73573             Bruno Haible  <bruno@clisp.org>
73574
73575         * m4/getdomainname.m4: New file.
73576
73577 2003-09-25  Simon Josefsson  <jas@extundo.com>
73578             Bruno Haible  <bruno@clisp.org>
73579
73580         * lib/getdomainname.h: New file.
73581         * lib/getdomainname.c: New file.
73582
73583 2003-09-25  Karl Berry  <karl@gnu.org>
73584
73585         * lib/argp-fmtstream.c, argp-help.c: update from libc.
73586
73587 2003-09-25  Karl Berry  <karl@gnu.org>
73588
73589         * config/install-sh: update from automake.
73590
73591 2003-09-25  Bruno Haible  <bruno@clisp.org>
73592
73593         * modules/version-etc-2: New file, from modules/version-etc with
73594         modifications.
73595         * MODULES.html.sh (func_all_modules): Add version-etc-2.
73596
73597 2003-09-25  Bruno Haible  <bruno@clisp.org>
73598
73599         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
73600         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
73601
73602 2003-09-24  Simon Josefsson  <jas@extundo.com>
73603
73604         * modules/xgethostname: Add xgethostname.h.
73605
73606 2003-09-24  Paul Eggert  <eggert@twinsun.com>
73607
73608         * lib/linebuffer.c (freebuffer): Don't free the argument, just
73609         the buffer associated with the argument.  Bug reported by
73610         Simon Josefsson.
73611
73612 2003-09-24  Paul Eggert  <eggert@twinsun.com>
73613
73614         * README: Document assumptions that 'int' is at least 32 bits
73615         wide, that integer arithmetic is 2's complement without overflow,
73616         that there are no holes in integer values, that adding sizes of
73617         two nonoverlapping objects can't overflow, and that all-bits-zero
73618         yields scalar zero.  Fix spelling and capitalization typos.
73619
73620 2003-09-19  Karl Berry  <karl@gnu.org>
73621
73622         * lib/argp.h: update from libc.
73623
73624 2003-09-17  Paul Eggert  <eggert@twinsun.com>
73625
73626         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
73627         to avoid spurious warnings like "AC_RUN_IFELSE was called before
73628         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
73629
73630 2003-09-17  Paul Eggert  <eggert@twinsun.com>
73631
73632         * gnulib-tool: Use "test -h", not "test -L", for portability
73633         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
73634         (tags_regexp): Remove, since \| doesn't conform to POSIX.
73635         (sed_extract_prog): Issue s commands one-by-one, rather than
73636         using \| in one s command.
73637
73638 2003-09-16  Paul Eggert  <eggert@twinsun.com>
73639
73640         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
73641         input error, instead of returning NULL the next time we are called
73642         (and therefore losing track of errno).
73643
73644 2003-09-16  Bruno Haible  <bruno@clisp.org>
73645
73646         * gnulib-tool (func_create_testdir): Warn about duplicated
73647         dependencies.
73648
73649 2003-09-15  Paul Eggert  <eggert@twinsun.com>
73650
73651         * modules/argmatch, modules/fatal, modules/obstack,
73652         modules/xalloc, modules/xgethostname: Sort dependencies by
73653         importance, not alphabetically.
73654
73655 2003-09-15  Paul Eggert  <eggert@twinsun.com>
73656
73657         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
73658         fails, so that the caller gets the proper errno.
73659
73660         * lib/readutmp.c (read_utmp): Likewise.
73661         Check for fstat error.  Close stream and free storage
73662         when failing.
73663
73664 2003-09-14  Karl Berry  <karl@gnu.org>
73665
73666         * config/srclist.txt (strdup.c): disable for c89 changes.
73667
73668 2003-09-14  Jim Meyering  <jim@meyering.net>
73669
73670         * lib/getloadavg.c: Correct cpp indentation.
73671         * lib/strdup.c: Likewise.
73672         * lib/vasnprintf.c: Likewise.
73673
73674 2003-09-14  Bruno Haible  <bruno@clisp.org>
73675
73676         * modules/fwriteerror: New file.
73677         * MODULES.html.sh (func_all_modules): Add fwriteerror.
73678
73679 2003-09-14  Bruno Haible  <bruno@clisp.org>
73680
73681         * lib/fwriteerror.h: New file.
73682         * lib/fwriteerror.c: New file.
73683
73684 2003-09-12  Paul Eggert  <eggert@twinsun.com>
73685
73686         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
73687         modules/xgethostname, modules/xalloc: Depend on exit.
73688
73689 2003-09-12  Paul Eggert  <eggert@twinsun.com>
73690
73691         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
73692
73693         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
73694         and AC_MINIX, too, so that their extensions are available.
73695
73696         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
73697         This macro has been superseded by gl_BACKUPFILE.
73698
73699         More patches to assume C89 or better.
73700
73701         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
73702
73703         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
73704         unconditionally.
73705         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
73706         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
73707         Include <string.h>, <stdlib.h> unconditionally.
73708         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
73709         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
73710         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
73711         headers or for string.h.
73712         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
73713         or strtoul.
73714
73715         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
73716         headers.
73717         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
73718         * m4/userspec.m4 (gl_USERSPEC): Likewise.
73719         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
73720         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
73721         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73722         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
73723         memcpy, memset.
73724         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
73725         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
73726         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
73727         strtol.
73728         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
73729         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
73730         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
73731         strtoul.
73732
73733 2003-09-12  Paul Eggert  <eggert@twinsun.com>
73734
73735         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
73736         * lib/obstack.c [!defined _LIBC]: Likewise.
73737         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
73738         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
73739         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
73740
73741         More changes to assume C89 or better.
73742
73743         * lib/error.c (error_tail): Assume vprintf.
73744
73745         * lib/argmatch.c (getenv): Remove decl.
73746         * lib/progreloc.c (get_full_program_name): Define via prototype.
73747         * lib/setenv.c (clearenv): Likewise.
73748         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
73749         needed.
73750         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
73751         (malloc, memcpy): Remove decls.
73752         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
73753         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
73754         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
73755         (memcpy): Remove macro.
73756         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
73757         (__P): Remove.  All uses removed.
73758         (PTR): Remove.  All uses changed to void *.
73759         (CHAR_BIT, NULL): Remove.
73760         (spaces, zeros, memset_space, memset_zero)
73761         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
73762         Remove.
73763         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
73764         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
73765         Define with prototype.
73766         Remove now-unnecessary prototype decl.
73767         (extra_args_spec): Assume ANSI C.  All uses changed.
73768         (extra_args_spec_iso): Remove.
73769         (my_strftime, emacs_strftimeu): Define via prototype.
73770         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
73771         unconditionally.
73772         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
73773         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
73774         (strtoul, strtol): Remove decls.
73775         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
73776         LONG_MAX): Remove.
73777         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
73778         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
73779         (LOCALE_PARAM_PROTO): New macro.
73780         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
73781         (INTERNAL (strtol), strtol): Define with a prototype.
73782         (PARAMS): Remove.  All uses removed.
73783         * lib/tempname.c: Include <string.h> unconditionally.
73784         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
73785         * lib/xgethostname.c (main): Define with a prototype.
73786         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
73787         Include <stdlib.h> unconditionally.
73788         (calloc, malloc, realloc, free): Remove decls.
73789         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
73790         Include <stdlib.h> unconditionally.  Sort include file names.
73791         (strtod): Remove.
73792         (xstrtod): Define with a prototype.
73793         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
73794         (strtol, strtoul): Remove decls.
73795
73796 2003-09-11  Paul Eggert  <eggert@twinsun.com>
73797
73798         More patches to assume C89 or better.
73799         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
73800         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
73801         string.h, memchr, STDC_HEADERS.
73802
73803 2003-09-11  Paul Eggert  <eggert@twinsun.com>
73804
73805         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
73806         Include <stdlib.h>, <string.h> unconditionally.
73807         Remove now-unnecessary cast to char *.
73808         * lib/strnlen.c: Include <string.h> unconditionally.
73809         * lib/yesno.c (yesno): Define with a prototype.
73810
73811 2003-09-11  Bruno Haible  <bruno@clisp.org>
73812
73813         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
73814
73815 2003-09-10  Jim Meyering  <jim@meyering.net>
73816
73817         * lib/error.c: Correct indentation of cpp directives.
73818
73819 2003-09-10  Bruno Haible  <bruno@clisp.org>
73820
73821         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
73822         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
73823         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
73824         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
73825         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
73826         <stdlib.h> and <string.h> checks.
73827         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
73828         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
73829
73830 2003-09-10  Bruno Haible  <bruno@clisp.org>
73831
73832         * lib/strcspn.c: Include <string.h> unconditionally.
73833         * lib/strpbrk.c: Include <string.h> unconditionally.
73834         * lib/strstr.c: Include <string.h> unconditionally.
73835         * lib/unicodeio.c: Include <string.h> unconditionally.
73836         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
73837         * lib/unsetenv.c: Likewise.
73838         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
73839         * lib/yesno.c: Include <stdlib.h> unconditionally.
73840         (rpmatch): Add prototype.
73841
73842 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73843
73844         More patches to assume C89 or better.
73845         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
73846         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
73847         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
73848         or for string.h.
73849         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
73850         stdlib.h.
73851         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
73852         C headers.
73853         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
73854         string.h.
73855         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
73856         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
73857         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
73858         or for string.h.
73859         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
73860         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
73861         C headers.
73862         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
73863         memcpy.
73864         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
73865         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
73866         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
73867         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
73868         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
73869         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
73870         string.h, free.
73871         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
73872         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
73873         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
73874         C headers, or for string.h.
73875         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
73876         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
73877         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
73878         headers, memory.h, stdlib.h, string.h, strings.h.
73879         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
73880         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
73881         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
73882         strchr.
73883         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
73884         headers, memory.h, string.h.
73885         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
73886         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
73887         free.
73888         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
73889         headers.
73890         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
73891         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
73892         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
73893         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
73894         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
73895
73896 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73897
73898         More K&R removal.
73899
73900         * lib/acosl.c (main): Use a prototype.
73901         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
73902         tanl.c: Likewise.
73903
73904         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
73905
73906         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
73907         (getopt, etopt_long, getopt_long_only, _getopt_internal)
73908         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
73909         with a prototype.
73910         * lib/getopt.c (const): Remove macro.
73911         Include <string.h> unconditionally.
73912         (my_index): Remove; all uses changed to strchr.
73913         (strlen): Remove decl.
73914         (exchange): Remove forward decl; no longer needed.
73915         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
73916         Define with prototype.
73917         * lib/getopt1.c (const): Remove macro.
73918         (getopt_long, getopt_long_only, main): Define with prototype.
73919
73920         * lib/getugroups.c: Include <string.h> unconditionally.
73921
73922         * lib/getusershell.c: Include <stdlib.h> unconditionally.
73923         (getusershell, setusershell, endusershell, readname, main):
73924         Define with prototypes.
73925
73926         * lib/group-member.c: Include group-member.h first.
73927         Include <stdlib.h> unconditionally.
73928
73929         * lib/hard-locale.c: Include hard-locale.h first.
73930         Include <stdlib.h>, <string.h> unconditionally.
73931
73932         * lib/hash.c (free, malloc): Remove decls.
73933         Include <stdlib.h> unconditionally.
73934
73935         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
73936         (getenv): Do not declare.
73937
73938         * lib/idcache.c: Include <string.h> unconditionally.
73939
73940         * lib/long-options.c: Include long-options.h first, to test interface.
73941         Include <stdlib.h> unconditionally.
73942
73943         * lib/makepath.c: Include makepath.h first, to test interface.
73944         Include <stdlib.h> and <string.h> unconditionally.
73945
73946         * lib/linebuffer.c: Include <stdlib.h>.
73947         (free): Remove decl.
73948
73949         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
73950         stddef.h. rpl_malloc returns void *, not char *.
73951         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
73952         prototype.
73953
73954         * lib/md5.h: Include <limits.h> unconditionally.
73955         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
73956         (__P): Remove; all uses removed.
73957         * lib/md5.c: Include "md5.h" first.
73958         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
73959         md5_buffer, md5_process_bytes, md5_process_block):
73960         Define with prototypes.
73961         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
73962         * lib/sha.c: Include "sha.h" first.
73963         Include <stdlib.h>, <string.h> unconditionally.
73964
73965         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
73966         * lib/memcmp.c (__ptr_t): Likewise.
73967         * lib/memrchr.c (__ptr_t): Likewise.
73968         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
73969         Include <string.h> unconditionally.
73970         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
73971         * lib/memchr.c: Include <stdlib.h> unconditionally.
73972         * lib/memchr.c (LONG_MAX): Remove.
73973         * lib/memrchr.c (LONG_MAX): Likewise.
73974         * lib/memchr.c (__memchr): Define via a prototype.
73975         * lib/memrchr.c (__memrchr): Likewise.
73976         * lib/memcmp.c (__P): Remove, and remove all uses.
73977         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
73978         Remove forward decls; no longer needed.
73979         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
73980         Use types required by C89 in prototype.
73981
73982         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
73983         * lib/savedir.c: Likewise.
73984         * lib/mkdir.c (free): Remove decl.
73985         * lib/rmdir.c (rmdir): Define with a prototype.
73986         * lib/savedir.c: Include savedir.h first, to test interface.
73987
73988         * lib/mktime.c (STDC_HEADERS): Remove.
73989         Include <stdlib.h>, <string.h> unconditionally.
73990
73991         * lib/modechange.c: Include <stdlib.h> unconditionally.
73992         (malloc): Remove decl.
73993
73994         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
73995         (free): Remove decl.
73996
73997         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
73998         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
73999         (This type really should be intptr_t, but that's a C99ism.)
74000         (_obstack_memcpy): Remove: all uses changed to memcpy.
74001         Include <string.h> unconditionally.
74002         (struct obstack): Assume __STDC__ for types of members
74003         chunkfun, freefun, extra_arg.
74004         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
74005         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
74006         obstack_begin, obstack_specify_allocation,
74007         obstack_specify_allocation_with_arg, obstack_chunkfun,
74008         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
74009         Remove unprototyped decls and the macros that use them.
74010         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
74011         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
74012         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
74013         (defined __STDC__ && __STDC__)]:
74014         Remove nonprototyped code.
74015         Include <stdlib.h> unconditionally.
74016         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
74017         _obstack_allocated_p, _obstack_free, obstack_free,
74018         _obstack_memory_used, print_and_abort):
74019         Define using prototypes.
74020         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
74021         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
74022         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
74023         obstack_next_free, obstack_object_size, obstack_room) [0]:
74024         Remove unused, unprototyped code.
74025
74026         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
74027
74028         * lib/physmem.c (physmem_total, physmem_available, main): Define
74029         with prototypes.
74030
74031         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
74032         (main): Define with a prototype.
74033
74034         * lib/posixver.c (getenv): Remove decl.
74035
74036         * lib/putenv.c (malloc): Returns void *, not char *.
74037         Include <string.h> unconditionally.
74038         (strchr, memcpy, NULL): Do not define.
74039
74040         * lib/readtokens.c: Include readtokens.h first, to test interface.
74041         Include <stdlib.h>, <string.h> unconditionally.
74042         (init_tokenbuffer): Define with a prototype.
74043
74044         * lib/regex.c (PARAMS): Remove.  All uses removed.
74045         All uses of _RE_ARGS removed, too.
74046         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
74047         unconditionally.
74048         (bzero): Assume memset exists.
74049         (memcmp, memcpy, NULL): Remove.
74050         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
74051         char, or assignments to local vars of type signed char.
74052         (init_syntax_once, PREFIX(extract_number_and_incr),
74053         PREFIX(print_partial_compiled_pattern),
74054         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
74055         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
74056         PREFIX(regex_grow_registers), PREFIX(regex_compile),
74057         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
74058         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
74059         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
74060         wcs_compile_range, byte_compile_range, truncate_wchar,
74061         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
74062         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
74063         count_mbs_length, wcs_re_match_2_internal,
74064         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
74065         PREFIX(alt_match_null_string_p),
74066         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
74067         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
74068         regfree, PREFIX(extract_number)): Define with prototype.  Remove
74069         now-unnecessary declaration, if any.
74070         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
74071         regcomp, regexec):
74072         Remove now-unnecessary casts among pointer types.
74073         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
74074
74075         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
74076         (free): Remove decl.
74077
74078         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
74079
74080         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
74081         (free): Remove decl.
74082
74083         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
74084         * lib/xgetcwd.c: Likewise.
74085
74086         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
74087         (free): Remove decl.
74088
74089         * lib/strchrnul.c (strchrnul): Define with a prototype.
74090         Fix bug: c_in was not converted to char before searching.
74091
74092         The following changes are not K&R related:
74093
74094         * lib/group-member.h: Include <sys/types.h>, so that this file is
74095         self-contained.
74096         * lib/makepath.h: Likewise.
74097
74098         * lib/getusershell.c (readname, default_index, line_size, readname):
74099         Use size_t, not int, for sizes.
74100         (readname): If the size overflows, report an error instead of
74101         looping forever.
74102
74103 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74104
74105         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
74106         libc.
74107
74108 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74109
74110         * README: New section: portability guidelines.
74111
74112 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
74113
74114         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
74115         C89 spec.
74116
74117 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
74118
74119         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
74120
74121 2003-09-08  Paul Eggert  <eggert@twinsun.com>
74122
74123         Assume C89 or better; remove K&R cruft.
74124         A few of these changes were first proposed by Derek Robert Price
74125         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
74126
74127         * lib/addext.c: Include <string.h> unconditionally.
74128         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
74129         Don't declare getenv or malloc.
74130
74131         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
74132         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
74133         (NULL): Remove.
74134         (find_stack_direction, alloca): Use prototypes.
74135
74136         * lib/atexit.c (atexit): Define using a prototype.
74137
74138         * lib/basename.c, dirname.c, stripslash.c:
74139         Include <string.h> unconditionally.
74140
74141         * lib/bcopy.c: Include <stddef.h>.
74142         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
74143
74144         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
74145
74146         * lib/error.h (error, error_at_line, error_print_progname)
74147         [! (defined (__STDC__) && __STDC__)]: Remove decls.
74148         * lib/error.c: Include error.h first, to check interface.
74149         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
74150         (VA_START): Remove; all uses changeed to va_start.
74151         (exit, strerror): Remove decls.
74152         (error_print_progname): Prototype uncondionally.
74153         Don't include <errno.h>; no longer needed.
74154         (private_strerror): Remove.
74155         (error_tail): Always define.
74156         (error, error_at_line): Assume C89 or better; always use prototypes.
74157         * lib/fatal.c: Include "fatal.h" first, to test interface.
74158         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
74159         (VA_START): Remove; all uses changed to va_start.
74160         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
74161         this case.
74162         (exit): Remove decl.
74163         (fatal): Prototype unconditionally.  Assume va_start works.
74164         Abort at end, to pacify gcc.
74165
74166         * lib/euidaccess.c (main): Define with a prototype.
74167
74168         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
74169
74170         * lib/exitfail.c: Include <stdlib.h> unconditionally.
74171
74172         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
74173         prototypes.
74174         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
74175         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
74176         (getenv): Remove decl.
74177         (fnmatch): Define using a prototype.
74178         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
74179         (FCT): Define using a prototype.
74180
74181         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
74182
74183         * lib/gethostname.c: Include <stddef.h>.
74184         (gethostname): Define with prototype.  Length is size_t, not int.
74185
74186 2003-09-08  Paul Eggert  <eggert@twinsun.com>
74187
74188         Assume C89 or better; remove K&R cruft.
74189         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
74190         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
74191         string.h, getenv, malloc.
74192         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
74193         headers.
74194         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
74195         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
74196         do not check for strerror.
74197         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
74198         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
74199         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
74200         do not check for doprnt or vprintf.
74201         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
74202         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
74203
74204 2003-09-08  Paul Eggert  <eggert@twinsun.com>
74205
74206         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
74207         getversion.c should have been removed then, but was accidentally
74208         preserved.
74209
74210         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
74211         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
74212
74213 2003-09-08  Karl Berry  <karl@gnu.org>
74214
74215         * config/config.sub, config.guess, srclistvars.sh: update from savannah
74216                 config, forget about prep.
74217
74218         * config/depcomp, missing: update from automake.
74219
74220 2003-09-07  Paul Eggert  <eggert@twinsun.com>
74221
74222         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
74223         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
74224
74225 2003-09-07  Paul Eggert  <eggert@twinsun.com>
74226
74227         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
74228         copy_tm_result.  Bug reported by Simon Josefsson in
74229         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
74230
74231 2003-09-06  Paul Eggert  <eggert@twinsun.com>
74232
74233         * m4/time_r.m4: New file.
74234         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
74235         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
74236         is. Check for timegm declaration.
74237         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
74238         Do not check for gmtime_r.
74239         Replace mktime if __mktime_internal does not exist and if mktime
74240         hasn't been replaced already.
74241
74242 2003-09-06  Paul Eggert  <eggert@twinsun.com>
74243
74244         * lib/time_r.c, lib/time_r.h: New files.
74245
74246         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
74247         __localtime_r.
74248         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
74249         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
74250
74251         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
74252         __gmtime_r.
74253         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
74254         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
74255         Include <time_r.h>.
74256
74257         * lib/timegm.c: Switch to glibc implementation, with the following
74258         changes:
74259         [defined HAVE_CONFIG_H]: Include <config.h>.
74260         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
74261         (__mktime_internal) [!defined _LIBC]: New decl.
74262         (__gmtime_r) [!defined _LIBC]: New macro and function.
74263         (timegm): Use a prototype, since gnulib assumes C89.
74264         Do not bother declaring tmp to be const, as it's not really usefu.
74265         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
74266         (timegm): Declare only if HAVE_DECL_TIMEGM.
74267
74268 2003-09-06  Paul Eggert  <eggert@twinsun.com>
74269
74270         * MODULES.html.sh (func_all_modules): Add time_r.
74271         * modules/time_r: New file.
74272         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
74273         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
74274
74275 2003-09-03  Paul Eggert  <eggert@twinsun.com>
74276
74277         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
74278         Bug reported by Lute Kamstra in
74279         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
74280
74281         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
74282         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
74283         course with correspondingly smaller numbers for tomorrow and
74284         yesterday.  From Tadayoshi Funaba.  Originally installed into
74285         sh-utils on 1999-08-07, but the patch got lost (I guess during the
74286         coreutils merge?).
74287
74288 2003-08-31  Simon Josefsson  <jas@extundo.com>
74289
74290         * modules/timegm: New file.
74291         * MODULES.html.sh (func_all_modules): Add timegm.
74292
74293 2003-08-31  Simon Josefsson  <jas@extundo.com>
74294
74295         * m4/timegm.m4: New file.
74296
74297 2003-08-31  Simon Josefsson  <jas@extundo.com>
74298
74299         * lib/timegm.h: New file.
74300         * lib/timegm.c: New file.  Based on
74301         wget-1.8.2/src/http.c:mktime_from_utc.
74302
74303 2003-08-31  Karl Berry  <karl@gnu.org>
74304
74305         * lib/argp.h: update from libc.
74306
74307 2003-08-28  Bruno Haible  <bruno@clisp.org>
74308
74309         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
74310         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
74311         followed by '#define fnmatch fnmatch_posix' gives an error.
74312
74313 2003-08-28  Bruno Haible  <bruno@clisp.org>
74314
74315         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
74316         warning on QNX, which defines O_BINARY to 000000.
74317
74318 2003-08-27  Jim Meyering  <jim@meyering.net>
74319
74320         * m4/mkstemp.m4: Require that the system mkstemp be able to create
74321         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
74322         would fail after 32.  Reported by Danny Levinson.  Details here:
74323         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
74324
74325 2003-08-24  Bruno Haible  <bruno@clisp.org>
74326
74327         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
74328         MSVC7 <stdio.h> is included later.
74329
74330 2003-08-22  Simon Josefsson  <jas@extundo.com>
74331
74332         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
74333
74334 2003-08-20  Karl Berry  <karl@gnu.org>
74335
74336         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
74337
74338 2003-08-20  Bruno Haible  <bruno@clisp.org>
74339
74340         * modules/progname: New file.
74341         * MODULES.html.sh (func_all_modules): Add progname.
74342
74343 2003-08-20  Bruno Haible  <bruno@clisp.org>
74344
74345         * lib/progname.h: New file, from GNU gettext.
74346         * lib/progname.c: New file, from GNU gettext.
74347         * lib/progreloc.c: New file, from GNU gettext.
74348
74349 2003-08-19  Jim Meyering  <jim@meyering.net>
74350
74351         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
74352         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
74353
74354 2003-08-19  Bruno Haible  <bruno@clisp.org>
74355
74356         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
74357         more.
74358
74359 2003-08-19  Bruno Haible  <bruno@clisp.org>
74360
74361         * lib/xstrdup.c: Assume <string.h> exists.
74362
74363 2003-08-18  Paul Eggert  <eggert@twinsun.com>
74364
74365         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
74366         in makefile rules.
74367
74368 2003-08-18  Jim Meyering  <jim@meyering.net>
74369
74370         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
74371         * m4/lib-ld.m4: Likewise.
74372
74373 2003-08-18  Jim Meyering  <jim@meyering.net>
74374
74375         * lib/setenv.h: Indent nested cpp directive.
74376         * lib/vasnprintf.c: Remove trailing blanks.
74377
74378 2003-08-17  Simon Josefsson  <jas@extundo.com>
74379
74380         * modules/xstrndup: New file.
74381         * MODULES.html.sh (func_all_modules): Add xstrndup.
74382
74383 2003-08-17  Simon Josefsson  <jas@extundo.com>
74384
74385         * modules/argp: Fix autoconf macro name. Add more dependencies.
74386
74387 2003-08-17  Simon Josefsson  <jas@extundo.com>
74388
74389         * m4/xstrndup.m4: New file.
74390
74391 2003-08-17  Simon Josefsson  <jas@extundo.com>
74392
74393         * m4/argp.m4: New file.
74394
74395 2003-08-17  Simon Josefsson  <jas@extundo.com>
74396             Bruno Haible  <bruno@clisp.org>
74397
74398         * lib/xstrndup.h: New file.
74399         * lib/xstrndup.c: New file.
74400
74401 2003-08-17  Bruno Haible  <bruno@clisp.org>
74402
74403         * modules/strndup (Files, Include): Add lib/strndup.h.
74404
74405 2003-08-17  Bruno Haible  <bruno@clisp.org>
74406
74407         * modules/euidaccess (Files): Add lib/euidaccess.h.
74408
74409 2003-08-17  Bruno Haible  <bruno@clisp.org>
74410
74411         * lib/strndup.h: New file.
74412
74413 2003-08-17  Bruno Haible  <bruno@clisp.org>
74414
74415         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
74416         like AC_GNU_SOURCE.
74417         * modules/extensions (configure.ac): Comment out the invocation of
74418         gl_USE_SYSTEM_EXTENSIONS.
74419
74420 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74421
74422         Merges from coreutils, etc.
74423         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
74424         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
74425         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
74426         fixing a typo.
74427         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
74428         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
74429
74430 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74431
74432         Document merge from coreutils.
74433         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
74434         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
74435         * modules/utime: Add m4/utimes-null.m4.
74436
74437 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74438
74439         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
74440         space, undoing this 2003-08-12 change:
74441         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
74442
74443 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74444
74445         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
74446         strtoul.c from libc, undoing this 2003-08-12 change:
74447         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
74448
74449 2003-08-16  Jim Meyering  <jim@meyering.net>
74450
74451         Merges from coreutils.
74452         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
74453         prefix.  Adjust cache variables similarly.  Create 500 rather than
74454         just 300 files, to exercise bug on Darwin6.5, too.
74455         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
74456         $missing_dir.
74457         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
74458         AM_SYS_POSIX_TERMIOS.
74459         Reported by mkc@mathdogs.com.
74460         Also change use of $am_cv_sys_posix_termios
74461         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
74462         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
74463         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
74464         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
74465         in /proc/mounts until it finds one with matching device number.  This
74466         is unnecessary when the FILE argument *is* a mount point.  No stat call
74467         is necessary in that case.  So, disable the statvfs-testing code on
74468         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
74469         as RedHat bug# 84846.
74470         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
74471         to 1MB, so as not to render systems with no stack size limit (e.g.,
74472         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
74473         Include <unistd.h>.  On some systems,
74474         it is required for the definition of _SC_PAGESIZE.
74475
74476 2003-08-16  Jim Meyering  <jim@meyering.net>
74477
74478         Merge from coreutils.
74479         * lib/xstrtoimax.c: #else #if -> #elif.
74480         * lib/xstrtoumax.c: Likewise.
74481
74482 2003-08-16  Jim Meyering  <jim@meyering.net>
74483
74484         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
74485         * m4/utimes.m4: Removed.
74486         * m4/utimes-null.m4: Renamed from utimes.m4.
74487
74488         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
74489         to 1MB, so as not to render systems with no stack size limit (e.g.,
74490         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
74491         Include <unistd.h>.  On some systems,
74492         it is required for the definition of _SC_PAGESIZE.
74493
74494 2003-08-16  Jim Meyering  <jim@meyering.net>
74495         and Paul Eggert  <eggert@cs.ucla.edu>
74496
74497         Merges from coreutils, etc.
74498
74499         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
74500         using the latest version from cvs.  This avoids problems with #line
74501         directives using a vendor (Sun) compiler.
74502         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
74503         Don't set GETGROUPS_LIB here; now it's
74504         done via getgroups.m4's wrapper function.
74505         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
74506         rather than just in sh-util/configure.in, so that the
74507         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
74508         same.
74509         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
74510         AC_FUNC_GETLOADAVG where to find getloadavg.c.
74511         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
74512         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
74513         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
74514         Remove code that is now done by the newly-required macros.
74515         Append $(EXEEXT) to DF_PROG.
74516         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
74517         Do not invoke or require the following here,
74518         since prereq.m4 or some gnulib .m4 now does this for us:
74519         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
74520         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
74521         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
74522         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
74523         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
74524         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
74525         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
74526         AC_FUNC_OBSTACK.
74527         Do not replace the following functions, as this is now the job
74528         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
74529         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
74530         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
74531         atexit getpass, strdup, getpagesize.
74532         Replace 'raise'.
74533         Do not check for the following functions, as this is now the job
74534         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
74535         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
74536         setregid.
74537         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
74538         Check for sys/sysctl.h.
74539         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
74540         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
74541         of checking for ssize_t ourselves.
74542
74543         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
74544         Require every macro that gnulib/modules/* suggests for us.
74545         (jm_PREREQ_ADDEXT): New macro.
74546         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
74547         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
74548
74549         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
74550         (gl_PHYSMEM): Use it.
74551         Also check for `table' function.
74552         Check for new headers and functions.
74553         Add check for sys/sysmp.h.
74554         With suggestions from Kaveh Ghazi.
74555         Ignore headers that are present but cannot be compiled.  This
74556         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
74557         C 5.4.
74558
74559 2003-08-15  Paul Eggert  <eggert@twinsun.com>
74560
74561         Document merge from coreutils.
74562         * modules/userspec: Depend on posixver.
74563         * modules/strftime: Depend on tzset.
74564
74565 2003-08-15  Paul Eggert  <eggert@twinsun.com>
74566
74567         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
74568         rather than tab, after '#' in shell-script copyright notices.
74569         Suggested by Bruno Haible.
74570
74571 2003-08-15  Paul Eggert  <eggert@twinsun.com>
74572
74573         * config/srclist-update: Use three spaces, rather than tab, after '#'
74574         in shell-script copyright notices.  Suggested by Bruno Haible.
74575         Remove unnecessary parenthesization in regular expression.
74576
74577 2003-08-15  Jim Meyering  <jim@meyering.net>
74578
74579         Merge from coreutils.
74580         * lib/xgethostname.c: Include <stdlib.h>.
74581         (xghostname): Don't exit for anything other than memory-related
74582         failure; just return NULL.
74583         * lib/userspec.c: Include "posixver.h".
74584         (parse_user_spec): Accept `.' as a separator only
74585         in pre-POSIX-200112 mode.
74586         * lib/strtoimax.c: Use #elif rather than #else #if.
74587         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
74588         Remove function, now that we can rely on a working tzset function.
74589         [!_LIBC]: Ensure that the required autoconf test has been run.
74590         [!defined _NL_CURRENT && HAVE_STRFTIME]:
74591         Use underlying_strftime for %r.
74592         * lib/sha.c: Merge in some clean-up and optimization changes from
74593         glibc.
74594         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
74595         Ensure that it is a multiple of 64.
74596         Rearrange loop exit tests so as to avoid performing an
74597         additional fread after encountering an error or EOF.
74598         * lib/realloc.c: Update copyright date.
74599
74600 2003-08-15  Jim Meyering  <jim@meyering.net>
74601         and Paul Eggert  <eggert@twinsun.com>
74602
74603         Merge from coreutils.
74604         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
74605         member but strut utmpx does not.  Needed for AIX 4.3.3.
74606         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
74607
74608 2003-08-15  Jim Meyering  <jim@meyering.net>
74609         and Paul Eggert  <eggert@cs.ucla.edu>
74610
74611         Merges from coreutils, etc.
74612         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
74613         Require gl_FUNC_TZSET_CLOBBER.
74614         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
74615         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
74616         members.
74617
74618 2003-08-14  Paul Eggert  <eggert@twinsun.com>
74619
74620         Help the merge from coreutils.
74621         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
74622         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
74623         * m4/tzset.m4: Use it too.
74624
74625 2003-08-14  Paul Eggert  <eggert@twinsun.com>
74626
74627         * modules/tzset: New file.
74628
74629 2003-08-14  Jim Meyering  <jim@meyering.net>
74630
74631         Merges from coreutils.
74632         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
74633         variable names, rather than @FNMATCH_H@.
74634         * modules/alloca: Likewise for $(ALLOCA_H).
74635
74636         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
74637         the three copies of the literal target, `fnmatch.h'.
74638         * modules/alloca (alloca.h): Likewise.
74639
74640 2003-08-14  Jim Meyering  <jim@meyering.net>
74641
74642         Merge from coreutils.
74643         * m4/tzset.m4: New file.
74644         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
74645         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
74646         otherwise, AIX 5.1 systems would end up using the latter.
74647         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
74648         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
74649         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
74650         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
74651
74652 2003-08-14  Jim Meyering  <jim@meyering.net>
74653
74654         Merge from coreutils.
74655         * lib/obstack.h: Whitespace changes.
74656         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
74657         and xcalloc return values.
74658         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
74659         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
74660         hang on OSF/1 5.1 for DIR on both local and remote file systems.
74661         Reported by (and fix confirmed by) Nelson H. F. Beebe.
74662         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
74663         error from mntctl.
74664         Use mntctl's return value to drive the entry-processing loop, since
74665         we can't rely on the value of the vmt_length member in the last
74666         entry.  On some systems doing so could result in exhausting
74667         virtual memory.  Based in part on a patch from Mike Jetzer.
74668
74669 2003-08-14  Jim Meyering  <jim@meyering.net>
74670         and Paul Eggert  <eggert@twinsun.com>
74671
74672         Merges from coreutils, plus other fixes.
74673         * lib/physmem.c: Merge in portability changes from gcc/libiberty
74674         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
74675         for credits and details.  Thanks to Kaveh Ghazi for helping
74676         to keep these files in sync.
74677         (ARRAY_SIZE): Define it.
74678         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
74679         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
74680         (memcasecmp): Don't assume size_t fits in unsigned int.
74681         Remove casts and duplicate code.
74682         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
74683         (memcpy): Remove definition.
74684         Merge in some clean-up and optimization changes from glibc.
74685         [BLOCKSIZE]: Move definition to top of file.
74686         Ensure that it is a multiple of 64.
74687         Rearrange loop exit tests so as to avoid performing an
74688         additional fread after encountering an error or EOF.
74689         * lib/md5.h (md5_uintptr): Define.
74690         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
74691         return to the initial working directory.  Preserve errno
74692         for caller.
74693         * lib/idcache.c: Include "xalloc.h".
74694         (xmalloc, xrealloc): Remove decls.
74695         (getuser): Remove casts no longer required in C89.
74696         * lib/human.c: Include stdio.h, for sprintf.
74697         * lib/group-member.c: Include "xalloc.h".
74698         (xmalloc, xrealloc): Remove decls.
74699         (get_group_info): Remove casts no longer required in C89.
74700         * lib/getusershell.c (readname): Remove casts no longer required in
74701         C89.
74702         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
74703         * lib/getline.c: Whitespace fix, from coreutils.
74704
74705 2003-08-13  Paul Eggert  <eggert@twinsun.com>
74706
74707         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
74708         Check for isascii.
74709
74710         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
74711         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
74712         Undo previous (whitespace-only) change.
74713
74714 2003-08-13  Paul Eggert  <eggert@twinsun.com>
74715
74716         * lib/exclude.c: Include <ctype.h>
74717         (IN_CTYPE_DOMAIN): New macro.
74718         (is_space): New fn.
74719         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
74720         and empty lines.
74721
74722         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
74723         Undo previous (whitespace-only) change.
74724
74725 2003-08-13  Paul Eggert  <eggert@twinsun.com>
74726
74727         * config/srclist-update: Change update back to the old behavior,
74728         leaving whitespace alone.  Use one 'sed' command rather than a
74729         pipeline.
74730         (fixlicense): Now a variable, not a function.
74731         (remove_trailing_blanks): Remove.
74732         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
74733         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
74734         Undo previous (whitespace-only) change.
74735
74736 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74737
74738         Merge from coreutils.
74739         * modules/euidaccess: Add lib_SOURCES, include for new
74740         file euidaccess.h
74741
74742 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74743
74744         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
74745         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
74746         Normalize leading white space and remove trailing white space.
74747
74748         Merge from coreutils
74749         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
74750
74751         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
74752         0.12.1.  These files are now being upgraded automatically by
74753         ../config/srclist-update.
74754
74755 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74756
74757         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
74758         Normalize leading white space and remove trailing white space.
74759         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
74760         notice, as per ../config/srclist-update.
74761
74762         Merge from coreutils.
74763         * lib/euidaccess.h: New file.
74764         * lib/euidaccess.c: Include it.
74765         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
74766         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
74767         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
74768
74769 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74770
74771         * config/srclist-update: Add copyright notice.
74772         (remove_id_lines, remove_trailing_blanks): New constants.
74773         (fixfile): Use them to normalize spacing a bit in copied files.
74774         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
74775         Normalize leading white space and remove trailing white space.
74776
74777         * config/texinfo.tex: Sync with texinfo.
74778
74779         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
74780         strtoul.c from libc, to merge coreutils whitespace changes.
74781
74782         * config/srclist.txt: Get the following m4 files from gettext:
74783         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
74784         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
74785         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
74786         wint_t.m4.
74787
74788 2003-08-12  Karl Berry  <karl@gnu.org>
74789
74790         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
74791         been made.
74792
74793 2003-08-11  Paul Eggert  <eggert@twinsun.com>
74794
74795         * modules/gnu-source, m4/gnu-source.m4:
74796         Remove; we're assuming Autoconf 2.54 or later now.
74797         Suggested by Bruno Haible.
74798         * MODULES.html.sh (func_all_modules): Remove gnu-source.
74799
74800 2003-08-11  Bruno Haible  <bruno@clisp.org>
74801
74802         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
74803
74804 2003-08-11  Bruno Haible  <bruno@clisp.org>
74805
74806         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
74807         (vasnprintf): Use it instead of wcslen.
74808
74809 2003-08-11  Bruno Haible  <bruno@clisp.org>
74810
74811         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
74812         value to ensure that _Bool promotes to int. Use #define for _Bool when
74813         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
74814
74815 2003-08-10  Karl Berry  <karl@gnu.org>
74816
74817         * lib/regex.h: update from libc (whitespace fix).
74818
74819 2003-08-09  Paul Eggert  <eggert@twinsun.com>
74820
74821         Merge some files from coreutils.  These changes were
74822         originally made by Jim Meyering.
74823         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
74824         many older Unixes require this.
74825         * lib/alloca.c (alloca): Remove cast to argument of free;
74826         no longer needed in C89.
74827         * lib/alloca_.h, regex.h: Fix white space to match
74828         what GNU indent does.
74829
74830 2003-08-09  Paul Eggert  <eggert@twinsun.com>
74831
74832         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
74833         apparently Emacs's Unicode mode got confused before my 2003-08-05
74834         checkin.
74835
74836 2003-08-08  Paul Eggert  <eggert@twinsun.com>
74837
74838         * m4/extensions.m4: New file.
74839         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
74840         Require gl_USE_SYSTEM_EXTENSIONS.
74841         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
74842         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
74843
74844 2003-08-08  Paul Eggert  <eggert@twinsun.com>
74845
74846         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
74847         * modules/extensions, modules/gnu-source: New files.
74848         * modules/timespec, modules/unlocked-io: Depend on extensions.
74849
74850 2003-08-07  Paul Eggert  <eggert@twinsun.com>
74851
74852         * modules/restrict: New file.
74853         * MODULES.html.sh (func_all_modules): Add restrict.
74854         * modules/regex: Depend on restrict.
74855
74856 2003-08-07  Paul Eggert  <eggert@twinsun.com>
74857
74858         * m4/restrict.m4: New file.
74859         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
74860
74861 2003-08-07  Bruno Haible  <bruno@clisp.org>
74862
74863         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
74864         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
74865
74866 2003-08-07  Bruno Haible  <bruno@clisp.org>
74867
74868         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
74869         makes the module 'getndelim2' compatible with the module 'getline'.
74870
74871 2003-08-05  Paul Eggert  <eggert@twinsun.com>
74872
74873         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
74874         byte with "\201" to avoid glitches when editing that source file
74875         with multi-gnome-terminal.
74876
74877 2003-08-05  Paul Eggert  <eggert@twinsun.com>
74878
74879         * lib/bumpalloc.h: Remove.
74880
74881 2003-08-05  Paul Eggert  <eggert@twinsun.com>
74882
74883         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
74884         * modules/bumpalloc: Remove.
74885
74886 2003-08-04  Paul Eggert  <eggert@twinsun.com>
74887
74888         * lib/getloadavg.c: Change copyright notice and spacing to conform to
74889         GNU coding style.
74890
74891         Merge from coreutils.
74892         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
74893         1. From glibc.
74894         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
74895         from Karl Berry, implemented by Jim Meyering.
74896         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
74897         from Dmitry V. Levin.
74898         Remove anachronistic cast of xrealloc.
74899         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
74900         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
74901         type. Otherwise, it wouldn't compile with at least /bin/cc on
74902         ymp-cray-unicos9.0.2.X.
74903         Combine two mostly-identical uses of alloca into one.
74904         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
74905
74906 2003-08-04  Dave Love  <d.love@dl.ac.uk>
74907
74908         [From Emacs.]
74909
74910         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
74911         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
74912         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
74913         obsolete NLIST_NAME_UNION.
74914         [__GNU__]: Undef BSD and FSCALE.
74915         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
74916
74917 2003-08-03  Paul Eggert  <eggert@twinsun.com>
74918
74919         * lib/stdbool_.h (_Bool): Make it signed char, instead of
74920         an enum type, so that it's guaranteed to promote to int.  See:
74921         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
74922
74923 2003-08-03  Karl Berry  <karl@gnu.org>
74924
74925         * config/depcomp: update from automake.
74926
74927 2003-07-31  Paul Eggert  <eggert@twinsun.com>
74928
74929         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
74930         (strerror): Don't assume that a printable int fits in 14 bytes.
74931
74932 2003-07-31  Bruno Haible  <bruno@clisp.org>
74933
74934         * modules/getpass-gnu: New file.
74935         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
74936
74937 2003-07-31  Bruno Haible  <bruno@clisp.org>
74938
74939         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
74940
74941 2003-07-24  Karl Berry  <karl@gnu.org>
74942
74943         * config/missing: update from automake.
74944
74945 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
74946             Bruno Haible  <bruno@clisp.org>
74947
74948         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
74949         * lib/getline.c (getline, getdelim): Likewise.
74950         Remove _GNU_SOURCE define; now it's defined in config.h through
74951         m4/getline.m4.
74952
74953 2003-07-23  Karl Berry  <karl@gnu.org>
74954
74955         * config/config.sub: update from prep.
74956
74957 2003-07-22  Paul Eggert  <eggert@twinsun.com>
74958
74959         * modules/xalloc (Depends-on): Add exitfail.
74960         * modules/xmemcoll: Likewise.
74961
74962 2003-07-22  Paul Eggert  <eggert@twinsun.com>
74963
74964         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
74965         over-parenthesization in macros.
74966
74967         Sync with coreutils.
74968
74969         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
74970         required by C99.
74971
74972         Use `exit_failure' for xalloc and xmemcoll instead of their own
74973         private exit-failure variables.
74974         * lib/xalloc.h (xalloc_exit_failure): Remove.
74975         * lib/xmalloc.c: Likewise.  Include exitfail.h.
74976         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
74977         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
74978         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
74979         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
74980
74981 2003-07-20  Jim Meyering  <jim@meyering.net>
74982
74983         * modules/closeout (Depends-on): Add exitfail.
74984         Suggestion from Bruno Haible.
74985
74986 2003-07-19  Karl Berry  <karl@gnu.org>
74987
74988         * config/config.sub: update from prep.
74989
74990 2003-07-18  Paul Eggert  <eggert@twinsun.com>
74991
74992         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
74993         Remove.
74994         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
74995         to test that it can stand by itself.  Include "exitfail.h".
74996         Clients should set exit_failure instead.
74997         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
74998
74999 2003-07-18  Bruno Haible  <bruno@clisp.org>
75000
75001         * modules/getndelim2: New file.
75002         * modules/getline: Share files with module getndelim2.
75003         * modules/getnline: Depend on getndelim2 instead of sharing files with
75004         it. Add getnline.c to lib_SOURCES.
75005         * MODULES.html.sh (func_all_modules): Add getndelim2.
75006
75007 2003-07-18  Bruno Haible  <bruno@clisp.org>
75008
75009         * m4/getndelim2.m4: New file.
75010         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
75011         invoke gl_PREREQ_GETNDELIM2.
75012         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
75013         gl_PREREQ_GETNDELIM2.
75014         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
75015         gl_GETNDELIM2.
75016
75017 2003-07-18  Bruno Haible  <bruno@clisp.org>
75018
75019         * lib/getndelim2.h: New file.
75020         * lib/getndelim2.c: Make into a module of its own. Include config.h,
75021         getndelim2.h.
75022         (getndelim2): Make non-static. Change return type to ssize_t.
75023         * lib/getline.h: Change argument names.
75024         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
75025         * lib/getnline.c: Include getndelim2.h.
75026
75027 2003-07-18  Andreas Schwab  <schwab@suse.de>
75028
75029         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
75030
75031 2003-07-17  Karl Berry  <karl@gnu.org>
75032
75033         * config/config.sub: update from prep.
75034
75035 2003-07-17  Bruno Haible  <bruno@clisp.org>
75036
75037         * modules/getnline: New file.
75038         * modules/getline: Add lib/getndelim2.c to source file list.
75039         * MODULES.html.sh (func_all_modules): Add getnline.
75040
75041 2003-07-17  Bruno Haible  <bruno@clisp.org>
75042
75043         * m4/getnline.m4: New file.
75044
75045 2003-07-17  Bruno Haible  <bruno@clisp.org>
75046
75047         * m4/Makefile.am.in: Remove file.
75048         * m4/Makefile.am: Remove file.
75049         * m4/Makefile.in: Remove file.
75050
75051 2003-07-17  Bruno Haible  <bruno@clisp.org>
75052
75053         * lib/getnline.h: New file.
75054         * lib/getnline.c: New file.
75055         * lib/getndelim2.c: New file, extracted from getline.c.
75056         (getndelim2): Renamed from getdelim2, with added nmax argument.
75057         * lib/getline.c: Include getndelim2.c.
75058         (getdelim2): Moved out to getndelim2.c.
75059         (getline, getdelim): Update.
75060
75061 2003-07-17  Bruno Haible  <bruno@clisp.org>
75062
75063         * lib/Makefile.am: Remove file.
75064         * lib/Makefile.in: Remove file.
75065
75066 2003-07-17  Bruno Haible  <bruno@clisp.org>
75067
75068         * configure.in: Remove file.
75069         * Makefile.in: Remove file.
75070
75071 2003-07-17  Bruno Haible  <bruno@clisp.org>
75072
75073         * MODULES.html.sh: Put the </BODY> right before </HTML>.
75074
75075 2003-07-16  Karl Berry  <karl@gnu.org>
75076
75077         * config/srclist-update: was running fixlicense twice, which caused
75078                 texinfo.tex to be nullified for some reason.  Simplify,
75079                 $gplsrc is no longer needed as far as I can see?
75080
75081 2003-07-16  Jim Meyering  <jim@meyering.net>
75082
75083         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
75084
75085 2003-07-15  Paul Eggert  <eggert@twinsun.com>
75086
75087         * config/srclist.txt: Get the following files from gettext-runtime/intl
75088         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
75089         ref-del.sin.  From Bruno Haible.
75090         * config/srclist-update (fixfile): Change grep pattern again, since the
75091         previous fix didn't work (there was another trailing $).  Use
75092         '[$]' to escape the $s.
75093
75094 2003-07-15  Karl Berry  <karl@gnu.org>
75095
75096         * lib/vasnprintf.c: update from gettext.
75097
75098 2003-07-15  Karl Berry  <karl@gnu.org>
75099
75100         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
75101         gets expanded when surrounded by '$'.
75102
75103 2003-07-15  Jim Meyering  <jim@meyering.net>
75104
75105         * modules/save-cwd: Don't depend on error.  From Derek Price.
75106
75107 2003-07-15  Jim Meyering  <jim@meyering.net>
75108
75109         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
75110
75111 2003-07-14  Simon Josefsson  <jas@extundo.com>
75112
75113         * modules/mempcpy: New file.
75114         * MODULES.html.sh (func_all_modules): Add mempcpy.
75115
75116 2003-07-14  Simon Josefsson  <jas@extundo.com>
75117
75118         * m4/mempcpy.m4: New file.
75119
75120 2003-07-14  Simon Josefsson  <jas@extundo.com>
75121
75122         * lib/mempcpy.h: New file.
75123         * lib/mempcpy.c: New file.
75124
75125 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75126
75127         * modules/getdate, modules/posixtm: Depend on mktime.
75128
75129 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75130
75131         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
75132         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
75133         unicodeio.c, unicodeio.h, unlocked-io.h:
75134         Switch from LGPL to GPL.
75135
75136 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75137
75138         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
75139         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
75140         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
75141         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
75142         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
75143         updated automatically by ../config/srclist-update.  This changes
75144         their license from LPGL to GPL.
75145
75146 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75147
75148         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
75149         assumed to refer to the root of the most recent stable gettext version.
75150         * config/srclistvars.sh: Add defaults for eggert.
75151         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
75152         Match "This program" as well as "The program".  This is needed
75153         for gettext.
75154
75155 2003-07-14  Jim Meyering  <jim@meyering.net>
75156
75157         Don't emit diagnostics.  Let callers do that.
75158         * lib/save-cwd.c: Don't include "error.h".
75159         (save_cwd): Don't call error.  Ensure that errno is valid
75160         when returning nonzero.
75161
75162         * lib/save-cwd.h (restore_cwd): Update prototype.
75163         * lib/save-cwd.c (restore_cwd): Remove two parameters.
75164         Simplify.  Don't call error upon failure.  Let callers do that.
75165         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
75166         when auditing is enabled.  But don't bother updating the #if.
75167
75168 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
75169
75170         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
75171         it breaks C++ compilation.
75172         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
75173
75174 2003-07-10  Simon Josefsson  <jas@extundo.com>
75175
75176         * modules/strchrnul (Makefile.am): Add strchrnul.h.
75177
75178 2003-07-10  Jim Meyering  <jim@meyering.net>
75179
75180         * m4/clock_time.m4: Remove trailing blank.
75181         * m4/intmax_t.m4: Likewise.
75182
75183 2003-07-10  Jim Meyering  <jim@meyering.net>
75184
75185         * lib/vasnprintf.c: Remove trailing blanks.
75186         Make cpp indentation consistent.
75187
75188 2003-07-09  Paul Eggert  <eggert@twinsun.com>
75189
75190         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
75191         posixver.c, strftime.c, strnlen.c, strverscmp.c:
75192         Switch from LGPL to GPL.
75193
75194 2003-07-09  Paul Eggert  <eggert@twinsun.com>
75195
75196         * config/srclist.txt: Sort sublists.  Add
75197         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
75198         that differ from gnulib for one reason or another; we'd like this list
75199         to be smaller but for now let's document what we have.
75200
75201 2003-07-08  Paul Eggert  <eggert@twinsun.com>
75202
75203         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
75204         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
75205         and sweeter "eval x=$x".
75206         * config/srclist.txt: Get lib/argp* from glibc.
75207
75208 2003-07-07  Paul Eggert  <eggert@twinsun.com>
75209
75210         * lib/mktime.c: Fix some boundary cases and remove need for floating
75211         point.
75212
75213         Issue a compile-time diagnostic if time_t is floating point, or if
75214         two's complement arithmetic is not in effect, or if arithmetic
75215         right shift does not propagate the sign.  These assumptions were
75216         all in the original code but they weren't checked.
75217
75218         (TIME_T_MIDPOINT, verify): New macros.
75219         (__isleap): Remove; it has integer overflow problems.
75220         (leapyear): New function, without those problems.
75221         (ydhms_tm_diff): Remove; splitting into two parts.
75222         (ydhms_diff): New function, containing the arithmetic part of
75223         the old ydhms_tm_diff function.  Issue a compile-time
75224         diagnostic if we are not using C99 integer division.
75225         Avoid casts when possible.
75226         (guess_time_tm): New function, containing the checking part of
75227         the old ydhms_tm_diff function.  Return the new value, rather than
75228         the difference between it and the old.  Accept a new argument T
75229         so that *T specifies the old value.  Check for overflow in the result.
75230
75231         (__mktime_internal): Use a time_t offset, not a long int offset.
75232         This undoes the 2003-06-04 change, which is no longer needed now
75233         that we have better overflow checking.
75234         (localtime_offset): Likewise.
75235
75236         (__mktime_internal): Avoid harmful overflow on hosts where time_t
75237         and long are 64-bit but int is only 32-bit.
75238         (ydhms_diff): Use long int to store year1 and yday1.
75239         Issue a compile-time diagnostic if long int is not wide enough.
75240
75241         (__mktime_internal): Use long int to store adjusted year and yday.
75242         Use plain C rather than preprocessor commands, if that doesn't
75243         affect efficiency.
75244         Check for overflow (and try to repair) after each probe
75245         rather than checking only at the very end.  This avoids some bugs
75246         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
75247         does not equal GMT offset at maximum time).
75248         Use integer to check for overflow rather than floating point; this
75249         is more portable to non-IEEE hosts, and is a tad faster.
75250         When we detect that we are oscillating between two values,
75251         don't check whether tm_isdst has the requested value, since
75252         we already know the answer.  When tm_isdst has the wrong value,
75253         use a different heuristic to find the right one, based on the
75254         extreme values actually observed in practice in tz2003a,
75255         rather than the (overly optimistic) "previous 3 calendar quarters".
75256
75257         (not_equal_tm, print_tm, check_result): Use "const T" rather than
75258         "T const" to accommodate glibc style.
75259         (check_result): Use less-confusing report format.  "long" -> "long int.
75260         (main): Likewise.
75261         Don't loop if the iteration overflows time_t.
75262         Allow a negative step in the iteration.
75263
75264 2003-07-06  Karl Berry  <karl@gnu.org>
75265
75266         * config/depcomp: update from automake.
75267         * config/config.sub: update from prep.
75268
75269 2003-07-03  Karl Berry  <karl@gnu.org>
75270
75271         * config/config.guess: update from prep.
75272
75273 2003-07-01  Paul Eggert  <eggert@twinsun.com>
75274
75275         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
75276         xreadlink.c now includes it unconditionally.
75277
75278 2003-07-01  Paul Eggert  <eggert@twinsun.com>
75279
75280         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
75281         having it depend on HAVE_SYS_TYPES_H.
75282
75283 2003-07-01  Bruno Haible  <bruno@clisp.org>
75284
75285         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
75286         <sys/types.h> should be sufficient.
75287         Reported by Paul Eggert.
75288
75289 2003-06-26  Karl Berry  <karl@gnu.org>
75290
75291         * config/depcomp: update from automake.
75292
75293 2003-06-26  Bruno Haible  <bruno@clisp.org>
75294
75295         * modules/human: Depend on module stdbool.
75296
75297 2003-06-25  Bruno Haible  <bruno@clisp.org>
75298
75299         * modules/readlink: New file.
75300         * modules/xreadlink: Depend on it.
75301         * MODULES.html.sh (func_all_modules): Add readlink.
75302
75303 2003-06-25  Bruno Haible  <bruno@clisp.org>
75304
75305         * m4/readlink.m4: New file.
75306
75307 2003-06-25  Bruno Haible  <bruno@clisp.org>
75308
75309         * lib/readlink.c: New file.
75310
75311 2003-06-22  Karl Berry  <karl@gnu.org>
75312
75313         * config/srclist.txt: update mkinstalldirs from automake.
75314         * config/mkinstalldirs: update.
75315
75316 2003-06-22  Bruno Haible  <bruno@clisp.org>
75317
75318         Portability to mingw32.
75319         * m4/ssize_t.m4: New file, from GNU gettext.
75320         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
75321         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
75322
75323 2003-06-22  Bruno Haible  <bruno@clisp.org>
75324
75325         * modules/safe-read: Add m4/ssize_t.m4.
75326         * modules/xreadlink: Add m4/ssize_t.m4.
75327
75328 2003-06-20  Bruno Haible  <bruno@clisp.org>
75329
75330         Assume C89, so PARAMS isn't needed.
75331         * lib/unicodeio.h (PARAMS): Remove.
75332         * lib/unicodeio.c: Don't use PARAMS.
75333
75334 2003-06-18  Karl Berry  <karl@gnu.org>
75335
75336         * config/config.{guess,sub}: update from prep.
75337
75338 2003-06-18  Jim Meyering  <jim@meyering.net>
75339
75340         Merge changes from coreutils.
75341         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
75342         Remove explicit declarations of xmalloc and realloc.
75343         Include xalloc.h.
75344         (read_utmp): Remove anachronistic cast of xmalloc.
75345
75346 2003-06-17  Paul Eggert  <eggert@twinsun.com>
75347
75348         Assume C89, so PARAMS isn't needed.
75349         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
75350         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
75351         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
75352         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
75353         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
75354         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
75355         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
75356         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
75357         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
75358         lib/xstrtod.h, lib/xstrtol.h: Likewise.
75359         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
75360         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
75361         no longer needed. Anyway, config.h should always be included before any
75362         other file.
75363
75364 2003-06-11  Simon Josefsson  <jas@extundo.com>
75365
75366         * modules/sysexits: New file.
75367         * MODULES.html.sh (func_all_modules): Add sysexits.
75368
75369 2003-06-11  Simon Josefsson  <jas@extundo.com>
75370
75371         * lib/sysexit_.h: New file.
75372
75373 2003-06-11  Derek Price  <derek@ximbiot.com>
75374
75375         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
75376         necessary.
75377
75378 2003-06-11  Bruno Haible  <bruno@clisp.org>
75379
75380         * m4/sysexits.m4: New file.
75381
75382 2003-06-10  Simon Josefsson  <jas@extundo.com>
75383
75384         * lib/argp.h: New file, from glibc.
75385         * lib/argp-ba.c: New file, from glibc.
75386         * lib/argp-eexst.c: New file, from glibc.
75387         * lib/argp-fmtstream.c: New file, from glibc.
75388         * lib/argp-fmtstream.h: New file, from glibc.
75389         * lib/argp-fs-xinl.c: New file, from glibc.
75390         * lib/argp-help.c: New file, from glibc.
75391         * lib/argp-namefrob.h: New file, from glibc.
75392         * lib/argp-parse.c: New file, from glibc.
75393         * lib/argp-pv.c: New file, from glibc.
75394         * lib/argp-pvh.c: New file, from glibc.
75395         * lib/argp-xinl.c: New file, from glibc.
75396
75397 2003-06-10  Simon Josefsson  <jas@extundo.com>
75398
75399         * modules/strchrnul: New file.
75400
75401 2003-06-10  Simon Josefsson  <jas@extundo.com>
75402
75403         * modules/argp: New file.
75404
75405 2003-06-10  Simon Josefsson  <jas@extundo.com>
75406
75407         * m4/strchrnul.m4: New file.
75408
75409 2003-06-10  Simon Josefsson  <jas@extundo.com>
75410
75411         * lib/strchrnul.h: New file.
75412         * lib/strchrnul.c: New file.
75413
75414 2003-06-10  Bruno Haible  <bruno@clisp.org>
75415
75416         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
75417
75418 2003-06-07  Karl Berry  <karl@gnu.org>
75419
75420         * config/config.{guess,sub}: update from prep.
75421
75422 2003-06-07  Jim Meyering  <jim@meyering.net>
75423
75424         * modules/strtod: Use $(...) notation, not @...@ for
75425         AC_REPLACE'd variables.
75426         * modules/localcharset: Likewise.
75427
75428 2003-06-07  Jim Meyering  <jim@meyering.net>
75429
75430         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
75431         in place of my name in the copyright comment.
75432         Remove definition and uses of __P.
75433
75434         From coreutils.
75435         * lib/stat.c: Don't declare xmalloc explicitly.
75436         Instead, include "xalloc.h".
75437         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
75438         xrealloc, and xcalloc return values.
75439         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
75440         Improve comment.
75441         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
75442
75443 2003-06-07  Bruno Haible  <bruno@clisp.org>
75444
75445         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
75446         avoid AC_CONFIG_LINKS.
75447         * modules/fnmatch (Makefile.am): Use explicit creation rule for
75448         fnmatch.h, to avoid AC_CONFIG_LINKS.
75449         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
75450
75451 2003-06-07  Bruno Haible  <bruno@clisp.org>
75452
75453         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
75454         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
75455         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
75456         directory.
75457         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
75458         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
75459         directory.
75460
75461 2003-06-06  Jim Meyering  <jim@meyering.net>
75462
75463         Merge from coreutils.
75464         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
75465         Consolidate declarations and initializations of *_base* locals.
75466
75467         Merge from coreutils.
75468         This avoids a core dump on systems without GNU putenv,
75469         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
75470         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
75471         (unsetenv): New static function, from GNU libc.
75472         (rpl_putenv): Use it.
75473
75474         * lib/modechange.c: Remove trailing blanks.
75475
75476         Merge from coreutils.
75477         * lib/fsusage.c: Remove declaration of statfs.
75478         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
75479
75480         * lib/posixtm.c: Include <stdbool.h> unconditionally.
75481
75482 2003-06-06  Jim Meyering  <jim@meyering.net>
75483
75484         * lib/stdbool_.h: Renamed from stdbool.h.in.
75485
75486 2003-06-06  Jim Meyering  <jim@meyering.net>
75487             Bruno Haible  <bruno@clisp.org>
75488
75489         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
75490         Adjust Makefile.am snippet not to redirect directly to target.
75491         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
75492
75493 2003-06-05  Paul Eggert  <eggert@twinsun.com>
75494
75495         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
75496         mismatch, look in future quarters as well as past.  This fixes a
75497         bug when processing fall-backwards gaps immediately after a long
75498         period of daylight-saving time.
75499
75500         * lib/mktime.c: Assume freestanding C89 or better.
75501         (HAVE_LIMITS_H): Remove.  Assume it's 1.
75502         (__P): Remove; not used.
75503         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
75504         (mktime, not_equal_tm, print_tm, check_result,
75505         main): Use prototypes.  Use const * where appropriate.
75506         (main): Fix typo in testing code that uncovered by above changes.
75507         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
75508
75509 2003-06-04  Paul Eggert  <eggert@twinsun.com>
75510
75511         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
75512         locale.h, localeconv.  This merges changes from coreutils.
75513
75514         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
75515         It can be removed after the next Autoconf is released.
75516         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
75517         needed.
75518
75519 2003-06-04  Paul Eggert  <eggert@twinsun.com>
75520
75521         * lib/mktime.c: Fix Debian bug 177940
75522         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
75523         (localtime_offset): Now long int, not time_t, because we want it
75524         to be guaranteed to be signed.  All uses changed.
75525         (__mktime_internal): If overflow would occur when adding offset,
75526         don't add it.
75527
75528         Merge 'human' changes from coreutils.  Rewrite to support
75529         locale-specific notations like thousands separators.
75530         * lib/human.c: Simplify authorship notice.
75531         Include human.h immediately after config.h.
75532         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
75533         <limits.h>: Do not include, since human.h does.
75534         (SIZE_MAX, UINTMAX_MAX): New macros.
75535         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
75536         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
75537         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
75538         (power_letter): Renamed from suffixes.
75539         (generate_suffix_backwards): Remove.
75540         (adjust_value): Now takes int style (because of human.h changes)
75541         and long double value (for greater precision on some platforms).
75542         (group_number): New function.
75543         (human_readable): Use it.  Use integer options, not enum.
75544         Put the options before the sizes in the arg list.
75545         Support all the new options.
75546         The old human_readable function has been removed;
75547         use inttostr.h instead.
75548         (human_readable, default_block_size, humblock):
75549         Use uintmax_t, not int, for block sizes.
75550         (human_readable_inexact, block_size_types): Remove.
75551         (block_size_opts): New constant.
75552         (human_options): Renamed from human_block_size, with new signature
75553         that allows block sizes up to UINTMAX_MAX.  All callers changed.
75554         * lib/human.h: Add copyright and authorship notice.
75555         Include <limits.h> and <stdbool.h> unconditionally.
75556         (PARAMS): Remove.  All uses removed.
75557         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
75558         (enum human_inexact_style): Remove tag; now a nameless enum.
75559         (human_floor, human_ceiling, human_round_to_even): Now have
75560         values 2, 0, 1 rather than -1, 1, 0.
75561         (human_group_digits, human_suppress_point_zero, human_autoscale,
75562         human_base_1024, human_SI, human_B): New constants.
75563         (human_readable_inexact, human_block_size): Remove.
75564         (human_readable): Size args are now uintmax_t, not int.
75565         (human_options): New decl.
75566
75567         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
75568         unnecessary now that we assume C89 or better.  This change
75569         imported from coreutils.
75570
75571         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
75572         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
75573         in the 2003-05-30 sync from glibc.
75574
75575         .h files should stand alone, but we shouldn't include <sys/types.h>
75576         if we can get away with just <stddef.h>.
75577
75578         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
75579         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
75580         rather than <sys/types.h>, as we merely need size_t.
75581         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
75582         to get size_t.
75583         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
75584         Include <stdio.h>, to get FILE.
75585         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
75586         memcasecmp.h has included <stddef.h> and all we need is size_t.
75587         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
75588         our interface, instead of including <sys/types.h>
75589
75590 2003-06-04  Paul Eggert  <eggert@twinsun.com>
75591
75592         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
75593         now, as glibc mktime is buggy on non-glibc systems.
75594
75595 2003-06-03  Karl Berry  <karl@gnu.org>
75596
75597         * config/config.sub: update from prep.
75598
75599 2003-06-02  Paul Eggert  <eggert@twinsun.com>
75600
75601         [from coreutils]
75602         Fix some minor time-related bugs with POSIX time arguments.
75603         Some valid time stamps were being rejected (notably -1, and
75604         time stamps before 1900 on 64-bit hosts).  And some invalid
75605         time stamps were being accepted, e.g. September 31.
75606
75607         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
75608         that we can return (time_t) -1 successfully.
75609         * lib/posixtm.c: Likewise.
75610         [HAVE_STDBOOL_H]: Include <stdbool.h>.
75611         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
75612         (t): Remove static var.
75613         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
75614         of static var.  All uses changed.
75615         (year): Do not reject years before 1900; they can occur with
75616         64-bit time_t.
75617         (posix_time_parse): Do not check for out-of-range components;
75618         that is now the caller's responsibility, since our checks were
75619         only approximations.
75620         (posixtime): Use mktime to check for out-of-range components,
75621         since it knows them exactly.
75622         If mktime returns (time_t) -1, check whether an error actually occurred
75623         by invoking localtime on -1.
75624         (main) [TEST_POSIXTIME]: Check for input data errors, and report
75625         posixtime failures better.
75626         Improve the test data (in comments only).
75627
75628 2003-06-02  Karl Berry  <karl@gnu.org>
75629
75630         * config/mkinstalldirs (version): new variable.
75631         (--version): new option.
75632         (usage): improve message.
75633
75634 2003-05-30  Karl Berry  <karl@gnu.org>
75635
75636         * lib/mktime.c: update from libc.
75637
75638 2003-05-30  Bruno Haible  <bruno@clisp.org>
75639
75640         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
75641         * config/config.rpath: Upgrade to gettext-0.12.1.
75642
75643 2003-05-30  Bruno Haible  <bruno@clisp.org>
75644
75645         * m4/gettext.m4: Upgrade to gettext-0.12.1.
75646         * m4/nls.m4: New file, from gettext-0.12.1.
75647         * m4/po.m4: New file, from gettext-0.12.1.
75648         * m4/progtest.m4: Upgrade to gettext-0.12.1.
75649
75650 2003-05-30  Bruno Haible  <bruno@clisp.org>
75651
75652         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
75653         * lib/localcharset.h: Likewise.
75654         * lib/localcharset.c: Likewise.
75655
75656 2003-05-29  Karl Berry  <karl@gnu.org>
75657
75658         * config/config.rpath: update from gettext.
75659
75660 2003-05-28  Paul Eggert  <eggert@twinsun.com>
75661
75662         Assume the headers required for C89 freestanding compilers.
75663         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
75664         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
75665         * m4/human.m4 (gl_HUMAN): Likewise.
75666         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
75667         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
75668         * m4/userspec.m4 (gl_USERSPEC): Likewise.
75669         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
75670         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75671         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
75672
75673 2003-05-28  Paul Eggert  <eggert@twinsun.com>
75674
75675         Assume the headers required for C89 freestanding compilers.
75676         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
75677         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
75678         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
75679         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
75680         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
75681         define, since <limits.h> is guaranteed to do that.
75682         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
75683         * lib/exclude.c: Include <stdbool.h> unconditionally.
75684         * lib/tempname.c: Include <stddef.h> unconditionally.
75685         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
75686         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
75687         <stddef.h> does that.
75688         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
75689         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
75690         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
75691         needed.
75692         * lib/xstrtol.c: Likewise.
75693         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
75694         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
75695
75696         * lib/addext.c (addext): Use assignment rather than cast, to avoid
75697         warnings on some platforms.
75698
75699         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
75700         arbitrarily.
75701
75702 2003-05-26  Jim Meyering  <jim@meyering.net>
75703
75704         Merge in a change from coreutils:
75705         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
75706         that is guaranteed to be `no'.  Use `no_such_member' to indicate
75707         that condition, rather than `-1' which is slightly misleading.
75708         Change the name of the cache variable to have the gl_ prefix.
75709         Prompted by a patch from Richard Dawe for DJGPP.
75710
75711 2003-05-24  Karl Berry  <karl@gnu.org>
75712
75713         * config/config.guess: update from prep.
75714
75715 2003-05-22  Karl Berry  <karl@gnu.org>
75716
75717         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
75718
75719 2003-05-20  Karl Berry  <karl@gnu.org>
75720
75721         * config/config.guess: update from prep.
75722
75723 2003-05-18  Karl Berry  <karl@gnu.org>
75724
75725         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
75726         might actually be set by the user.
75727
75728         * config/depcomp, install-sh, mdate-sh: update from automake.
75729
75730 2003-05-17  Bruno Haible  <bruno@clisp.org>
75731
75732         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
75733         invalid expansion for AC_EGREP_CPP.
75734         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
75735         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
75736         Suggested by Akim Demaille <akim@epita.fr> in
75737         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
75738
75739 2003-05-12  Jim Meyering  <jim@meyering.net>
75740
75741         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
75742         the space-padded-by-default conversion specifiers, %e, %k, %l.
75743
75744 2003-05-12  Bruno Haible  <bruno@clisp.org>
75745
75746         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
75747         the string is longer than 4 KB.
75748
75749 2003-05-11  Karl Berry  <karl@gnu.org>
75750
75751         * config/config.{guess,sub}: update from prep.
75752
75753 2003-05-09  Bruno Haible  <bruno@clisp.org>
75754
75755         * modules/error: Add m4/strerror_r.m4 to file list.
75756
75757 2003-05-03  Bruno Haible  <bruno@clisp.org>
75758
75759         Upgrade to Unicode-4.0.
75760         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
75761         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
75762         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
75763         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
75764         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
75765         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
75766         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
75767         Change width of U+E0100..U+E01EF from 1 to 0.
75768
75769 2003-04-25  Jim Meyering  <jim@meyering.net>
75770
75771         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
75772         of type size_t, not int.
75773
75774 2003-04-25  Bruno Haible  <bruno@clisp.org>
75775
75776         * lib/copy-file.c: Include <stddef.h>, for size_t.
75777
75778 2003-04-21  Paul Eggert  <eggert@twinsun.com>
75779
75780         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
75781         code which expansion is under static control.  Patch imported from
75782         Akim Demaille's patch to Bison; see
75783         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
75784
75785 2003-04-14  Bruno Haible  <bruno@clisp.org>
75786
75787         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
75788
75789 2003-04-11  Jim Meyering  <jim@meyering.net>
75790
75791         Merge changes from Coreutils.
75792
75793         2003-03-22  Jim Meyering  <jim@meyering.net>
75794
75795         * lib/strftime.c (widen): Cast alloca return value to proper type.
75796
75797         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
75798
75799         From GNU libc.
75800         * lib/strftime.c (my_strftime): Handle very large width
75801         specifications for numeric values correctly.  Improve checks for
75802         overflow.
75803
75804         2003-01-19  Jim Meyering  <jim@meyering.net>
75805
75806         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
75807         definitions.
75808         (nl_get_alt_digit) [! defined my_strftime]: Define.
75809         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
75810         _nl_get_alt_digit and _nl_get_walt_digit.
75811
75812         * lib/strftime.c (my_strftime): Merge in locale-related changes from
75813         libc. These changes have no effect outside of _LIBC.
75814
75815 2003-04-10  Bruno Haible  <bruno@clisp.org>
75816
75817         * modules/findprog: New file.
75818         * MODULES.html.sh (func_all_modules): Add it.
75819
75820 2003-04-10  Bruno Haible  <bruno@clisp.org>
75821
75822         * m4/findprog.m4: New file.
75823         * m4/eaccess.m4: New file.
75824
75825 2003-04-10  Bruno Haible  <bruno@clisp.org>
75826
75827         * lib/findprog.h: New file, from GNU gettext.
75828         * lib/findprog.c: New file, from GNU gettext.
75829
75830 2003-04-05  Jim Meyering  <jim@meyering.net>
75831
75832         Merge changes from Coreutils.
75833
75834         * lib/exclude.h (PARAMS): Remove definition and uses.
75835         * lib/exclude.c: Remove uses of `PARAMS'.
75836
75837         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
75838         Add test-cases for DOS filenames. Declare program_name.
75839         (main): Set up program_name.  Patch by Rich Dawe.
75840
75841         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
75842         error from mntctl.
75843         Use mntctl's return value to drive the entry-processing loop, since
75844         we can't rely on the value of the vmt_length member in the last
75845         entry.  On some systems doing so could result in exhausting
75846         virtual memory.  Based in part on a patch from Mike Jetzer.
75847
75848 2003-04-04  Bruno Haible  <bruno@clisp.org>
75849
75850         * modules/linebreak: New file.
75851         * MODULES.html.sh (func_all_modules): Add it.
75852
75853 2003-04-04  Bruno Haible  <bruno@clisp.org>
75854
75855         * m4/linebreak.m4: New file.
75856
75857 2003-04-04  Bruno Haible  <bruno@clisp.org>
75858
75859         * lib/linebreak.h: New file, from GNU gettext.
75860         * lib/linebreak.c: New file, from GNU gettext with slight
75861         modifications.
75862         * lib/lbrkprop.h: New file, from GNU gettext.
75863
75864 2003-04-03  Bruno Haible  <bruno@clisp.org>
75865
75866         * modules/utf8-ucs4: New file.
75867         * modules/utf16-ucs4: New file.
75868         * modules/ucs4-utf8: New file.
75869         * modules/ucs4-utf16: New file.
75870         * MODULES.html.sh (func_all_modules): Add them.
75871
75872 2003-04-03  Bruno Haible  <bruno@clisp.org>
75873
75874         * m4/utf-ucs4.m4: New file.
75875         * m4/ucs4-utf.m4: New file.
75876
75877 2003-04-03  Bruno Haible  <bruno@clisp.org>
75878
75879         * lib/utf8-ucs4.h: New file, from GNU gettext.
75880         * lib/utf16-ucs4.h: New file, from GNU gettext.
75881         * lib/ucs4-utf8.h: New file, from GNU gettext.
75882         * lib/ucs4-utf16.h: New file, from GNU gettext.
75883
75884 2003-04-02  Bruno Haible  <bruno@clisp.org>
75885
75886         * modules/binary-io: New file.
75887         * MODULES.html.sh (func_all_modules): Add it.
75888
75889 2003-04-02  Bruno Haible  <bruno@clisp.org>
75890
75891         * lib/binary-io.h: New file, from GNU gettext.
75892
75893 2003-04-01  Bruno Haible  <bruno@clisp.org>
75894
75895         * modules/pathname: New file.
75896         * MODULES.html.sh (func_all_modules): Add it.
75897
75898 2003-04-01  Bruno Haible  <bruno@clisp.org>
75899
75900         * lib/pathname.h: New file, from GNU gettext.
75901         * lib/concatpath.c: New file, from GNU gettext.
75902
75903 2003-03-30  Bruno Haible  <bruno@clisp.org>
75904
75905         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
75906
75907 2003-03-30  Bruno Haible  <bruno@clisp.org>
75908
75909         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
75910         function chown() doesn't exist.
75911
75912 2003-03-28  Bruno Haible  <bruno@clisp.org>
75913
75914         * modules/copy-file: New file.
75915         * MODULES.html.sh (func_all_modules): Add it.
75916
75917 2003-03-28  Bruno Haible  <bruno@clisp.org>
75918
75919         * m4/copy-file.m4: New file.
75920
75921 2003-03-28  Bruno Haible  <bruno@clisp.org>
75922
75923         * lib/copy-file.h: New file, from GNU gettext.
75924         * lib/copy-file.c: New file, from GNU gettext.
75925
75926 2003-03-18  Jim Meyering  <jim@meyering.net>
75927
75928         * lib/quote.c (quote_n): Fix typo in comment.
75929
75930 2003-03-18  Bruno Haible  <bruno@clisp.org>
75931
75932         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
75933         checking.
75934         * m4/onceonly_2_57.m4: Likewise.
75935
75936 2003-03-17  Bruno Haible  <bruno@clisp.org>
75937
75938         * m4/onceonly.m4: Require autoconf 2.54 or newer.
75939         (m4_quote): Remove macro.
75940         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
75941
75942 2003-03-14  Jim Meyering  <jim@meyering.net>
75943
75944         Merge changes from Coreutils.
75945         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
75946         to be const, in order to avoid warnings.
75947         (obstack_room): Likewise.
75948         (obstack_empty_p): Likewise.
75949
75950 2003-03-14  Bruno Haible  <bruno@clisp.org>
75951
75952         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
75953         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
75954
75955 2003-03-13  Paul Eggert  <eggert@twinsun.com>
75956
75957         Merge changes from Bison.
75958         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
75959         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
75960         when compiling Bison 1.875's `bitset bset = obstack_alloc
75961         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
75962         * lib/hash.c: Include <stdbool.h> unconditionally.
75963
75964 2003-03-13  Paul Eggert  <eggert@twinsun.com>
75965
75966         * m4/onceonly.m4 (m4_quote): New macro.
75967         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
75968         Quote AC_FOREACH variable-expansions properly.
75969
75970 2003-03-13  Paul Eggert  <eggert@twinsun.com>
75971
75972         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
75973
75974 2003-03-09  Paul Eggert  <eggert@twinsun.com>
75975
75976         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
75977         Reported by Bruce Becker; see:
75978         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
75979
75980 2003-03-03  Paul Eggert  <eggert@twinsun.com>
75981             Bruno Haible  <bruno@clisp.org>
75982
75983         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
75984         Reported by John Hughes, see
75985         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
75986
75987 2003-02-20  Bruno Haible  <bruno@clisp.org>
75988
75989         * MODULES.html.sh (func_all_modules): Add poll.
75990
75991 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
75992
75993         * modules/poll: New file.
75994
75995 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
75996
75997         * lib/poll_.h: New file.
75998         * lib/poll.c: New file.
75999
76000 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76001
76002         * m4/poll.m4: New file.
76003
76004 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
76005
76006         * modules/mathl: New file.
76007
76008 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
76009
76010         * lib/mathl.h: New file.
76011         * lib/acosl.c: New file.
76012         * lib/asinl.c: New file.
76013         * lib/atanl.c: New file.
76014         * lib/ceill.c: New file.
76015         * lib/cosl.c: New file.
76016         * lib/expl.c: New file.
76017         * lib/floorl.c: New file.
76018         * lib/frexpl.c: New file.
76019         * lib/ldexpl.c: New file.
76020         * lib/logl.c: New file.
76021         * lib/sincosl.c: New file.
76022         * lib/sinl.c: New file.
76023         * lib/sqrtl.c: New file.
76024         * lib/tanl.c: New file.
76025         * lib/trigl.c: New file.
76026         * lib/trigl.h: New file.
76027
76028 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
76029
76030         * m4/mathl.m4: New file.
76031
76032 2003-02-18  Bruno Haible  <bruno@clisp.org>
76033
76034         * MODULES.html.sh (func_all_modules): Add mathl.
76035
76036 2003-02-17  Bruno Haible  <bruno@clisp.org>
76037
76038         * modules/mkdtemp: New module.
76039         * MODULES.html.sh (func_all_modules): Add it.
76040
76041 2003-02-17  Bruno Haible  <bruno@clisp.org>
76042
76043         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
76044
76045 2003-02-17  Bruno Haible  <bruno@clisp.org>
76046
76047         * lib/mkdtemp.h: New file, from GNU gettext.
76048         * lib/mkdtemp.c: New file, from GNU gettext.
76049
76050 2003-02-02  Jim Meyering  <jim@meyering.net>
76051
76052         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
76053         e.g. glibc-2.2.93.
76054
76055 2003-01-31  Bruno Haible  <bruno@clisp.org>
76056
76057         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
76058         'rpl_rename'.
76059         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
76060         'rpl_strnlen'.
76061         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
76062         'rpl_strtod'.
76063         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
76064         'rpl_utime'.
76065
76066 2003-01-31  Bruno Haible  <bruno@clisp.org>
76067
76068         * lib/rename.c: #undef rename before defining rpl_rename.
76069         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
76070
76071 2003-01-30  Bruno Haible  <bruno@clisp.org>
76072
76073         * modules/vasnprintf, modules/vasprintf: New modules.
76074         * MODULES.html.sh (func_all_modules): Add them.
76075
76076 2003-01-30  Bruno Haible  <bruno@clisp.org>
76077
76078         * m4/signed.m4: New file, from GNU gettext.
76079         * m4/longdouble.m4: New file, from GNU gettext.
76080         * m4/wchar_t.m4: New file, from GNU gettext.
76081         * m4/wint_t.m4: New file, from GNU gettext.
76082         * m4/vasnprintf.m4: New file.
76083         * m4/vasprintf.m4: New file.
76084
76085 2003-01-30  Bruno Haible  <bruno@clisp.org>
76086
76087         * lib/printf-args.h: New file, from GNU gettext.
76088         * lib/printf-args.c: New file, from GNU gettext.
76089         * lib/printf-parse.h: New file, from GNU gettext.
76090         * lib/printf-parse.c: New file, from GNU gettext.
76091         * lib/vasnprintf.h: New file, from GNU gettext.
76092         * lib/vasnprintf.c: New file, from GNU gettext.
76093         * lib/asnprintf.c: New file, from GNU gettext.
76094         * lib/vasprintf.h: New file, from GNU gettext with modifications.
76095         * lib/vasprintf.c: New file, from GNU gettext.
76096         * lib/asprintf.c: New file, from GNU gettext.
76097
76098 2003-01-29  Bruno Haible  <bruno@clisp.org>
76099
76100         * modules/stpncpy: New module.
76101         * MODULES.html.sh (func_all_modules): Add it.
76102
76103 2003-01-29  Bruno Haible  <bruno@clisp.org>
76104
76105         * m4/stpncpy.m4: New file.
76106
76107 2003-01-29  Bruno Haible  <bruno@clisp.org>
76108
76109         * lib/stpncpy.h: New file, from GNU gettext with modifications.
76110         * lib/stpncpy.c: New file, from GNU gettext with modifications.
76111
76112 2003-01-28  Bruno Haible  <bruno@clisp.org>
76113
76114         * modules/c-ctype: New module.
76115         * MODULES.html.sh (func_all_modules): Add it.
76116
76117 2003-01-28  Bruno Haible  <bruno@clisp.org>
76118
76119         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
76120         Paul Eggert.
76121         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
76122         Paul Eggert.
76123
76124 2003-01-27  Bruno Haible  <bruno@clisp.org>
76125
76126         * modules/xsetenv: New module.
76127         * MODULES.html.sh (func_all_modules): Add it.
76128
76129 2003-01-27  Bruno Haible  <bruno@clisp.org>
76130
76131         * lib/xsetenv.h: New file, from GNU gettext.
76132         * lib/xsetenv.c: New file, from GNU gettext.
76133
76134 2003-01-23  Jim Meyering  <jim@meyering.net>
76135
76136         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
76137         from working on systems without dirfd (at least Irix and OSF1/Tru64).
76138
76139 2003-01-23  Bruno Haible  <bruno@clisp.org>
76140
76141         * modules/minmax: New module.
76142         * MODULES.html.sh (func_all_modules): Add it.
76143
76144 2003-01-23  Bruno Haible  <bruno@clisp.org>
76145
76146         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
76147         Eggert.
76148
76149 2003-01-22  Bruno Haible  <bruno@clisp.org>
76150
76151         * modules/exit: New module.
76152         * MODULES.html.sh (func_all_modules): Add it.
76153
76154 2003-01-22  Bruno Haible  <bruno@clisp.org>
76155
76156         * lib/exit.h: New file, from GNU gettext.
76157
76158 2003-01-19  Bruno Haible  <bruno@clisp.org>
76159
76160         * gnulib-tool: Recognize option --extract-maintainer.
76161         (func_get_maintainer): New function.
76162         * modules/*: Add Maintainer entry.
76163
76164 2003-01-16  Jim Meyering  <jim@meyering.net>
76165
76166         * m4/regex.m4: The `regex' struct is both input and output.
76167         Initialize it before each use.  Patch by Tim Waugh.
76168
76169 2003-01-16  Bruno Haible  <bruno@clisp.org>
76170
76171         * MODULES.html.sh: Add a table of contents. Add the module name as
76172         leftmost column. Add hyperlinks.
76173
76174 2003-01-15  Bruno Haible  <bruno@clisp.org>
76175
76176         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
76177
76178 2003-01-15  Bruno Haible  <bruno@clisp.org>
76179
76180         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
76181         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
76182         suffix.
76183
76184 2003-01-15  Bruno Haible  <bruno@clisp.org>
76185
76186         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
76187
76188 2003-01-15  Bruno Haible  <bruno@clisp.org>
76189
76190         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
76191         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
76192
76193 2003-01-14  Jim Meyering  <jim@meyering.net>
76194
76195         * lib/same.c (same_name): Tweak a comment.
76196
76197 2003-01-14  Bruno Haible  <bruno@clisp.org>
76198
76199         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
76200         when a string comparison is sufficient.
76201
76202 2003-01-14  Bruno Haible  <bruno@clisp.org>
76203
76204         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
76205         'unsigned int'.
76206
76207 2003-01-14  Bruno Haible  <bruno@clisp.org>
76208
76209         * lib/hash-pjw.c: Add comment about low quality of this function.
76210
76211 2003-01-13  Bruno Haible  <bruno@clisp.org>
76212
76213         * modules/stpcpy: Distribute lib/stpcpy.h.
76214         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
76215
76216 2003-01-13  Bruno Haible  <bruno@clisp.org>
76217
76218         * modules/*: Add a description.
76219         * modules/strpbrk: Fix Makefile.am snippet.
76220         * modules/strtoimax: Fix dependencies.
76221         * modules/strtoumax: Likewise.
76222
76223 2003-01-13  Bruno Haible  <bruno@clisp.org>
76224
76225         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
76226         * modules/alloca (Makefile.am): All object files depend on alloca.h.
76227         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
76228
76229 2003-01-13  Bruno Haible  <bruno@clisp.org>
76230
76231         * gnulib-tool (func_create_testdir): Store config/* files in the main
76232         directory.
76233         * config.rpath: Move to ...
76234         * config/config.rpath: ... here.
76235         * modules/gettext: Contains config/config.rpath, not config.rpath.
76236         * modules/iconv: Likewise.
76237
76238 2003-01-12  Paul Eggert  <eggert@twinsun.com>
76239
76240         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
76241         to avoid collisions with libcurses and libreadline.
76242
76243         * m4/getstr.m4: Remove.
76244         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
76245
76246 2003-01-12  Paul Eggert  <eggert@twinsun.com>
76247
76248         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
76249         to avoid collisions with libcurses and libreadline.
76250
76251         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
76252         * lib/getstr.h, getstr.c: Remove.
76253         * lib/getline.c: Include "getline.h", to check interface.
76254         Move body of old getstr.c here: this defines MIN_CHUNK and
76255         declares getdelim2, which is renamed from getstr.
76256         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
76257
76258         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
76259         All uses changed.
76260         * lib/linebuffer.h: Likewise.
76261         (readline): Remove backward-compatibility macro.
76262
76263 2003-01-12  Paul Eggert  <eggert@twinsun.com>
76264
76265         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
76266         to avoid collisions with libcurses and libreadline.
76267         * getstr: Remove.
76268         * MODULES.html.sh: Remove getstr.
76269         * modules/getline: Depend on unlocked-io, not getstr.
76270
76271 2003-01-12  Jim Meyering  <jim@meyering.net>
76272
76273         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
76274
76275 2003-01-10  Bruno Haible  <bruno@clisp.org>
76276
76277         * modules/alloca: Change Makefile.am requirements. Simplify Include
76278         requirements. Add lib/alloca_.h to file list.
76279
76280 2003-01-10  Bruno Haible  <bruno@clisp.org>
76281
76282         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
76283
76284 2003-01-10  Bruno Haible  <bruno@clisp.org>
76285
76286         * lib/alloca_.h: New file.
76287         * lib/getdate.y: Unconditionally include alloca.h.
76288         * lib/makepath.c: Likewise.
76289         * lib/setenv.c: Likewise.
76290         * lib/userspec.c: Likewise.
76291
76292 2003-01-09  Karl Berry  <karl@gnu.org>
76293
76294         * MODULES.html.sh: include `dirname $0` in PATH, to find
76295         gnulib-tool.
76296
76297 2003-01-09  Bruno Haible  <bruno@clisp.org>
76298
76299         * modules/stdbool: Change configure.ac, Makefile.am requirements.
76300         Simplify Include requirements. Add lib/stdbool.h.in to file list.
76301
76302 2003-01-09  Bruno Haible  <bruno@clisp.org>
76303
76304         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
76305
76306 2003-01-09  Bruno Haible  <bruno@clisp.org>
76307
76308         * lib/stdbool.h.in: New file.
76309
76310 2003-01-09  Bruno Haible  <bruno@clisp.org>
76311
76312         * gnulib-tool (func_all_modules): Ignore files ending in ~.
76313         * MODULES.html.sh: Likewise.
76314
76315 2003-01-08  Jim Meyering  <jim@meyering.net>
76316
76317         * lib/full-write.c: Undefine and define-away `const' after inclusion
76318         of errno.h, not before.  Suggestion from Bruno Haible.
76319
76320 2003-01-08  Bruno Haible  <bruno@clisp.org>
76321
76322         * modules/full-read: Depend on full-write.
76323
76324 2003-01-08  Bruno Haible  <bruno@clisp.org>
76325
76326         * lib/safe-read.c: Include specification header first, to ensure its
76327         selfcontainedness.
76328         * lib/full-write.c: Likewise.
76329
76330 2003-01-07  Jim Meyering  <jim@meyering.net>
76331
76332         * lib/full-write.c: Rework so that it may serve to define full_read,
76333         too.
76334         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
76335
76336 2003-01-07  Bruno Haible  <bruno@clisp.org>
76337
76338         * lib/strtoimax.c: Include <stdint.h> as an alternative to
76339         <inttypes.h>.
76340         * lib/xstrtol.h: Likewise.
76341         * lib/xstrtoimax.c: Likewise.
76342         * lib/xstrtoumax.c: Likewise.
76343         * lib/human.h: Likewise.
76344
76345         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
76346         on systems that have <inttypes.h> but not <stdint.h>.
76347
76348 2003-01-07  Bruno Haible  <bruno@clisp.org>
76349
76350         * MODULES.html.sh: Add copyright notice.
76351         (missed_files): Omit CVS directory entries.
76352         (func_module): Make it work with sed-3.02.
76353         * MODULES.txt: Remove file.
76354
76355 2003-01-06  Jim Meyering  <jim@meyering.net>
76356
76357         * lib/version-etc.c: Update year in translatable copyright string.
76358
76359 2003-01-03  Karl Berry  <karl@gnu.org>
76360
76361         * config/config.{guess,sub}: update from prep.
76362
76363 2003-01-02  Karl Berry  <karl@gnu.org>
76364
76365         * doc/COPYING.DOC: belatedly updated to 1.2.
76366
76367 2003-01-01  Karl Berry  <karl@gnu.org>
76368
76369         * gnulib-tool (func_verify_module): report module name $module in
76370         error message, not $1.
76371         * gnulib-tool (create-testdir): don't complain if destdir couldn't
76372         be created, only if it doesn't exist.
76373         * gnulib-tool (last_checkin_date): don't expand the $Date here.
76374
76375 2002-12-31  Paul Eggert  <eggert@twinsun.com>
76376
76377         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
76378
76379 2002-12-31  Paul Eggert  <eggert@twinsun.com>
76380
76381         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
76382         memcmp if strcoll doesn't work.
76383
76384 2002-12-31  Bruno Haible  <bruno@clisp.org>
76385
76386         * lib/utime.c (utime_null): No need to call ftruncate if the file was
76387         nonempty.
76388
76389 2002-12-31  Bruno Haible  <bruno@clisp.org>
76390
76391         * lib/memcoll.c (STRCOLL): New macro.
76392         (memcoll): Use it.
76393
76394 2002-12-31  Bruno Haible  <bruno@clisp.org>
76395
76396         * lib/localcharset.h: New file.
76397         * lib/localcharset.c: Include it.
76398         * lib/unicodeio.c: Likewise.
76399
76400 2002-12-31  Bruno Haible  <bruno@clisp.org>
76401
76402         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
76403         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
76404
76405 2002-12-31  Bruno Haible  <bruno@clisp.org>
76406
76407         * lib/getline.h: Include <stddef.h>, for size_t.
76408
76409         * lib/unicodeio.h: Include <stddef.h>, for size_t.
76410         * lib/unicodeio.c: Don't include <stddef.h>.
76411
76412 2002-12-31  Bruno Haible  <bruno@clisp.org>
76413
76414         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
76415         HAVE_TM_ZONE.
76416
76417 2002-12-24  Karl Berry  <karl@gnu.org>
76418
76419         * config/config.guess: update from prep.
76420
76421 2002-12-24  Bruno Haible  <bruno@clisp.org>
76422
76423         General infrasructure.
76424         * m4/README: Rewritten.
76425         * m4/onceonly.m4: New file.
76426         * m4/onceonly_2_57.m4: New file.
76427
76428         Module atexit.
76429         * m4/atexit.m4: New file.
76430
76431         Module strtod.
76432         * m4/strtod.m4: New file.
76433
76434         Module strtol.
76435         * m4/strtol.m4: New file.
76436
76437         Module strtoul.
76438         * m4/strtoul.m4: New file.
76439
76440         Module memchr.
76441         * m4/memchr.m4: New file.
76442
76443         Module memcmp.
76444         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
76445         (jm_FUNC_MEMCMP): Invoke it.
76446
76447         Module memcpy.
76448         * m4/memcpy.m4: New file.
76449
76450         Module memmove.
76451         * m4/memmove.m4: New file.
76452
76453         Module memset.
76454         * m4/memset.m4: New file.
76455
76456         Module strcspn.
76457         * m4/strcspn.m4: New file.
76458
76459         Module strpbrk.
76460         * m4/strpbrk.m4: New file.
76461
76462         Module strstr.
76463         * m4/strstr.m4: New file.
76464
76465         Module strerror.
76466         * m4/strerror.m4: New file.
76467
76468         Module mktime.
76469         * m4/mktime.m4: Renamed from jm-mktime.m4.
76470         (gl_PREREQ_MKTIME): New macro.
76471         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
76472
76473         Module malloc.
76474         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
76475         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
76476         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
76477
76478         Module realloc.
76479         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
76480         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
76481         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
76482
76483         Module strftime.
76484         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
76485         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
76486         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
76487         gl_TM_GMTOFF.
76488         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
76489
76490         Module xalloc.
76491         * m4/xalloc.m4: New file.
76492
76493         Module alloca.
76494         * m4/alloca.m4: New file.
76495
76496         Module putenv.
76497         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
76498         (jm_FUNC_PUTENV): Invoke it.
76499
76500         Module setenv.
76501         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
76502         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
76503         when invoked twice.
76504         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
76505         gt_FUNC_SETENV.
76506
76507         Module memrchr.
76508         * m4/memrchr.m4: New file.
76509
76510         Module stpcpy.
76511         * m4/stpcpy.m4: New file.
76512
76513         Module strcase.
76514         * m4/strcase.m4: New file.
76515
76516         Module strdup.
76517         * m4/strdup.m4: New file.
76518
76519         Module strnlen.
76520         * m4/strnlen.m4: New file.
76521
76522         Module strndup.
76523         * m4/strndup.m4: New file.
76524
76525         Module xstrtod.
76526         * m4/xstrtod.m4: New file.
76527
76528         Module xstrtol.
76529         * m4/xstrtol.m4: New file.
76530
76531         Module getdate.
76532         * m4/getdate.m4: New file.
76533
76534         Module unlocked-io.
76535         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
76536         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
76537         * m4/jm-glibc-io.m4n: Remove file.
76538
76539         Module long-options.
76540         * m4/long-options.m4: New file.
76541
76542         Module md5.
76543         * m4/md5.m4: New file.
76544
76545         Module sha.
76546         * m4/sha.m4: New file.
76547
76548         Module getstr.
76549         * m4/getstr.m4: New file.
76550
76551         Module getline.
76552         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
76553         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
76554         <sys/types.h>, for size_t. Use the function name gnu_getline, not
76555         simply getline. Infoke gl_PREREQ_GETLINE.
76556
76557         Module obstack.
76558         * m4/obstack.m4: New file.
76559
76560         Module hash.
76561         * m4/hash.m4: New file.
76562
76563         Module readtokens.
76564         * m4/readtokens.m4: New file.
76565
76566         Module strverscmp.
76567         * m4/strverscmp.m4: New file.
76568
76569         Module stdbool.
76570         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
76571         OSF/1.
76572
76573         Module strtoll.
76574         * m4/strtoll.m4: New file.
76575
76576         Module strtoull.
76577         * m4/strtoull.m4: New file.
76578
76579         Module strtoimax.
76580         * m4/strtoimax.m4: New file.
76581
76582         Module strtoumax.
76583         * m4/strtoumax.m4: New file.
76584
76585         Module xstrtoimax.
76586         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
76587         jm_AC_PREREQ_XSTRTOIMAX.
76588         Moved the strtol prerequisites to strtol.m4.
76589         Moved the strtoll prerequisites to strtoll.m4.
76590         Moved the strtoimax prerequisites to strtoimax.m4.
76591
76592         Module xstrtoumax.
76593         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
76594         jm_AC_PREREQ_XSTRTOUMAX.
76595         Moved the strtoul prerequisites to strtoul.m4.
76596         Moved the strtoull prerequisites to strtoull.m4.
76597         Moved the strtoumax prerequisites to strtoumax.m4.
76598
76599         Module chown.
76600         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
76601         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
76602
76603         Module dup2.
76604         * m4/dup2.m4: New file.
76605
76606         Module ftruncate.
76607         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
76608         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
76609
76610         Module getgroups.
76611         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
76612         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
76613
76614         Module gettimeofday.
76615         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
76616         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
76617         gl_PREREQ_GETTIMEOFDAY.
76618
76619         Module mkdir.
76620         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
76621         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
76622
76623         Module mkstemp.
76624         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
76625         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
76626         jm_AC_TYPE_UINTMAX_T.
76627         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
76628
76629         Module stat.
76630         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
76631         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
76632
76633         Module lstat.
76634         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
76635         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
76636
76637         Module timespec.
76638         * m4/timespec.m4 (gl_TIMESPEC): New macro.
76639         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
76640         * m4/st_mtim.m4: Indentation.
76641
76642         Module nanosleep.
76643         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
76644         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
76645         gl_PREREQ_NANOSLEEP.
76646
76647         Module regex.
76648         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
76649         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
76650         (gl_REGEX): New macro.
76651
76652         Module rename.
76653         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
76654         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
76655
76656         Module rmdir.
76657         * m4/rmdir.m4: New file.
76658
76659         Module utime.
76660         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
76661         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
76662         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
76663
76664         Module dirname.
76665         * m4/dirname.m4: New file.
76666
76667         Module getopt.
76668         * m4/getopt.m4: New file.
76669
76670         Module unistd-safer.
76671         * m4/unistd-safer.m4: New file.
76672
76673         Module fnmatch.
76674         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
76675         declaration.
76676         (gl_PREREQ_FNMATCH_EXTRA): New macro.
76677         (gl_FUNC_FNMATCH_POSIX): New macro.
76678         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
76679         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
76680         simply fnmatch.
76681
76682         Module exclude.
76683         * m4/exclude.m4: New file.
76684
76685         Module human.
76686         * m4/human.m4: New file.
76687
76688         Module acl.
76689         * m4/acl.m4: Nop.
76690
76691         Module backupfile.
76692         * m4/backupfile.m4: New file.
76693         * m4/d-ino.m4: Indentation.
76694
76695         Module fsusage.
76696         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
76697         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
76698         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
76699
76700         Module dirfd.
76701         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
76702         requirements.
76703
76704         Module euidaccess.
76705         * m4/euidaccess.m4: New file.
76706
76707         Module file-type.
76708         * m4/file-type.m4: New file.
76709
76710         Module fileblocks.
76711         * m4/fileblocks.m4: New file.
76712
76713         Module filemode.
76714         * m4/filemode.m4: New file.
76715
76716         Module isdir.
76717         * m4/isdir.m4: New file.
76718
76719         Module lchown.
76720         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
76721         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
76722
76723         Module makepath.
76724         * m4/makepath.m4: New file.
76725
76726         Module modechange.
76727         * m4/modechange.m4: New file.
76728
76729         Module mountlist.
76730         * m4/mountlist.m4: New file.
76731         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
76732         Indentation.
76733
76734         Module path-concat.
76735         * m4/path-concat.m4: New file.
76736
76737         Module pathmax.
76738         * m4/pathmax.m4: New file.
76739
76740         Module same.
76741         * m4/same.m4: New file.
76742
76743         Module save-cwd.
76744         * m4/save-cwd.m4: New file.
76745
76746         Module savedir.
76747         * m4/savedir.m4: New file.
76748
76749         Module xgetcwd.
76750         * m4/xgetcwd.m4: New file.
76751         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
76752
76753         Module xreadlink.
76754         * m4/xreadlink.m4: New file.
76755
76756         Module safe-read.
76757         * m4/safe-read.m4: New file.
76758
76759         Module safe-write.
76760         * m4/safe-write.m4: New file.
76761
76762         Module closeout.
76763         * m4/closeout.m4: New file.
76764
76765         Module stdio-safer.
76766         * m4/stdio-safer.m4: New file.
76767
76768         Module getpass.
76769         * m4/getpass.m4: New file.
76770
76771         Module getugroups.
76772         * m4/getugroups.m4: New file.
76773
76774         Module group-member.
76775         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
76776         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
76777
76778         Module idcache.
76779         * m4/idcache.m4: New file.
76780
76781         Module userspec.
76782         * m4/userspec.m4: New file.
76783
76784         Module gettime.
76785         * m4/clock_time.m4: New file.
76786         * m4/gettime.m4: New file.
76787
76788         Module settime.
76789         * m4/settime.m4: New file.
76790
76791         Module posixtm.
76792         * m4/posixtm.m4: New file.
76793
76794         Module gethostname.
76795         * m4/gethostname.m4: New file.
76796
76797         Module canon-host.
76798         * m4/canon-host.m4: New file.
76799
76800         Module gettext.
76801         * m4/codeset.m4: New file, from gettext-0.11.5.
76802         * m4/gettext.m4: New file, from gettext-0.11.5.
76803         * m4/glibc21.m4: New file, from gettext-0.11.5.
76804         * m4/iconv.m4: New file, from gettext-0.11.5.
76805         * m4/intdiv0.m4: New file, from gettext-0.11.5.
76806         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
76807         * m4/inttypes.m4: New file, from gettext-0.11.5.
76808         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
76809         * m4/isc-posix.m4: New file, from gettext-0.11.5.
76810         * m4/lcmessage.m4: New file, from gettext-0.11.5.
76811         * m4/lib-ld.m4: New file, from gettext-0.11.5.
76812         * m4/lib-link.m4: New file, from gettext-0.11.5.
76813         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
76814         * m4/progtest.m4: New file, from gettext-0.11.5.
76815         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
76816         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
76817         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
76818
76819         Module localcharset.
76820         * m4/localcharset.m4: New file.
76821
76822         Module hard-locale.
76823         * m4/hard-locale.m4: New file.
76824
76825         Module mbswidth.
76826         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
76827         onceonly macros.
76828         * m4/mbrtowc.m4: Add comment.
76829
76830         Module memcasecmp.
76831         * m4/memcasecmp.m4: New file.
76832
76833         Module memcoll.
76834         * m4/memcoll.m4: New file.
76835
76836         Module unicodeio.
76837         * m4/unicodeio.m4: New file.
76838
76839         Module rpmatch.
76840         * m4/rpmatch.m4: New file.
76841
76842         Module yesno.
76843         * m4/yesno.m4: New file.
76844
76845         Module exitfail.
76846         * m4/exitfail.m4: New file.
76847
76848         Module c-stack.
76849         * m4/c-stack.m4 (gl_C_STACK): New macro.
76850         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
76851
76852         Module error.
76853         * m4/error.m4 (gl_ERROR): New macro.
76854         (jm_PREREQ_ERROR): Use onceonly macros.
76855
76856         Module fatal.
76857         * m4/fatal.m4: New file.
76858
76859         Module getloadavg.
76860         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
76861         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
76862
76863         Module getpagesize.
76864         * m4/getpagesize.m4: New file.
76865
76866         Module getusershell.
76867         * m4/getusershell.m4: New file.
76868
76869         Module physmem.
76870         * m4/physmem.m4: New file.
76871
76872         Module posixver.
76873         * m4/posixver.m4: New file.
76874
76875         Module quotearg.
76876         * m4/quotearg.m4: New file.
76877
76878         Module quote.
76879         * m4/quote.m4: New file.
76880
76881         Module readutmp.
76882         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
76883
76884         Module sig2str.
76885         * m4/sig2str.m4: New file.
76886
76887         Other.
76888         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
76889         ulonglong.m4.
76890         * m4/intmax_t.m4: New file.
76891         * m4/d-type.m4: Indentation.
76892         * m4/jm-macros.m4: Update.
76893         * m4/prereq.m4 (jm_PREREQ): Update.
76894         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
76895         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
76896         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
76897         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
76898         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
76899         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
76900         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
76901         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
76902         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
76903         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
76904         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
76905         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
76906         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
76907         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
76908         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
76909         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
76910         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
76911         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
76912         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
76913
76914 2002-12-24  Bruno Haible  <bruno@clisp.org>
76915
76916         * MODULES.txt: Update according to m4/ changes.
76917
76918         Module gettext.
76919         * config.rpath: New file, from gettext-0.11.5.
76920
76921         * modules/*: New module descriptions.
76922         * gnulib-tool: New file.
76923         * MODULES.html.sh: New file.
76924
76925 2002-12-21  Karl Berry  <karl@gnu.org>
76926
76927         * doc/fdl.texi: update to version 1.2.
76928
76929 2002-12-19  Karl Berry  <karl@gnu.org>
76930
76931         * config/config.guess: update from prep.
76932
76933 2002-12-18  Bruno Haible  <bruno@clisp.org>
76934
76935         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
76936         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
76937
76938 2002-12-17  Bruno Haible  <bruno@clisp.org>
76939
76940         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
76941         stdlib.h, string.h.
76942
76943 2002-12-17  Bruno Haible  <bruno@clisp.org>
76944
76945         * lib/canon-host.c (strdup): Remove unused declaration.
76946
76947         * lib/fsusage.c: Include full_read.h.
76948         (get_fs_usage): Use full_read instead of safe_read.
76949
76950         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
76951
76952 2002-12-12  Karl Berry  <karl@gnu.org>
76953
76954         * config/config.guess: update from prep.
76955
76956 2002-12-11  Bruno Haible  <bruno@clisp.org>
76957
76958         * m4/setenv.m4: New file, from gettext-0.11.5.
76959
76960 2002-12-11  Bruno Haible  <bruno@clisp.org>
76961
76962         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
76963         not unsetenv().
76964         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
76965         modifications:
76966
76967         2002-12-11  Bruno Haible  <bruno@clisp.org>
76968
76969                 * setenv.c (alloca): Fall back to malloc.
76970                 (freea): New macro.
76971                 (setenv): Use freea() to free memory allocated with alloca().
76972
76973         2002-11-13  Bruno Haible  <bruno@clisp.org>
76974
76975                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
76976                 function declarations.
76977                 * unsetenv.c (unsetenv): Likewise.
76978
76979         2002-03-04  Bruno Haible  <bruno@clisp.org>
76980
76981                 Portability to AIX 4.3.3.
76982                 * unsetenv.c: New file, extracted from setenv.c.
76983                 * setenv.c: Move the unsetenv() function to unsetenv.c.
76984
76985         2001-12-20  Bruno Haible  <bruno@clisp.org>
76986
76987                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
76988                 use malloc instead. For SunOS 4.
76989
76990         2001-12-11  Bruno Haible  <bruno@clisp.org>
76991
76992                 * setenv.c: Declare alloca.
76993                 (compar_fn_t): New typedef.
76994                 (KNOWN_VALUE, STORE_VALUE): Use it.
76995
76996         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
76997         setenv.h.
76998
76999 2002-12-10  Paul Eggert  <eggert@twinsun.com>
77000
77001         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
77002         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
77003         Choose values that are less likely to collide with system fnmatch
77004         options.
77005         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
77006         defined (e.g., a pure POSIX system).
77007         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
77008         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
77009
77010 2002-12-06  Paul Eggert  <eggert@twinsun.com>
77011
77012         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
77013         a pain in practice to deal with generated m4 files.  This change
77014         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
77015
77016         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
77017         and jm-glibc-io.m4, as they are no longer a special case.
77018         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
77019         kludge and the auto-generation stuff.  Check only whether the
77020         functions are declared, not whether they exist, since older hosts
77021         that don't declare the functions can't use the optimization anyway.
77022
77023 2002-12-06  Jim Meyering  <jim@meyering.net>
77024
77025         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
77026
77027         Merge in changes from libc's misc/error.c, in preparation
77028         for the merge of gnulib's changes back into libc.
77029
77030         * lib/error.c (_): Define only if not already defined.
77031         Move definition to follow all #include directives.
77032         Include unlocked-io.h only if !_LIBC.
77033         [_LIBC]: Include <libio/libioP.h>.
77034         [USE_IN_LIBIO]: Include <libio/iolibio.h>
77035         (fflush): Tweak definition to use INTUSE.
77036         (putc): Define.
77037
77038 2002-12-05  Paul Eggert  <eggert@twinsun.com>
77039
77040         * lib/alloca.c [defined emacs]: Include "lisp.h".
77041         (xalloc_die) [defined emacs]: New macro.
77042         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
77043         [! defined emacs]: Include <xalloc.h>.
77044         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
77045         (pointer): Typedef to POINTER_TYPE *.
77046         (malloc): Remove decl; we now always use xmalloc.
77047         (alloca): Use old-style definition, since Emacs needs this.
77048         Check for arithmetic overflow when computing combined size.
77049
77050 2002-12-04  Paul Eggert  <eggert@twinsun.com>
77051
77052         Do not generate unlocked-io.h automatically, since it's easier to
77053         maintain it by hand.
77054
77055         * lib/unlocked-io.h: New file, from GNU diffutils,
77056         but with proper copyright notice and attribution.
77057         * lib/gen-uio: Remove.
77058         * lib/Makefile.am: Add copyright notice.
77059         (libfetish_a_SOURCES): Add unlocked-io.h.
77060         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
77061         (DISTCLEANFILES, io_functions): Remove macros.
77062         (EXTRA_DIST): Remove gen_uio.
77063         (unlocked-io.h): Remove rule.
77064
77065 2002-12-04  Jim Meyering  <jim@meyering.net>
77066
77067         Reflect the fact that stat.c and lstat.c are no longer generated.
77068         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
77069         (DISTCLEANFILES): Likewise.
77070         (EXTRA_DIST): Likewise.
77071         (all_local): Don't depend on stat.c or lstat.c.
77072         (stat.c, lstat.c): Remove rules.
77073         (EXTRA_DIST): Remove xstat.in.
77074
77075         * lib/xstat.in: Remove file.  Contents moved into stat.c.
77076         * lib/stat.c: New file.  Contents mostly from xstat.in.
77077         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
77078         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
77079
77080         * lib/safe-read.c: Rework so that it may serve to define safe_write,
77081         too.
77082         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
77083
77084 2002-12-03  Jim Meyering  <jim@meyering.net>
77085
77086         * lib/safe-read.c, safe-write.c: Change variable names and comments,
77087         but not semantics, to minimize the differences between these two files.
77088         (safe_read): Change comment to mention SAFE_READ_ERROR.
77089
77090         * lib/safe-read.c (IS_EINTR): Define.
77091         (safe_read): Use IS_EINTR in place of in-function cpp directives.
77092
77093 2002-12-02  Jim Meyering  <jim@meyering.net>
77094
77095         * lib/safe-read.c (EINTR): Define.
77096         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
77097         (INT_MAX): Provide fallback.
77098         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
77099
77100         * lib/safe-read.h (SAFE_READ_ERROR): Define.
77101
77102 2002-12-02  Bruno Haible  <bruno@clisp.org>
77103
77104         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
77105         Define, taken from safe-read.c.
77106         (INT_MAX): Provide fallback.
77107         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
77108         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
77109
77110         * lib/safe-read.c (EINTR): Remove definition.
77111         (safe_read): Don't use EINTR if it is absent.
77112
77113 2002-12-01  Jim Meyering  <jim@meyering.net>
77114
77115         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
77116         zero.
77117         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
77118
77119 2002-11-27  Paul Eggert  <eggert@twinsun.com>
77120
77121         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
77122         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
77123         with `if (! (value < limit)) abort ();', for readability.
77124
77125 2002-11-26  Karl Berry  <karl@gnu.org>
77126
77127         * lib/strdup.c: copy from libc again, with jim's ok.
77128         * lib/.cppi-disable: re-add strdup.c
77129
77130 2002-11-25  Karl Berry  <karl@gnu.org>
77131
77132         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
77133         instead of "strtol.c".
77134
77135 2002-11-25  Karl Berry  <karl@gnu.org>
77136
77137         * config/install-sh: update from automake for variable quoting, $0 in
77138         error msgs, etc.
77139
77140         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
77141         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
77142         entry.
77143
77144 2002-11-25  Jim Meyering  <jim@meyering.net>
77145
77146         * lib/mktime.c: Sync from libc, now that it has the latest fix.
77147
77148 2002-11-24  Karl Berry  <karl@gnu.org>
77149
77150         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
77151         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
77152
77153 2002-11-24  Jim Meyering  <jim@meyering.net>
77154
77155         Update from coreutils:
77156
77157         * lib/mktime.c: Merge in changes from libc.
77158
77159         Avoid a link-time failure on some Linux systems.
77160         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
77161         (otherwise).
77162         (__mon_yday): Declare with the STATIC attribute.
77163         (__mktime_internal): Likewise.
77164         Based on a report from Greg Schafer.
77165
77166 2002-11-23  Jim Meyering  <jim@meyering.net>
77167
77168         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
77169         Use `unsigned', not `int', as type of index.
77170
77171         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
77172
77173         * lib/fsusage.c: Remove unneeded parentheses around operands of
77174         `defined'.
77175
77176 2002-11-22  Paul Eggert  <eggert@twinsun.com>
77177
77178         * lib/quotearg.h: Allow multiple inclusion by surrounding with
77179         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
77180         so that we can be included first.
77181         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
77182         * lib/quotearg.c: Include quotearg.h immediately after config.h.
77183         No need to include stddef.h or sys/types.h any more.
77184         Surround local include files with "", not "<>".
77185         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
77186         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
77187         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
77188         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
77189         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
77190         (ISPRINT): Remove; no longer needed now that we assume C89.
77191
77192         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
77193         Preserve errno.
77194
77195         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
77196         quotearg_char): Use SIZE_MAX rather than
77197         (size_t) -1 when we are talking about "infinity".
77198
77199         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
77200
77201 2002-11-22  Paul Eggert  <eggert@twinsun.com>
77202
77203         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
77204         hint that one should use `if (! x) abort ();' rather than `assert
77205         (x);', and anyway it's one less thing to worry about configuring.
77206         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
77207         hash_rehash, hash_insert): Use abort rather than assert.
77208
77209 2002-11-22  Bruno Haible  <bruno@clisp.org>
77210
77211         * lib/safe-read.h: Assume C89. Add comments.
77212         (safe_read): Change return type to size_t.
77213         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
77214         byte counts > SSIZE_MAX correctly.
77215         * lib/safe-write.h: New file.
77216         * lib/safe-write.c: New file.
77217         * lib/full-read.h: New file.
77218         * lib/full-read.c: New file.
77219         * lib/full-write.h: Assume C89. Add comments.
77220         * lib/full-write.c: Include safe-write.h.
77221         (full_write): Rewritten to use safe_write.
77222         Suggested by Jim Meyering and Paul Eggert.
77223
77224 2002-11-21  Jim Meyering  <jim@meyering.net>
77225
77226         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
77227
77228         Merge in changes from the coreutils.
77229
77230         2002-09-25  Paul Eggert  <eggert@twinsun.com>
77231         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
77232         <stdint.h>.
77233         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
77234         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
77235         int.  Work more efficiently if X is the same width as uintmax_t.
77236         Do not compare X to -1, to avoid bogus compiler warning.
77237         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
77238         Don't assume that f_frsize and f_bsize are the same type.
77239
77240         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
77241         warning on FreeBSD.
77242
77243         * lib/makepath.c (make_path): Restore umask *before* creating the final
77244         component.
77245         (make_path): Minor reformatting.
77246
77247         * lib/xmalloc.c: Adjust to work with new autoconf macros,
77248         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
77249         HAVE_MALLOC/HAVE_REALLOC.
77250
77251         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
77252         dummy ones.  At least on GNU/Linux systems, `auto' means something
77253         else.
77254         From Michael Stone.
77255
77256 2002-11-21  Bruno Haible  <bruno@clisp.org>
77257
77258         Remove case insensitive option matching.
77259         * lib/argmatch.h (argcasematch): Remove declaration.
77260         (ARGCASEMATCH): Remove macro.
77261         (__xargmatch_internal): Remove case_sensitive argument.
77262         (XARGMATCH): Update.
77263         (XARGCASEMATCH): Remove macro.
77264         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
77265         case_sensitive argument.
77266         (argcasematch): Remove function.
77267         (__xargmatch_internal): Remove case_sensitive argument.
77268         (main): Use XARGMATCH instead of XARGCASEMATCH.
77269
77270         * lib/xmalloc.c: Change compile-time error message. Add comment about
77271         required autoconf version.
77272
77273 2002-11-20  Paul Eggert  <eggert@twinsun.com>
77274
77275         Merge argmatch cleanups from Bison.  Assume C89.
77276
77277         * lib/argmatch.c: Include config.h here, not in argmatch.h.
77278         Include stdlib.h, for EXIT_FAILURE.
77279         Always include <string.h>, since we assume C89.
77280         (EXIT_FAILURE): Remove pre-C89 bug workaround.
77281         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
77282         Include <stddef.h> instead, since it's all we need for size_t.
77283         (PARAMS): Remove.  All uses removed.
77284         (ARRAY_CARDINALITY): Do not bother to #undef.
77285         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
77286         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
77287         Remove unnecessary parentheses.
77288         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
77289         Insert necessary parentheses.
77290         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
77291         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
77292
77293 2002-11-19  Bruno Haible  <bruno@clisp.org>
77294
77295         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
77296         * lib/mbswidth.h: Include <stddef.h>, for size_t.
77297
77298         * lib/mbswidth.h (PARAMS): Remove macro.
77299         (mbswidth, mbsnwidth): Use ANSI C function declarations.
77300         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
77301
77302         * lib/gcd.h (PARAMS): Remove macro.
77303         (gcd): Use ANSI C function declarations.
77304         * lib/gcd.c (gcd): Likewise.
77305
77306 2002-11-15  Bruno Haible  <bruno@clisp.org>
77307
77308         * lib/strcspn.c: Include <stddef.h>.
77309         (strcspn): Use ANSI C function declaration. Change return type to
77310         size_t. Use NULL.
77311         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
77312         (strpbrk): Use NULL.
77313         * lib/strpbrk.h (PARAMS): Remove macro.
77314         (strpbrk): Use ANSI C function declaration.
77315         * lib/strstr.c: Don't include <sys/types.h>.
77316         * lib/strstr.h (PARAMS): Remove macro.
77317         (strstr): Use ANSI C function declarations.
77318
77319 2002-11-14  Karl Berry  <karl@gnu.org>
77320
77321         * config/mkinstalldirs: `do' on separate line, instead of
77322         `for var; do'.
77323
77324 2002-11-06  Bruno Haible  <bruno@clisp.org>
77325
77326         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
77327         * lib/gcd.c (gcd): Likewise.
77328
77329 2002-11-05  Bruno Haible  <bruno@clisp.org>
77330
77331         * lib/gcd.h: New file, from gettext-0.11.5.
77332         * lib/gcd.c: New file, from gettext-0.11.5.
77333
77334 2002-11-05  Bruno Haible  <bruno@clisp.org>
77335
77336         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77337         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77338         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77339         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77340
77341         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
77342         <libintl.h>.
77343         * lib/makepath.c: Include gettext.h instead of <locale.h> and
77344         <libintl.h>.
77345
77346         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
77347         * lib/human.c: Include gettext.h instead of <libintl.h>.
77348         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
77349         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
77350         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
77351         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
77352         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
77353         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
77354         (textdomain): Remove definition.
77355         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
77356
77357         * lib/long-options.c: Remove include of <libintl.h> and definition of
77358         _.
77359         * lib/same.c: Remove include of <libintl.h> and definition of _.
77360
77361 2002-11-04  Owen Taylor  <otaylor@redhat.com>
77362
77363         * lib/config.charset: A few additions for Solaris.
77364
77365 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
77366
77367         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
77368         * lib/localcharset.c (locale_charset): Declare as extern "C".
77369
77370 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
77371
77372         * lib/config.charset: msdos in uk_UA uses CP1125.
77373
77374 2002-11-04  Bruno Haible  <bruno@clisp.org>
77375
77376         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
77377         * lib/strcase.h: New file, from GNU gettext-0.11.5.
77378         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
77379         * lib/strstr.h: New file, from GNU gettext-0.11.5.
77380         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
77381
77382 2002-11-04  Bruno Haible  <bruno@clisp.org>
77383
77384         * lib/localcharset.c (locale_charset): Don't return an empty string.
77385
77386 2002-11-04  Bruno Haible  <bruno@clisp.org>
77387
77388         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
77389         aliases.
77390
77391 2002-11-04  Bruno Haible  <bruno@clisp.org>
77392
77393         * lib/config.charset: Update for newest glibc. Add canonical names
77394         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
77395
77396 2002-11-04  Bruno Haible  <bruno@clisp.org>
77397
77398         * lib/config.charset: Add support for NetBSD.
77399
77400 2002-11-04  Bruno Haible  <bruno@clisp.org>
77401
77402         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
77403
77404 2002-11-01  Bruno Haible  <bruno@clisp.org>
77405
77406         * configure.in: Add AC_CONFIG_AUX_DIR call.
77407         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
77408         test/Makefile.
77409         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
77410
77411 2002-09-28  Karl Berry  <karl@gnu.org>
77412
77413         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
77414         installed automake until the next release, since changes have been
77415         made.
77416
77417 2002-09-25  Karl Berry  <karl@gnu.org>
77418
77419         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
77420         * lib/getopt*: copy from libc/posix.
77421         * lib/gettext.h: copy from gettext.
77422         * lib/.cppi-disable: add strdup.c, gettext.h.
77423
77424 2002-09-25  Karl Berry  <karl@gnu.org>
77425
77426         * config/srclist.txt: enable gettext.h check.
77427         * config/config.{guess,sub}: update from prep.
77428         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
77429                 from automake 1.6.3.
77430         See srclist*.
77431
77432 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
77433
77434         * regex.c (PATFETCH): Remove the translating fetch.
77435         (PATFETCH_RAW): Rename to PATFETCH.
77436         (set_image_of_range): New fun.
77437         (SET_RANGE_TABLE_WORK_AREA): Use it.
77438         (regex_compile): Don't translate the pattern chars so eagerly.
77439         Only do it when inserting an `exactn' bytecode or when handling
77440         a char-range.
77441         (mutually_exclusive_p): Avoid empty statement.
77442
77443 2002-07-06  Jim Meyering  <meyering@lucent.com>
77444
77445         * m4/README: Don't mention Makefile.am.in.
77446         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
77447
77448 2002-07-01  Jim Meyering  <meyering@lucent.com>
77449
77450         * lib/c-stack.c: Include sys/time.h.
77451         From Volker Borchert.
77452
77453 2002-06-26  Paul Eggert  <eggert@twinsun.com>
77454
77455         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
77456
77457 2002-06-26  Paul Eggert  <eggert@twinsun.com>
77458
77459         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
77460         New macro.  Use it uniformly instead of
77461         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
77462         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
77463         reported by Vin Shelton.
77464
77465 2002-06-22  Paul Eggert  <eggert@twinsun.com>
77466
77467         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
77468         Do not assume SA_SIGINFO behavior.
77469         Bug reported by Jim Meyering on NetBSD 1.5.2.
77470
77471 2002-06-22  Jim Meyering  <meyering@lucent.com>
77472
77473         * m4/c-stack.m4: New file, from diffutils-2.8.2.
77474         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
77475
77476         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
77477         now that configure.ac uses AC_GNU_SOURCE.
77478         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
77479         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
77480
77481         Update to latest tools.  Suggestions from Paul Eggert.
77482         * m4/stdbool.m4: New file, from diffutils-2.8.2.
77483         * m4/gnu-source.m4: Update from diffutils-2.8.2.
77484         * m4/fnmatch.m4: Likewise.
77485         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
77486         to AC_HEADER_STDBOOL
77487
77488 2002-06-22  Jim Meyering  <meyering@lucent.com>
77489
77490         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
77491         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
77492
77493 2002-06-22  Jim Meyering  <meyering@lucent.com>
77494
77495         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
77496
77497         * lib/exitfail.c, exitfail.h: Likewise.
77498         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
77499
77500         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
77501         of fnmatch.h.
77502         (EXTRA_DIST): Add fnmatch_loop.c.
77503         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
77504
77505         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
77506         * lib/fnmatch.c: Update from diffutils-2.8.2.
77507         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
77508         * lib/fnmatch.h: Remove file.
77509
77510 2002-06-21  Jim Meyering  <meyering@lucent.com>
77511
77512         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
77513         * m4/mbrtowc.m4: Likewise.
77514
77515         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
77516         * m4/mbswidth.m4: Reflect name change:
77517         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
77518         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
77519
77520         * m4/lib-link.m4: Update from gettext-0.11.2.
77521         * m4/gettext.m4: Likewise.
77522
77523         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
77524         From Alfred M. Szmidt.
77525
77526 2002-06-18  Paul Eggert  <eggert@twinsun.com>
77527
77528         * lib/file-type.h: Report an error if neither S_ISREG nor
77529         S_IFREG is defined, instead of using a test specific to glibc
77530         2.2.  This should be safe, since POSIX requires S_ISREG and
77531         Unix Version 7 had S_IFREG.  We don't need to check for
77532         <sys/types.h> since we don't use any symbols that it defines.
77533
77534 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
77535
77536         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
77537         $@-t, so that each temporary file name is unique and valid in the first
77538         8 characters, for operation under DOS.
77539
77540 2002-06-15  Paul Eggert  <eggert@twinsun.com>
77541
77542         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
77543
77544 2002-06-15  Jim Meyering  <meyering@lucent.com>
77545
77546         Work even with DJGPP 2.03, which lacks support for symlinks.
77547         From Richard Dawe.
77548         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
77549         is defined.
77550         * lib/lchown.c (S_ISLNK): Likewise.
77551
77552 2002-06-15  Jim Meyering  <meyering@lucent.com>
77553
77554         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
77555         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
77556         have been included before this file.
77557
77558 2002-06-14  Jim Meyering  <meyering@lucent.com>
77559
77560         * lib/file-type.h: Use the version from diffutils-2.8.2.
77561         * lib/file-type.c: Likewise.
77562
77563 2002-06-07  Jim Meyering  <meyering@lucent.com>
77564
77565         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
77566         They're needed at least for NetBSD 1.5.2.
77567         ($statxfs_includes): Include those same headers.
77568         ($statxfs_includes): Include sys/vfs.h if available.
77569         ($statxfs_includes): Likewise for sys/statvfs.h.
77570         Check for the following members in both structs statfs and statvfs:
77571         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
77572
77573 2002-06-01  Jim Meyering  <meyering@lucent.com>
77574
77575         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
77576         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
77577
77578 2002-05-28  Jim Meyering  <meyering@lucent.com>
77579
77580         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
77581         Reported by Volker Borchert.
77582
77583 2002-05-27  Jim Meyering  <meyering@lucent.com>
77584
77585         Fix a problem seen only on nonconforming systems whereby ls.c's
77586         use of localtime, and then of gettimeofday would cause trouble:
77587         the localtime call used to initialize rpl_gettimeofday's save
77588         mechanism would clobber ls's current local time information so
77589         that in any long listing the first file would always be listed
77590         with date 1970-01-01.  Analysis by Volker Borchert.
77591
77592         * lib/gettimeofday.c (localtime): Undefine.
77593         (rpl_localtime): New function.
77594
77595 2002-05-27  Jim Meyering  <meyering@lucent.com>
77596
77597         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
77598         localtime.
77599
77600         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
77601         use the replacement function; it wouldn't resolve at link time.
77602         Reported by Volker Borchert.
77603
77604 2002-05-22  Jim Meyering  <meyering@lucent.com>
77605
77606         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
77607         file-type.h.
77608         * lib/file-type.h: New file.
77609         * lib/file-type.c (file_type): New file/function.  Extracted from
77610         diffutils.
77611
77612 2002-04-30  Jim Meyering  <meyering@lucent.com>
77613
77614         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
77615
77616 2002-04-29  Paul Eggert  <eggert@twinsun.com>
77617
77618         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
77619
77620 2002-04-29  Paul Eggert  <eggert@twinsun.com>
77621
77622         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
77623         Do not check for alloca.h (no longer used) or stdbool.h (was never
77624         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
77625
77626 2002-04-29  Paul Eggert  <eggert@twinsun.com>
77627
77628         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
77629
77630 2002-04-29  Jim Meyering  <meyering@lucent.com>
77631
77632         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
77633         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
77634         Use AC_FUNC_STRNLEN here instead.
77635
77636         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
77637         With autoconf-2.53a, it's part of AC_PROG_CC.
77638
77639 2002-04-28  Paul Eggert  <eggert@twinsun.com>
77640
77641         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
77642         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
77643
77644 2002-04-28  Paul Eggert  <eggert@twinsun.com>
77645
77646         * lib/sig2str.h, lib/sig2str.c: New files.
77647         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
77648
77649 2002-04-28  Paul Eggert  <eggert@twinsun.com>
77650
77651         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
77652         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
77653         of 127, since 64 is the largest conceivable number for ancient
77654         nonstandard hosts.
77655         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
77656
77657 2002-04-28  Jim Meyering  <meyering@lucent.com>
77658
77659         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
77660
77661 2002-04-24  Jim Meyering  <meyering@lucent.com>
77662
77663         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
77664         (jm_PREREQ): Use it.
77665
77666         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
77667         mach/mach.h fcntl.h.
77668         Check for this function: setlocale.
77669
77670 2002-04-24  Jim Meyering  <meyering@lucent.com>
77671
77672         * lib/gettext.h: New file, from Gettext.
77673         * lib/Makefile.am (INCLUDES): Remove -I../intl.
77674         (libfetish_a_SOURCES): Add gettext.h.
77675
77676 2002-04-16  Jim Meyering  <meyering@lucent.com>
77677
77678         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
77679         ut_pid, ut_id, ut_exit.
77680
77681 2002-04-16  Jim Meyering  <meyering@lucent.com>
77682
77683         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
77684         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
77685         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
77686
77687 2002-04-12  Jim Meyering  <meyering@lucent.com>
77688
77689         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
77690         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
77691         existence of the getmntinfo function.  Needed for Darwin 5.3.
77692
77693         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
77694         This is necessary at least on Darwin 5.3.
77695
77696         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
77697         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
77698         strnlen.o in the library, and that makes some versions of ranlib
77699         object.
77700
77701 2002-04-12  Jim Meyering  <meyering@lucent.com>
77702
77703         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
77704
77705 2002-04-09  Jim Meyering  <meyering@lucent.com>
77706
77707         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
77708         to be more precise.  Rather than saying we're checking whether the
77709         function `works', say what we're testing.
77710         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
77711         Reported by Bruno Haible.
77712
77713 2002-03-10  Jim Meyering  <meyering@lucent.com>
77714
77715         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
77716         Suggestion from Santiago Vila.
77717
77718 2002-03-08  Jim Meyering  <meyering@lucent.com>
77719
77720         * lib/rename.c: Mention that this wrapper is needed also on
77721         mips-dec-ultrix4.4 systems.
77722
77723 2002-03-02  Jim Meyering  <meyering@lucent.com>
77724
77725         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
77726         not HAVE_CLOCK_SETTIME.
77727
77728 2002-02-27  Paul Eggert  <eggert@twinsun.com>
77729
77730         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
77731         Check for clock_settime.
77732
77733 2002-02-27  Paul Eggert  <eggert@twinsun.com>
77734
77735         * lib/nanosleep.h: Rename to....
77736         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
77737
77738         * lib/gettime.c: New file.
77739         * lib/settime.c: New file.
77740         * lib/stime.c: Remove.
77741
77742         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
77743         timespec.h.  Remove nanosleep.h.
77744
77745 2002-02-25  Paul Eggert  <eggert@twinsun.com>
77746
77747         * m4/acl.m4: New file.
77748         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
77749         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
77750
77751 2002-02-25  Paul Eggert  <eggert@twinsun.com>
77752
77753         * lib/acl.c, lib/acl.h: New files.
77754         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
77755
77756 2002-02-24  Jim Meyering  <meyering@lucent.com>
77757
77758         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
77759         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
77760         cause trouble.  Reported by Nelson Beebe.
77761
77762 2002-02-23  Paul Eggert  <eggert@twinsun.com>
77763
77764         * lib/path-concat.c (xpath_concat): Reorder code to pacify
77765         compilers that don't know that xalloc_die never returns.
77766
77767 2002-02-20  Jim Meyering  <meyering@lucent.com>
77768
77769         * lib/getdate.c: Regenerate using bison-1.33.
77770
77771 2002-02-17  Jim Meyering  <meyering@lucent.com>
77772
77773         * config/config.guess (main): Don't use `head -1'; it's no longer
77774         portable. Use `sed 1q' instead.
77775
77776 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
77777
77778         * m4/codeset.m4: Upgrade to gettext-0.11.
77779         * m4/gettext.m4: Upgrade to gettext-0.11.
77780         * m4/glibc21.m4: Upgrade to gettext-0.11.
77781         * m4/iconv.m4: Upgrade to gettext-0.11.
77782         * m4/isc-posix.m4: Upgrade to gettext-0.11.
77783         * m4/lcmessage.m4: Upgrade to gettext-0.11.
77784         * m4/lib-ld.m4: New file, from gettext-0.11.
77785         * m4/lib-link.m4: New file, from gettext-0.11.
77786         * m4/lib-prefix.m4: New file, from gettext-0.11.
77787         * m4/progtest.m4: Upgrade to gettext-0.11.
77788
77789 2002-02-15  Paul Eggert  <eggert@twinsun.com>
77790
77791         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
77792         (jm_PREREQ): Use it.
77793
77794 2002-02-15  Paul Eggert  <eggert@twinsun.com>
77795
77796         * lib/posixver.c, lib/posixver.h: New files.
77797         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
77798
77799 2002-02-02  Paul Eggert  <eggert@twinsun.com>
77800             Bruno Haible  <bruno@clisp.org>
77801
77802         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
77803         (fwrite_success_callback): New declaration.
77804         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
77805         print_unicode_char. Call failure callback instead of error.
77806         (fwrite_success_callback): New function.
77807         (exit_failure_callback): New function.
77808         (fallback_failure_callback): New function.
77809         (print_unicode_char): Call unicode_to_mb.
77810
77811 2002-01-26  Jim Meyering  <meyering@lucent.com>
77812
77813         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
77814         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
77815
77816 2002-01-26  Jim Meyering  <meyering@lucent.com>
77817
77818         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
77819
77820 2002-01-22  Paul Eggert  <eggert@twinsun.com>
77821
77822         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
77823
77824 2002-01-22  Jim Meyering  <meyering@lucent.com>
77825
77826         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
77827         Otherwise, some versions of automake would omit the rule that makes
77828         Makefile from Makefile.in.
77829
77830 2002-01-21  Paul Eggert  <eggert@twinsun.com>
77831
77832         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
77833         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
77834         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
77835         (memcoll): Set errno to zero if there is no error.
77836
77837         * lib/quotearg.c (quotearg_buffer_restyled):
77838         Fix bug with quoting buffers containing NUL when backslashing escapes.
77839         This bug was exposed by the other changes in this patch.
77840         (quotearg_n_options): New arg ARGSIZE.
77841         All callers changed.
77842         (quoting_options_from_style): New function.
77843         (quotearg_n_style): Use it.
77844         (quotearg_n_style_mem): New function.
77845
77846         * lib/quotearg.h (quotearg_n_style_mem): New function.
77847
77848 2002-01-19  Jim Meyering  <meyering@lucent.com>
77849
77850         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
77851         Remove useless quotes: DF_PROG="df".
77852         * m4/strnlen.m4: New file.
77853
77854 2002-01-16  Paul Eggert  <eggert@twinsun.com>
77855
77856         * lib/backupfile.c (ISDIGIT): Comment fix.
77857         * lib/getdate.y (ISDIGIT): Likewise.
77858         * lib/posixtm.c (ISDIGIT, year): Likewise.
77859         * lib/strverscmp.c (ISDIGIT): Likewise.
77860         * lib/userspec.c (ISDIGIT): Likewise.
77861
77862 2002-01-16  Jim Meyering  <meyering@lucent.com>
77863
77864         * lib/getdate.y: Add three semicolons, each just before a closing
77865         brace. Bison (as of version 1.31) no longer papers over that mistake.
77866
77867 2002-01-05  Jim Meyering  <meyering@lucent.com>
77868
77869         * lib/version-etc.c (version_etc_copyright): Update copyright year.
77870
77871 2001-12-19  Paul Eggert  <eggert@twinsun.com>
77872
77873         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
77874         not silently exit merely because the output buffer happens to
77875         have nothing pending.
77876
77877 2001-12-18  Paul Eggert  <eggert@twinsun.com>
77878
77879         See the big note in ../ChangeLog.
77880         * lib/human.c (suffixes): Prefer K to k for 1024.
77881         (generate_suffix_backwards): New function.
77882         (human_readable_inexact): Use it.
77883         * lib/xstrtol.c (__xstrtol): If there is no number but there
77884         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
77885         Accept 'K' as well as 'k'.
77886
77887 2001-12-15  Jim Meyering  <meyering@lucent.com>
77888
77889         * lib/regex.h (__restrict_arr): Update from libc.
77890
77891         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
77892         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
77893         (STREQ): Define.
77894
77895 2001-12-14  Jim Meyering  <meyering@lucent.com>
77896
77897         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
77898         Suggestion from Bruno Haible.
77899
77900 2001-12-10  Jim Meyering  <meyering@lucent.com>
77901
77902         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
77903         xrealloc, Instead, include "xalloc.h".
77904         (initbuffer): Don't cast xmalloc return value to char*.
77905         (readline): Reword comment.
77906         Don't cast xrealloc return value to char*
77907         Return NULL, not 0.
77908
77909 2001-12-09  Jim Meyering  <meyering@lucent.com>
77910
77911         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
77912         about `signed and unsigned type in conditional expression'.
77913         * lib/posixtm.c (posix_time_parse): Likewise.
77914
77915         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
77916
77917         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
77918         to avoid a pedantic warning.
77919
77920         * lib/getstr.c: Don't include assert.h.
77921         (getstr): Remove warning-evoking assertions.
77922         Return -1 if offset parameter is out of bounds.
77923         Change the type of a local from int to size_t.
77924
77925         * lib/strftime.c (my_strftime_localtime_r): Include this function
77926         definition in the `#if ! HAVE_TM_GMTOFF' block.
77927
77928         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
77929         Include xalloc.h instead.
77930
77931 2001-12-02  Jim Meyering  <meyering@lucent.com>
77932
77933         * lib/tempname.c: Don't declare getenv, thus reverting the change of
77934         2001-11-18.  It's no longer necessary, now that stdlib.h is always
77935         included.
77936
77937         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
77938         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
77939
77940 2001-11-30  Akim Demaille  <akim@epita.fr>
77941
77942         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
77943         before being defined.
77944
77945 2001-11-27  Paul Eggert  <eggert@twinsun.com>
77946
77947         * lib/quotearg.h (quotearg_n, quotearg_n_style):
77948         First arg is int, not unsigned.
77949         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
77950         (SIZE_MAX, UINT_MAX): New macros.
77951         (quotearg_n_options): Abort if N is negative.
77952         Avoid overflow check on hosts where size_t is 64 bits and int
77953         is 32 bits, as overflow is impossible there.
77954         Fix off-by-one typo that caused unnecessary reallocation.
77955
77956 2001-11-27  Jim Meyering  <meyering@lucent.com>
77957
77958         * lib/tempname.c: Merge with version from libc.
77959         * lib/regex.c: Likewise.
77960
77961         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
77962         systems for which STDC_HEADERS is 0, it was not included, resulting in
77963         a warning about an integer-to-pointer conversion problem with getenv.
77964         Reported by Volker Borchert.
77965
77966 2001-11-26  Jim Meyering  <meyering@lucent.com>
77967
77968         * lib/gtod.h: Remove file.
77969         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
77970         * lib/gettimeofday.c: Don't include gtod.h.
77971         (GTOD_init): Remove function.
77972         (rpl_gettimeofday): Do its job here instead, rather than aborting.
77973         Suggestion from Volker Borchert.
77974
77975 2001-11-23  Jim Meyering  <meyering@lucent.com>
77976
77977         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
77978         it.
77979         * lib/hash.c (struct hash_table): Define it here instead.
77980
77981 2001-11-22  Jim Meyering  <meyering@lucent.com>
77982
77983         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
77984
77985 2001-11-20  Jim Meyering  <meyering@lucent.com>
77986
77987         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
77988         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
77989
77990 2001-11-19  Jim Meyering  <meyering@lucent.com>
77991
77992         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
77993         directory.  Use "conftestXXXXXX" as the template.
77994         Suggestion from Paul Eggert.
77995
77996         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
77997         immediately, so the test doesn't mistakenly hit the max-open-files
77998         limit.
77999
78000 2001-11-18  Paul Eggert  <eggert@twinsun.com>
78001
78002         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
78003         (TEMPORARIES): New macro.
78004         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
78005         removes an artificial limitation (e.g. HP-UX 10.20, where
78006         TMP_MAX is 17576).
78007
78008 2001-11-18  Jim Meyering  <meyering@lucent.com>
78009
78010         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
78011
78012 2001-11-18  Jim Meyering  <meyering@lucent.com>
78013
78014         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
78015         on SunOS 4.
78016
78017         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
78018         files will be created before anything else.
78019
78020 2001-11-17  Paul Eggert  <eggert@twinsun.com>
78021
78022         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
78023         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
78024
78025 2001-11-17  Jim Meyering  <meyering@lucent.com>
78026
78027         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
78028         Prompted by a report from Bob Proulx.
78029
78030         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
78031         Instead, require UTILS_FUNC_MKSTEMP.
78032
78033 2001-11-17  Jim Meyering  <meyering@lucent.com>
78034
78035         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
78036         Now, that's done as part of AC_FUNC_STRTOD.
78037
78038 2001-11-17  Jim Meyering  <meyering@lucent.com>
78039
78040         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
78041         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
78042         rather than group writable.  Patch by Juan F. Codagnone.
78043
78044         * lib/readtokens.c: Remove explicit declarations of xmalloc and
78045         xrealloc, Instead, include "xalloc.h".
78046
78047         * lib/mountlist.c: Include unlocked-io.h after all system headers.
78048         Remove explicit declarations of xmalloc, xrealloc,
78049         and xstrdup.  Instead, include "xalloc.h".
78050
78051         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
78052         unlocked-io.h.
78053         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
78054         Likewise.
78055         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
78056
78057         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
78058         Reported by Padraig Brady.
78059
78060         * lib/mkstemp.c: #undef mkstemp.
78061         Include config.h.
78062         (rpl_mkstemp): Rename from mkstemp.
78063         Protoize.
78064
78065 2001-11-16  Jim Meyering  <meyering@lucent.com>
78066
78067         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
78068         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
78069         determine the amount of total physical memory, use pstat_getstatic.
78070         HPUX-11 doesn't define _SC_PHYS_PAGES.
78071         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
78072         If sysconf couldn't be used to determine the amount of available
78073         physical memory, use both pstat_getstatic and pstat_getdynamic.
78074         Based on a patch from Bob Proulx.
78075
78076 2001-11-10  Jim Meyering  <meyering@lucent.com>
78077
78078         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
78079         (jm_PREREQ): Use it.
78080
78081 2001-11-09  Jim Meyering  <meyering@lucent.com>
78082
78083         * m4/jm-macros.m4: Require autoconf-2.52f.
78084         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
78085         Use these AC_-prefixed names, not the AM_-prefixed ones.
78086
78087         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
78088
78089 2001-11-05  Jim Meyering  <meyering@lucent.com>
78090
78091         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
78092
78093 2001-11-04  Jim Meyering  <meyering@lucent.com>
78094
78095         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
78096         $DEFS.
78097
78098 2001-11-03  Jim Meyering  <meyering@lucent.com>
78099
78100         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
78101         of AC_DEFUN.
78102
78103         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
78104         know the name of the variable in the macro definition.
78105
78106 2001-11-03  Jim Meyering  <meyering@lucent.com>
78107
78108         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
78109         in argmatch_to_argument call.
78110
78111         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
78112         argument.
78113
78114         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
78115         e.g., a fault due to an attempt to free a NULL pointer.
78116
78117 2001-11-01  Jim Meyering  <meyering@lucent.com>
78118
78119         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
78120         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
78121
78122 2001-11-01  Jim Meyering  <meyering@lucent.com>
78123
78124         * lib/dirfd.c, lib/dirfd.h: New files.
78125         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
78126
78127         * lib/hash.c (hash_print) [TESTING]: Clean up.
78128
78129 2001-10-22  Paul Eggert  <eggert@twinsun.com>
78130
78131         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
78132         to avoid a warning if -Wall.
78133
78134 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
78135
78136         * README: New file
78137         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
78138         (per RMS's instructions, this is now the canonical source)
78139         * lgpl/, gpl/: New directories.
78140
78141 2001-10-21  Paul Eggert  <eggert@twinsun.com>
78142
78143         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
78144
78145 2001-10-21  Jim Meyering  <meyering@lucent.com>
78146
78147         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
78148         this code would end up calling gettext even in packages built
78149         with --disable-nls.
78150         * lib/getopt.c (_): Likewise.
78151         * lib/regex.c (_): Likewise.
78152
78153 2001-10-20  Paul Eggert  <eggert@twinsun.com>
78154
78155         * m4/error.m4 (jm_PREREQ_ERROR):
78156         Do not invoke AC_CHECK_FUNCS with strerror_r, as
78157         AC_FUNC_STRERROR_R does that.
78158         Check for strerror declaration.
78159
78160         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
78161         are supposed to have them these days.
78162         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
78163         Merge changes from latest Autoconf CVS.
78164         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
78165         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
78166         POSIX decided to standardize on the int flavor of strerror_r.
78167
78168 2001-10-20  Paul Eggert  <eggert@twinsun.com>
78169
78170         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
78171         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
78172         Use strerror_r that is only a macro, even if it is not a function.
78173         (strerror): Check for HAVE_DECL_STRERROR before declaring.
78174         (private_strerror): Use prototypes, not old-style function definition.
78175         (print_errno_message): New function.
78176         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
78177         char*-flavored one.
78178         (error_tail, error, error_at_line): Use it.
78179
78180 2001-10-11  Jim Meyering  <meyering@lucent.com>
78181
78182         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
78183         and quote_n (1, ... to avoid clobbering a buffer.
78184
78185 2001-10-05  Jim Meyering  <meyering@lucent.com>
78186
78187         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
78188         hash-pjw.h.
78189         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
78190         * lib/hash-pjw.h: New file.
78191
78192 2001-09-30  Jim Meyering  <meyering@lucent.com>
78193
78194         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
78195         `struct fsstat' has the `f_fstypename' member.
78196         Use that to define FS_TYPE, which is now used to make
78197         the getfsstat link test tighter.
78198
78199 2001-09-30  Jim Meyering  <meyering@lucent.com>
78200
78201         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
78202         Include <sys/ucred.h>, for Apple Darwin.
78203         Include sys/mount.h and sys/fs_types.h only if available.
78204         (FS_TYPE): Define.
78205         (read_filesystem_list): Use FS_TYPE.
78206
78207 2001-09-29  Paul Eggert  <eggert@twinsun.com>
78208
78209         * lib/exclude.c (excluded_filename): 0 -> false, since it's
78210         a boolean context.
78211
78212 2001-09-29  Jim Meyering  <meyering@lucent.com>
78213
78214         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
78215         [one-argument getmntent function]): Include stdio.h before mntent.h.
78216         SunOS 4.1.x needs it for the declaration of `FILE'.
78217         Patch by Volker Borchert.
78218
78219         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
78220         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
78221         sys/fs_types.h, and make the link-test for getfsstat guard #include
78222         directives with appropriate #if HAVE_*_H tests so that we can
78223         detect getfsstat on Apple Darwin1.3.7 systems.
78224         Reported by Nelson Beebe.
78225         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
78226
78227 2001-09-28  Paul Eggert  <eggert@twinsun.com>
78228
78229         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
78230         #defines strtoimax.  Also treat the other strto* functions
78231         like strtoimax.
78232
78233         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
78234         Check for strtoul and strtoumax,
78235         as those declarations are made even in the signed case.
78236         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
78237         Likewise, for strtol and strtoimax.
78238
78239 2001-09-28  Paul Eggert  <eggert@twinsun.com>
78240
78241         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
78242         #defines strtoimax.  Also treat the other strto* functions
78243         like strtoimax.
78244
78245         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
78246         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
78247         (strtoimax, strtoumax): Do not declare if already defined as a macro.
78248
78249 2001-09-26  Jim Meyering  <meyering@lucent.com>
78250
78251         Most macros in unlocked-io.h had the wrong number of arguments.
78252         * lib/gen-uio: New script.
78253         (USE_UNLOCKED_IO): Define to 1 if not already defined.
78254         * lib/unlocked-io.hin: Remove file.
78255         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
78256         rather than trying to embed it here.
78257         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
78258         Reported by Padraig Brady.
78259
78260 2001-09-25  Volker Borchert  <bt@teknon.de>
78261
78262         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
78263         `result'.
78264
78265 2001-09-24  Jim Meyering  <meyering@lucent.com>
78266
78267         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
78268
78269 2001-09-23  Jim Meyering  <meyering@lucent.com>
78270
78271         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
78272         instead of the mere test for existence of mntent.h.  The latter
78273         would get a false-positive on AIX 3.4 systems.
78274         In the outer getmntent if-block, don't die if neither of the getmntent
78275         tests succeeds.  Instead, just fall through and continue with the
78276         remaining tests.
78277
78278 2001-09-23  Jim Meyering  <meyering@lucent.com>
78279
78280         * lib/mountlist.c: Remove useless parentheses in #if directives.
78281         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
78282         the deprecated MOUNTED symbol is no longer defined in mntent.h.
78283
78284 2001-09-22  Jim Meyering  <meyering@lucent.com>
78285
78286         * m4/gettext.m4: New file.  From gettext.
78287         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
78288         * m4/progtest.m4: Likewise
78289         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
78290         * m4/glibc21.m4: Likewise.
78291
78292         * m4/libintl.m4: Remove.  No longer used.
78293
78294 2001-09-22  Jim Meyering  <meyering@lucent.com>
78295
78296         * lib/localcharset.c: Update from latest gettext.
78297         * lib/config.charset: Likewise.
78298
78299 2001-09-20  Jim Meyering  <meyering@lucent.com>
78300
78301         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
78302         strtoimax.
78303         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
78304         strtoumax.
78305
78306 2001-09-20  Jim Meyering  <meyering@lucent.com>
78307
78308         * lib/xstrtol.c (strtoimax): Guard declaration with
78309         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
78310         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
78311         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
78312         (strtoumax): Likewise, for completeness (it wasn't necessary).
78313
78314 2001-09-17  Paul Eggert  <eggert@twinsun.com>
78315
78316         * lib/strtoimax.c (HAVE_LONG_LONG):
78317         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
78318         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
78319         to work around bug in IBM C compiler.
78320
78321 2001-09-17  Jim Meyering  <meyering@lucent.com>
78322
78323         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
78324         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
78325         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
78326         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
78327         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
78328         whenever the right hand side need not be expanded by the shell.
78329
78330 2001-09-16  Paul Eggert  <eggert@twinsun.com>
78331
78332         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
78333         library.  It's not correct, as some older glibcs are buggy.
78334         fnmatch wasn't fixed until glibc 2.2.
78335
78336         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
78337         special shell magic here.
78338
78339 2001-09-16  Jim Meyering  <meyering@lucent.com>
78340
78341         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
78342         * m4/jm-macros.m4: Require it.
78343
78344 2001-09-16  Jim Meyering  <meyering@lucent.com>
78345
78346         * lib/mkdir.c: New file.
78347
78348 2001-09-15  Jim Meyering  <meyering@lucent.com>
78349
78350         * m4/jm-macros.m4: Check for help2man.
78351
78352 2001-09-11  Jim Meyering  <meyering@lucent.com>
78353
78354         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
78355         The body, by Paul Eggert, was moved here from configure.in.
78356         * m4/jm-macros.m4: Require UTILS_HOST_OS.
78357
78358 2001-09-04  Paul Eggert  <eggert@twinsun.com>
78359
78360         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
78361         (jm_PREREQ): Use it.
78362
78363 2001-09-04  Paul Eggert  <eggert@twinsun.com>
78364
78365         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
78366         Use ssize_t, not int, to store result of readlink.
78367         Check for ssize_t overflow as well as size_t overflow,
78368         as POSIX says the result of readlink is implementation-defined
78369         when ssize_t overflows.
78370         Remove unnecessary cast to char*.
78371         Use free+malloc instead of realloc, as the storage doesn't need
78372         to be preserved and it's clearer and can be more efficient that way.
78373         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
78374         * lib/xreadlink.h (xreadlink): Update prototype.
78375
78376 2001-09-04  Paul Eggert  <eggert@twinsun.com>
78377
78378         * lib/xgetcwd.c: Revert some of the previous change; intead,
78379         fix the HAVE_GETCWD_NULL code to behave more like the
78380         !HAVE_GETCWD_NULL code used to.
78381
78382         Include "xalloc.h".
78383         (xgetcwd): Do not return NULL when memory is exhausted; instead,
78384         invoke xalloc_die.
78385
78386 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78387
78388         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
78389         sys/param.h, as pathmax.h includes them.
78390
78391 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78392
78393         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
78394         (jm_PREREQ_XGETCWD): New macro.
78395
78396         * m4/getcwd.m4: New file.
78397
78398 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78399
78400         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
78401         like the HAVE_GETCWD_NULL code.
78402         Include pathmax.h if not HAVE_GETCWD.
78403         Do not include xalloc.h.
78404         (INITIAL_BUFFER_SIZE): New symbol.
78405         Do not use xmalloc / xrealloc, since the caller is responsible for
78406         handling errors.  Preserve errno around `free' during failure.
78407         Do not overrun buffer when using getwd.
78408
78409 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78410
78411         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
78412         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
78413         getcwd (NULL, 0).
78414
78415 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78416
78417         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
78418         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
78419         spotted by Jim Meyering.
78420
78421 2001-09-03  Jim Meyering  <meyering@lucent.com>
78422
78423         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
78424         failure.
78425
78426 2001-09-02  Jim Meyering  <meyering@lucent.com>
78427
78428         * lib/error.c: Update from GNU libc.
78429
78430 2001-09-01  Jim Meyering  <meyering@lucent.com>
78431
78432         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
78433         Used by df.
78434
78435 2001-09-01  Jim Meyering  <meyering@lucent.com>
78436
78437         * lib/xreadlink.c: New file.
78438         * lib/xreadlink.h: New file.
78439         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
78440         xreadlink.h.
78441
78442         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
78443         doesn't conflict with sparc Solaris 7's definition in
78444         /usr/include/sys/int_types.h.
78445
78446         * lib/exclude.c: Use `""', not `<>' to #include non-system header
78447         files.
78448         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
78449         and strncasecmp as r-values.  Unixware didn't have declarations.
78450
78451 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78452
78453         * lib/xstrtol.h: Add copyright notice.
78454         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
78455         LONGINT_INVALID_SUFFIX_CHAR.
78456
78457 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78458
78459         * lib/xstrtol.c (strtoimax): New decl.
78460
78461 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78462
78463         * lib/xgetcwd.c: Don't include pathmax.h.
78464         Include stdlib.h and unistd.h if available.
78465         Include xalloc.h.
78466         (xmalloc, xstrdup, free): Remove decls.
78467         (xgetcwd): Don't assume sizes fit in unsigned.
78468         Check for overflow when computing sizes.
78469         Simplify reallocation code.
78470
78471 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78472
78473         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
78474         a directory's st_size can have an arbitrary value, so the old
78475         usage could waste an arbitrary amount of memory.  All uses
78476         changed.
78477         * lib/savedir.h: Update prototype.
78478
78479 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78480
78481         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
78482
78483         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
78484         old strtoimax.c.
78485
78486         Also, make the following further changes to make this file's
78487         configuration more similar to that of strtol.c:
78488         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
78489         (strtoumax, uintmax_t, strtoull, strtol): Remove.
78490         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
78491         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
78492         changed to signed values.
78493
78494         And make the following changes as well:
78495         Fix copyright notice, as 1999 was missing.
78496         (verify): New macro.
78497         (strtoimax): Check sizes at compile-time, not run-time.
78498         Prefer strtol to strtoll if both work.
78499         (main): Remove; it was not that useful and was a pain to maintain.
78500
78501         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
78502
78503 2001-08-31  Jim Meyering  <meyering@lucent.com>
78504
78505         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
78506         Use an initial, malloc'd, buffer of length 128 rather than
78507         a statically allocated one of length 1024.
78508
78509 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78510
78511         Simplify code, partly by assuming autoconf 2.52 semantics.
78512
78513         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
78514
78515         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
78516         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
78517         All uses removed.
78518         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
78519         Move AC_REQUIRE to next-to-top level, to avoid confusion.
78520         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
78521         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
78522         jm_AC_HEADER_INTTYPES_H.
78523         * m4/jm-macros.m4 (jm_MACROS): Likewise.
78524
78525         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
78526
78527         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
78528         Quote first arg of AC_DEFUN.
78529         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
78530         since they are needed to parse the include file even if we need
78531         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
78532         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
78533         but with opposite signedness.
78534
78535 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78536
78537         Merge 'exclude' changes from tar 1.13.22.
78538         This fixes one or two unlikely storage allocation overflow bugs,
78539         but doesn't change user-visible behavior otherwise.
78540
78541 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78542
78543         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
78544         (jm_PREREQ_EXCLUDE): New macro.
78545
78546 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78547
78548         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
78549         tm to be declared.
78550
78551 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78552
78553         * lib/hash.c: Remove '2001' from copyright notice.
78554
78555 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78556
78557         * lib/full-write.h: New file.
78558         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
78559         * lib/full-write.c: Correct credits, as cccp.c no longer
78560         exists and anyway it was so heavily changed from the old cccp
78561         code as to be unrecognizable.  Include full-write.h.
78562         (full_write): Return size_t, with short writes meaning failure.
78563         All callers changed.  This fixes a bug with large buffers
78564         on 64-bit hosts.
78565         * lib/utime.c: Include full-write.h.
78566
78567 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78568
78569         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
78570         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
78571         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
78572         Include if available.
78573         (<xalloc.h>): Include
78574         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
78575         (verify): New macro.  Use it to verify that EXCLUDE macros do not
78576         collide with FNM macros.
78577         (struct patopts): New struct.
78578         (struct exclude): Use it, as exclude patterns now come with options.
78579         (new_exclude): Support above changes.
78580         (new_exclude, add_exclude_file):
78581         Initial size must now be a power of two to simplify overflow checking.
78582         (free_exclude, fnmatch_no_wildcards): New function.
78583         (excluded_filename): No longer requires options arg, as the options
78584         are determined by add_exclude.  Now returns bool, not int.
78585         (excluded_filename, add_exclude):
78586         Add support for the fancy new exclusion options.
78587         (add_exclude, add_exclude_file): Now takes int options arg.
78588         Check for arithmetic overflow when computing sizes.
78589         (add_exclude_file): xrealloc might modify errno, so don't
78590         realloc until after errno might be used.
78591
78592         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
78593         New macros.
78594         (free_exclude): New decl.
78595         (add_exclude, add_exclude_file): Now takes int options arg.
78596         (excluded_filename): No longer requires options arg, as the options
78597         are determined by add_exclude.  Now returns bool, not int.
78598
78599 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78600
78601         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
78602
78603 2001-08-27  Jim Meyering  <meyering@lucent.com>
78604
78605         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
78606
78607         * lib/version-etc.c (N_): Remove definition.
78608         Revert most of last change.
78609         Instead, simply don't mark the `Copyright...' string for translation.
78610         Based on advice from Paul Eggert.
78611
78612         * lib/strtoxmax.c: Tweak comment.
78613
78614 2001-08-26  Jim Meyering  <meyering@lucent.com>
78615
78616         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
78617
78618         * m4/xstrtoimax.m4: New file.
78619         * m4/xstrtoumax.m4: Add comments explaining why we
78620         AC_REPLACE_FUNCS(strtol).
78621
78622 2001-08-26  Jim Meyering  <meyering@lucent.com>
78623
78624         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
78625         of copyright with `%s' so translators don't get an untranslated
78626         message in 2002.
78627         (COPYRIGHT_YEAR): Define.
78628         (version_etc): Use fprintf rather than fputs.
78629         Suggestion from Ulrich Drepper.
78630
78631         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
78632
78633         * lib/strtoll.c: New file, from GNU libc.
78634         * lib/xstrtoimax.c: New file.
78635
78636         * lib/xstrtol.h: Add xstrtoimax.
78637         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
78638         * lib/strtoimax.c: New file.  Likewise, but first define
78639         STRTOUXMAX_SIGNED.
78640
78641         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
78642         ...
78643         * lib/strtoxmax.c: ... then renamed to this.
78644
78645 2001-08-18  Paul Eggert  <eggert@twinsun.com>
78646
78647         * m4/inttypes.m4: Add AC_PREREQ(2.13).
78648         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
78649         (jm_AC_TYPE_INTMAX_T): New macro.
78650         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
78651
78652         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
78653
78654         * m4/longlong.m4: Renamed from ulonglong.m4.
78655         * m4/inttypes.m4: Renamed from inttypes_h.m4.
78656         * m4/uintmax_t.m4: Removed.
78657
78658 2001-08-13  Paul Eggert  <eggert@twinsun.com>
78659
78660         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
78661         Port to Solaris 8, where 'sed' requires a space after the 'r'
78662         command, and where sh dislikes "$/".  Clean up the spacing a bit.
78663         Redirect output to $tmp just once.
78664
78665 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
78666
78667         * lib/addext.c (<errno.h>): Include.
78668         (errno): Declare if not defined.
78669         (addext): Work correctly when pathconf returns -1 and leaves
78670         errno alone because there is no limit.  Also, work even if
78671         pathconf returns a value greater than SIZE_MAX.
78672
78673 2001-08-12  Jim Meyering  <meyering@lucent.com>
78674
78675         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
78676         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
78677         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
78678         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
78679         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
78680         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
78681         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
78682         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
78683         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
78684         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
78685         utime.m4, utimes.m4, xstrtoumax.m4:
78686         Quote the first argument in each use of AC_DEFUN.
78687
78688 2001-08-12  Jim Meyering  <meyering@lucent.com>
78689
78690         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
78691         Simply `return getcwd (NULL, 0);'.
78692         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
78693         Use 1300 as initial value for length, not PATH_MAX.
78694
78695         * lib/pathmax.h: Clean up cpp syntax.
78696
78697 2001-08-12  Jim Meyering  <meyering@lucent.com>
78698
78699         * lib/gettimeofday.c: New file.
78700         * lib/gtod.h: New file.
78701         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
78702
78703 2001-08-05  Jim Meyering  <meyering@lucent.com>
78704
78705         * m4/jm-macros.m4: Require autoconf-2.52.
78706
78707 2001-08-04  Jim Meyering  <meyering@lucent.com>
78708
78709         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
78710         stmt, to get in sync with glibc.
78711
78712 2001-08-03  Paul Eggert  <eggert@twinsun.com>
78713
78714         The following changes are from gettext 0.10.39 as maintained by
78715         Bruno Haible.
78716
78717         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
78718         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
78719         with inverted sense.  All uses changed.
78720
78721         * lib/mbswidth.c: Don't include <limits.h>.
78722         Include <stdlib.h> and <string.h> unconditionally.
78723         (iswcntrl, mbsinit, ISCNTRL): New macros.
78724         (mbsnwidth): Use K&R style function declarations.
78725         Don't bother checking for MB_LEN_MAX == 1, since the compiler
78726         can optimize it when MB_CUR_MAX == 1.
78727         The width of control characters is zero, not 1.
78728
78729 2001-08-03  Paul Eggert  <eggert@twinsun.com>
78730
78731         The following changes are from gettext 0.10.39 as maintained by
78732         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
78733
78734         * m4/codeset.m4: Upgrade to serial AM1.
78735         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
78736         all uses changed.  Quote first arg of AC_DEFUN.
78737         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
78738
78739         * m4/iconv.m4: Upgrade to serial AM2.
78740         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
78741         Add --with-libconv-prefix.
78742         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
78743         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
78744         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
78745         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
78746         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
78747
78748         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
78749         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
78750         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
78751         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
78752         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
78753         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
78754         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
78755         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
78756         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
78757
78758         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
78759         string.h any more.
78760
78761         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
78762         not the default value.
78763
78764         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
78765         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
78766         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
78767         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
78768         Also check for iswcntrl, used for wcwidth fallback.
78769         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
78770         to Autoconf 2.13.
78771
78772 2001-08-03  Jim Meyering  <meyering@lucent.com>
78773
78774         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
78775         as it was in the original.  Reported by Paul Eggert.
78776
78777 2001-07-16  Jim Meyering  <meyering@lucent.com>
78778
78779         * m4/gettimeofday.m4: New file.
78780         Prompted by a report from Bernhard Baehr.
78781
78782 2001-07-15  Jim Meyering  <meyering@lucent.com>
78783
78784         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
78785         stuff. Now it's in ../Makefile.cfg.
78786
78787 2001-07-15  Jim Meyering  <meyering@lucent.com>
78788
78789         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
78790         (BUILT_SOURCES): Add unlocked-io.h.
78791         (io_functions): Define.
78792         (unlocked-io.h): New rule.
78793         (DISTCLEANFILES): Add unlocked-io.h.
78794         (all-local): Depend on unlocked-io.h, to ensure it is created.
78795
78796         * lib/unlocked-io.hin: New file
78797
78798         * lib/regex.c: Update from glibc.
78799
78800 2001-07-05  Jim Meyering  <meyering@lucent.com>
78801
78802         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
78803         recommendation.
78804         (libfetish_a_SOURCES): Put all .h files here instead.
78805         Remove a thus-exposed (better checks in automake) duplicate and
78806         two unnecessary .h files.
78807
78808 2001-07-04  Jim Meyering  <meyering@lucent.com>
78809
78810         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
78811         that generates jm-glibc-io.m4 so that it doesn't trigger any make
78812         distcheck failure.
78813
78814 2001-07-02  Jim Meyering  <meyering@lucent.com>
78815
78816         The following changes were prompted by suggestions from Bruno Haible.
78817
78818         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
78819         is now generated.
78820         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
78821         definition of EXTRA_DIST.
78822         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
78823         ensure that the generated file is created/updated whenever the list
78824         of $(unlocked_functions) is changed.
78825         (jm-glibc-io.m4): New rule.
78826         (unlocked-io.h): New rule -- currently unused.
78827
78828 2001-06-24  Jim Meyering  <meyering@lucent.com>
78829
78830         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
78831         unmatched right bracket, rather than kludging it with an extra,
78832         falsely-matching quote in a comment.  Patch by Akim Demaille.
78833
78834 2001-06-11  Jim Meyering  <meyering@lucent.com>
78835
78836         * lib/regex.c: Update from GNU libc.
78837
78838 2001-05-27  Jim Meyering  <meyering@lucent.com>
78839
78840         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
78841         Check for ut_type in struct utmp.
78842
78843 2001-05-27  Jim Meyering  <meyering@lucent.com>
78844
78845         * lib/readutmp.h (UT_TYPE): Define.
78846
78847 2001-05-24  Jim Meyering  <meyering@lucent.com>
78848
78849         * lib/argmatch.c: Include "quote.h".
78850         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
78851         quote function.  Reported by Göran Uddeborg.
78852
78853 2001-05-22  Jim Meyering  <meyering@lucent.com>
78854
78855         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
78856         now that we use the package-supplied version unconditionally.
78857         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
78858
78859 2001-05-21  Jim Meyering  <meyering@lucent.com>
78860
78861         * m4/regex.m4: Change a couple backticks to single quotes to avoid
78862         shell syntax errors.
78863
78864 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
78865
78866         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
78867
78868 2001-05-20  Paul Eggert  <eggert@twinsun.com>
78869
78870         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
78871         Don't bother to check library strftime, since
78872         we'll be using our own my_strftime function anyway.
78873         Define my_strftime instead of strftime.
78874
78875 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
78876
78877         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
78878         which is not yet declared.
78879
78880 2001-05-15  Jim Meyering  <meyering@lucent.com>
78881
78882         * m4/regex.m4: Use proper quoting so brackets appear in the test
78883         program.
78884         Reported by, and with help from, Bruno Haible.
78885
78886 2001-05-13  Jim Meyering  <meyering@lucent.com>
78887
78888         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
78889         undefined.
78890
78891 2001-05-11  Paul Eggert  <eggert@twinsun.com>
78892
78893         dirname code cleanup.  base_name now behaves more compatibly
78894         with POSIX basename when given file names that have trailing
78895         slashes, and similarly for dir_name.  Add new primitives
78896         base_len and dir_len.  Put the directory-name-related decls
78897         into dirname.h.
78898
78899         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
78900         * lib/backupfile.c (base_name): Likewise.
78901         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
78902         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
78903         * lib/makepath.c (strip_trailing_slashes): Likewise.
78904         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
78905         ISSLASH): Likewise.
78906         * lib/rename.c (strip_trailing_slashes): Likewise.
78907         * lib/same.c (base_name): Likewise.
78908         * lib/stripslash.c (ISSLASH): Likewise.
78909
78910         * lib/addext.c: Include <dirname.h> after size_t is defined.
78911         * lib/backupfile.c: Likewise.
78912
78913         * lib/addext.c (addext): Use base_len to trim redundant
78914         trailing slashes instead of doing it ourselves.
78915         But do not trim the last slash if it is not redundant.
78916
78917         * lib/backupfile.c (find_backup_file_name,
78918         max_backup_version): Use base_len instead of rolling it ourselves.
78919         Handle the case of "" and (on DOS) "C:" correctly.
78920
78921         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
78922         needed. Include <string.h>, <dirname.h>.
78923         (base_name): Allow file names ending in slashes, other than names
78924         that are all slashes.  In this case, return the basename followed
78925         by the slashes.  This is more general, and can be used in places
78926         where the original base_name purposely had an assertion failure.
78927         (base_len): New function.
78928
78929         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
78930         Do not include <assert.h>; no longer needed.
78931         Include xalloc.h.
78932         (memrchr): Remove decl.
78933         (dir_name_r): Remove.
78934         (dir_len): Renamed from dirlen.  All callers changed.
78935         Rewrite in terms of base_name, for simplicity and consistency.
78936         (dir_name): Never return NULL.  All callers changed.
78937         Do not include <stdlib.h> in test program; no longer needed.
78938         return 0; is fine for test program.
78939
78940         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
78941         New macros.
78942         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
78943
78944         * lib/path-concat.c (path_concat): Use base_len to compute
78945         base length, not strlen; this means we cannot rely on memcpy
78946         to null-terminate.
78947
78948         * lib/same.c (STREQ): Remove.
78949         (same_name): Handle the case where the basename ends in trailing '/'.
78950
78951         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
78952         a slash was stripped.  Do not strip the last slash after a
78953         file system prefix.
78954
78955 2001-05-11  Paul Eggert  <eggert@twinsun.com>
78956
78957         * lib/Makefile.am (libfetish_a_SOURCES):
78958         Add strftime.c, since we now compile it on all hosts.
78959
78960         * lib/strftime.c (my_strftime):
78961         Define to nstrftime if emacs, but only if my_strftime is not defined.
78962         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
78963         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
78964         Add one more extra argument: a nanoseconds value.
78965         All uses changed.
78966         (ns): New macro.
78967         (my_strftime function): Add %N format.
78968         (emacs_strftimeu): Renamed from emacs_strftime,
78969         with extra ut argument.
78970
78971 2001-05-09  Paul Eggert  <eggert@twinsun.com>
78972
78973         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
78974
78975 2001-04-21  Jim Meyering  <meyering@lucent.com>
78976
78977         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
78978         doesn't interfere.
78979
78980 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
78981
78982         * m4/ftruncate.m4: Check for chsize.
78983         Link with ftruncate.o unconditionally if ftruncate is missing.
78984         This was required when cross-compiling to i586-mingw32msvc.
78985
78986 2001-04-08  Jim Meyering  <meyering@lucent.com>
78987
78988         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
78989         recomputed; that's necessary when the offset spans a DST transition.
78990         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
78991
78992 2001-04-02  Jim Meyering  <meyering@lucent.com>
78993
78994         * lib/regex.h, regex.c: Update from GNU libc.
78995
78996 2001-03-24  Jim Meyering  <meyering@lucent.com>
78997
78998         * m4/jm-macros.m4: Require autoconf-2.49d.
78999
79000 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
79001
79002         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
79003
79004 2001-03-19  Paul Eggert  <eggert@twinsun.com>
79005
79006         * lib/version-etc.c (version_etc_copyright): Update to 2001.
79007
79008 2001-03-17  Jim Meyering  <meyering@lucent.com>
79009
79010         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
79011         now that the version in autoconf is equivalent.
79012         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
79013
79014         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
79015         Suggestion from Akim Demaille.
79016
79017         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
79018         (jm_PREREQ_TEMPNAME): New function.
79019
79020 2001-03-16  Paul Eggert  <eggert@twinsun.com>
79021
79022         * lib/tempname.c (uint64_t): Define to uintmax_t if
79023         not defined, and if UINT64_MAX is not defined.
79024         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
79025         Reported by John David Anglin.
79026
79027 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
79028
79029         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
79030         resolve alias if codeset is empty.
79031         * lib/config.charset (BeOS): Use wildcard syntax.
79032
79033 2001-03-13  Jim Meyering  <meyering@lucent.com>
79034
79035         * lib/path-concat.c (path_concat)
79036         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
79037         concatenating e.g., `C:' and `foo'.
79038         From Bruno Haible.
79039
79040 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
79041
79042         * lib/localcharset.c (locale_charset): Don't use
79043         setlocale(LC_CTYPE,NULL). Don't return NULL.
79044         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
79045
79046 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
79047
79048         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
79049         support for DOS/DJGPP.
79050
79051 2001-03-01  Paul Eggert  <eggert@twinsun.com>
79052
79053         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
79054         lacks mkstemp.  Compile our own tempname.c if we compile our own
79055         mkstemp.c, as mkstemp relies on tempname.
79056
79057 2001-03-01  Jim Meyering  <meyering@lucent.com>
79058
79059         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
79060         AH_VERBATIM really does output its argument verbatim.
79061
79062 2001-02-28  Paul Eggert  <eggert@twinsun.com>
79063
79064         * lib/Makefile.am (libfetish_a_SOURCES):
79065         Add dup-safer.c, fopen-safer.c.
79066         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
79067
79068         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
79069         * lib/unistd-safer.h: New files.
79070
79071 2001-02-25  Paul Eggert  <eggert@twinsun.com>
79072
79073         The mkstemp replacement is taken from glibc 2.2.2, with some
79074         portability fixes for use outside glibc, as follows:
79075
79076         * lib/tempname.c (struct_stat64): New macro.
79077         (direxists, __gen_tempname): Use it.
79078         This avoids a portability problem with Solaris 8.
79079
79080         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
79081         (<stddef.h>, <stdint.h>, <string.h>):
79082         Include only if STDC_HEADERS || _LIBC.
79083         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
79084         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
79085         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
79086         (__set_errno): Define this macro if <errno.h> doesn't.
79087         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
79088         Define these macros if <stdio.h> doesn't.
79089         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
79090         Define these macros if <sys/stat.h>
79091         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
79092         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
79093         __xstat64): Define if not _LIBC.
79094         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
79095         (__gen_tempname): Invoke gettimeofday only if
79096         HAVE_GETTIMEOFDAY || _LIBC;
79097         otherwise, fall back on plain "time".
79098         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
79099
79100         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
79101
79102         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
79103
79104 2001-02-18  Paul Eggert  <eggert@twinsun.com>
79105
79106         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
79107
79108 2001-02-17  Paul Eggert  <eggert@twinsun.com>
79109
79110         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
79111         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
79112         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
79113         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
79114
79115 2001-02-17  Paul Eggert  <eggert@twinsun.com>
79116
79117         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
79118         Remove workaround macros for hosts that have mbrtowc but not
79119         mbstate_t, as we now insist on proper declarations for both
79120         before using mbrtowc.
79121
79122 2001-02-17  Jim Meyering  <meyering@lucent.com>
79123
79124         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
79125         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
79126         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
79127         UnixWare 7.1.1.
79128
79129         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
79130         rather than AC_CACHE_VAL.
79131
79132 2001-02-17  Jim Meyering  <meyering@lucent.com>
79133
79134         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
79135         around included file name.
79136
79137         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
79138
79139         * lib/strftime.c: Update from GNU libc (the only changes were to
79140         comments).
79141
79142 2001-02-17  Jim Meyering  <meyering@lucent.com>
79143
79144         * lib/regex.c: Update from libc.
79145
79146 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
79147
79148         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
79149         clash.
79150
79151 2001-02-16  Paul Eggert  <eggert@twinsun.com>
79152
79153         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
79154         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
79155         Reported by Mark Hounschell via Paul Eggert.
79156
79157 2001-02-07  Jim Meyering  <meyering@lucent.com>
79158
79159         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
79160
79161 2001-02-05  Jim Meyering  <meyering@lucent.com>
79162
79163         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
79164         it includes the patch required for `large file' support with at least
79165         HP-UX's 10.20 /bin/cc.
79166
79167 2001-02-03  Jim Meyering  <meyering@lucent.com>
79168
79169         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
79170         AS_IF, now that it works once again (mysteriously).
79171         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
79172
79173 2001-01-30  Jim Meyering  <meyering@lucent.com>
79174
79175         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
79176         * m4/chown.m4: Rename conftestchown to conftest.chown.
79177         * m4/rename.m4: s/conftestdir/conftest.d1/ and
79178         s/conftestdir2/conftest.d2/.
79179         * m4/utimes.m4: s/conftestdata/conftest.data/
79180         Inspired by Pavel Roskin's change in autoconf.
79181
79182 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
79183
79184         * lib/config.charset: Update for FreeBSD 4.2.
79185
79186 2001-01-27  Jim Meyering  <meyering@lucent.com>
79187
79188         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
79189         a use of AS_IF.
79190         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
79191
79192 2001-01-26  Jim Meyering  <meyering@lucent.com>
79193
79194         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
79195         quotearg.c includes it.
79196
79197 2001-01-26  Jim Meyering  <meyering@lucent.com>
79198
79199         * lib/quotearg.c: Include stddef.h.
79200         * lib/quote.c: Include stddef.h.
79201         Reported by Axel Kittenberger.
79202
79203         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
79204         line in double quotes so that it evokes a better diagnostic.
79205         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
79206         Reported by Axel Kittenberger.
79207
79208 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
79209
79210         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
79211         as if it was a `charset'.
79212
79213 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
79214
79215         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
79216         has const.
79217
79218 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
79219
79220         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
79221         to avoid a warning.  Add back 'const' to inptr.
79222
79223 2001-01-20  Jim Meyering  <meyering@lucent.com>
79224
79225         Be sure that headers are checked before used in code compiled
79226         for the type checks.
79227         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
79228         In place of that, invoke jm_CHECK_ALL_TYPES.
79229         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
79230         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
79231         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
79232         The check for ssize_t was mistakenly run before the test for unistd.h.
79233
79234         The configure-time check for stdbool.h was missing.
79235         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
79236         (jm_PREREQ_HASH): New function.
79237
79238 2001-01-17  Jim Meyering  <meyering@lucent.com>
79239
79240         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
79241         for autoconf-2.49c.
79242         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
79243
79244 2001-01-16  Jim Meyering  <meyering@lucent.com>
79245
79246         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
79247         From Bruno Haible.
79248
79249 2001-01-14  Jim Meyering  <meyering@lucent.com>
79250
79251         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
79252         foo and bar.  Create conftestdir/ in the script, not in the C code.
79253         Remove directories in the script, not in the C code.
79254         Remove conftestdir{,2} before trying to create the directory.
79255         Make the entire configure script fail if the mkdir fails.
79256
79257 2001-01-14  Jim Meyering  <meyering@lucent.com>
79258
79259         * lib/rename.c: New file.  From Volker Borchert.
79260         Include stdlib.h, string.h or strings.h, and xalloc.h.
79261         Use strip_trailing_slashes rather than open-coding it.
79262
79263 2001-01-03  Paul Eggert  <eggert@twinsun.com>
79264
79265         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
79266
79267 2001-01-03  Jim Meyering  <meyering@lucent.com>
79268
79269         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
79270         of local `inptr' to avoid warning with some system declarations of
79271         iconv.
79272
79273 2001-01-02  Volker Borchert  <bt@teknon.de>
79274
79275         * m4/rename.m4: New file.
79276         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
79277
79278 2001-01-01  Jim Meyering  <meyering@lucent.com>
79279
79280         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
79281         even on systems with utmpx.h.  It's necessary for the declaration of
79282         utmp's ut_user member.  Reported by Andreas Jaeger.
79283
79284         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
79285         available. They are required for the declarations of getgrgid and
79286         getpwuid resp.
79287         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
79288         Reported by Andreas Jaeger.
79289
79290 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
79291
79292         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
79293         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
79294         so `make install' also works in VPATH builds.
79295
79296 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
79297
79298         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
79299         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
79300         can be used in subdirectories.
79301
79302 2000-12-29  Paul Eggert  <eggert@twinsun.com>
79303
79304         * lib/modechange.c: Do not assume that mode_t uses the
79305         traditional octal encoding.  E.g. "chmod 1 FOO" should set
79306         the other-execute bit of FOO even if S_IXOTH != 1.
79307
79308         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
79309         WOTH, XOTH, ALLM): New macros.
79310         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
79311          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
79312         Use them.
79313         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
79314         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
79315         (mode_compile):
79316         No need to use uintmax_t; unsigned long is long enough.
79317         Don't bother to get suffix since we don't use it.
79318
79319 2000-12-26  Jim Meyering  <meyering@lucent.com>
79320
79321         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
79322         better with autoheader.
79323
79324 2000-12-24  Jim Meyering  <meyering@lucent.com>
79325
79326         * lib/hash.c (is_prime): Return explicit boolean values.
79327         (hash_get_first): Return NULL to appease Irix5.6's 89.
79328         Reported by Nelson Beebe.
79329
79330 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
79331
79332         * lib/localcharset.c (locale_charset): Add support for Win32.
79333
79334 2000-12-18  Paul Eggert  <eggert@twinsun.com>
79335
79336         * lib/physmem.h, lib/physmem.c: New files.
79337
79338         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
79339         (noinst_HEADERS): Add physmem.h.
79340
79341         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
79342         't' for compatibility with Solaris 8 sort.
79343
79344 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
79345
79346         * lib/config.charset: Add support for BeOS.
79347
79348 2000-12-17  Jim Meyering  <meyering@lucent.com>
79349
79350         * m4/dos.m4 (jm_AC_DOS): New file and macro.
79351         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
79352
79353 2000-12-16  Jim Meyering  <meyering@lucent.com>
79354
79355         This bug had a serious impact on chown: `chown N:M FILE' (for integer
79356         N and M) would have treated it like `chown N:N FILE'.
79357
79358         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
79359
79360 2000-12-16  Jim Meyering  <meyering@lucent.com>
79361
79362         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
79363         SHELLS_FILE to a file name that's useful on djgpp systems.
79364         Include stdlib.h.
79365         (ADDITIONAL_DEFAULT_SHELLS): Define.
79366         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
79367         Based mostly on a patch from Prashant TR.
79368
79369 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
79370
79371         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
79372         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
79373         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
79374
79375 2000-12-08  Andreas Schwab  <schwab@suse.de>
79376
79377         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
79378         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
79379
79380 2000-12-07  Jim Meyering  <meyering@lucent.com>
79381
79382         * lib/stripslash.c (ISSLASH): Define.
79383         (strip_trailing_slashes): Use ISSLASH rather than comparing against
79384         `/'.
79385         From Prashant TR.
79386
79387         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
79388         (dir_name_r): Declare this function as static.
79389         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
79390         manifest itself on a name containing a mix of slashes and
79391         backslashes.
79392         Make this function work with names starting with a DOS-style
79393         drive letter and colon prefix.
79394         (dir_name): Append `.' if necessary.
79395         Based mostly on patches from Prashant TR and Eli Zaretskii.
79396
79397         * lib/dirname.h (dir_name_r): Remove prototype.
79398
79399 2000-12-06  Paul Eggert  <eggert@twinsun.com>
79400
79401         * m4/off_t-format.m4: Remove this file.
79402         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
79403
79404 2000-12-06  Jim Meyering  <meyering@lucent.com>
79405
79406         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
79407         replacement strtoull, we may well need the replacement strtoul, too.
79408         Check for declarations of strtoul and strtoull.
79409         Check for strtol.  Mainly as a cue to cause automake to include
79410         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
79411         Check for limits.h -- strtol.c needs it.
79412
79413 2000-12-05  Jim Meyering  <meyering@lucent.com>
79414
79415         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
79416
79417 2000-12-04  Jim Meyering  <meyering@lucent.com>
79418
79419         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
79420         Also include memory.h, stdlib.h, unistd.h if appropriate.
79421         Reported by Andreas Jaeger (conflicting declaration of malloc).
79422
79423 2000-12-02  Jim Meyering  <meyering@lucent.com>
79424
79425         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
79426         * m4/jm-macros.m4 (jm_MACROS): require it.
79427
79428 2000-12-02  Jim Meyering  <meyering@lucent.com>
79429
79430         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
79431
79432 2000-12-01  Paul Eggert  <eggert@twinsun.com>
79433
79434         * lib/memrchr.c: Include <config.h> before any system include file.
79435
79436 2000-11-30  Jim Meyering  <meyering@lucent.com>
79437
79438         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
79439
79440 2000-11-30  Jim Meyering  <meyering@lucent.com>
79441
79442         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
79443
79444 2000-11-29  Paul Eggert  <eggert@twinsun.com>
79445
79446         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
79447
79448 2000-11-26  Jim Meyering  <meyering@lucent.com>
79449
79450         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
79451
79452 2000-11-22  Paul Eggert  <eggert@twinsun.com>
79453
79454         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
79455         size of (size_t) -1; it's not portable.
79456
79457 2000-11-17  Jim Meyering  <meyering@lucent.com>
79458
79459         * lib/strstr.c: Update from GNU libc.
79460
79461 2000-11-17  Akim Demaille  <akim@epita.fr>
79462
79463         * lib/obstack.h: Formatting changes.
79464         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
79465         prevent type checking.
79466         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
79467         cast the value to (void *): assigning a `foo *' to a `void *'
79468         variable is valid.
79469         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
79470
79471 2000-11-16  Jim Meyering  <meyering@lucent.com>
79472
79473         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
79474
79475 2000-11-11  Jim Meyering  <meyering@lucent.com>
79476
79477         * lib/error.c: Add a couple #includes, merging from GNU libc version.
79478
79479 2000-11-10  Jim Meyering  <meyering@lucent.com>
79480
79481         * lib/obstack.h: Update from GNU libc.
79482         * lib/obstack.c: Likewise.
79483
79484 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
79485
79486         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
79487
79488 2000-11-06  Paul Eggert  <eggert@twinsun.com>
79489
79490         * lib/getusershell.c (setusershell): Use rewind rather than
79491         fseek/fseeko, to avoid configuration hassles with fseeko.
79492         Don't bother opening SHELLS_FILE if shellstream is NULL;
79493         it's not necessary.
79494
79495 2000-11-05  Jim Meyering  <meyering@lucent.com>
79496
79497         * lib/makepath.h (make_dir): Declare.
79498         * lib/makepath.c (make_dir): Remove `static' attribute.
79499         Tweak a comment.
79500
79501 2000-11-04  Jim Meyering  <meyering@lucent.com>
79502
79503         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
79504
79505 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
79506
79507         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
79508         last one in a bucket, advance to the next bucket.
79509
79510 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
79511
79512         * lib/fnmatch.c: Do not comment out all the code if we are using
79513         the GNU C library, because in some cases we are replacing buggy
79514         code in the GNU C library itself.
79515
79516 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
79517
79518         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
79519         (regex_compile): Catch bogus \(\1\).
79520
79521 2000-10-30  Paul Eggert  <eggert@twinsun.com>
79522
79523         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
79524         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
79525         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
79526
79527 2000-10-30  Paul Eggert  <eggert@twinsun.com>
79528
79529         * lib/error.h, getline.h, modechange.h:
79530         Remove "2000" from Copyright line, as the file hasn't been
79531         changed this year other than in the copyright notice.
79532
79533         * lib/xalloc.h: Add "2000" to Copyright line, as this file
79534         was changed this year.
79535
79536 2000-10-29  Jim Meyering  <meyering@lucent.com>
79537
79538         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
79539         renaming.
79540         * m4/ls-mntd-fs.m4: Likewise
79541
79542 2000-10-29  Jim Meyering  <meyering@lucent.com>
79543
79544         * lib/xstat.in: Fix grammar in comment.
79545
79546 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
79547
79548         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
79549         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
79550         doesn't define __restrict_arr.
79551
79552 2000-10-28  Jim Meyering  <meyering@lucent.com>
79553
79554         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
79555         (jm_PREREQ_MEMCHR): New function.
79556
79557 2000-10-28  Jim Meyering  <meyering@lucent.com>
79558
79559         * lib/memchr.c: Update from libc.
79560         Adjust for portability:
79561         [HAVE_STDLIB_H]: Include stdlib.h.
79562         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
79563         Undef __memchr, too.
79564         [!weak_alias]: Define __memchr to memchr.
79565
79566         * lib/regex.c: Update from libc.
79567         * lib/regex.h: Likewise.
79568         * lib/getopt1.c: Likewise.
79569         * lib/memcmp.c: Likewise.
79570
79571         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
79572         Avoid using fseek, when possible -- it's broken by design.
79573         Patch by Ulrich Drepper.
79574
79575 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
79576
79577         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
79578         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
79579         Giving in to popular pressure to shut up the compiler with casts.
79580
79581 2000-10-26  Jim Meyering  <meyering@lucent.com>
79582
79583         * lib/strftime.c: Update from libc.
79584
79585 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
79586
79587         * regex.c: More `unsigned char' -> `re_char' changes.
79588         Also change several `int' into `re_wchar_t'.
79589         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
79590         (PUSH_FAILURE_POINTER): Don't cast any more.
79591         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
79592         We want GCC to complain, since this piece of code makes
79593         re_match non-reentrant, which *should* be fixed.
79594         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
79595         (EXTEND_BUFFER): Use RETALLOC.
79596         (SET_LIST_BIT): Don't cast.
79597         (re_wchar_t): New type.
79598         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
79599         that those two functions will always properly return.
79600         (IMMEDIATE_QUIT_CHECK): Cast to void.
79601         (analyse_first): Use recursion rather than an explicit stack.
79602         (re_compile_fastmap): Can't fail anymore.
79603         (re_search_2): Don't check re_compile_fastmap for failure.
79604         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
79605         Now also sets the new value (passed in a new argument).
79606         (re_match_2_internal): Use it.
79607         Also, use a new var `reg' of type size_t when looping through regs
79608         rather than reuse the inappropriate `mcnt'.
79609
79610 2000-10-25  Jim Meyering  <meyering@lucent.com>
79611
79612         * lib/obstack.c: Update from libc.
79613
79614 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
79615
79616         * regex.c (regex_compile): Change the way of handling a range from
79617         a char less than 256 to a char not less than 256.
79618
79619 2000-10-24  Andrew Innes  <andrewi@gnu.org>
79620
79621         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
79622         NT-Emacs only.
79623         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
79624         so that re_search functions only quit when callers expect them to.
79625
79626 2000-10-23  Jim Meyering  <meyering@lucent.com>
79627
79628         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
79629         wrong.  That set_locale call must not have any side effects.
79630         From Paul Eggert.
79631
79632 2000-10-22  Jim Meyering  <meyering@lucent.com>
79633
79634         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
79635         [CYCLIC]: Remove now-unused definition.
79636
79637         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
79638         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
79639         Suggestion from Ulrich Drepper.
79640
79641 2000-10-21  Jim Meyering  <meyering@lucent.com>
79642
79643         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
79644         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
79645         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
79646
79647 2000-10-21  Jim Meyering  <meyering@lucent.com>
79648
79649         * lib/dirname.c (memrchr): Declare if necessary.
79650         (dir_name): Remove the restriction that there be no
79651         trailing slashes.  Now, this code skips past them, effectively
79652         ignoring them.
79653         [TEST_DIRNAME] (main): New unit tests.
79654
79655         * lib/memrchr.c: New file from GNU libc.
79656         Undef __memrchr, too.
79657         [!weak_alias]: Define __memrchr to memrchr.
79658         Guard weak_alias use with `#ifdef weak_alias'.
79659
79660 2000-10-21  Jim Meyering  <meyering@lucent.com>
79661
79662         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
79663         (dir_name): Use dir_name_r.
79664         * lib/dirname.h (dir_name_r): Declare it.
79665
79666 2000-10-17  Jim Meyering  <meyering@lucent.com>
79667
79668         * lib/quote.h (PARAMS): Define and use.
79669         Reported by Akim Demaille.
79670
79671         * lib/getopt.c: Update from libc.
79672
79673 2000-10-16  Jim Meyering  <meyering@lucent.com>
79674
79675         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
79676         setlocale.
79677         From Jan Fedak.
79678
79679 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
79680
79681         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
79682
79683 2000-09-25  Jim Meyering  <meyering@lucent.com>
79684
79685         * lib/md5.h (rol): Define (from GnuPG).
79686
79687         * lib/sha.c: Give credit (GnuPG) where due.
79688         (M): Use rol rather than open-coding it.
79689         Add a FIXME comment.
79690
79691 2000-09-21  Jim Meyering  <meyering@lucent.com>
79692
79693         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
79694         Reported by Michael Stone.
79695
79696 2000-09-20  Jim Meyering  <meyering@lucent.com>
79697
79698         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
79699         (noinst_HEADERS): Add sha.h.
79700         Based on code from Scott G. Miller and from GnuPG.
79701
79702 2000-09-18  Jim Meyering  <meyering@lucent.com>
79703
79704         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
79705         LIBS. Otherwise, everyone ends up linking with -lelf for some
79706         configurations.
79707         Reported by Mike Stone.
79708
79709 2000-09-15  Jim Meyering  <meyering@lucent.com>
79710
79711         * lib/regex.c: Update from libc.
79712
79713 2000-09-10  Jim Meyering  <meyering@lucent.com>
79714
79715         * lib/getopt.c (_getopt_internal): Update from glibc.
79716
79717 2000-09-09  Jim Meyering  <meyering@lucent.com>
79718
79719         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
79720         think it should be used as a general replacement for isascii.
79721         * lib/fnmatch.c: Likewise.
79722         * lib/mbswidth.c: Likewise
79723         * lib/regex.c: Likewise.
79724
79725         Don't use atoi.
79726         * lib/userspec.c: Include sys/param.h and limits.h.
79727         Include xstrtol.h.
79728         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
79729         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
79730         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
79731         UID, GID.  Check range.
79732
79733 2000-09-06  Jim Meyering  <meyering@lucent.com>
79734
79735         * lib/getopt.c (_getopt_internal): Update from glibc.
79736
79737 2000-08-30  Jim Meyering  <meyering@lucent.com>
79738
79739         * lib/strftime.c: Merge in changes from GNU libc.
79740
79741 2000-08-26  Jim Meyering  <meyering@lucent.com>
79742
79743         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
79744         * m4/fpending.m4: New file.
79745
79746 2000-08-26  Jim Meyering  <meyering@lucent.com>
79747
79748         * lib/closeout.c: Include "__fpending.h".
79749         (close_stdout_status): Return right away if there's nothing to flush.
79750
79751         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
79752         * lib/__fpending.c: New file.
79753         * lib/__fpending.h: New file.
79754
79755 2000-08-20  Jim Meyering  <meyering@lucent.com>
79756
79757         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
79758         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
79759         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
79760
79761 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
79762
79763         Improve fileutils installation on systems where running
79764         programs (like install) can't be unlinked.
79765         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
79766         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
79767
79768 2000-08-07  Paul Eggert  <eggert@twinsun.com>
79769
79770         Standardize on "memory exhausted" instead of "Memory exhausted"
79771         or "virtual memory exhausted".
79772         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
79773         "virtual memory exhausted".
79774         * lib/same.c (same_name): Invoke xalloc_die instead of printing
79775         our own message.
79776         * lib/userspec.c (parse_user_spec): Likewise.
79777         * lib/bumpalloc.h: comment fix
79778         * lib/same.c, userspec.c: Include xalloc.h.
79779
79780         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
79781         not char *const and pointing to a constant array.
79782         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
79783         (xrealloc): Comment fix.
79784
79785         * lib/userspec.c (parse_user_spec):
79786         Don't translate a message until just before returning,
79787         to avoid unnecessary translation.
79788
79789 2000-08-07  Jim Meyering  <meyering@lucent.com>
79790
79791         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
79792         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
79793         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
79794         getgroups.c, gethostname.c, getopt.h, group-member.c,
79795         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
79796         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
79797         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
79798         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
79799         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
79800         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
79801         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
79802         yesno.c: Back out Copyright date changes for each file with no change
79803         this year.  This eases coordination with other programs using the same
79804         source code modules.  From Paul Eggert.
79805
79806 2000-08-06  Paul Eggert  <eggert@twinsun.com>
79807
79808         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
79809         not char, for compatibility with glibc 2.1.3 strftime.c.
79810
79811 2000-08-03  Greg McGary  <greg@mcgary.org>
79812
79813         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
79814         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
79815         (EXTEND_BUFFER): Use them.
79816
79817 2000-08-01  Jim Meyering  <meyering@lucent.com>
79818
79819         * lib/dirname.c (ISSLASH): Define.
79820         (BACKSLASH_IS_PATH_SEPARATOR): Define.
79821         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
79822         both `\' and `/' may be use as path separators.
79823         Based on a patch from Prashant TR.
79824
79825 2000-07-31  Paul Eggert  <eggert@twinsun.com>
79826
79827         * lib/quotearg.c (quotearg_n_options): Don't make the initial
79828         slot vector a constant, since it might get modified.
79829
79830 2000-07-31  Jim Meyering  <meyering@lucent.com>
79831
79832         * lib/xmalloc.c: Use `virtual memory exhausted', not
79833         `Memory exhausted'.
79834         * lib/obstack.c (print_and_abort): Likewise.
79835
79836 2000-07-30  Paul Eggert  <eggert@twinsun.com>
79837
79838         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
79839         buffer, so that the caller can always quote one small
79840         component of a "memory exhausted" message in slot 0.
79841         From a suggestion by Jim Meyering.
79842
79843 2000-07-30  Jim Meyering  <meyering@lucent.com>
79844
79845         * lib/makepath.c (make_path): Quote the other instance, too.
79846
79847         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
79848         (STATIC_BUF_SIZE): Define.
79849         (quotearg_n_options): Use only statically allocated storage when
79850         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
79851         than STATIC_BUF_SIZE.
79852
79853 2000-07-29  Jim Meyering  <meyering@lucent.com>
79854
79855         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
79856         * lib/dirname.c (dir_name): Likewise.
79857
79858         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
79859         `/'.
79860
79861         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
79862         (dir_name): Assert that there are no trailing slashes.
79863
79864 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
79865
79866         * lib/mbswidth.h (mbswidth): Add a flags argument.
79867         (mbswidth): New declaration.
79868         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
79869         * lib/mbswidth.c (mbswidth): Add a flags argument.
79870         (mbsnwidth): New function.
79871
79872 2000-07-24  Jim Meyering  <meyering@lucent.com>
79873
79874         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
79875
79876 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79877
79878         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
79879
79880 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79881
79882         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
79883         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
79884         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
79885         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
79886         invoke multibyte primitives.
79887
79888 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79889
79890         * lib/quotearg.c:
79891         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
79892         so that mbstate_t is always defined.
79893
79894         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
79895         be 1 in at least one GCC installation, and this configuration
79896         error is likely to be common.  Ignoring MB_LEN_MAX hurts
79897         performance on hosts that have mbrtowc but have only unibyte
79898         locales, but I assume these hosts are rare.
79899
79900 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79901
79902         * lib/mbswidth.c (_XOPEN_SOURCE):
79903         Don't define; this causes problems on Solaris 7.
79904         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
79905
79906 2000-07-23  Jim Meyering  <meyering@lucent.com>
79907
79908         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
79909         too: getgrgid, getpwuid, getuid.
79910
79911 2000-07-23  Jim Meyering  <meyering@lucent.com>
79912
79913         * lib/basename.c (base_name): Add an assertion.
79914
79915 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
79916
79917         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
79918         shadow its mbsinit function.
79919
79920 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
79921
79922         * lib/mbswidth.h: New file.
79923         * lib/mbswidth.c: New file.
79924         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
79925         (noinst_HEADERS): Add mbswidth.h.
79926
79927 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
79928
79929         * lib/config.charset: Add support for FreeBSD. Improve support for
79930         HP-UX and IRIX 6.
79931
79932 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
79933
79934         * m4/mbswidth.m4: New file.
79935         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
79936
79937 2000-07-15  Jim Meyering  <meyering@lucent.com>
79938
79939         * lib/makepath.c: Include quote.h.
79940         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
79941         corresponding argument in a `quote (...)' call.
79942         Give better diagnostics.
79943
79944         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
79945         (noinst_HEADERS): Add quote.h.
79946
79947         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
79948         from tar's src/misc.c.
79949         * lib/quote.h: New file.  Prototypes for same.
79950
79951 2000-07-14  Paul Eggert  <eggert@twinsun.com>
79952
79953         From a suggestion by Bruno Haible.
79954         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
79955         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
79956         to decide whether to define the BeOS workaround macro;
79957         this adjusts to the change to AC_MBSTATE_T.
79958
79959 2000-07-14  Jim Meyering  <meyering@lucent.com>
79960
79961         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
79962         jm_AC_TYPE_UINTMAX_T.
79963
79964 2000-07-13  Paul Eggert  <eggert@twinsun.com>
79965
79966         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
79967
79968         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
79969         quotearg_buffer_restyled): Add support for
79970         clocale_quoting_style.  Undo previous change to
79971         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
79972         and "{RIGHT QUOTATION MARK}" msgids.
79973
79974 2000-07-10  Paul Eggert  <eggert@twinsun.com>
79975
79976         From a suggestion by Bruno Haible.
79977         * m4/mbstate_t.m4 (AC_MBSTATE_T):
79978         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
79979         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
79980         and mbstate_t, to a single-part test that simply defines mbstate_t.
79981         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
79982         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
79983
79984 2000-07-10  Jim Meyering  <meyering@lucent.com>
79985
79986         * m4/strerror_r.m4: Mirror the correction made in autoconf.
79987
79988         * m4/gnu-source.m4: Output to confdefs.h directly.
79989         Suggestion from Akim Demaille.
79990
79991 2000-07-09  Paul Eggert  <eggert@twinsun.com>
79992
79993         The old behavior of quoting `like this' doesn't look good with
79994         newer, ISO-style fonts.  See:
79995         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
79996
79997         Instead, quote "like this" by default.  Let the translator
79998         tailor the locale-specific quoting behavior by providing
79999         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
80000
80001         * lib/quotearg.c (N_): New macro.
80002         (gettext_default): New function.
80003         (quotearg_buffer_restyled): Use
80004         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
80005         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
80006
80007 2000-07-09  Jim Meyering  <meyering@lucent.com>
80008
80009         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
80010         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
80011
80012         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
80013         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
80014
80015 2000-07-09  Jim Meyering  <meyering@lucent.com>
80016
80017         * lib/Most files: Update copyright dates to include 2000.
80018
80019 2000-07-08  Jim Meyering  <meyering@lucent.com>
80020
80021         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
80022         if not defined.
80023         (xgethostname): Remove now-unnecessary #ifdef.
80024         Move declaration of `err' into loop where it's used.
80025
80026 2000-07-05  Paul Eggert  <eggert@twinsun.com>
80027         and Bruno Haible  <haible@clisp.cons.org>
80028
80029         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
80030         only if the test for an object-type mbstate_t fails.  This
80031         prevents us from mistakenly reporting that mbstate_t is a
80032         system object type after we "#define mbstate_t int" to work
80033         around its lack.
80034
80035 2000-07-05  Paul Eggert  <eggert@twinsun.com>
80036         and Bruno Haible  <haible@clisp.cons.org>
80037
80038         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
80039
80040 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
80041
80042         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
80043         to strerror_r.
80044         Include <ctype.h> for use of isalpha.
80045
80046 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
80047
80048         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
80049         by allocating a larger buffer. Test the gethostname return value for
80050         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
80051         returns an error and ENAMETOOLONG isn't defined.
80052
80053 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
80054
80055         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
80056         dimension.
80057
80058 2000-07-04  Jim Meyering  <meyering@lucent.com>
80059
80060         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
80061         of the deprecated AC_CHECKING.
80062
80063 2000-07-04  Jim Meyering  <meyering@lucent.com>
80064
80065         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
80066         Reported by Bruno Haible.
80067
80068 2000-07-04  Jim Meyering  <meyering@lucent.com>
80069
80070         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
80071         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
80072         lacks mbrtowc.
80073
80074 2000-07-03  Paul Eggert  <eggert@twinsun.com>
80075
80076         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
80077         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
80078
80079 2000-07-03  Paul Eggert  <eggert@twinsun.com>
80080         and Bruno Haible  <haible@clisp.cons.org>
80081
80082         * lib/quotearg.c (mbrtowc):
80083         Assign to *pwc, and return 1 only if result is nonzero.
80084         (iswprint): Use ISPRINT when substituting our own mbrtowc.
80085
80086 2000-07-03  Jim Meyering  <meyering@lucent.com>
80087
80088         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
80089
80090 2000-07-03  Jim Meyering  <meyering@lucent.com>
80091
80092         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
80093         This is necessary to get a definition of e.g., UTMP_FILE on
80094         HP-UX 10.20.
80095         From Bob Proulx.
80096
80097 2000-07-02  Jim Meyering  <meyering@lucent.com>
80098
80099         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
80100
80101         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
80102         AC_LIBOBJ(function_name).
80103         * m4/chown.m4: Likewise.
80104         * m4/fnmatch.m4: Likewise.
80105         * m4/ftruncate.m4: Likewise.
80106         * m4/getgroups.m4: Likewise.
80107         * m4/getline.m4: Likewise.
80108         * m4/group-member.m4: Likewise.
80109         * m4/jm-macros.m4: Likewise.
80110         * m4/lstat.m4: Likewise.
80111         * m4/malloc.m4: Likewise.
80112         * m4/memcmp.m4: Likewise.
80113         * m4/nanosleep.m4: Likewise.
80114         * m4/putenv.m4: Likewise.
80115         * m4/realloc.m4: Likewise.
80116         * m4/regex.m4: Likewise.
80117         * m4/stat.m4: Likewise.
80118         * m4/strftime.m4: Likewise.
80119
80120 2000-07-02  Jim Meyering  <meyering@lucent.com>
80121
80122         * lib/quotearg.c (mbstate_t): Don't define here.
80123
80124 2000-07-02  Jim Meyering  <meyering@lucent.com>
80125
80126         * lib/nanosleep.c (SIGCONT): Define if not already defined.
80127
80128 2000-07-01  Jim Meyering  <meyering@lucent.com>
80129
80130         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
80131
80132 2000-07-01  Jim Meyering  <meyering@lucent.com>
80133
80134         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
80135         problem.
80136
80137 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
80138
80139         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
80140         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
80141
80142 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
80143
80144         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
80145         per change in ../m4/ls-mntd-fs.m4.
80146         (read_filesystem_list): Ignore symbolic links.
80147
80148 2000-06-29  Jim Meyering  <meyering@lucent.com>
80149
80150         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
80151         for declaration of strcmp.
80152
80153         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
80154
80155         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
80156         Avoid warning by casting result to `char *' to remove `const'.
80157
80158 2000-06-28  Jim Meyering  <meyering@lucent.com>
80159
80160         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
80161         included by quotearg.c, for which we perform this test.  From
80162         Bruno Haible.
80163
80164 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
80165
80166         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
80167         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
80168         <utmpx.h> exists, put readutmp.o into LIBOBJS.
80169
80170 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
80171
80172         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
80173
80174 2000-06-26  Paul Eggert  <eggert@twinsun.com>
80175
80176         savedir now sets errno on failure and invokes xmalloc to get memory.
80177         Fix a couple of other minor bugs while we're at it.
80178
80179         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
80180         (NAMLEN): Remove macro.
80181         (malloc, realloc): Remove decls.
80182         (stpcpy): Likewise.
80183         ("xalloc.h"): Include.
80184         (NAME_SIZE_DEFAULT): New macro.
80185         (savedir): Use xmalloc / xrealloc to allocate memory.
80186         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
80187         Skip "" directory entries.
80188         Use strlen to calculate directory entry length, since the old method
80189         is rarely used these days and isn't worth supporting.
80190         Don't use a pointer after freeing it.
80191         Check for integer overflow when calculating allocation size.
80192         Use memcpy to copy entries, instead of stpcpy.
80193         Set errno properly when returning NULL.
80194         Check for readdir error.
80195
80196 2000-06-26  Jim Meyering  <meyering@lucent.com>
80197
80198         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
80199
80200 2000-06-25  Jim Meyering  <meyering@lucent.com>
80201
80202         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
80203         Linux header bug when _XOPEN_SOURCE is defined to 500.
80204
80205 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
80206
80207         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
80208         deficiency.
80209
80210 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
80211
80212         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
80213         Include xalloc.h.
80214         Don't include <stdlib.h>.  Don't declare malloc, realloc.
80215
80216 2000-06-24  Jim Meyering  <meyering@lucent.com>
80217
80218         * m4/strerror_r.m4: Revive this file -- to try out an experimental
80219         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
80220         for which strerror does return char*, but which lacks a conveniently
80221         accessible declaration of the function.  If the compile-test says
80222         strerror_r doesn't work, then resort to a `run'-test that works on
80223         BeOS and segfaults on DEC Unix.
80224
80225 2000-06-24  Jim Meyering  <meyering@lucent.com>
80226
80227         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
80228
80229 2000-06-23  Paul Eggert  <eggert@twinsun.com>
80230
80231         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
80232         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
80233
80234 2000-06-23  Paul Eggert  <eggert@twinsun.com>
80235
80236         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
80237         (mbrtowc, mbstate_t): Define substitutes if
80238         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
80239         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
80240         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
80241
80242 2000-06-23  Jim Meyering  <meyering@lucent.com>
80243
80244         * m4/afs.m4: Add missing AC_MSG_RESULT.
80245         Reported by Bruno Haible.
80246
80247         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
80248         Suggestion from Bruno Haible.
80249
80250 2000-06-23  Jim Meyering  <meyering@lucent.com>
80251
80252         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
80253
80254 2000-06-21  Jim Meyering  <meyering@lucent.com>
80255
80256         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
80257
80258 2000-06-21  Jim Meyering  <meyering@lucent.com>
80259
80260         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
80261         (noinst_HEADERS): Add getstr.h.
80262
80263         * lib/getline.c (getstr): Move into a separate file.
80264         * lib/getstr.c (getstr): New file, extracted from getline.c, with
80265         the following changes: new parameter, delim2; both delim[12]
80266         parameters have type `int', not `char'.  The latter would lose
80267         with 8-bit delimiters.
80268         * lib/getstr.h: New file.
80269
80270 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
80271
80272         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
80273         than 1024, return a memory chunk of least possible size, instead
80274         of size PATH_MAX + 2. In the loop, increment the size proportionally.
80275         Use free/xmalloc instead of xrealloc to avoid copying for very long
80276         paths.
80277
80278 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
80279
80280         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
80281         the empty string.
80282
80283 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
80284
80285         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
80286         address, not strdup.  Include <stdlib.h> and don't declare free().
80287
80288 2000-06-19  Jim Meyering  <meyering@lucent.com>
80289
80290         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
80291
80292 2000-06-18  Jim Meyering  <meyering@lucent.com>
80293
80294         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
80295
80296         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
80297         `checking whether...' message to be consistent with that of the
80298         lstat test.
80299
80300 2000-06-18  Jim Meyering  <meyering@lucent.com>
80301
80302         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
80303         Besides, these days every porting target provides a mkdir function.
80304
80305         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
80306         needed. (this snippet comes from src/system.h).
80307
80308 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
80309
80310         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
80311
80312 2000-06-15  Paul Eggert  <eggert@twinsun.com>
80313
80314         * lib/human.c (adjust_value): New function.
80315         (human_readable_inexact): Apply rounding style even when
80316         printing approximate values.
80317
80318 2000-06-14  Paul Eggert  <eggert@twinsun.com>
80319
80320         * lib/human.c (human_readable_inexact): Allow an input block
80321         size that is not a multiple of the output block size, and vice versa.
80322         Reported by Piergiorgio Sartor.
80323
80324 2000-06-14  Paul Eggert  <eggert@twinsun.com>
80325
80326         * lib/getdate.y (get_date): Apply relative times after time
80327         zone indicator, not before.  Reported by Todd A. Jacobs.
80328
80329 2000-06-13  Jim Meyering  <meyering@lucent.com>
80330
80331         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
80332
80333         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
80334
80335 2000-06-12  Paul Eggert  <eggert@twinsun.com>
80336
80337         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
80338
80339 2000-06-12  Jim Meyering  <meyering@lucent.com>
80340
80341         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
80342         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
80343         optional argument.
80344         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
80345         the optional argument, `lib'.
80346
80347 2000-06-08  Jim Meyering  <meyering@lucent.com>
80348
80349         * m4/largefile.m4: Remove file (now that it's part of autoconf).
80350
80351 2000-06-04  Paul Eggert  <eggert@twinsun.com>
80352
80353         Rewrite largefile configuration so that we don't need to run
80354         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
80355         AC_CANONICAL_HOST in configure.in -- jmm]
80356
80357         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
80358         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
80359         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
80360         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
80361         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
80362         All uses changed.
80363         Instead of inspecting the output of getconf, try to compile the
80364         test program without and with the macro definition.
80365         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
80366         for getconf.  Instead, check for the needed flags by compiling
80367         test programs.
80368
80369 2000-06-04  Paul Eggert  <eggert@twinsun.com>
80370
80371         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
80372
80373 2000-06-04  Jim Meyering  <meyering@lucent.com>
80374
80375         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
80376         SunOS 4.1.4 for which gid_t is an unsigned type.
80377
80378 2000-06-03  Jim Meyering  <meyering@lucent.com>
80379
80380         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
80381         now that autoconf requires that.
80382
80383         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
80384         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
80385         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
80386
80387 2000-06-03  Jim Meyering  <meyering@lucent.com>
80388
80389         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
80390
80391 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
80392
80393         * m4/glibc21.m4: New file.
80394         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
80395
80396 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
80397
80398         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
80399         newer, don't install charset.alias.
80400         * lib/config.charset: Change the Linux/glibc rules so they become empty
80401         on glibc-2.1 or newer.
80402
80403 2000-06-02  Jim Meyering  <meyering@lucent.com>
80404
80405         * lib/mountlist.c: Back out last change.  Instead, do this...
80406         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
80407         me_dummy member using the same `ignore'-testing code.
80408         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
80409         fs_type strings.
80410         From Mark D. Roth.
80411
80412 2000-05-29  Jim Meyering  <meyering@lucent.com>
80413
80414         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
80415         mounts with the `ignore' attribute.  Based on a patch from
80416         Mark D. Roth.
80417
80418 2000-05-28  Jim Meyering  <meyering@lucent.com>
80419
80420         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
80421         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80422         * m4/stat.m4: Likewise.
80423         * m4/lstat.m4: Likewise.
80424         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
80425
80426         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
80427         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
80428
80429 2000-05-26  Jim Meyering  <meyering@lucent.com>
80430
80431         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
80432
80433 2000-05-24  Jim Meyering  <meyering@lucent.com>
80434
80435         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
80436         autoconf requires that.
80437         * m4/lib-check.m4: Likewise.
80438         * m4/jm-macros.m4: Likewise.
80439         * m4/strftime.m4: Likewise.
80440
80441         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
80442         AC_CHECK_DECLS, now that autoconf requires that.
80443
80444 2000-05-22  Jim Meyering  <meyering@lucent.com>
80445
80446         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80447         * m4/lstat.m4: Likewise.
80448
80449 2000-05-22  Jim Meyering  <meyering@lucent.com>
80450
80451         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
80452
80453 2000-05-20  Jim Meyering  <meyering@lucent.com>
80454
80455         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
80456         (jm_PREREQ): Use it.
80457
80458 2000-05-18  Jim Meyering  <meyering@lucent.com>
80459
80460         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
80461         back, too, since it may have been modified by allocate_entry.
80462         (hash_delete): Rewrite to use neither the assignment operator
80463         nor the comma operator in an if-expression.
80464
80465 2000-05-15  Paul Eggert  <eggert@twinsun.com>
80466
80467         * lib/closeout.c:
80468         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
80469         Remove; no longer needed.
80470         "quotearg.h": Add include.
80471         (file_name): Do not bother to explicitly initialize to NULL; it's less
80472         efficient on some hosts.
80473         (close_stdout_status): Remove test as to whether stdout was already
80474         closed; it breaks for the case "echo x | sort >&-".
80475         Quote file name colons.
80476         Do not assume that _("write error") lacks format strings.
80477
80478 2000-05-15  Jim Meyering  <meyering@lucent.com>
80479
80480         * lib/version-etc.c (version_etc_copyright): Update the copyright
80481         string used in all --version output.
80482
80483 2000-05-14  Jim Meyering  <meyering@lucent.com>
80484
80485         * lib/closeout.c (close_stdout_set_file_name): New function.
80486         (close_stdout_status): Use new file-scoped global.
80487         Return right away if fstat says the stdout file descriptor is invalid.
80488         * lib/closeout.h (close_stdout_set_file_name): Declare.
80489
80490 2000-05-10  Jim Meyering  <meyering@lucent.com>
80491
80492         * lib/closeout.c [default_exit_status]: New file-scoped variable.
80493         (close_stdout_set_status): New function.
80494         * lib/closeout.h (close_stdout_set_status): Declare.
80495
80496 2000-05-09  Jim Meyering  <meyering@lucent.com>
80497
80498         * m4/gettext.m4: Rename this...
80499         * m4/libintl.m4: ...to this.
80500
80501 2000-05-08  Jim Meyering  <meyering@lucent.com>
80502
80503         * lib/long-options.c: Don't include closeout.h.
80504         (parse_long_options): Don't call close_stdout for --version.
80505
80506 2000-05-06  Paul Eggert  <eggert@twinsun.com>
80507
80508         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
80509         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
80510         2.1.3 bug.  This avoids a clash when files like regex.c define
80511         _GNU_SOURCE.
80512
80513 2000-05-06  Jim Meyering  <meyering@lucent.com>
80514
80515         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
80516         (AC_REPLACE_FUNCS): Add strnlen.
80517
80518         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
80519         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
80520
80521         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
80522         AC_SEARCH_LIBS call for nanosleep.
80523         (LIB_NANOSLEEP): Set and AC_SUBST.
80524
80525 2000-05-06  Jim Meyering  <meyering@lucent.com>
80526
80527         * lib/strnlen.c: Undefine __strnlen and strnlen.
80528         [!weak_alias]: Define __strnlen to strnlen.
80529
80530         * lib/atexit.c: New file, from libiberty.
80531
80532 2000-05-06  Jim Meyering  <meyering@lucent.com>
80533
80534         * lib/closeout.c (close_stdout_status): Also check for errors on the
80535         stderr stream.
80536
80537 2000-05-05  Jim Meyering  <meyering@lucent.com>
80538
80539         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
80540         AC_SEARCH_LIBS call for clock_gettime.
80541         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
80542
80543         * m4/search-libs.m4: Update from autoconf.
80544
80545         su doesn't work on Solaris 2.6.
80546         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
80547         <shadow.h>.  Reported by Dragos Harabor.
80548
80549 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
80550
80551         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
80552         memcpy instead of xmalloc, xrealloc, path_concat.
80553         (locale_charset): Treat empty environment variables as absent.
80554         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
80555
80556 2000-05-04  Jim Meyering  <meyering@lucent.com>
80557
80558         * lib/getopt.c: Update from glibc.
80559         * lib/obstack.c: Likewise.
80560         * lib/obstack.h: Likewise.
80561         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
80562         file
80563
80564         * lib/regex.h: Likewise.
80565         * lib/strndup.c: Likewise.
80566         * lib/strnlen.c: New file, from glibc.
80567
80568 2000-05-03  Jim Meyering  <meyering@lucent.com>
80569
80570         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
80571
80572 2000-05-02  Paul Eggert  <eggert@twinsun.com>
80573
80574         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
80575         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
80576         compile-time test, rather than inspecting host and OS, to
80577         decide whether to define _LARGEFILE_SOURCE.
80578
80579 2000-05-01  Jim Meyering  <meyering@lucent.com>
80580
80581         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
80582
80583         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
80584         Based on a patch from Bruno Haible.
80585
80586 2000-05-01  Jim Meyering  <meyering@lucent.com>
80587
80588         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
80589
80590 2000-04-29  Jim Meyering  <meyering@lucent.com>
80591
80592         * lib/path-concat.c: Declare strdup only if it's not defined.
80593         * lib/canon-host.c: Likewise.
80594
80595 2000-04-28  Jim Meyering  <meyering@lucent.com>
80596
80597         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
80598         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
80599         is included first, then limits.h is included by locale.h by libintl.h.
80600         From John David Anglin.
80601
80602 2000-04-25  Jim Meyering  <meyering@lucent.com>
80603
80604         * lib/makepath.c (S_IRWXUGO): Define.
80605         (make_path): Always perform explicit chmod if MODE specifies any
80606         of the `special' permission bits.  Prompted by a bug report against
80607         install from Mate Wierdl and Joost van Baal.
80608
80609 2000-04-18  Jim Meyering  <meyering@lucent.com>
80610
80611         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
80612         (jm_PREREQ): Use it.
80613
80614 2000-04-18  Jim Meyering  <meyering@lucent.com>
80615
80616         * lib/README: New file.
80617
80618         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
80619         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
80620
80621 2000-04-17  Jim Meyering  <meyering@lucent.com>
80622
80623         Get it right :-)
80624         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
80625         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
80626         Suggestion from Akim Demaille.
80627
80628 2000-04-17  Jim Meyering  <meyering@lucent.com>
80629
80630         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
80631         the definition of it to rpl_strftime also defined-away the system's
80632         declaration.
80633
80634 2000-04-15  Jim Meyering  <meyering@lucent.com>
80635
80636         Use `C' to denote so-called `contiguous' files, the same way
80637         that tar does.
80638         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
80639         (ftypelet): Use S_ISCTG.
80640         From Michael Deutschmann.
80641
80642 2000-04-14  Jim Meyering  <meyering@lucent.com>
80643
80644         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
80645         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
80646         clobbered.
80647
80648 2000-04-14  Jim Meyering  <meyering@lucent.com>
80649
80650         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
80651
80652 2000-04-13  Jim Meyering  <meyering@lucent.com>
80653
80654         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
80655         AH_VERBATIM to insert required #ifndef into config.h.in.
80656         Suggestion from Akim Demaille.
80657
80658 2000-04-12  Jim Meyering  <meyering@lucent.com>
80659
80660         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
80661         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
80662         Christian Krackowizer.
80663
80664         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
80665         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
80666         (AC_SYS_LARGEFILE): Require.
80667         (AM_C_PROTOTYPES): Require.
80668
80669 2000-04-08  Jim Meyering  <meyering@lucent.com>
80670
80671         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
80672         names don't conflict.  Reported by Eli Zaretskii.
80673
80674 2000-04-07  Jim Meyering  <meyering@lucent.com>
80675
80676         * lib/putenv.c: Move inclusion of errno.h so it follows that of
80677         sys/types.h, to work around system header problems on AIX 3.2.5.
80678         From Bruno Haible.
80679
80680 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
80681
80682         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
80683         bug.  Deal with the different error behavior of Irix iconv.
80684
80685 2000-04-05  Paul Eggert  <eggert@twinsun.com>
80686
80687         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
80688         IRIX if the installer said otherwise.
80689
80690 2000-04-05  Jim Meyering  <meyering@lucent.com>
80691
80692         Portability tweaks required for ultrix4.3.
80693         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
80694         (jm_CHECK_DECLS): Add getutent to the list of functions.
80695         (_jm_DECL_HEADERS): Add utmpx.h.
80696         From John David Anglin.
80697
80698         * m4/strftime.m4: Back out the 2000-04-02 change.
80699         Instead of that change, simply undefine putenv in the test program.
80700
80701 2000-04-05  Jim Meyering  <meyering@lucent.com>
80702
80703         Portability tweaks required for ultrix4.3.
80704         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
80705         getutent.
80706         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
80707         * lib/canon-host.c: Declare strdup.
80708         * lib/path-concat.c: Likewise.
80709         From John David Anglin.
80710
80711 2000-04-04  Jim Meyering  <meyering@lucent.com>
80712
80713         Be more DOS 8.3-friendly.
80714         * lib/ref-add.sin: Renamed from ref-add.sed.in.
80715         * lib/ref-del.sin: Renamed from ref-del.sed.in.
80716         * lib/Makefile.am: Reflect renaming.
80717         Reported by Eli Zaretskii.
80718
80719         Use a temporary file name that won't clash with `charset.alias'
80720         in the DOS 8.3 name space.
80721         * lib/Makefile.am (charset_tmp): Define.
80722         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
80723         (uninstall-local): Likewise.
80724         Reported by Eli Zaretskii.
80725
80726 2000-04-03  Jim Meyering  <meyering@lucent.com>
80727
80728         * m4/gettext.m4: Fix typo in comment.
80729
80730         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
80731         textutils/configure.in).  Suggestion from Paul Eggert.
80732         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
80733
80734 2000-04-02  Paul Eggert  <eggert@twinsun.com>
80735
80736         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
80737         variable in the shell rather than using putenv, which isn't
80738         portable.  This avoids the configure-time inter-test dependency
80739         on the potentially-renamed putenv function.
80740
80741 2000-03-30  Paul Eggert  <eggert@twinsun.com>
80742
80743         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
80744         before checking struct stat.st_blksize, so that
80745         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
80746
80747 2000-03-29  Paul Eggert  <eggert@twinsun.com>
80748
80749         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
80750         since strftime.c uses HAVE_STRFTIME to decide whether to use
80751         the underlying strftime.
80752
80753 2000-03-29  Paul Eggert  <eggert@twinsun.com>
80754
80755         * lib/time/strftime.c (my_strftime): Make sure we call the system
80756         strftime, not ourselves, when invoking the underlying strftime.
80757
80758 2000-03-24  Jim Meyering  <meyering@lucent.com>
80759
80760         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
80761         (charset_alias): Define.
80762         (install-exec-local): Factor out common code.
80763         (uninstall-local): Split lines longer than 80.
80764         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
80765         (SUFFIXES): Define.
80766         (.sed.in.sed): New rule.  Don't redirect directly to $@.
80767         (CLEANFILES): Add ref-add.sed and ref-del.sed.
80768
80769 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
80770
80771         * lib/config.charset: Output a line containing "Packages using this
80772         file".
80773         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
80774         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
80775         ref-del.sed): New rules.
80776
80777 2000-03-17  Jim Meyering  <meyering@lucent.com>
80778
80779         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
80780         Otherwise, include <strings.h>
80781
80782 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
80783
80784         * lib/unicodeio.c (utf8_wctomb): New function.
80785         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
80786         format instead of in UCS-4 with platform dependent endianness.
80787
80788 2000-03-10  Jim Meyering  <meyering@lucent.com>
80789
80790         * m4/lib-check.m4: Look for getspnam in -lgen, too.
80791         From Marco Franzen.
80792
80793 2000-03-07  Paul Eggert  <eggert@twinsun.com>
80794
80795         * lib/savedir.c (savedir): Work even if directory size is
80796         negative; this can happen with some screwy NFS configurations.
80797
80798 2000-03-06  Jim Meyering  <meyering@lucent.com>
80799
80800         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
80801         if it's NULL (because we ran out of memory).  From Bruno Haible.
80802
80803 2000-03-05  Jim Meyering  <meyering@lucent.com>
80804
80805         * lib/localcharset.c ("path-concat.h"): Include.
80806         (get_charset_aliases): Use path_concat instead of ANSI string
80807         concatenation.
80808
80809         * lib/unicodeio.h (PARAMS): Define.
80810         Use it to guard prototype.
80811
80812 2000-03-04  Jim Meyering  <meyering@lucent.com>
80813
80814         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
80815         for lib/localcharset.c.
80816
80817 2000-03-04  Jim Meyering  <meyering@lucent.com>
80818
80819         * lib/Makefile.am (install-exec-local): Create $(libdir) before
80820         installing into it.
80821         (uninstall-local): Uncomment this rule so `make distcheck' works
80822         once again.
80823
80824         * lib/unicodeio.c (<errno.h>): Include it.
80825         (errno): Declare if not defined.
80826
80827         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
80828
80829         * lib/config.charset: New version, incorporating remarks from a linux
80830         i18n mailing list.  From Bruno Haible.
80831
80832 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
80833
80834         * m4/codeset.m4: New file.
80835         * m4/iconv.m4: New file.
80836         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
80837
80838 2000-03-03  Jim Meyering  <meyering@lucent.com>
80839
80840         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
80841
80842 2000-03-02  Jim Meyering  <meyering@lucent.com>
80843
80844         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
80845         the messages come out on separate lines.
80846
80847         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
80848         rather than jm_CHECK_DECLARATIONS.
80849         * m4/decl.m4: Remove now-unused file.
80850
80851         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
80852         geteuid.
80853
80854 2000-03-02  Jim Meyering  <meyering@lucent.com>
80855
80856         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
80857
80858 2000-03-01  Jim Meyering  <meyering@lucent.com>
80859
80860         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
80861         * lib/unicodeio.c: Likewise.
80862
80863 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
80864
80865         * lib/config.charset: New file.
80866         * lib/localcharset.c: New file.
80867         * lib/unicodeio.h, lib/unicodeio.c: New files.
80868         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
80869         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
80870         (noinst_HEADERS): Add unicodeio.h.
80871         (all-local, install-exec-local, charset.alias): New targets.
80872
80873 2000-02-28  Paul Eggert  <eggert@twinsun.com>
80874
80875         * lib/quotearg.c (ALERT_CHAR): New macro.
80876         (quotearg_buffer_restyled): Use it.
80877
80878 2000-02-27  Jim Meyering  <meyering@lucent.com>
80879
80880         * m4/check-decl.m4: Add getenv to the list.
80881
80882 2000-02-27  Jim Meyering  <meyering@lucent.com>
80883
80884         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
80885         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
80886
80887         * lib/backupfile.c: Guard inclusion of stdlib.h with
80888         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
80889         Declare malloc if needed.
80890
80891         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
80892         `#ifndef HAVE_DECL..'
80893         now that autoconf always defines the HAVE_DECL_ symbols.
80894         * lib/human.c: Likewise.
80895         * lib/same.c: Likewise.
80896         * lib/strtoumax.c: Likewise.
80897
80898         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
80899         declaration check was not run.
80900         * lib/hash.c: Likewise.
80901         * lib/human.c: Likewise.
80902         * lib/same.c: Likewise.
80903         * lib/strtoumax.c: Likewise.
80904
80905         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
80906         `.', then first look up the entire `.'-containing string as a login
80907         name.
80908
80909 2000-02-23  Jim Meyering  <meyering@lucent.com>
80910
80911         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
80912         in place of my hack.
80913
80914 2000-02-18  Paul Eggert  <eggert@twinsun.com>
80915
80916         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
80917         (textint): New typedef.
80918         (parser_control): Member year changed from int to textint.
80919         All uses changed.
80920         (YYSTYPE): Removed; replaced by %union with int and textint members.
80921         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
80922         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
80923         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
80924         (tSNUMBER, tUNUMBER): Now of type <textintval>.
80925         (date, number, to_year): Use width of number in digits, not its value,
80926         to determine whether it's a 2-digit year, or a 2-digit time.
80927         (yylex): Store number of digits of numeric tokens.
80928         Reported by John Kendall.
80929
80930         (parser_control): Changed from struct parser_control to typedef (for
80931         consistency).  All uses changed.
80932
80933         (tID): Removed; not used.
80934         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
80935
80936 2000-02-14  Paul Eggert  <eggert@twinsun.com>
80937
80938         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
80939         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
80940
80941 2000-02-12  Jim Meyering  <meyering@lucent.com>
80942
80943         * lib/userspec.c (ISDIGIT): Define it.
80944         (isdigit): Remove definition.
80945         (is_number): Use ISDIGIT, not isdigit.
80946         <libintl.h>: Include.
80947         (_ and N_): Define.
80948         (parse_user_spec): Mark translatable strings.
80949
80950 2000-02-10  Jim Meyering  <meyering@lucent.com>
80951
80952         With these changes, nanosleep.[ch] are finally enough like the other
80953         lib/* replacement files to compile on a few more losing systems.
80954
80955         * lib/nanosleep.h: Don't include config.h.
80956         Remove prototype from declaration of nanosleep.
80957         (PARAMS): Remove now-unneeded definition.
80958         * lib/nanosleep.c: #undef nanosleep.
80959         (rpl_nanosleep): Rename from nanosleep.
80960
80961 2000-02-10  Jim Meyering  <meyering@lucent.com>
80962
80963         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
80964         gnu_nanosleep to rpl_nanosleep.
80965
80966 2000-02-09  Jim Meyering  <meyering@lucent.com>
80967
80968         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
80969         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
80970
80971 2000-02-08  Akim Demaille  <akim@epita.fr>
80972
80973         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
80974         `[' and `]' and remove uses of `changequote'.
80975         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
80976         (AC_SYS_LARGEFILE): Likewise.
80977         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
80978         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
80979         of changequote.
80980         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
80981         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
80982         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
80983         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
80984
80985 2000-02-05  Jim Meyering  <meyering@lucent.com>
80986
80987         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
80988         Remove explicit use of AC_HEADER_TIME.  It is required by
80989         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
80990         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
80991         in autoconf whereby the expansion of the latter ended up preceding
80992         the expansion of its prerequisite, AC_HEADER_TIME.
80993         Reported by Volker Borchert.
80994
80995 2000-02-03  Jim Meyering  <meyering@lucent.com>
80996
80997         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
80998
80999 2000-02-03  Jim Meyering  <meyering@lucent.com>
81000
81001         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
81002         rather than with `#if HAVE_UTMPNAME'.
81003
81004 2000-02-02  Jim Meyering  <meyering@lucent.com>
81005
81006         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
81007         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
81008         Reported by Eli Zaretskii.
81009
81010 2000-02-01  Jim Meyering  <meyering@lucent.com>
81011
81012         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
81013
81014 2000-01-31  Jim Meyering  <meyering@lucent.com>
81015
81016         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
81017         functions.  Add the time.h and sys/time.h headers along with the
81018         AC_REQUIRE'ment of AC_HEADER_TIME.
81019
81020 2000-01-31  Jim Meyering  <meyering@lucent.com>
81021
81022         * lib/nanosleep.h (nanosleep): Guard declaration with
81023         `#if ! HAVE_DECL_NANOSLEEP'.
81024         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
81025         the declaration in that vendor's sys/timers.h.
81026         Reported by Christian Krackowizer.
81027
81028         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
81029         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
81030         (ISPRINT): Likewise.
81031         Reported by Tom Tromey.
81032
81033 2000-01-30  Jim Meyering  <meyering@lucent.com>
81034
81035         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
81036
81037         * m4/prereq.m4 (utmp_includes): Define.
81038         Check for ut_user and ut_name members in both struct utmpx
81039         and struct utmp.
81040
81041 2000-01-30  Jim Meyering  <meyering@lucent.com>
81042
81043         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
81044         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
81045         header files where only utmpx.ut_user is declared.
81046
81047         * lib/readutmp.h (UT_USER): Define.
81048
81049 2000-01-29  Jim Meyering  <meyering@lucent.com>
81050
81051         * m4/lib-check.m4: New file containing library-related checks from
81052         fileutils and sh-utils (textutils had none).
81053
81054 2000-01-28  Jim Meyering  <meyering@lucent.com>
81055
81056         * m4/perl.m4: Change format of warning message to look more like that
81057         from the missing script.  Suggestion from François Pinard.
81058
81059 2000-01-25  Jim Meyering  <meyering@lucent.com>
81060
81061         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
81062         well as time.h in the compile check.
81063         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
81064         Fix typo in cross-compiling case: s/yes/no/.
81065
81066 2000-01-23  Jim Meyering  <meyering@lucent.com>
81067
81068         * m4/jm-macros.m4: Move df-related tests here from
81069         fileutils/configure.in
81070
81071         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
81072         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
81073
81074         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
81075         s/space/ac_fsusage_space/.
81076         (jm_FILE_SYSTEM_USAGE): Take two parameters.
81077
81078         * m4/ftruncate.m4: New file (derived from part of
81079         fileutils/configure.in).
81080         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
81081         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
81082
81083         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
81084         AC_SUBST these here, rather than just in sh-util/configure.in, so
81085         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
81086         all the same.
81087         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
81088         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
81089         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
81090         (AC_SUBST(POW_LIBM)): Likewise.
81091         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
81092
81093 2000-01-23  Jim Meyering  <meyering@lucent.com>
81094
81095         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
81096         obstack.c.
81097
81098 2000-01-22  Jim Meyering  <meyering@lucent.com>
81099
81100         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
81101
81102         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
81103
81104         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
81105         configure.in
81106         (AC_CHECK_HEADERS): Likewise for sh-utils.
81107         (AC_CHECK_HEADERS): Likewise for textutils.
81108         Merge the three lists of headers.
81109
81110         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
81111         from fileutils' configure.in.
81112
81113         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
81114         code. Moved tests into their own function (_jm_DECL_HEADERS) in
81115         check-decl.m4.
81116
81117         * m4/check-decl.m4: Use #if rather than #ifdef.
81118         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
81119         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
81120         (_jm_DECL_HEADERS): Define new function.
81121         (jm_CHECK_DECLARATIONS): Require it.
81122
81123 2000-01-22  Jim Meyering  <meyering@lucent.com>
81124
81125         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
81126         [! HAVE_DECL_STRTOULL]: Declare strtoull.
81127         Required for some AIX systems.  Reported by Christian Krackowizer.
81128         [TESTING] (main): New function.
81129
81130         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
81131         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
81132         letters.
81133
81134         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
81135         iswprint.
81136
81137         * lib/strverscmp.c (ISDIGIT): Define.
81138         (strverscmp): Use ISDIGIT, not isdigit.
81139
81140 2000-01-19  Jim Meyering  <meyering@lucent.com>
81141
81142         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
81143         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
81144         defines `struct timespec' in <sys/time.h>
81145
81146         * m4/c-bs-a.m4: Remove uses of changequote altogether.
81147         Thanks to Akim for explaining.
81148
81149 2000-01-17  Paul Eggert  <eggert@twinsun.com>
81150
81151         * lib/nanosleep.c (nanosleep):
81152         Don't use SA_INTERRUPT to decide whether to call sigaction, as
81153         POSIX.1 doesn't require SA_INTERRUPT and some systems
81154         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
81155         it's been part of POSIX.1 since day 1 (in 1988).
81156
81157 2000-01-17  Jim Meyering  <meyering@lucent.com>
81158
81159         * lib/interlock: Remove unused file.  Reported by François Pinard.
81160
81161 2000-01-16  Paul Eggert  <eggert@twinsun.com>
81162
81163         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
81164         alert, backslash, formfeed, and vertical tab unnecessarily in
81165         shell quoting style.
81166
81167 2000-01-16  Jim Meyering  <meyering@lucent.com>
81168
81169         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
81170         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
81171         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
81172         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
81173
81174 2000-01-16  Jim Meyering  <meyering@lucent.com>
81175
81176         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
81177         because the latter didn't work.
81178
81179 2000-01-15  Jim Meyering  <meyering@lucent.com>
81180
81181         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
81182         (AC_REPLACE_FUNCS): Add memcpy and memset.
81183         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
81184         Add strpbrk.
81185         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
81186
81187 2000-01-12  Jim Meyering  <meyering@lucent.com>
81188
81189         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
81190         (jm_PREREQ): Use it.
81191         (jm_PREREQ_READUTMP): New macro.
81192         (jm_PREREQ): Use it.
81193
81194 2000-01-11  Paul Eggert  <eggert@twinsun.com>
81195
81196         Quote multibyte characters correctly.
81197         * m4/c-bs-a.m4: New file.
81198         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
81199         (jm_PREREQ): Use it.
81200
81201 2000-01-11  Paul Eggert  <eggert@twinsun.com>
81202
81203         * m4/uintmax_t.m4: Port to autoconf 2.13.
81204
81205 2000-01-08  Jim Meyering  <meyering@ascend.com>
81206
81207         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
81208         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
81209
81210 2000-01-04  Jim Meyering  <meyering@ascend.com>
81211
81212         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
81213         jm_STRUCT_DIRENT_D_TYPE.
81214         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
81215         jm_STRUCT_DIRENT_D_INO.
81216         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
81217         jm_STRUCT_UTIMBUF.
81218         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
81219         renamings.
81220         * m4/utime.m4: Likewise.
81221
81222         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
81223         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
81224
81225 2000-01-03  Paul Eggert  <eggert@twinsun.com>
81226
81227         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
81228         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
81229
81230 2000-01-02  Jim Meyering  <meyering@ascend.com>
81231
81232         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
81233         remember if this is necessary.
81234
81235 1999-12-26  Jim Meyering  <meyering@ascend.com>
81236
81237         * m4/jm-macros.m4: Use it here.
81238         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
81239
81240 1999-12-23  Jim Meyering  <meyering@ascend.com>
81241
81242         * m4/jm-macros.m4: Check for clock_gettime (moved from
81243         fileutils/configure.in)
81244         Check for gettimeofday.
81245
81246 1999-12-20  Jim Meyering  <meyering@ascend.com>
81247
81248         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
81249         autoconf-2.14a-1999-12-20.
81250
81251 1999-12-19  Jim Meyering  <meyering@ascend.com>
81252
81253         * m4/lstat-slash.m4: New file.
81254         * m4/jm-macros.m4: Use the new macro:
81255         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81256
81257 1999-12-07  Jim Meyering  <meyering@ascend.com>
81258
81259         * m4/perl.m4: Require that File::Compare be available, too.
81260         Too many systems seem to lack it.
81261
81262         * m4/strftime.m4: Add checks for most of the cpp macros tested in
81263         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
81264
81265 1999-11-18  Paul Eggert  <eggert@twinsun.com>
81266
81267         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
81268         problem with the QNX 4.25 shell, which doesn't propagate exit
81269         status of failed commands inside shell assignments.
81270
81271 1999-11-17  Jim Meyering  <meyering@ascend.com>
81272
81273         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
81274
81275 1999-11-07  Jim Meyering  <meyering@ascend.com>
81276
81277         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
81278
81279 1999-11-06  Jim Meyering  <meyering@ascend.com>
81280
81281         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
81282         * m4/jm-macros.m4 (jm_MACROS): Use it here.
81283
81284 1999-11-05  Jim Meyering  <meyering@ascend.com>
81285
81286         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
81287         configure.in of textutils, fileutils, and sh-utils into this one
81288         (shared between those packages) file.
81289         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
81290         AC_STRUCT_ST_BLKSIZE.
81291
81292 1999-11-03  Jim Meyering  <meyering@ascend.com>
81293
81294         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
81295         of AC_CHECK_TYPE checks includes unistd.h.
81296         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
81297         Suggestion from Akim Demaille.
81298
81299 1999-10-30  Jim Meyering  <meyering@ascend.com>
81300
81301         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
81302         m4-quoted string.
81303         * m4/ls-mntd-fs.m4: Likewise.
81304         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
81305         * m4/jm-winsz1.m4: Likewise.
81306
81307         * m4/const.m4: Remove file, since the fix made it into the experimental
81308         version of autoconf.
81309         * m4/mktime.m4: Likewise.
81310
81311         * m4/check-type.m4: Remove file, now that the latest version of
81312         AC_CHECK_TYPE takes a third arg to specify additional #includes.
81313
81314         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
81315         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
81316         AC_CHECK_TYPE.
81317
81318 1999-10-04  Jim Meyering  <meyering@ascend.com>
81319
81320         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
81321
81322 1999-09-22  Paul Eggert  <eggert@twinsun.com>
81323
81324         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
81325         2.95.1 bug with HP-UX 10.20.
81326
81327 1999-09-17  Jim Meyering  <meyering@ascend.com>
81328
81329         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
81330         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
81331         due to missing strdup (against sh-utils-2.0).
81332
81333 1999-08-29  Jim Meyering  <meyering@ascend.com>
81334
81335         * m4/jm-macros.m4: Require jm_BISON.
81336         * m4/bison.m4: New file.
81337
81338 1999-08-17  Paul Eggert  <eggert@twinsun.com>
81339
81340         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
81341         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
81342
81343 1999-08-05  Jim Meyering  <meyering@ascend.com>
81344
81345         * m4/getline.m4: Rename test file from conftestdata to conftest.data
81346         to avoid conflicts with `conftest' on 8+3 filesystems.
81347         Suggestion from Eli Zaretskii.
81348
81349 1999-08-04  Jim Meyering  <meyering@ascend.com>
81350
81351         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
81352         fileutils and sh-utils (textutils's getline test was inadequate).
81353         (AM_FUNC_GETLINE): Run this test.
81354         (AC_CHECK_FUNCS): Check for getdelim.
81355         Reported by Bob Proulx.
81356
81357 1999-08-02  Jim Meyering  <meyering@ascend.com>
81358
81359         * m4/jm-macros.m4: Add a comment.
81360
81361 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81362
81363         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
81364         <inttypes.h> defines strtoumax as a macro (and not as a
81365         function).
81366
81367 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81368
81369         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
81370         that we can shift, multiply and divide unsigned long long
81371         values; Ultrix cc can't do it.
81372
81373 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81374
81375         * m4/mktime.m4: New file, which is a preview of what should appear
81376         in the next public autoconf release.
81377
81378 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81379
81380         * m4/lfs.m4: Remove this file.
81381         * m4/largefile.m4: New file.  It contains the old contents of
81382         lfs.m4, except that all names with prefix AC_LFS have been
81383         changed to use the prefix AC_SYS_LARGEFILE instead, to be
81384         compatible with future autoconf versions.  Also, some minor m4
81385         quoting problems have been fixed.
81386
81387 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81388
81389         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
81390         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
81391         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
81392         and simplify the shell code.
81393
81394 1999-08-01  Jim Meyering  <meyering@ascend.com>
81395
81396         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
81397         m4.
81398
81399 1999-07-20  Jim Meyering  <meyering@ascend.com>
81400
81401         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
81402
81403 1999-07-15  Jim Meyering  <meyering@ascend.com>
81404
81405         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
81406
81407 1999-05-22  Jim Meyering  <meyering@ascend.com>
81408
81409         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
81410
81411 1999-05-20  Jim Meyering  <meyering@ascend.com>
81412
81413         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
81414         Add a colon after each `then' in case $4 is empty.
81415
81416 1999-05-16  Jim Meyering  <meyering@ascend.com>
81417
81418         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
81419
81420 1999-05-10  Jim Meyering  <meyering@ascend.com>
81421
81422         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
81423
81424         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
81425         AC_FUNC_MKTIME.
81426
81427 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
81428
81429         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
81430
81431 1999-05-04  Paul Eggert  <eggert@twinsun.com>
81432
81433         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
81434         not CPPFLAGS, so that linking works correctly in IRIX.
81435
81436 1999-04-30  Paul Eggert  <eggert@twinsun.com>
81437
81438         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
81439
81440 1999-04-20  Paul Eggert  <eggert@twinsun.com>
81441
81442         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
81443         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
81444         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
81445         jm_AC_TYPE_UNSIGNED_LONG_LONG.
81446         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
81447
81448         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
81449
81450 1999-04-20  Jim Meyering  <meyering@ascend.com>
81451
81452         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
81453         AC_REPLACE xstroull if necessary.  From Paul Eggert.
81454         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
81455
81456 1999-04-18  Jim Meyering  <meyering@ascend.com>
81457
81458         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
81459         * m4/jm-macros.m4: Use it.
81460
81461 1999-04-06  Jim Meyering  <meyering@ascend.com>
81462
81463         * m4/strftime.m4: Remove test for %f.
81464
81465 1999-03-29  Jim Meyering  <meyering@ascend.com>
81466
81467         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
81468         superset of the AC_TYPE_* checks in the textutils, fileutils,
81469         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
81470         AC_TYPE_PID_T.
81471
81472 1999-03-28  Jim Meyering  <meyering@ascend.com>
81473
81474         * m4/jm-macros.m4: Define GNU_PACKAGE here.
81475         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
81476         replaced e.g., in the *.sh files of the sh-utils.
81477
81478 1999-03-20  Jim Meyering  <meyering@ascend.com>
81479
81480         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
81481         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
81482         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
81483
81484 1999-03-19  Jim Meyering  <meyering@ascend.com>
81485
81486         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
81487
81488 1999-03-12  Jim Meyering  <meyering@ascend.com>
81489
81490         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
81491
81492 1999-03-07  Jim Meyering  <meyering@ascend.com>
81493
81494         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
81495         declared.
81496
81497 1999-02-17  Jim Meyering  <meyering@ascend.com>
81498
81499         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
81500         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
81501
81502 1999-02-07  Jim Meyering  <meyering@ascend.com>
81503
81504         * m4/group-member.m4: New file -- extracted from sh-utils'
81505         configure.in.
81506
81507         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
81508         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
81509
81510 1999-02-06  Jim Meyering  <meyering@ascend.com>
81511
81512         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
81513         * m4/fnmatch.m4: Likewise.
81514         * m4/getgroups.m4: Likewise.
81515         * m4/lstat.m4: Likewise.
81516         * m4/malloc.m4: Likewise.
81517         * m4/putenv.m4: Likewise.
81518         * m4/realloc.m4: Likewise.
81519         * m4/regex.m4: Likewise.
81520         * m4/stat.m4: Likewise.
81521         * m4/strftime.m4: Likewise.
81522         Suggestion from Alain Magloire.
81523
81524         * m4/chown.m4: Use `.$ac_objext', not `.o'.
81525         * m4/fnmatch.m4: Likewise.
81526         * m4/getgroups.m4: Likewise.
81527         * m4/getline.m4: Likewise.
81528         * m4/lstat.m4: Likewise.
81529         * m4/malloc.m4: Likewise.
81530         * m4/memcmp.m4: Likewise.
81531         * m4/putenv.m4: Likewise.
81532         * m4/realloc.m4: Likewise.
81533         * m4/regex.m4: Likewise.
81534         * m4/stat.m4: Likewise.
81535         * m4/strftime.m4: Likewise.
81536         Suggestion from Alain Magloire.
81537
81538         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
81539         an argument.
81540
81541         * m4/regex.m4: Add a run-time Test for proper operation of
81542         re_compile_pattern.
81543
81544 1999-01-31  Jim Meyering  <meyering@ascend.com>
81545
81546         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
81547
81548 1999-01-30  Jim Meyering  <meyering@ascend.com>
81549
81550         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
81551
81552         * m4/jm-mktime.m4: Make this a wrapper around the official
81553         AM_FUNC_MKTIME rather than my private copy, now that the official one
81554         is up to date.
81555         * m4/mktime.m4: Remove file.
81556
81557         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
81558         * m4/uptime.m4: Likewise.
81559         * m4/uintmax_t.m4: Likewise.
81560
81561 1999-01-28  Jim Meyering  <meyering@ascend.com>
81562
81563         * m4/jm-macros.m4: Use jm_AFS.
81564         * m4/afs.m4: New file (from fileutils' configure.in).
81565
81566         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
81567         * m4/chown.m4: Likewise.
81568         * m4/d-ino.m4: Likewise.
81569         * m4/d-type.m4: Likewise.
81570         * m4/fnmatch.m4: Likewise.
81571         * m4/getgroups.m4: Likewise.
81572         * m4/gettext.m4: Likewise.
81573         * m4/jm-mktime.m4: Likewise.
81574         * m4/jm-winsz2.m4: Likewise.
81575         * m4/lcmessage.m4: Likewise.
81576         * m4/ls-mntd-fs.m4: Likewise.
81577         * m4/malloc.m4: Likewise.
81578         * m4/memcmp.m4: Likewise.
81579         * m4/putenv.m4: Likewise.
81580         * m4/realloc.m4: Likewise.
81581         * m4/st_mtim.m4: Likewise.
81582         * m4/strftime.m4: Likewise.
81583
81584 1999-01-16  Jim Meyering  <meyering@ascend.com>
81585
81586         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
81587         (ARGMATCH_DIE_DECL): Define.
81588
81589 1999-01-12  Jim Meyering  <meyering@ascend.com>
81590
81591         * m4/Makefile.am.in: Rewrite to avoid using fmt.
81592         Reported by Lars Hecking.
81593
81594 1999-01-10  Jim Meyering  <meyering@ascend.com>
81595
81596         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
81597         gross kludge.
81598         * m4/inttypes_h.m4: Likewise.
81599         * m4/lstat.m4: Likewise.
81600         * m4/malloc.m4: Likewise.
81601         * m4/readdir.m4: Likewise.
81602         * m4/realloc.m4: Likewise.
81603         * m4/st_dm_mode.m4: Likewise.
81604         * m4/stat.m4: Likewise.
81605         * m4/utimbuf.m4: Likewise.
81606         * m4/utimes.m4: Likewise.
81607
81608         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
81609         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
81610         comments in config.h.in are meaningful.
81611
81612         * m4/jm-macros.m4: Require autoconf-2.13 here.
81613
81614         * m4/regex.m4: By default, don't use the included regex.c on systems
81615         with glibc 2.  Suggestion from Uli Drepper.
81616
81617 1999-01-02  Jim Meyering  <meyering@ascend.com>
81618
81619         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
81620
81621 1998-12-18  Jim Meyering  <meyering@ascend.com>
81622
81623         * m4/Makefile.am.in (Makefile.am): Simplify rule.
81624         Based on a suggestion from Lars Hecking.
81625
81626 1998-11-16  Paul Eggert  <eggert@twinsun.com>
81627
81628         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
81629
81630 1998-11-16  Jim Meyering  <meyering@ascend.com>
81631
81632         * m4/lfs.m4: Double-quote the `uname...` expression.
81633
81634 1998-11-14  Jim Meyering  <meyering@ascend.com>
81635
81636         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
81637         * m4/stat.m4: Likewise.
81638
81639 1998-11-03  Jim Meyering  <meyering@ascend.com>
81640
81641         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
81642         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
81643
81644 1998-10-18  Jim Meyering  <meyering@ascend.com>
81645
81646         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
81647
81648 1998-10-17  Jim Meyering  <meyering@ascend.com>
81649
81650         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
81651         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
81652         calls for those previously hard-coded headers.  Instead, take a new
81653         parameter.
81654         (jm_CHECK_DECLARATIONS): Reflect interface change.
81655         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
81656         (jm_CHECK_DECL_LOCALTIME_R): New macro.
81657
81658         * m4/mktime.m4: Test for spring-forward gap before long-running test.
81659
81660 1998-10-14  Jim Meyering  <meyering@ascend.com>
81661
81662         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
81663         instead of "TZ=America/Vancouver".  From Paul Eggert.
81664
81665 1998-10-11  Jim Meyering  <meyering@ascend.com>
81666
81667         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
81668         This adds a test for a recently added compatibility fix for mktime.c.
81669         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
81670
81671 1998-09-27  Jim Meyering  <meyering@ascend.com>
81672
81673         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
81674
81675         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
81676         ../configure.in, including a change from Gordon Matzigkeit to allow
81677         cross-compiling for the Hurd.
81678
81679         * m4/glibc.m4: New file/macro to test for the GNU C Library
81680         versions 1 and 2.  From Gordon Matzigkeit.
81681         Indent.
81682
81683 1998-09-21  Jim Meyering  <meyering@ascend.com>
81684
81685         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
81686
81687 1998-08-18  Paul Eggert  <eggert@twinsun.com>
81688
81689         Port nanosecond-resolution times to UnixWare 2.1.2 and
81690         pedantic Solaris 2.6.
81691
81692         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
81693         AC_STRUCT_ST_MTIM.
81694         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
81695         Generate name of ns member, instead of just 1 or undef.
81696         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
81697
81698 1998-08-15  Jim Meyering  <meyering@ascend.com>
81699
81700         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
81701         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
81702         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
81703         instead of jm_TYPE_SSIZE_T.
81704
81705 1998-08-12  Jim Meyering  <meyering@ascend.com>
81706
81707         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
81708
81709 1998-08-02  Jim Meyering  <meyering@ascend.com>
81710
81711         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
81712         in acconfig.h manually.
81713
81714 1998-07-31  Paul Eggert  <eggert@twinsun.com>
81715
81716         * m4/st_mtim.m4: New file.
81717
81718 1998-07-28  Jim Meyering  <meyering@ascend.com>
81719
81720         * m4/utimes.m4: Undef stat.
81721
81722 1998-07-25  Jim Meyering  <meyering@ascend.com>
81723
81724         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
81725         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
81726
81727 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
81728
81729         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
81730         uid and gid actually remain unchanged.
81731
81732 1998-07-07  Jim Meyering  <meyering@ascend.com>
81733
81734         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
81735
81736 1998-07-04  Jim Meyering  <meyering@ascend.com>
81737
81738         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
81739         to prove that this macro can be used in packages without regex.c.
81740
81741 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
81742
81743         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
81744         is to be used.
81745
81746 1998-07-03  Jim Meyering  <meyering@ascend.com>
81747
81748         * m4/gettext.m4: Add -lintl if it's found to be necessary.
81749
81750         * m4/gettext.m4: New file -- from gettext-0.10.35.
81751         * m4/lcmessage.m4: Likewise.
81752         * m4/progtest.m4: Likewise.
81753
81754         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
81755         * m4/jm-macros.m4: Require the new macro.
81756
81757 1998-06-29  Jim Meyering  <meyering@ascend.com>
81758
81759         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
81760         for the definition of NGROUPS (used in a system header included
81761         by sys/mount.h).
81762
81763 1998-06-28  Jim Meyering  <meyering@ascend.com>
81764
81765         * m4/ls-mntd-fs.m4: New file.
81766         * m4/fstypename.m4: New file.
81767
81768         * m4/jm-macros.m4: Require the new macro.
81769         * m4/jm-glibc-io.m4: New file.
81770
81771 1998-05-19  Jim Meyering  <meyering@ascend.com>
81772
81773         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
81774         * m4/lchown.m4: New file.
81775
81776         * m4/Makefile.am.in: New file.
81777         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
81778
81779 1998-05-14  Jim Meyering  <meyering@ascend.com>
81780
81781         * m4/Makefile.am (EXTRA_DIST): Add them.
81782         * m4/jm-macros.m4: New file.
81783         * m4/utimbuf.m4: New file.
81784
81785 1998-05-12  Jim Meyering  <meyering@ascend.com>
81786
81787         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
81788
81789 1998-05-11  Jim Meyering  <meyering@ascend.com>
81790
81791         * m4/isc-posix.m4: New file.
81792
81793 1998-05-10  Jim Meyering  <meyering@ascend.com>
81794
81795         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
81796
81797 1998-05-09  Jim Meyering  <meyering@ascend.com>
81798
81799         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
81800         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
81801         with automake.
81802
81803         * m4/ssize_t.m4: New file.
81804         * m4/mktime.m4: Remove file -- the new automake has this now.
81805
81806 1998-04-26  Jim Meyering  <meyering@ascend.com>
81807
81808         * m4/assert.m4: New file.
81809         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
81810
81811 1998-04-05  Jim Meyering  <meyering@ascend.com>
81812
81813         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
81814         (jm_PREREQ): Use it here.
81815
81816 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
81817
81818         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
81819         in acconfig.h.
81820
81821 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
81822
81823         * m4/prereq.m4: New file.
81824         * m4/error.m4: New file.
81825         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
81826
81827 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
81828
81829         * m4/getline.m4: Don't set am_cv_func_working_getline before the
81830         cache-check for the same variable -- that defeated the purpose of
81831         the test; the test program was never run.  This was a problem only
81832         on systems with losing getline functions -- HP-UX 10.20 is one.
81833         Reported by Bjorn Helgaas.
81834
81835 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
81836
81837         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
81838
81839 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
81840
81841         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
81842
81843         * m4/const.m4: New file.  Use an initializer in this declaration
81844         typedef int charset[2]; const charset x;
81845         Reported by Bob Glickstein.
81846
81847 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
81848
81849         * m4/chown.m4: Fix reversed types on -1 args to chown.
81850         From Kaveh Ghazi.
81851
81852 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
81853
81854         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
81855         Add lseek and memchr.
81856
81857         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
81858         T.E.Dickey <dickey@clark.net> said that some older preprocessors
81859         have a 20-character limit on names.
81860
81861 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
81862
81863         * m4/inttypes_h.m4: New file.
81864         * m4/uintmax_t.m4: New file.
81865         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
81866
81867
81868         -----
81869
81870         Local Variables:
81871         coding: utf-8
81872         End:
81873
81874         Copyright (C) 1997-2011 Free Software Foundation, Inc.
81875
81876         Copying and distribution of this file, with or without
81877         modification, are permitted provided the copyright notice
81878         and this notice are preserved.